Cosma is a visualization tool for knowledge workers. It reads plain text files with [[wiki links]] and renders them as an interactive network of index cards.
Cosma provides an interface to navigate and share non-linear documentation:
- if you have a personal wiki, Zettelkasten or digital garden;
- if you create mind maps, networks of people and concepts;
- if you work with citations and bibliographies;
- if you study things that involve time metadata;
then you can use Cosma to create a portable knowledge base, combining rich hypertextual descriptions with the affordances of a graph view, contextualized backlinks, automatically generated citations, metadata filters and more.
Visit https://cosma.arthurperret.fr to learn more about the software.
npm i # install dependences + build JS files
npm run watch:front # build web browser script
npm run watch:back # build NodeJs executable file
nodemon --ext css,njk,js,cjs --watch dist/ --watch static/ --exec "sh e2e/exec-modelize.sh" # make cosmoscope files for dev or E2E testing
Unit testing: make some asserts on core functions. Using Jest.
npm run test:unit -- --verbose --watchAll
npm run test:unit -- filename --verbose --watchAll
E2E testing: generate Cosma's HTML and Markdown files and make some asserts on. Using Cypress.
sh e2e/exec-modelize.sh
npm run test:e2e -- --spec "**/graph.cy.js"