Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 1.8 KB

README.md

File metadata and controls

50 lines (35 loc) · 1.8 KB

Cosma DOI

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.

Install

npm i # install dependences + build JS files

Development

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

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"