{"id":26745169,"url":"https://github.com/linkeddata/dokieli","last_synced_at":"2025-03-28T08:01:50.700Z","repository":{"id":8268547,"uuid":"9721284","full_name":"dokieli/dokieli","owner":"dokieli","description":":bulb: dokieli is a clientside editor for decentralised article publishing, annotations and social interactions","archived":false,"fork":false,"pushed_at":"2024-10-29T09:32:56.000Z","size":22759,"stargazers_count":810,"open_issues_count":173,"forks_count":83,"subscribers_count":67,"default_branch":"main","last_synced_at":"2024-10-29T11:43:50.597Z","etag":null,"topics":["activitypub-client","activitystreams","annotation-tool","authoring-tool","decentralized","editor","knowledge-graph","ldn","linked-data","linked-research","notifications","rdfa","scholarly-publishing","semantic-publishing","social-web","solid","solid-app","web-annotation","web-standards"],"latest_commit_sha":null,"homepage":"https://dokie.li/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dokieli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-04-27T21:25:05.000Z","updated_at":"2024-10-29T11:21:42.000Z","dependencies_parsed_at":"2023-10-20T21:17:20.278Z","dependency_job_id":"f6eb77c5-1a26-4cb9-89be-ce307d793af5","html_url":"https://github.com/dokieli/dokieli","commit_stats":{"total_commits":4101,"total_committers":12,"mean_commits":341.75,"dds":0.04608632040965621,"last_synced_commit":"2b863e5bb897100cb17c3b1eba9f26232904cd6c"},"previous_names":["dokieli/dokieli","linkeddata/dokieli"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokieli%2Fdokieli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokieli%2Fdokieli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokieli%2Fdokieli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokieli%2Fdokieli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dokieli","download_url":"https://codeload.github.com/dokieli/dokieli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245991574,"owners_count":20706127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activitypub-client","activitystreams","annotation-tool","authoring-tool","decentralized","editor","knowledge-graph","ldn","linked-data","linked-research","notifications","rdfa","scholarly-publishing","semantic-publishing","social-web","solid","solid-app","web-annotation","web-standards"],"created_at":"2025-03-28T08:01:46.237Z","updated_at":"2025-03-28T08:01:50.674Z","avatar_url":"https://github.com/dokieli.png","language":"JavaScript","funding_links":["https://opencollective.com/dokieli/"],"categories":["JavaScript","Uncategorized","others"],"sub_categories":["Uncategorized"],"readme":"# dokieli\n\n[dokieli](https://dokie.li/) is a clientside editor for decentralised article publishing, annotations, and social interactions.\n\nIt is built with the following principles in mind: freedom of expression, decentralisation, interoperability, and accessibility. There is no root, authority, or centralisation here. Control yourself!\n\nWelcome! Check out the:\n\n* [Documentation](https://dokie.li/docs)\n* [Contributing Guide](CONTRIBUTING.md)\n* [Code of Conduct](CODE-OF-CONDUCT.md)\n\n## Use\n\ndokieli can be used as a:\n\n* single-page application - open any dokieli embedded article\n* browser extension - import dokieli from your Web browser's extensions (see also \u003ca href=\"https://dokie.li/docs\"\u003einstructions\u003c/a\u003e).\n\n## Setup\n\nClone your work repository, for example:\n\n```sh\ngit clone git@github.com:YOUR-USERNAME/dokieli\ncd dokieli\n```\n\nInstall packages:\n\n```sh\nyarn\n```\n\nMake your code updates at `src/` , `media/` etc.\n\nBuild eg. to create `scripts/dokieli.js`:\n\n```sh\nyarn build\n```\n\nor automatically rebuild when files change:\n\n```sh\nyarn watch\n```\n\nor create a minified `scripts/dokieli.js`:\n\n```sh\nyarn minify\n```\n\nTo serve static files, you can use any HTTP server, e.g.:\n\n```sh\nnpx serve\n```\n\nFor more details on our development process, including tests and code quality guidelines, see our [Contributing Guide](CONTRIBUTING.md)\n\n## License\n\n* Code: [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)\n* Content: [Creative Commons Attribution 4.0 Unported](https://creativecommons.org/licenses/by/4.0/)\n\n## Documentation\n\n* For brave developers and authors: the canonical [documentation](https://dokie.li/docs)\nexplains dokieli's principles, architectural and design patterns.\n\n## Features\n\n* In-browser document authoring and formatting, and semantic enrichments (RDFa annotations).\n* Content negotiation is possible for RDFa, Turtle, JSON-LD, RDF/XML.\n* Uses author's information from their online profile (WebID).\n* Creation of new documents from any existing dokieli document - part of *self-replication*.\n* Save document and its dependencies to a new location (anywhere on the Web given access) - part of *self-replication*.\n* Open and edit URLs containing HTML.\n* Individually assign the language of articles and annotations and parts within.\n* Assignment of URI fragments (to any unit of significance) so that other resources on the Web can link to it.\n* Implements versioning and has the notion of immutable resources.\n* Embedding data blocks, e.g., Turtle, N-Triples, JSON-LD, TriG (Nanopublications).\n* Embedding of media objects, tables, and interactions.\n* Graph visualisation of linked data.\n* Import GPX and extension data and view tracks on map.\n* Automated references and citations (retrieves and reuses structured information).\n* Insertion of table of contents, figures, tables, abbreviations.\n* Drag and drop to reorganize the document's sections and table of contents.\n* In-browser local storage, and document exporting.\n* Message log.\n* Document metadata.\n* Views for screen and print (e.g., ACM, LNCS) - yes, you can output to a *paper user interface*: PDF\n* .. and [many more on the way](https://github.com/dokieli/dokieli/issues/).\n\nLet's make it so together! You are welcome to create [issues](https://github.com/dokieli/dokieli/issues/), [discuss](https://matrix.to/#/%23dokieli:matrix.org), or pull requests.\n\n## Screencasts\n\n* [Access request](https://dokie.li/media/video/dokieli-access-request.webm).\n* [Annotating](https://dokie.li/media/video/dokieli-annotation.webm) and [sharing](https://dokie.li/media/video/dokieli-share.webm).\n* Matching [resource's target audience with user's occupations](https://dokie.li/media/video/dokieli-audience-occupation.webm).\n* [Citations](https://dokie.li/media/video/dokieli-citation.webm)\n* [Generate and publish web feed](https://dokie.li/media/video/dokieli-generate-feed.webm).\n* [Robustify links](https://dokie.li/media/video/dokieli-robustify-links.webm).\n* [Sparqlines](https://dokie.li/media/video/dokieli-sparqlines.webm) towards better data journalism.\n* Accessible [link tabbing, hover, and focus](https://dokie.li/media/video/dokieli-link-tabbing-hover-focus-click.webm).\n* Bookmark [create](https://dokie.li/media/video/dokieli-annotation-bookmark-create.webm) and [read](https://dokie.li/media/video/dokieli-annotation-bookmark-read.webm).\n* Open digital rights contrasting [storage description and personal policies](https://dokie.li/media/video/dokieli-odrl-storage-description.webm), [agreements and actions between people](https://dokie.li/media/video/dokieli-odrl.webm).\n* Share an article by announcing it to [a contact from addressbook](https://dokie.li/media/video/dokieli-share.webm) and [entering a contact directly](https://dokie.li/media/video/dokieli-orcid-ldn-inbox.webm).\n* Specification [requirements, test coverage, version diff, change log](https://dokie.li/media/video/dokieli-spec-conformance.webm).\n* [Geo and statistical data](https://dokie.li/media/video/dokieli-geo-stats.webm) importing and viewing.\n\n## Examples\n\nSee the growing list of [examples in the\nwild](https://github.com/dokieli/dokieli/wiki#examples-in-the-wild). Add\nthe URLs of your articles or interactions to the list.\n\nThis repository is published and accessible from\n[https://dokie.li/](https://dokie.li/). dokie.li is intended to demo and\nexemplify what we can do with this technology. You are welcome to use and\nexperiment with dokieli there, or anywhere else you come across a dokieli\ndocument.\n\nFor the scholars among us, see the authoring guidelines below. View the [ACM SIG Proceedings Paper](https://dokie.li/acm-sigproc-sp) using the [LNCS Author Guidelines](https://dokie.li/lncs-splnproc) (typographical rules), and vice versa (see the menu) ;)\n\n## Specifications\n\n* Information is represented and retrieved following the [Linked Data](https://www.w3.org/DesignIssues/LinkedData) design principles.\n* [WebID](https://www.w3.org/2005/Incubator/webid/spec/identity/) for personal/agent identities.\n* [WebID-TLS](https://www.w3.org/2005/Incubator/webid/spec/tls/) and [WebID-OIDC](https://github.com/solid/webid-oidc-spec) for authentication.\n* [Web Access Control](https://solidproject.org/TR/wac)/ACL to set permissions on Web resources.\n* W3C [Linked Data Platform](http://www.w3.org/TR/ldp/) and [Solid Protocol](https://solidproject.org/ED/protocol) servers to read and write Web resources.\n* W3C [Linked Data Notifications](https://www.w3.org/TR/ldn/) for inbox notifications for annotations and social sharing.\n* W3C [ActivityPub](https://www.w3.org/TR/activitypub/) client to read/write from/to profile's outbox.\n* W3C [Web Annotation Model](https://www.w3.org/TR/annotation-model/), W3C [Web Annotation Vocabulary](https://www.w3.org/TR/annotation-vocab/), W3C [Embedding Web Annotations in HTML](https://www.w3.org/TR/annotation-html), and W3C [Selectors and States](https://www.w3.org/TR/selectors-states/) to model and identify annotations (eg. replies, peer-reviews, liking, resharing, bookmarking)\n* W3C [Activity Streams 2.0 vocabulary](https://www.w3.org/TR/activitystreams-vocabulary) for social activities.\n* W3C [ODRL Information Model](https://www.w3.org/TR/odrl-model/) and W3C [ODRL Vocabulary \u0026 Expression](https://www.w3.org/TR/odrl-vocab/) to represent statements about the usage of content and services.\n* [Memento](https://tools.ietf.org/html/rfc7089) for resource management eg. TimeMap.\n* [Creative Commons](https://creativecommons.org/) to assign license to individual contributions and annotations.\n* [Robust Links](http://robustlinks.mementoweb.org/) for hyperlinks eg. citations, and to show Link Decoration.\n* [schema.org](http://schema.org/), [SPAR Ontologies](http://www.sparontologies.net/), [PROV-O](https://www.w3.org/TR/prov-o/), and various other vocabularies.\n\n## Supported By\n\n* [NLnet](https://nlnet.nl/) (2024-02–present)\n\n## Support the project\n\nHelp the project grow by sponsoring it on [Open Collective](https://opencollective.com/dokieli/) or reach out to us.\n\n## Contributors\n\n\u003ca href=\"https://github.com/dokieli/dokieli/graphs/contributors\"\u003e\n\u003cimg src=\"https://opencollective.com/dokieli/contributors.svg?width=890\" /\u003e\n\u003c/a\u003e\n\n## Acknowledgements\n\nThe following organisations have supported a part of the research and development on dokieli:\n\n* [Massachusetts Institute of Technology](https://web.mit.edu/) (2015–2016)\n* [Qatar Computing Research Institute](https://www.hbku.edu.qa/en/qcri) (2015–2016)\n* [Deutsche Forschungsgemeinschaft](https://www.dfg.de/) (2016–2017)\n* [University of Bonn](https://www.uni-bonn.de/en) (2017)\n* [TIB – Leibniz-Informationszentrum Technik und Naturwissenschaften](https://www.tib.eu/en/) (2017-2019)\n\nWe would also like to express our gratitude to the following individuals for their support:\n\n* [Amy van der Hiel](https://github.com/amyvdh)\n* [Andrei Vlad Sambra](https://github.com/deiu)\n* [Ben Companjen](https://github.com/bencomp)\n* [Benjamin Young](https://github.com/bigbluehat)\n* [Gerben Treora](https://github.com/treora)\n* [Henry Story](https://github.com/bblfish)\n* [Herbert Van de Sompel](https://github.com/hvdsomp)\n* [Kingsley Idehen](https://github.com/kidehen)\n* [Melvin Carvalho](https://github.com/melvincarvalho)\n* [Ruben Verborgh](https://github.com/RubenVerborgh)\n* [Sandro Hawke](https://github.com/sandhawke)\n* [Thomas Bergwinkl](https://github.com/bergos)\n* [Tim Berners-Lee](https://github.com/timbl)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkeddata%2Fdokieli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinkeddata%2Fdokieli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkeddata%2Fdokieli/lists"}