Mirror of Quill
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 lines
7.5 KiB

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <title>Quill Editor</title>
  5. <meta charset="utf-8">
  6. <link rel="pingback" href="https://webmention.io/aaronpk/xmlrpc" />
  7. <link rel="webmention" href="https://webmention.io/aaronpk/webmention" />
  8. <meta name="apple-mobile-web-app-capable" content="yes" />
  9. <!-- standard viewport tag to set the viewport to the device's width
  10. , Android 2.3 devices need this so 100% width works properly and
  11. doesn't allow children to blow up the viewport width-->
  12. <meta name="viewport" content="initial-scale=1.0,user-scalable=no,maximum-scale=1,width=device-width" />
  13. <!-- width=device-width causes the iPhone 5 to letterbox the app, so
  14. we want to exclude it for iPhone 5 to allow full screen apps -->
  15. <meta name="viewport" content="initial-scale=1.0,user-scalable=no,maximum-scale=1" media="(device-height: 568px)" />
  16. <link rel="stylesheet" href="/editor-files/medium-editor/css/medium-editor.min.css">
  17. <link rel="stylesheet" href="/editor-files/medium-editor/css/themes/default.min.css">
  18. <link rel="stylesheet" href="/editor-files/medium-editor/css/medium-editor-insert-plugin.min.css">
  19. <link rel="stylesheet" href="/editor-files/medium-editor/css/medium-editor-insert-plugin-frontend.min.css">
  20. <link href="/editor-files/font-awesome/css/font-awesome.css" rel="stylesheet">
  21. <script src="/editor-files/jquery-1.11.3.min.js"></script>
  22. <script src="/editor-files/jquery-ui-1.11.4.custom/jquery-ui.min.js"></script>
  23. <script src="/editor-files/jquery.fileupload.js"></script>
  24. <script src="/editor-files/jquery.iframetransport.js"></script>
  25. <script src="/editor-files/handlebars.min.js"></script>
  26. <script src="/editor-files/medium-editor/js/medium-editor.min.js"></script>
  27. <script src="/editor-files/medium-editor/js/medium-editor-insert-plugin.min.js"></script>
  28. <script src="/libs/localforage.js"></script>
  29. <script src="/libs/tokenfield/bootstrap-tokenfield.min.js"></script>
  30. <link rel="stylesheet" href="/libs/tokenfield/bootstrap-tokenfield.min.css">
  31. <link rel="stylesheet" href="/libs/tokenfield/tokenfield-typeahead.min.css">
  32. <link rel="stylesheet" href="/editor-files/style.css">
  33. <link rel="apple-touch-icon" sizes="57x57" href="/images/quill-icon-57.png">
  34. <link rel="apple-touch-icon" sizes="72x72" href="/images/quill-icon-72.png">
  35. <link rel="apple-touch-icon" sizes="114x114" href="/images/quill-icon-114.png">
  36. <link rel="apple-touch-icon" sizes="144x144" href="/images/quill-icon-144.png">
  37. <link rel="icon" href="/favicon.ico" type="image/x-icon">
  38. <script src="/js/script.js"></script>
  39. <script src="/js/date.js"></script>
  40. <script src="/js/cassis.js"></script>
  41. </head>
  42. <body>
  43. <div class="toolbar">
  44. <div class="toolbar-left">
  45. <span class="item"><a href="/"><img src="/editor-files/quill-logo-36.png" width="36" height="31" class="logo"></a></span>
  46. <?php if($this->user): ?>
  47. <span class="item text"><b><?= display_url($this->user->url) ?></b></span>
  48. <?php endif; ?>
  49. <span class="item text"><span id="draft-status">Draft</span></span>
  50. </div>
  51. <div class="toolbar-right">
  52. <button class="btn" id="publish_btn">Publish <i class="fa fa-caret-down"></i></button>
  53. <button class="btn" id="new_btn">New</button>
  54. </div>
  55. <div class="clear"></div>
  56. </div>
  57. <div class="micropub-html-warning hidden"><div>
  58. <button class="btn btn-default" id="micropub-html-btn">Upgrade me!</button>
  59. <b>Upcoming change!</b>
  60. The Micropub spec now requires HTML content be sent as a nested object, <code>content[html]=&lt;b&gt;example&lt;/b&gt;</code>.
  61. You can <a href="http://indiewebcamp.com/Micropub-brainstorming#HTML_Escaping">read more about the change here</a>.
  62. When you are ready to receive the content as an object, click the button to switch.
  63. </div></div>
  64. <div class="publish-dropdown hidden">
  65. <div class="arrow"></div>
  66. <div class="dropdown-content action-publish">
  67. <div style="float:right"><button class="btn btn-medium" id="publish-confirm">Publish Now</button></div>
  68. <div style="clear:right; margin-bottom: 4px;"></div>
  69. <table id="publish-fields">
  70. <tr>
  71. <td>Tags:</td>
  72. <td><input type="text" class="form-field-small" placeholder="" id="post-tags"></td>
  73. </tr>
  74. <tr>
  75. <td>Slug:</td>
  76. <td><input type="text" class="form-field-small" id="post-slug"></td>
  77. </tr>
  78. <tr>
  79. <td>Status:</td>
  80. <td>
  81. <select id="post-status" class="form-select-small">
  82. <option value="published">Published</option>
  83. <option value="draft">Draft</option>
  84. </select>
  85. <a href="/docs/post-status" class="small hidden" target="_blank" id="published-status-warning">read this first!</a>
  86. </td>
  87. </tr>
  88. <tr>
  89. <td>Syndication:</td>
  90. <td>
  91. <select id="post-syndicate" class="form-select-small">
  92. <option value="no">No</option>
  93. <option value="yes">Yes</option>
  94. </select>
  95. </td>
  96. </tr>
  97. <tr class="form-group">
  98. <td>
  99. <label for="note_syndicate-to"><a href="javascript:reload_syndications()">Reload</a></label></td>
  100. <td id="syndication-container">
  101. <?php
  102. if($this->syndication_targets) {
  103. echo '<ul>';
  104. foreach($this->syndication_targets as $syn) {
  105. echo '<li>'
  106. . '<button data-syndicate-to="'.(isset($syn['uid']) ? htmlspecialchars($syn['uid']) : htmlspecialchars($syn['target'])).'" class="btn btn-default btn-block">'
  107. . ($syn['favicon'] ? '<img src="'.htmlspecialchars($syn['favicon']).'" width="16" height="16"> ' : '')
  108. . htmlspecialchars($syn['target'])
  109. . '</button>'
  110. . '</li>';
  111. }
  112. echo '</ul>';
  113. }
  114. ?>
  115. </td>
  116. </tr>
  117. <tr>
  118. <td>Publish:</td>
  119. <td><input type="text" class="form-field-small" id="post-publish-date" value="now" placeholder="YYYY-MM-DD hh:mm:ss"></td>
  120. </tr>
  121. </table>
  122. <div class="helptext hidden" id="publish-in-progress">
  123. Posting... <!-- TODO replace this with a CSS animated spinner -->
  124. </div>
  125. <div class="helptext hidden" id="publish-success">
  126. <div><a href="" id="publish-success-url">View your post</a></div>
  127. </div>
  128. <div class="helptext hidden" id="publish-error">
  129. <div>Something went wrong! Below is the response from your Micropub endpoint.</div><br>
  130. <pre id="publish-error-debug"></pre>
  131. </div>
  132. </div>
  133. <div class="dropdown-content action-signin hidden">
  134. <div class="helptext">You need to sign in before you can publish! Don't worry, your draft will still be here when you finish signing in.</div>
  135. <input type="url" class="form-field-small" placeholder="yourdomain.com" id="signin-domain">
  136. <button class="btn btn-small" id="signin-btn">Sign In</button>
  137. <div class="helptext small"><a href="/docs">How does this work?</a></div>
  138. </div>
  139. </div>
  140. <div class="container">
  141. <input id="post-name" type="text" value="" placeholder="Title">
  142. <input id="post-description" type="text" value="" placeholder="Description">
  143. <input id="post-image" type="text" value="" placeholder="Banner Image">
  144. <div id="content" class="editable"></div>
  145. </div>
  146. <script src="/editor-files/editor.js"></script>
  147. <?= partial('partials/syndication-js') ?>
  148. </body>
  149. </html>