<commit_before><!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title></title>

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

    <link href="favicon.png" rel="shortcut icon" type="image/png">

    <!-- Bootstrap -->
    <link href="3rdparty/css/bootstrap.min.css" rel="stylesheet">

    <!-- Font Awesome -->
    <link href="3rdparty/css/font-awesome.min.css" rel="stylesheet">

    <link rel="stylesheet" href="index.min.css"/>

  </head>
  <body id="application">

    <div class="container" v-show="mainView === 'login'" v-cloak>
      <div class="container-fluid navigation shadow">
        <a href="http://guacamoly.rocks" target="_blank" class="brand-link"><img src="/favicon.png" height="28px"/> Guacamoly</a>
      </div>
      <br/>
      <br/>
      <div class="row">
        <div class="col-md-4 col-md-offset-4 login-form shadow">
          <h2 class="modal-title">Login</h2>
          <form v-on:submit.prevent="doLogin">
            <div class="form-group">
              <label class="control-label" for="inputUsername">Username</label>
              <input type="text" class="form-control" id="inputUsername" v-model="username" v-bind="{ disabled: busyLogin }" autofocus/>
            </div>
            <div class="form-group">
              <label class="control-label" for="inputPassword">Password</label>
              <input type="password" class="form-control" id="inputPassword" v-model="password" v-bind="{ disabled: busyLogin }" autofocus />
            </div>
            <button type="submit" class="btn btn-success" v-bind="{ disabled: busyLogin }"><i class="spinner alt" v-show="busyLogin"></i> Login</button>
          </form>
        </div>
      </div>
    </div>


    <div v-show="mainView === 'content'" v-cloak>
      <div class="modal fade" id="modalDel">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
            </div>
            <div class="modal-body">
              <h4>Really Delete this Note?</h4>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              <button type="button" class="btn btn-danger" v-on:click="deleteThing()">Delete</button>
            </div>
          </div>
        </div>
      </div>

      <div class="modal fade" tabindex="-1" role="dialog" id="modalSettings">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
              <h4>Settings</h4>
            </div>
            <div class="modal-body">
              <form class="form-horizontal">
                <div class="form-group">
                  <label htmlFor="inputTitle" class="col-xs-4 control-label">Title</label>
                  <div class="col-xs-7">
                    <input type="text" class="form-control" id="inputTitle" v-model="settings.title" placeholder="Title" />
                  </div>
                </div>
                <div class="form-group">
                  <label htmlFor="inputBackgroundImage" class="col-xs-4 control-label">Background</label>
                  <div class="col-xs-7">
                    <input type="text" class="form-control" id="inputBackgroundImage" v-model="settings.backgroundUrl" placeholder="url" />
                  </div>
                </div>
              </form>
            </div>
            <div class="modal-footer">
              <button class="btn btn-default" data-dismiss="modal">Cancel</button>
              <button class="btn btn-success" v-on:click="saveSettings()">Save</button>
            </div>
          </div>
        </div>
      </div>


      <div class="modal fade" tabindex="-1" role="dialog" id="modalImport">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
              <h4>Import</h4>
            </div>
            <div class="modal-body">
              <p>
                <div v-show="!importFile">
                  <input id="inputImport" v-el:importfile type="file" v-on:change="importFileChanged()" class="hide">
                  <button class="btn btn-raised" v-on:click="triggerImportInput()">Select File</button>
                </div>
                <div v-show="importFile">
                  <p>This will add all data from {{ importFile && importFile.name }} to your current set.</p>
                  <a href="#" v-on:click.stop.prevent="importFile = null;">Choose other file</a>
                </div>
              </p>
            </div>
            <div class="modal-footer">
              <button class="btn btn-default" data-dismiss="modal">Cancel</button>
              <button class="btn btn-success" v-show="!!importFile" v-on:click="importThings()">Import</button>
            </div>
          </div>
        </div>
      </div>

      <div class="modal fade" id="modalShare">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
            </div>
            <div class="modal-body">
              This note is publicly available at <a href="{{ shareThingLink }}" target="_blank">{{ shareThingLink }}</a>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div>
        </div>
      </div>

      <div class="modal fade" id="modalExtensions">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
              <h4>Browser Extensions</h4>
            </div>
            <div class="modal-body">
              Webextensions have to be installed manually. Download the extension and add it in the <a href="chrome://extensions/">extension</a> page for chrome or <a href="about:addons">addons</a> page in firefox-nightly.
              <p>
                <a class="btn btn-success btn-raised" href="/api/extensions/chrome.crx">Chrome</a>
                <a class="btn btn-success btn-raised" href="/api/extensions/firefox.xpi">Firefox</a>
              </p>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div>
        </div>
      </div>

      <div class="container-fluid navigation shadow">
        <form v-on:submit.prevent>
          <div class="input-group">
            <div class="input-group-btn">
              <button type="button" class="btn btn-default" v-on:click.stop="doSearch()" title="Search"><i class="fa fa-search"></i></button>
            </div>
            <input type="text" class="form-control search" placeholder="Search..." data-toggle="dropdown" v-el:searchinput v-model="search" v-on:keyup.enter="doSearch()">
            <ul class="dropdown-menu dropdown-tags" id="tagsDropdown">
              <li v-for="tag in tags | proposeTags">
                <a href="#" v-on:click.stop.prevent="activateProposedTag(tag)">#{{ tag.name }}</a>
              </li>
            </ul>
            <div class="input-group-btn">
              <button type="button" class="btn btn-default" v-on:click.stop="clearSearch()" title="Clear"><i class="fa fa-times"></i></button>
              <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">{{ displayName }} <b class="caret"></b></button>
              <ul class="dropdown-menu settings-menu" style="right: 0; left: none !important;">
                  <li><a href="javascript:void(0)" data-toggle="modal" data-target="#modalSettings">Settings</a></li>
                  <li><a href="javascript:void(0)" data-toggle="modal" data-target="#modalExtensions">Extensions</a></li>
                  <li class="divider"></li>
                  <li><a href="javascript:void(0)" data-toggle="modal" data-target="#modalImport">Import</a></li>
                  <li><a href="#" class="hand" v-on:click.stop.prevent="exportThings()">Export</a></li>
                  <li class="divider"></li>
                  <li><a href="#" v-on:click.stop.prevent="logout()">Logout</a></li>
                </ul>
            </div>
          </div>
        </form>
      </div>

      <div class="container">
        <div class="row">
          <div class="col-md-10 col-md-offset-1">
            <div class="well shadow" v-on:click="giveAddFocus()">
              <div class="card-content align-right">
                <textarea id="addTextarea" class="new-thing" v-el:addinput placeholder="Add something..." v-model="thingContent" v-bind:class="{ active: !!thingContent }"></textarea>
                <button v-el:addbutton class="btn btn-default" v-on:click="addThing()" v-bind:class="{ hide: !thingContent }">add</button>
              </div>
            </div>
            <div v-show="!busyThings">
              <div class="well shadow" v-for="thing in things" id="{{ 'card-' + thing.id }}" v-bind:class="{ edit: thing.edit }">
                <div class="card-actions">
                  {{ thing.createdAt | prettyDateOffset }}
                  <span v-show="thing.edit">
                    <button class="btn btn-default" v-on:click="cancelEdit(thing)" title="Cancel"><i class="fa fa-times"></i></button>
                    &nbsp;
                    <button class="btn btn-default" v-on:click="saveEdit(thing)" title="Save"><i class="fa fa-check"></i></button>
                  </span>
                  <span v-show="!thing.edit">
                    <button class="btn btn-default" v-on:click="showThingShare(thing)" title="Share"><i class="fa fa-share-alt"></i></button>
                    <button class="btn btn-default" v-on:click="showThingEdit(thing)" title="Edit"><i class="fa fa-pencil"></i></button>
                    <button class="btn btn-default" v-on:click="showThingDel(thing)" title="Delete"><i class="fa fa-trash"></i></button>
                  </span>
                </div>
                <div class="card-content">
                  <div v-show="thing.edit"><textarea v-model="thing.content" id="{{ 'textarea-' + thing.id }}" style="height: 200px"></textarea></div>
                  <div class="thing-content" v-show="!thing.edit">{{{ thing.richContent | markdown }}}</div>
                </div>
              </div>
            </div>
            <div>
              <br/>
              <br/>
              <center>
                <i class="spinner large" v-show="busyThings || busyFetchMore"></i>
                <span v-show="(!busyThings && !busyFetchMore) && things.length" class="text-muted">That is all</span>
                <span v-show="(!busyThings && !busyFetchMore) && !things.length" class="text-muted">No things found</span>
              </center>
              <br/>
              <br/>
              <br/>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div id="guacamoly-settings-node" class="hide"></div>

    <script type="text/javascript" src="3rdparty/jquery.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/vue.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/shortcut.js"></script>
    <script type="text/javascript" src="3rdparty/js/twemoji.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/markdown-it.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/markdown-it-emoji.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/markdown-it-checkbox.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/superagent.js"></script>

    <script type="text/javascript" src="js/core.js"></script>
    <script type="text/javascript" src="js/index.js"></script>

  </body>
</html>
<commit_msg>Add about entry in settings menu<commit_after><!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title></title>

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

    <link href="favicon.png" rel="shortcut icon" type="image/png">

    <!-- Bootstrap -->
    <link href="3rdparty/css/bootstrap.min.css" rel="stylesheet">

    <!-- Font Awesome -->
    <link href="3rdparty/css/font-awesome.min.css" rel="stylesheet">

    <link rel="stylesheet" href="index.min.css"/>

  </head>
  <body id="application">

    <div class="container" v-show="mainView === 'login'" v-cloak>
      <div class="container-fluid navigation shadow">
        <a href="http://guacamoly.rocks" target="_blank" class="brand-link"><img src="/favicon.png" height="28px"/> Guacamoly</a>
      </div>
      <br/>
      <br/>
      <div class="row">
        <div class="col-md-4 col-md-offset-4 login-form shadow">
          <h2 class="modal-title">Login</h2>
          <form v-on:submit.prevent="doLogin">
            <div class="form-group">
              <label class="control-label" for="inputUsername">Username</label>
              <input type="text" class="form-control" id="inputUsername" v-model="username" v-bind="{ disabled: busyLogin }" autofocus/>
            </div>
            <div class="form-group">
              <label class="control-label" for="inputPassword">Password</label>
              <input type="password" class="form-control" id="inputPassword" v-model="password" v-bind="{ disabled: busyLogin }" autofocus />
            </div>
            <button type="submit" class="btn btn-success" v-bind="{ disabled: busyLogin }"><i class="spinner alt" v-show="busyLogin"></i> Login</button>
          </form>
        </div>
      </div>
    </div>


    <div v-show="mainView === 'content'" v-cloak>
      <div class="modal fade" id="modalDel">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
            </div>
            <div class="modal-body">
              <h4>Really Delete this Note?</h4>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              <button type="button" class="btn btn-danger" v-on:click="deleteThing()">Delete</button>
            </div>
          </div>
        </div>
      </div>

      <div class="modal fade" tabindex="-1" role="dialog" id="modalSettings">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
              <h4>Settings</h4>
            </div>
            <div class="modal-body">
              <form class="form-horizontal">
                <div class="form-group">
                  <label htmlFor="inputTitle" class="col-xs-4 control-label">Title</label>
                  <div class="col-xs-7">
                    <input type="text" class="form-control" id="inputTitle" v-model="settings.title" placeholder="Title" />
                  </div>
                </div>
                <div class="form-group">
                  <label htmlFor="inputBackgroundImage" class="col-xs-4 control-label">Background</label>
                  <div class="col-xs-7">
                    <input type="text" class="form-control" id="inputBackgroundImage" v-model="settings.backgroundUrl" placeholder="url" />
                  </div>
                </div>
              </form>
            </div>
            <div class="modal-footer">
              <button class="btn btn-default" data-dismiss="modal">Cancel</button>
              <button class="btn btn-success" v-on:click="saveSettings()">Save</button>
            </div>
          </div>
        </div>
      </div>


      <div class="modal fade" tabindex="-1" role="dialog" id="modalImport">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
              <h4>Import</h4>
            </div>
            <div class="modal-body">
              <p>
                <div v-show="!importFile">
                  <input id="inputImport" v-el:importfile type="file" v-on:change="importFileChanged()" class="hide">
                  <button class="btn btn-raised" v-on:click="triggerImportInput()">Select File</button>
                </div>
                <div v-show="importFile">
                  <p>This will add all data from {{ importFile && importFile.name }} to your current set.</p>
                  <a href="#" v-on:click.stop.prevent="importFile = null;">Choose other file</a>
                </div>
              </p>
            </div>
            <div class="modal-footer">
              <button class="btn btn-default" data-dismiss="modal">Cancel</button>
              <button class="btn btn-success" v-show="!!importFile" v-on:click="importThings()">Import</button>
            </div>
          </div>
        </div>
      </div>

      <div class="modal fade" id="modalShare">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
            </div>
            <div class="modal-body">
              This note is publicly available at <a href="{{ shareThingLink }}" target="_blank">{{ shareThingLink }}</a>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div>
        </div>
      </div>

      <div class="modal fade" id="modalExtensions">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
              <h4>Browser Extensions</h4>
            </div>
            <div class="modal-body">
              Webextensions have to be installed manually. Download the extension and add it in the <a href="chrome://extensions/">extension</a> page for chrome or <a href="about:addons">addons</a> page in firefox-nightly.
              <p>
                <a class="btn btn-success btn-raised" href="/api/extensions/chrome.crx">Chrome</a>
                <a class="btn btn-success btn-raised" href="/api/extensions/firefox.xpi">Firefox</a>
              </p>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div>
        </div>
      </div>

      <div class="container-fluid navigation shadow">
        <form v-on:submit.prevent>
          <div class="input-group">
            <div class="input-group-btn">
              <button type="button" class="btn btn-default" v-on:click.stop="doSearch()" title="Search"><i class="fa fa-search"></i></button>
            </div>
            <input type="text" class="form-control search" placeholder="Search..." data-toggle="dropdown" v-el:searchinput v-model="search" v-on:keyup.enter="doSearch()">
            <ul class="dropdown-menu dropdown-tags" id="tagsDropdown">
              <li v-for="tag in tags | proposeTags">
                <a href="#" v-on:click.stop.prevent="activateProposedTag(tag)">#{{ tag.name }}</a>
              </li>
            </ul>
            <div class="input-group-btn">
              <button type="button" class="btn btn-default" v-on:click.stop="clearSearch()" title="Clear"><i class="fa fa-times"></i></button>
              <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">{{ displayName }} <b class="caret"></b></button>
              <ul class="dropdown-menu settings-menu" style="right: 0; left: none !important;">
                  <li><a href="javascript:void(0)" data-toggle="modal" data-target="#modalSettings">Settings</a></li>
                  <li><a href="javascript:void(0)" data-toggle="modal" data-target="#modalExtensions">Extensions</a></li>
                  <li class="divider"></li>
                  <li><a href="javascript:void(0)" data-toggle="modal" data-target="#modalImport">Import</a></li>
                  <li><a href="#" class="hand" v-on:click.stop.prevent="exportThings()">Export</a></li>
                  <li class="divider"></li>
                  <li><a href="http://guacamoly.rocks" target="_blank">About</a></li>
                  <li><a href="#" v-on:click.stop.prevent="logout()">Logout</a></li>
                </ul>
            </div>
          </div>
        </form>
      </div>

      <div class="container">
        <div class="row">
          <div class="col-md-10 col-md-offset-1">
            <div class="well shadow" v-on:click="giveAddFocus()">
              <div class="card-content align-right">
                <textarea id="addTextarea" class="new-thing" v-el:addinput placeholder="Add something..." v-model="thingContent" v-bind:class="{ active: !!thingContent }"></textarea>
                <button v-el:addbutton class="btn btn-default" v-on:click="addThing()" v-bind:class="{ hide: !thingContent }">add</button>
              </div>
            </div>
            <div v-show="!busyThings">
              <div class="well shadow" v-for="thing in things" id="{{ 'card-' + thing.id }}" v-bind:class="{ edit: thing.edit }">
                <div class="card-actions">
                  {{ thing.createdAt | prettyDateOffset }}
                  <span v-show="thing.edit">
                    <button class="btn btn-default" v-on:click="cancelEdit(thing)" title="Cancel"><i class="fa fa-times"></i></button>
                    &nbsp;
                    <button class="btn btn-default" v-on:click="saveEdit(thing)" title="Save"><i class="fa fa-check"></i></button>
                  </span>
                  <span v-show="!thing.edit">
                    <button class="btn btn-default" v-on:click="showThingShare(thing)" title="Share"><i class="fa fa-share-alt"></i></button>
                    <button class="btn btn-default" v-on:click="showThingEdit(thing)" title="Edit"><i class="fa fa-pencil"></i></button>
                    <button class="btn btn-default" v-on:click="showThingDel(thing)" title="Delete"><i class="fa fa-trash"></i></button>
                  </span>
                </div>
                <div class="card-content">
                  <div v-show="thing.edit"><textarea v-model="thing.content" id="{{ 'textarea-' + thing.id }}" style="height: 200px"></textarea></div>
                  <div class="thing-content" v-show="!thing.edit">{{{ thing.richContent | markdown }}}</div>
                </div>
              </div>
            </div>
            <div>
              <br/>
              <br/>
              <center>
                <i class="spinner large" v-show="busyThings || busyFetchMore"></i>
                <span v-show="(!busyThings && !busyFetchMore) && things.length" class="text-muted">That is all</span>
                <span v-show="(!busyThings && !busyFetchMore) && !things.length" class="text-muted">No things found</span>
              </center>
              <br/>
              <br/>
              <br/>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div id="guacamoly-settings-node" class="hide"></div>

    <script type="text/javascript" src="3rdparty/jquery.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/vue.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/shortcut.js"></script>
    <script type="text/javascript" src="3rdparty/js/twemoji.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/markdown-it.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/markdown-it-emoji.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/markdown-it-checkbox.min.js"></script>
    <script type="text/javascript" src="3rdparty/js/superagent.js"></script>

    <script type="text/javascript" src="js/core.js"></script>
    <script type="text/javascript" src="js/index.js"></script>

  </body>
</html>

{'fraction_non_alphanumeric': 0.1808018659267302, 'fraction_numerical': 0.003538826557284755, 'mean_word_length': 2.1824929613514206, 'pattern_counts': {'":': 0, '<': 673, '<?xml version=': 0, '>': 673, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '308595', 'n_tokens_mistral': 7433, 'n_tokens_neox': 7135, 'n_words': 1380}