There is no root, authority, or centralisation here. Control yourself!
dokieli is a decentralised article authoring, annotation, and social notification tool which works from Web browsers. It is built with the following principles in mind: freedom of expression, decentralisation, interoperability, and accessibility.
It can be used as a:
Also available on https://dokie.li/ (with captions):
See the growing list of examples in the wild. Add the URLs of your articles or interactions to the list.
This repository is published and accessible from https://dokie.li/. dokie.li is intended to demo and exemplify what we can do with this technology. You are welcome to use and experiment with dokieli there, or anywhere else you come across a dokieli document.
For the scholars among us, see the authoring guidelines below. View the ACM guidelines using the LNCS typographical rules, and vice versa (see the menu) ;)
These libraries are part of the dokieli distribution:
# Clone your work repository, for example: git clone [email protected]:YOUR-USERNAME/dokieli cd dokieli # Add the main repository to sync with git remote add upstream https://github.com/linkeddata/dokieli # Make sure to work off your main and synchronised git checkout main git fetch upstream git merge upstream/main # Install packages npm ci # Check out a branch for your changes git checkout -b YOUR-WORK-BRANCHNAME # Make your code updates at src/ , media/ etc. # Build eg. to create scripts/dokieli.js npm run build # or automatically rebuild when files change npm run watch # or create a minified scripts/dokieli.js npm run minify # Test your changes, if all okay: # Note: The add/commit lines below can be combined with `commit -am` # If including scripts/dokieli.js, make sure that it is the minified version # Add the changes you've made to staging git add PATH/TO/FILE # Commit staged changes with a useful message git commit -m "Add x to do y" # Push changes to your work repository git push
Pull requests should be a single commit. It keeps the commit log concise and helps a lot towards the review process. There should not be any commits about merges or reverts in the commit history. See GitHub's pull requests for the remaining steps on how to propose your changes to be brought into dokieli's repository.
dokieli uses Jest for unit tests.
To run unit tests, run
Coverage reports are collected in
dokieli uses Playwright for end-to-end tests.
To run end to end tests, run
npm run test:e2e.
Reports are collected in