index.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>webdav-js</title>
  5. <link
  6. rel="stylesheet"
  7. type="text/css"
  8. href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
  9. />
  10. <link
  11. rel="stylesheet"
  12. href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css"
  13. />
  14. <link
  15. rel="stylesheet"
  16. href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/monokai-sublime.min.css"
  17. />
  18. <style type="text/css">
  19. h1 .version {
  20. opacity: 0;
  21. font-size: 0.8em;
  22. font-family: monospace;
  23. letter-spacing: -5px;
  24. transition: 0.25s opacity linear;
  25. }
  26. h1:hover .version {
  27. opacity: 0.3;
  28. }
  29. pre {
  30. position: relative;
  31. }
  32. pre a.btn {
  33. display: none;
  34. position: absolute;
  35. right: 2px;
  36. top: 2px;
  37. }
  38. pre:hover a.btn {
  39. display: block;
  40. }
  41. .no-clipboard pre:hover a.btn {
  42. display: none;
  43. }
  44. </style>
  45. <style>
  46. .github-corner:hover .octo-arm {
  47. animation: octocat-wave 560ms ease-in-out;
  48. }
  49. @keyframes octocat-wave {
  50. 0%,
  51. 100% {
  52. transform: rotate(0);
  53. }
  54. 20%,
  55. 60% {
  56. transform: rotate(-25deg);
  57. }
  58. 40%,
  59. 80% {
  60. transform: rotate(10deg);
  61. }
  62. }
  63. @media (max-width: 500px) {
  64. .github-corner:hover .octo-arm {
  65. animation: none;
  66. }
  67. .github-corner .octo-arm {
  68. animation: octocat-wave 560ms ease-in-out;
  69. }
  70. }
  71. </style>
  72. </head>
  73. <body>
  74. <a
  75. href="https://github.com/dom111/webdav-js"
  76. class="github-corner"
  77. aria-label="View source on Github"
  78. >
  79. <svg
  80. width="80"
  81. height="80"
  82. viewBox="0 0 250 250"
  83. style="
  84. fill: #c7254e;
  85. color: #f9f2f4;
  86. position: fixed;
  87. top: 0;
  88. border: 0;
  89. right: 0;
  90. "
  91. aria-hidden="true"
  92. >
  93. <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
  94. <path
  95. d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
  96. fill="currentColor"
  97. style="transform-origin: 130px 106px"
  98. class="octo-arm"
  99. ></path>
  100. <path
  101. d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
  102. fill="currentColor"
  103. class="octo-body"
  104. ></path>
  105. </svg>
  106. </a>
  107. <div class="jumbotron">
  108. <div class="container">
  109. <h1>
  110. <code>webdav-js</code>
  111. <span class="version" title="Last updated: 2019-11-22">v2.0.0</span>
  112. </h1>
  113. <p>A browser-based WebDAV client, written in JavaScript.</p>
  114. </div>
  115. </div>
  116. <div class="container">
  117. <section class="parser panel panel-primary">
  118. <div class="panel-heading panel-heading-lg">
  119. <h2 class="panel-title panel-title-lg">Information</h2>
  120. </div>
  121. <div class="panel-body">
  122. <p>
  123. This simple WebDAV browsing/uploading client is a useful
  124. cross-browser addition to the bookmarks of anyone that has to
  125. interact with WebDAV. It supports previewing of many common
  126. filetypes (syntax highlighting for code, previews for
  127. images/videos/fonts), drag and drop file uploads and history state
  128. (for back button navigation).
  129. </p>
  130. <p>
  131. Whilst this started out as a very simple bookmarklet with some basic
  132. styling (and it's still not much more than that!), I'd like to
  133. continue to improve it somewhat, adding in new features and using it
  134. as a testbed for front-end framework experience. I'd like to
  135. investigate more thorough testing using it too, ideally performing
  136. full end-to-end testing for all the features currently implemented.
  137. </p>
  138. <p>
  139. To see how it looks clone the repo, run:
  140. <code>docker-compose up</code> and navigate to
  141. <a href="http://localhost:8080/">http://localhost:8080/</a>.
  142. </p>
  143. <p>You're free to use this tool without restriction.</p>
  144. </div>
  145. <div class="panel-footer">
  146. <aside class="options">
  147. <h3>Use it</h3>
  148. <p>
  149. There's a
  150. <a href="https://github.com/dom111/webdav-js"
  151. >github repository</a
  152. >
  153. where you can download the source that also includes example
  154. implementations.
  155. </p>
  156. <p>
  157. I've also created a bookmarklet that you can add to your bookmarks
  158. bar:
  159. </p>
  160. <p class="text-center">
  161. <a
  162. href="javascript:%5B%22https%3A//cdn.jsdelivr.net/gh/dom111/webdav-js/assets/css/style-min.css%22%2C%22https%3A//cdn.jsdelivr.net/gh/dom111/webdav-js/src/webdav-min.js%22%5D.forEach%28%28function%28e%2Cs%29%7B/css%24/.test%28e%29%3F%28%28s%3Ddocument.createElement%28%22link%22%29%29.href%3De%2Cs.rel%3D%22stylesheet%22%29%3A%28s%3Ddocument.createElement%28%22script%22%29%29.src%3De%2Cdocument.head.appendChild%28s%29%7D%29%29%3B"
  163. class="btn btn-primary btn-lg"
  164. >
  165. Browse WebDAV...
  166. </a>
  167. </p>
  168. <p>or copy/paste from the below:</p>
  169. <pre
  170. class="copy-paste"
  171. ><code class="js">javascript:["https://cdn.jsdelivr.net/gh/dom111/webdav-js/assets/css/style-min.css","https://cdn.jsdelivr.net/gh/dom111/webdav-js/src/webdav-min.js"].forEach((function(e,s){/css$/.test(e)?((s=document.createElement("link")).href=e,s.rel="stylesheet"):(s=document.createElement("script")).src=e,document.head.appendChild(s)}));</code><a class="btn btn-primary btn-xs copy" href="#" data-clipboard-target="pre.copy-paste code">Copy</a></pre>
  172. </aside>
  173. </div>
  174. </section>
  175. <footer>
  176. <p>
  177. Copyright &copy; 2012-2019
  178. <a href="https://dom.hastin.gs/">Dom Hastings</a>
  179. </p>
  180. </footer>
  181. </div>
  182. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  183. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  184. <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.6.0/clipboard.min.js"></script>
  185. <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js"></script>
  186. <script type="text/javascript">
  187. hljs.initHighlightingOnLoad();
  188. if (Clipboard.isSupported()) {
  189. new Clipboard('a.copy');
  190. } else {
  191. $('body').addClass('no-clipboard');
  192. }
  193. $('a.copy').on('click', function (event) {
  194. event.preventDefault();
  195. });
  196. </script>
  197. </body>
  198. </html>