<commit_before><!DOCTYPE html>
<html>

<head>
    <title>JSON Schema Lint :: JSON Schema Validator</title>

    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/main.css" />

    <link rel="preload" href="bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2" as="font" crossorigin />

</head>

<base href="/">

<body ng-app="app" ng-controller="validatorController as ctrl" ng-cloak>

    <nav class="navbar navbar-default navbar-fixed-top navbar-collapse">
        <div class="container-fluid">

            <div class="navbar-header">

                <!-- toggle button -->
                <button type="button" class="navbar-toggle collapsed" ng-click="isNavExpanded = !isNavExpanded">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

                <a class="navbar-brand" href="#">JSON Schema Lint</a>

            </div>

            <div class="collapse navbar-collapse" uib-collapse="!isNavExpanded">
                <ul class="nav navbar-nav">

                    <div uib-dropdown class="btn-group">
                        <button uib-dropdown-toggle class="btn btn-default dropdown-toggle navbar-btn" type="button" id="sampleDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                            <span class="glyphicon glyphicon-book"></span>&nbsp;Samples
                            <span class="caret"></span>
                        </button>
                        <ul uib-dropdown-menu class="dropdown-menu" aria-labelledby="sampleDropdown">
                            <li class="dropdown-header">draft-05</li>
                            <li role="menuitem"><a ng-click="ctrl.sample('draft5/valid')">Sample draft-05 schema and valid document</a>
                            </li>
                            <li role="menuitem"><a ng-click="ctrl.sample('draft5/invalid')">Sample draft-05 schema and <strong>invalid</strong> document</a>
                            </li>
                            <li role="separator" class="divider"></li>
                            <li class="dropdown-header">draft-04</li>
                            <li role="menuitem"><a ng-click="ctrl.sample('draft4/valid')">Sample draft-04 schema and valid document</a>
                            </li>
                            <li role="menuitem"><a ng-click="ctrl.sample('draft4/invalid')">Sample draft-04 schema and <strong>invalid</strong> document</a>
                            </li>
                        </ul>
                    </div>

                    <div class="btn-group navbar-btn" role="group" aria-label="Actions">
                        <button class="btn btn-default btn-danger" ng-click="ctrl.reset()">
                            <span class="glyphicon glyphicon-trash"></span> Reset</button>
                        <button class="btn btn-default" ng-click="ctrl.saveGist()" ng-disabled="ctrl.loadedGist || !ctrl.schemaObject || !ctrl.documentObject">
                            <span ng-class="{'glyphicon-save': !ctrl.loadedGist, 'glyphicon-saved': ctrl.loadedGist}" class="glyphicon"></span> Save as Gist</button>
                    </div>
                </ul>

                <ul class="nav navbar-nav navbar-right">

                    <div class="btn-group navbar-btn" role="group" aria-label="Mode selection">
                        <div uib-dropdown class="btn-group" role="group">
                            <button uib-dropdown-toggle class="btn btn-default dropdown-toggle" type="button" id="languageDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><span class="glyphicon glyphicon-pencil"></span>&nbsp;{{ ctrl.markupLanguages[ctrl.markupLanguage].name }}
                                <span class="caret"></span>
                            </button>
                            <ul uib-dropdown-menu class="dropdown-menu" aria-labelledby="languageDropdown">
                                <li class="dropdown-header">Markup language</li>
                                <li role="menuitem" ng-repeat="(key, value) in ctrl.markupLanguages" ng-class="{disabled: ctrl.markupLanguage==key}">
                                    <a ng-click="ctrl.setMarkupLanguage(key)">{{value.name}}</a>
                                </li>
                            </ul>
                        </div>

                        <div uib-dropdown class="btn-group" role="group">
                            <button uib-dropdown-toggle class="btn btn-default dropdown-toggle" type="button" id="specVersionDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><span class="glyphicon glyphicon-road"></span>&nbsp;{{ ctrl.validators[ctrl.specVersion].name }}
                                <span class="caret"></span>
                            </button>
                            <ul uib-dropdown-menu class="dropdown-menu" aria-labelledby="specVersionDropdown">
                                <li class="dropdown-header">Spec version</li>
                                <li role="menuitem" ng-repeat="(key, value) in ctrl.validators" ng-class="{disabled: ctrl.specVersion==key}">
                                    <a ng-click="ctrl.setSpecVersion(key)">{{value.name}}</a>
                                </li>
                            </ul>
                        </div>
                    </div>
                </ul>
            </div>
        </div>
    </nav>

    <div class="container-fluid">

        <div class="row">

            <div class="col-xs-12 col-md-6">

                <div class="panel panel-default panel-collapse" ng-class="{'panel-danger': ctrl.schemaErrors.length, 'panel-success': !ctrl.schemaErrors.length}">
                    <div class="panel-heading">
                        Schema ({{ctrl.markupLanguages[ctrl.markupLanguage].name}}, {{ctrl.validators[ctrl.specVersion].name}})
                        <div class="btn-group pull-right">
                            <a class="btn btn-default btn-xs" ng-click="ctrl.formatSchema()">
                                <span class="glyphicon glyphicon-align-left" aria-hidden="true"></span>&nbsp;Format</a>
                        </div>
                    </div>
                    <div class="panel-body">

                        <form novalidate>
                            <div class="form-group">
                                <textarea ng-model="ctrl.schema" class="form-control json"></textarea>
                            </div>
                        </form>
                        <p ng-show="ctrl.schemaMessage" ng-bind="ctrl.schemaMessage"></p>

                    </div>

                    <table class="table table-errors" ng-show="ctrl.schemaErrors.length">
                        <thead>
                            <tr>
                                <th>Field</th>
                                <th>Error</th>
                                <th>Value</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr ng-repeat="error in ctrl.schemaErrors">
                                <td ng-bind="error.dataPath" class="error-path"></td>
                                <td ng-bind="error.message"></td>
                                <td>
                                    <pre class="error-value" ng-bind="error.data | json"></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>

            </div>

            <div class="col-xs-12 col-md-6">

                <div class="panel panel-default" ng-class="{'panel-danger': ctrl.documentErrors.length, 'panel-success': !ctrl.documentErrors.length}">
                    <div class="panel-heading">
                        Document ({{ctrl.markupLanguages[ctrl.markupLanguage].name}})
                        <div class="btn-group pull-right">
                            <a class="btn btn-default btn-xs" ng-click="ctrl.formatDocument()">
                                <span class="glyphicon glyphicon-align-left" aria-hidden="true"></span>&nbsp;Format</a>
                        </div>
                    </div>
                    <div class="panel-body">

                        <form novalidate>
                            <div class="form-group">
                                <textarea ng-model="ctrl.document" class="form-control json"></textarea>
                            </div>
                        </form>
                        <p ng-show="ctrl.documentMessage" ng-bind="ctrl.documentMessage"></p>

                    </div>

                    <table class="table table-errors" ng-show="ctrl.documentErrors.length">
                        <thead>
                            <tr>
                                <th>Field</th>
                                <th>Error</th>
                                <th>Details</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr ng-repeat="error in ctrl.documentErrors">
                                <td ng-bind="error.dataPath" class="error-path"></td>
                                <td ng-bind="error.message"></td>
                                <td>
                                    <pre class="error-value" ng-bind="error.data | json"></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>

            </div>

        </div>

        <div class="row">

            <div class="col-xs-12">
                <h2>About</h2>

                <p> JSON Schema Lint is a JSON schema validator to help you write and test <a href="https://github.com/json-schema/json-schema">JSON Schemas</a> that conform with various specification versions.
                    <p>The author/maintainer is <a href="https://gravatar.com/nickcmaynard"><NAME></a>. Fork <a href="https://github.com/nickcmaynard/jsonschemalint">this project on Github.</a></p>
                    <p>Thanks
                        <ul>
                            <li><a href="https://gist.github.com">Github Gists</a> for saving schemas/documents</li>
                            <li><NAME>'s <a href="https://github.com/garycourt/JSV">JSV</a> for validating draft-01, draft-02, draft-03</li>
                            <li><NAME>'s <a href="https://github.com/epoberezkin/ajv">Ajv</a> for validating draft-04, draft-05 (<a href="http://epoberezkin.github.io/ajv/keywords.html">partial</a>)</li>
                            <li><NAME>'s <a href="https://github.com/jeremyfa/yaml.js">yaml.js</a></li>
                        </ul>
                    </p>
            </div>

        </div>

    </div>

    <!-- All the code -->
    <script src="js/bundle.min.js"></script>

    <!-- Google Analytics -->
    <script src="ga.js"></script>
    <script async src='https://www.google-analytics.com/analytics.js'></script>
    <!-- End Google Analytics -->

</body>

</html><commit_msg>Use a better indent icon<commit_after><!DOCTYPE html>
<html>

<head>
    <title>JSON Schema Lint :: JSON Schema Validator</title>

    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/main.css" />

    <link rel="preload" href="bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2" as="font" crossorigin />

</head>

<base href="/">

<body ng-app="app" ng-controller="validatorController as ctrl" ng-cloak>

    <nav class="navbar navbar-default navbar-fixed-top navbar-collapse">
        <div class="container-fluid">

            <div class="navbar-header">

                <!-- toggle button -->
                <button type="button" class="navbar-toggle collapsed" ng-click="isNavExpanded = !isNavExpanded">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

                <a class="navbar-brand" href="#">JSON Schema Lint</a>

            </div>

            <div class="collapse navbar-collapse" uib-collapse="!isNavExpanded">
                <ul class="nav navbar-nav">

                    <div uib-dropdown class="btn-group">
                        <button uib-dropdown-toggle class="btn btn-default dropdown-toggle navbar-btn" type="button" id="sampleDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                            <span class="glyphicon glyphicon-book"></span>&nbsp;Samples
                            <span class="caret"></span>
                        </button>
                        <ul uib-dropdown-menu class="dropdown-menu" aria-labelledby="sampleDropdown">
                            <li class="dropdown-header">draft-05</li>
                            <li role="menuitem"><a ng-click="ctrl.sample('draft5/valid')">Sample draft-05 schema and valid document</a>
                            </li>
                            <li role="menuitem"><a ng-click="ctrl.sample('draft5/invalid')">Sample draft-05 schema and <strong>invalid</strong> document</a>
                            </li>
                            <li role="separator" class="divider"></li>
                            <li class="dropdown-header">draft-04</li>
                            <li role="menuitem"><a ng-click="ctrl.sample('draft4/valid')">Sample draft-04 schema and valid document</a>
                            </li>
                            <li role="menuitem"><a ng-click="ctrl.sample('draft4/invalid')">Sample draft-04 schema and <strong>invalid</strong> document</a>
                            </li>
                        </ul>
                    </div>

                    <div class="btn-group navbar-btn" role="group" aria-label="Actions">
                        <button class="btn btn-default btn-danger" ng-click="ctrl.reset()">
                            <span class="glyphicon glyphicon-trash"></span> Reset</button>
                        <button class="btn btn-default" ng-click="ctrl.saveGist()" ng-disabled="ctrl.loadedGist || !ctrl.schemaObject || !ctrl.documentObject">
                            <span ng-class="{'glyphicon-save': !ctrl.loadedGist, 'glyphicon-saved': ctrl.loadedGist}" class="glyphicon"></span> Save as Gist</button>
                    </div>
                </ul>

                <ul class="nav navbar-nav navbar-right">

                    <div class="btn-group navbar-btn" role="group" aria-label="Mode selection">
                        <div uib-dropdown class="btn-group" role="group">
                            <button uib-dropdown-toggle class="btn btn-default dropdown-toggle" type="button" id="languageDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><span class="glyphicon glyphicon-pencil"></span>&nbsp;{{ ctrl.markupLanguages[ctrl.markupLanguage].name }}
                                <span class="caret"></span>
                            </button>
                            <ul uib-dropdown-menu class="dropdown-menu" aria-labelledby="languageDropdown">
                                <li class="dropdown-header">Markup language</li>
                                <li role="menuitem" ng-repeat="(key, value) in ctrl.markupLanguages" ng-class="{disabled: ctrl.markupLanguage==key}">
                                    <a ng-click="ctrl.setMarkupLanguage(key)">{{value.name}}</a>
                                </li>
                            </ul>
                        </div>

                        <div uib-dropdown class="btn-group" role="group">
                            <button uib-dropdown-toggle class="btn btn-default dropdown-toggle" type="button" id="specVersionDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><span class="glyphicon glyphicon-road"></span>&nbsp;{{ ctrl.validators[ctrl.specVersion].name }}
                                <span class="caret"></span>
                            </button>
                            <ul uib-dropdown-menu class="dropdown-menu" aria-labelledby="specVersionDropdown">
                                <li class="dropdown-header">Spec version</li>
                                <li role="menuitem" ng-repeat="(key, value) in ctrl.validators" ng-class="{disabled: ctrl.specVersion==key}">
                                    <a ng-click="ctrl.setSpecVersion(key)">{{value.name}}</a>
                                </li>
                            </ul>
                        </div>
                    </div>
                </ul>
            </div>
        </div>
    </nav>

    <div class="container-fluid">

        <div class="row">

            <div class="col-xs-12 col-md-6">

                <div class="panel panel-default panel-collapse" ng-class="{'panel-danger': ctrl.schemaErrors.length, 'panel-success': !ctrl.schemaErrors.length}">
                    <div class="panel-heading">
                        Schema ({{ctrl.markupLanguages[ctrl.markupLanguage].name}}, {{ctrl.validators[ctrl.specVersion].name}})
                        <div class="btn-group pull-right">
                            <a class="btn btn-default btn-xs" ng-click="ctrl.formatSchema()">
                                <span class="glyphicon glyphicon-indent-left" aria-hidden="true"></span>&nbsp;Format</a>
                        </div>
                    </div>
                    <div class="panel-body">

                        <form novalidate>
                            <div class="form-group">
                                <textarea ng-model="ctrl.schema" class="form-control json"></textarea>
                            </div>
                        </form>
                        <p ng-show="ctrl.schemaMessage" ng-bind="ctrl.schemaMessage"></p>

                    </div>

                    <table class="table table-errors" ng-show="ctrl.schemaErrors.length">
                        <thead>
                            <tr>
                                <th>Field</th>
                                <th>Error</th>
                                <th>Value</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr ng-repeat="error in ctrl.schemaErrors">
                                <td ng-bind="error.dataPath" class="error-path"></td>
                                <td ng-bind="error.message"></td>
                                <td>
                                    <pre class="error-value" ng-bind="error.data | json"></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>

            </div>

            <div class="col-xs-12 col-md-6">

                <div class="panel panel-default" ng-class="{'panel-danger': ctrl.documentErrors.length, 'panel-success': !ctrl.documentErrors.length}">
                    <div class="panel-heading">
                        Document ({{ctrl.markupLanguages[ctrl.markupLanguage].name}})
                        <div class="btn-group pull-right">
                            <a class="btn btn-default btn-xs" ng-click="ctrl.formatDocument()">
                                <span class="glyphicon glyphicon-indent-left" aria-hidden="true"></span>&nbsp;Format</a>
                        </div>
                    </div>
                    <div class="panel-body">

                        <form novalidate>
                            <div class="form-group">
                                <textarea ng-model="ctrl.document" class="form-control json"></textarea>
                            </div>
                        </form>
                        <p ng-show="ctrl.documentMessage" ng-bind="ctrl.documentMessage"></p>

                    </div>

                    <table class="table table-errors" ng-show="ctrl.documentErrors.length">
                        <thead>
                            <tr>
                                <th>Field</th>
                                <th>Error</th>
                                <th>Details</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr ng-repeat="error in ctrl.documentErrors">
                                <td ng-bind="error.dataPath" class="error-path"></td>
                                <td ng-bind="error.message"></td>
                                <td>
                                    <pre class="error-value" ng-bind="error.data | json"></pre>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>

            </div>

        </div>

        <div class="row">

            <div class="col-xs-12">
                <h2>About</h2>

                <p> JSON Schema Lint is a JSON schema validator to help you write and test <a href="https://github.com/json-schema/json-schema">JSON Schemas</a> that conform with various specification versions.
                    <p>The author/maintainer is <a href="https://gravatar.com/nickcmaynard"><NAME></a>. Fork <a href="https://github.com/nickcmaynard/jsonschemalint">this project on Github.</a></p>
                    <p>Thanks
                        <ul>
                            <li><a href="https://gist.github.com">Github Gists</a> for saving schemas/documents</li>
                            <li><NAME>'s <a href="https://github.com/garycourt/JSV">JSV</a> for validating draft-01, draft-02, draft-03</li>
                            <li><NAME>'s <a href="https://github.com/epoberezkin/ajv">Ajv</a> for validating draft-04, draft-05 (<a href="http://epoberezkin.github.io/ajv/keywords.html">partial</a>)</li>
                            <li><NAME>'s <a href="https://github.com/jeremyfa/yaml.js">yaml.js</a></li>
                        </ul>
                    </p>
            </div>

        </div>

    </div>

    <!-- All the code -->
    <script src="js/bundle.min.js"></script>

    <!-- Google Analytics -->
    <script src="ga.js"></script>
    <script async src='https://www.google-analytics.com/analytics.js'></script>
    <!-- End Google Analytics -->

</body>

</html>
{'fraction_non_alphanumeric': 0.14256261788831864, 'fraction_numerical': 0.0032460411457647938, 'mean_word_length': 1.3389760952087821, 'pattern_counts': {'":': 0, '<': 531, '<?xml version=': 0, '>': 531, 'https://': 16, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 28, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '56529', 'n_tokens_mistral': 6108, 'n_tokens_neox': 5697, 'n_words': 1033}