graphlab-fr / cosma

Cosma is a document graph visualization tool. It modelizes interlinked Markdown files and renders them as an interactive network in a web interface.
https://cosma.arthurperret.fr
GNU General Public License v3.0
125 stars 4 forks source link

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:

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"