7 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/css/bootstrap.min.css"/>
8 <meta name="viewport" content="width=device-width, initial-scale=1"/>
11 <div class="container" ng-app="clippy" ng-controller="lintList">
12 <div class="page-header">
13 <h1>ALL the Clippy Lints</h1>
16 <div class="alert alert-info" role="alert" ng-if="loading">
19 <div class="alert alert-danger" role="alert" ng-if="error">
20 Error loading commits!
23 <div class="panel panel-default" ng-show="data">
24 <div class="panel-body row">
25 <div class="col-md-6 form-inline">
26 <div class="form-group">
27 <label for="filter-level">Level</label>
28 <select class="form-control" id="filter-level" ng-model="level.level">
29 <option value="">All</option>
30 <option value="Allow">Allow</option>
31 <option value="Warn">Warn</option>
32 <option value="Deny">Deny</option>
36 <div class="col-md-6">
37 <div class="input-group">
38 <span class="input-group-addon" id="filter-label">Filter:</span>
39 <input type="text" class="form-control" placeholder="Keywords or search string" aria-describedby="filter-label" ng-model="search" />
40 <span class="input-group-btn">
41 <button class="btn btn-default" type="button" ng-click="search = ''">
50 <article class="panel panel-default" ng-repeat="lint in data | filter:level | filter:search | orderBy:'id' track by lint.id">
51 <header class="panel-heading" ng-click="open[lint.id] = !open[lint.id]">
52 <button class="btn btn-default btn-sm pull-right" style="margin-top: -6px;">
53 <span ng-show="open[lint.id]">−</span>
54 <span ng-hide="open[lint.id]">+</span>
57 <h2 class="panel-title">
59 <span ng-if="lint.level == 'Allow'" class="label label-info">Allow</span>
60 <span ng-if="lint.level == 'Warn'" class="label label-warning">Warn</span>
61 <span ng-if="lint.level == 'Deny'" class="label label-danger">Deny</span>
65 <ul class="list-group" ng-if="lint.docs" ng-class="{collapse: true, in: open[lint.id]}">
66 <li class="list-group-item" ng-repeat="(title, text) in lint.docs">
67 <h4 class="list-group-item-heading">
70 <div class="list-group-item-text" ng-bind-html="text | markdown"></div>
76 <a href="https://github.com/Manishearth/rust-clippy">
77 <img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"/>
80 <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.2/marked.min.js"></script>
81 <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.12/angular.min.js"></script>
84 angular.module("clippy", [])
85 .filter('markdown', function ($sce) {
86 return function (text) {
87 if (typeof text !== 'string') {
91 return $sce.trustAsHtml(
96 .controller("lintList", function ($scope, $http) {
99 $scope.loading = true;
101 $http.get('./lints.json')
102 .success(function (data) {
104 $scope.loading = false;
106 .error(function (data) {
108 $scope.loading = false;