index.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>webdav-js</title>
  5. <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
  6. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css"/>
  7. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/monokai-sublime.min.css"/>
  8. <style type="text/css">
  9. h1 .version { opacity: 0; font-size: 0.8em; font-family: monospace; letter-spacing: -5px; transition: .25s opacity linear; }
  10. h1:hover .version { opacity: .3; }
  11. pre { position: relative; }
  12. pre a.btn { display: none; position: absolute; right: 2px; top: 2px; }
  13. pre:hover a.btn { display: block; }
  14. .no-clipboard pre:hover a.btn { display: none; }
  15. </style>
  16. </head>
  17. <body>
  18. <a href="https://github.com/dom111/webdav-js" class="github-corner" aria-label="View source on Github"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#C7254E; color:#F9F2F4; position: fixed; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path 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" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path 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" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
  19. <div class="jumbotron">
  20. <div class="container">
  21. <h1><code>webdav-js</code> <span class="version" title="Last updated: 2019-11-22">v2.0.0</span></h1>
  22. <p>A browser-based WebDAV client, written in JavaScript.</p>
  23. </div>
  24. </div>
  25. <div class="container">
  26. <section class="parser panel panel-primary">
  27. <div class="panel-heading panel-heading-lg">
  28. <h2 class="panel-title panel-title-lg">Information</h2>
  29. </div>
  30. <div class="panel-body">
  31. <p>
  32. This simple WebDAV browsing/uploading client is a useful cross-browser addition to the bookmarks
  33. of anyone that has to interact with WebDAV. It supports previewing of many common filetypes
  34. (syntax highlighting for code, previews for images/videos/fonts), drag and drop file uplaods and
  35. history state (for back button navigation).
  36. </p>
  37. <p>
  38. Whilst this started out as a very simple bookmarklet with some basic styling (and it's still not
  39. much more than that!), I'd like to continue improve it somewhat, adding in new features and using
  40. it as a testbed for front-end framework experience. I'd like to investigate more thorough testing
  41. using it too, ideally performing full end-to-end testing for all the features currently
  42. implemented.
  43. </p>
  44. <p>
  45. To see how it looks clone the repo, run: <code>docker-compose up</code> and navigate to
  46. <a href="http://localhost:8080/">http://localhost:8080/</a>.
  47. </p>
  48. <p>You're free to use this tool without restriction.</p>
  49. </div>
  50. <div class="panel-footer">
  51. <aside class="options">
  52. <h3>Use it</h3>
  53. <p>
  54. There's a <a href="https://github.com/dom111/webdav-js">github repository</a> where you can
  55. download the source that also includes example implementations.
  56. </p>
  57. <p>I've also created a bookmarklet that you can add to your bookmarks bar:</p>
  58. <p class="text-center">
  59. <a 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" class="btn btn-primary btn-lg">
  60. Browse WebDAV...
  61. </a>
  62. </p>
  63. <p>or copy/paste from the below:</p>
  64. <pre class="copy-paste"><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>
  65. </aside>
  66. </div>
  67. </section>
  68. <footer>
  69. <p>Copyright &copy; 2012-2019 <a href="https://dom.hastin.gs/">Dom Hastings</a></p>
  70. </footer>
  71. </div>
  72. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  73. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  74. <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.6.0/clipboard.min.js"></script>
  75. <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js"></script>
  76. <script type="text/javascript">
  77. hljs.initHighlightingOnLoad();
  78. if (Clipboard.isSupported()) {
  79. new Clipboard('a.copy');
  80. }
  81. else {
  82. $('body').addClass('no-clipboard');
  83. }
  84. $('a.copy').on('click', function(event) {
  85. event.preventDefault();
  86. });
  87. </script>
  88. <script>
  89. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  90. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  91. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  92. })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  93. ga('create', 'UA-5273748-7', 'auto');
  94. ga('send', 'pageview');
  95. </script>
  96. </body>
  97. </html>