暫無描述

dom111 7444915b04 Increased the size of the item buttons. 2 年之前
.github 09fc82e1ad Adding functional test. 2 年之前
assets 7444915b04 Increased the size of the item buttons. 2 年之前
build ae519a889a Refactor code - replacing nested events with direct calls. 2 年之前
docker fbe7503e1f Refine Nginx example with docker-compose file 2 年之前
examples fbe7503e1f Refine Nginx example with docker-compose file 2 年之前
src 7444915b04 Increased the size of the item buttons. 2 年之前
tests 7444915b04 Increased the size of the item buttons. 2 年之前
translations 7444915b04 Increased the size of the item buttons. 2 年之前
.editorconfig c2fbfc77b5 Rewritten from the ground up using ES modules and trying to separate the 5 年之前
.gitattributes c2fbfc77b5 Rewritten from the ground up using ES modules and trying to separate the 5 年之前
.gitignore b39d17311d Replace webpack with esbuild. 2 年之前
.gitpod.yml 05eec105d8 Add gitpod. 2 年之前
.prettierignore b39d17311d Replace webpack with esbuild. 2 年之前
.prettierrc b39d17311d Replace webpack with esbuild. 2 年之前
LICENSE 4ec02b7cdd Add MIT license 6 年之前
Makefile ae519a889a Refactor code - replacing nested events with direct calls. 2 年之前
README.md 05eec105d8 Add gitpod. 2 年之前
TODO.md 7444915b04 Increased the size of the item buttons. 2 年之前
docker-compose.nginx.yml fbe7503e1f Refine Nginx example with docker-compose file 2 年之前
docker-compose.yml fbe7503e1f Refine Nginx example with docker-compose file 2 年之前
esbuild.js ae519a889a Refactor code - replacing nested events with direct calls. 2 年之前
index.html 09fc82e1ad Adding functional test. 2 年之前
jest-puppeteer.config.js b39d17311d Replace webpack with esbuild. 2 年之前
jest.config.functional.chrome.ts 09fc82e1ad Adding functional test. 2 年之前
jest.config.functional.firefox.ts 09fc82e1ad Adding functional test. 2 年之前
jest.config.unit.ts b39d17311d Replace webpack with esbuild. 2 年之前
package-lock.json 7444915b04 Increased the size of the item buttons. 2 年之前
package.json 7444915b04 Increased the size of the item buttons. 2 年之前
tsconfig.json d556e1e7a2 Add first pass at i18n (using i18next). 2 年之前

README.md

webdav-js

A simple way to administer a WebDAV filesystem from your browser.

The original aim for this project was to provide a bookmarklet for use when you want to administer a WebDAV server, without the need for using a third party application.

The application has since been rewritten to not rely on jQuery and use more modern methods and provide a single runtime file. Now that there's more separation between the interface code and the library code, I'd like to investigate using other frontend approaches to see which I prefer (and also to weigh up the differences between the currently available frameworks). There's still work to do around code separation and hopefully this will be something I can continue to work on (as time allows) I feel it's at least as stable as the previous version.

Features

  • Browse, upload, download, rename, delete entries and create directories.
  • File preview for image, video, audio, font, text, PDF files.
  • Basic keyboard navigation.
  • A (very) simple gallery browser for preview-able files.

Localisation

Currently, the library contains text translated to English, German and Portuguese. If you use this and would like it to be localised to your language please submit a PR including the translation (using en.json as a template) and adding the language in UI.js.

Tested in:

  • Chrome
  • Firefox
  • Edge

Implementations

Gitpod demo

Available here, wait for the Docker build to complete, and you will be able to interact with the Apache demo, make changes and contribute!

Open in Gitpod

Bookmarklet:

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)}));

or drag this link directly

Apache:

There is also an example for how you could set up Apache in the examples/ directory (one using a locally hosted version of the library, and one using a CDN).

Think you have another example implementation that would be good to showcase? Fork this repository and make a PR!

Test the library

Included in the package is a docker-compose.yml file that can spawn an Alpine Linux Apache WebDAV server that uses the example Apache configuration so you can see the library in action if you don't have a WebDAV server at your disposal.

To start it, run:

docker-compose up

and navigate to http://localhost:8080/.

Contributing

If you feel this can be improved (I'm certain it can!), please feel free to fork it and submit a PR.

Localisation would be a great start if you'd like to help!

To start making changes, ensure you install all the dependencies and build the application:

make build

After making changes, ensure you rebuild the application:

make build

Once your changes have compiled you can test using the Docker container.

Tests

To run the unit and functional tests:

make build
docker-compose up -d
make test