This repository holds the technical specification for the Decentralized Social Networking Protocol (DSNP). The current official specification can be viewed in its compiled form here. Alternatively, the latest iteration of the spec can be viewed non-formatted here. For more information about the DSNP, visit DSNP.org
- Merge all changes into
mainand handle any updated specifications (see below). - Create a GitHub Release and tag it using the following CalVer:
YYYY.MM.###(where###is the nth release in that month)
- Update the version at the top of the
Overview.mdfile for spec - Update the releases table on the
Overview.mdfile for spec - Update the releases table on the root
index.mdfile - Use the appropriate git tag(s) for the specs
[Spec]-v[Major].[Minor].[Patch]- DSNP:
DSNP-vX.X.X - Activity Content
ActivityContent-vX.X.X - DSNP on Ethereum
EVM-vX.X.X
- DSNP:
- Generate a GitHub Release for each spec/tag combination with the Changelog.
Note: Remember that you can link to the tag on GitHub before creating the tag.
Node.js 20 or later is required.
Install dependencies:
npm install| Command | Description |
|---|---|
npm run build |
Build the site into _site/ |
npm run serve |
Build and serve with live reload at http://localhost:8080 |
npm run lint |
Run Markdown linter and spell checker |
npm run linkcheck |
Check all internal and external links (run after build) |
- Eleventy (11ty) — static site generator
- markdown-it — Markdown renderer
- linkinator — link checker
- remark — Markdown linter
- spellchecker-cli — spell checker
-
Use the official outline for specifications. Respect and observe good file organization practices.
-
Spec files are written in Markdown format, and are located in the pages directory.
-
When documenting an API, use the following table style:
Name Description Type Required? fileHasha description of fileHashbytes YES -
Put images into the
imagesfolder and link to them using their URL in the GitHub repo.
- The deploy GitHub Actions workflow is triggered by tags matching the CalVer pattern
YYYY.MM.###. - The workflow builds the site with Eleventy (
npm run build) and deploys the_site/directory to GitHub Pages.