Own your data, all of it.
The project follows a Universal folder structure and is a large collection of mostly small modules or functions. With the exception of a few 'global' or 'magic' things such as the localization function OLSKLocalized
, most resources used by a module should be in the same folder or referenced by path name.
Routing, rendering markdown content, and serving pages is done via a Node.js server (usually configured in the controller.js files).
Install Node.js and npm, then:
npm run setup
This should create an .env
file if there is none. If you encounter errors referring to this file, you can find missing variables in .env-sample
.
npm start
It should be accessible at http://localhost:3000.
See Testing logic and interfaces for a tutorial.
npm test
npm test ui
To filter interface test paths by string:
npm test ui match=vitrine
To filter interface test paths by JavaScript regular expressions:
npm test ui match='/(list|robots)/'
The code is released under a Hippocratic License, modified to exclude its use for surveillance capitalism and also to require large for-profit entities to purchase a paid license.