webdav-js
Version:
WebDAV functionality intended for use as a bookmarklet or to make a simple webserver an interactive WebDAV environment.
210 lines (198 loc) • 7.57 kB
HTML
<html>
<head>
<title>webdav-js</title>
<link
rel="stylesheet"
type="text/css"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/monokai-sublime.min.css"
/>
<style type="text/css">
h1 .version {
opacity: 0;
font-size: 0.8em;
font-family: monospace;
letter-spacing: -5px;
transition: 0.25s opacity linear;
}
h1:hover .version {
opacity: 0.3;
}
pre {
position: relative;
}
pre a.btn {
display: none;
position: absolute;
right: 2px;
top: 2px;
}
pre:hover a.btn {
display: block;
}
.no-clipboard pre:hover a.btn {
display: none;
}
</style>
<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>
</head>
<body>
<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>
<div class="jumbotron">
<div class="container">
<h1>
<code>webdav-js</code>
<span class="version" title="Last updated: 2019-11-22">v2.0.0</span>
</h1>
<p>A browser-based WebDAV client, written in JavaScript.</p>
</div>
</div>
<div class="container">
<section class="parser panel panel-primary">
<div class="panel-heading panel-heading-lg">
<h2 class="panel-title panel-title-lg">Information</h2>
</div>
<div class="panel-body">
<p>
This simple WebDAV browsing/uploading client is a useful
cross-browser addition to the bookmarks of anyone that has to
interact with WebDAV. It supports previewing of many common
filetypes (syntax highlighting for code, previews for
images/videos/fonts), drag and drop file uploads and history state
(for back button navigation).
</p>
<p>
Whilst this started out as a very simple bookmarklet with some basic
styling (and it's still not much more than that!), I'd like to
continue to improve it somewhat, adding in new features and using it
as a testbed for front-end framework experience. I'd like to
investigate more thorough testing using it too, ideally performing
full end-to-end testing for all the features currently implemented.
</p>
<p>
To see how it looks clone the repo, run:
<code>docker-compose up</code> and navigate to
<a href="http://localhost:8080/">http://localhost:8080/</a>.
</p>
<p>You're free to use this tool without restriction.</p>
</div>
<div class="panel-footer">
<aside class="options">
<h3>Use it</h3>
<p>
There's a
<a href="https://github.com/dom111/webdav-js"
>github repository</a
>
where you can download the source that also includes example
implementations.
</p>
<p>
I've also created a bookmarklet that you can add to your bookmarks
bar:
</p>
<p class="text-center">
<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"
>
Browse WebDAV...
</a>
</p>
<p>or copy/paste from the below:</p>
<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>
</aside>
</div>
</section>
<footer>
<p>
Copyright © 2012-2019
<a href="https://dom.hastin.gs/">Dom Hastings</a>
</p>
</footer>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.6.0/clipboard.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js"></script>
<script type="text/javascript">
hljs.initHighlightingOnLoad();
if (Clipboard.isSupported()) {
new Clipboard('a.copy');
} else {
$('body').addClass('no-clipboard');
}
$('a.copy').on('click', function (event) {
event.preventDefault();
});
</script>
</body>
</html>