Anton Shestakov <av6@dwimlabs.net>, Sun, 30 Jul 2017 22:36:42 +0800
requirements: Flask-RESTful 0.3.6
templates/index.html
Permissions: -rw-r--r--
<title>Fruitbar Todo
</title> <link type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" rel="shortcut icon"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> <link type="text/css" href="{{ url_for('static', filename='css/custom.css') }}" rel="stylesheet"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js" integrity="sha384-FZY+KSLVXVyc1qAlqH9oCx1JEOlQh6iXfw3o2n3Iy32qGjXmUPWT9I0Z9e9wxYe3" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js" integrity="sha384-NNt9ocJfZhIg2c5PbM5G2a3tTaeXhEfqCHWHNB7htzaWKn8MwFkzVyGdzLA8QMX7" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.16/backbone.localStorage-min.js" integrity="sha384-Zpwf6luZ5SbIxvI1RMyckS2a3b2JtJLXvGDZ5S9UsnusTN8pIvgPf+xH39Ur8+Iv" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> {% assets filters='jsmin', output='bundles/fruitbar.%(version)s.js', 'js/framework/models.js', 'js/framework/collections.js', 'js/framework/views/base.js', 'js/framework/views/inline.js', 'js/framework/views/workspaces.js', 'js/framework/views/projects.js', 'js/framework/views/tasks.js', 'js/framework/router.js', <script type="text/javascript" src="{{ ASSET_URL }}"></script> _.extend(_.templateSettings, { <body style="opacity: 0;"> <div class="col-sm-2 col-xs-6 ui-sidebar text-right"> <button class="btn btn-xs btn-success btn-new-project">New project
</button> <div class="col-sm-2 col-sm-push-8 col-xs-6 ui-sidebar"> <ul class="nav nav-pills workspace-tabs"> <script id="workspace-tab-template" type="text/template"> <li data-workspace="<%- data.name %>"> <a href="#<%- data.name %>">#<%- data.name %></a> <div class="col-sm-8 col-sm-pull-2 col-xs-12"> <span class="text-muted">Workspace
</span> <span class="workspace-title"></span> <small>(
<span class="project-counter"></span>)
</small> <section class="projects"> <script id="project-template" type="text/template"> <div class="col-sm-2 text-right ondemand"> <button class="btn btn-xs btn-danger btn-delete-project">Delete</button> <button class="btn btn-xs btn-success btn-new-task">New task</button> <div class="col-sm-4 col-xs-6"> <span class="inline-editable" data-model-attribute="name"><%- data.name %></span> <div class="col-sm-4 col-xs-6"> <div class="progress-bar progress-bar-striped" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"></div> <div class="tasks"></div> <script id="task-template" type="text/template"> <div class="col-sm-2 text-right ondemand"> <button class="btn btn-xs btn-danger btn-delete-task">Delete</button> <input type="checkbox" <% if (data.done) print('checked') %>> <span class="inline-editable" data-model-attribute="name"><%- data.name %></span> <span class="inline-editable" data-input-type="textarea" data-model-attribute="note"></span>