A ConceptMap authoring tool powered by Emacs.
Create concept maps with Emacs. Choose a main node and connect it to other nodes with links. Each node has a local graph of connected concepts. The whole graph is shown as an image.
The graph data is saved in Elisp format and converted to graphviz dot file for visualization.
This mode is not yet uploaded to Melpa. You may clone or download to your local device and add it to load-path.
Invoke M-x and execute (cmap-mode-main), it will lead you to an empty cmap graph.
You can add a node with n key, see a graph image with v key, it requires you to save graph data before render an image.
- New graph
- Save or load graph data
- Add node or edge (inward, outward)
- Represent a local graph to navigate to or add a neighbor node/edge
- Delete a node or edge
- Draw a graph image with graphviz
C-x C-f: Open a new graph filev: Export a dot file and draw a graph image, show itn: Add a nodee: Add an (outward) edgeE: Add an (inward) edgex: Remove a node or edge at cursorr: Rename label of a node or edge at cursort: Toggle a toolbar between visible/invisiblef: Select a node as a focalTAB: Step between buttons
- [ ] Rename a node or edge label
Tests can be run using the run-tests.sh script:
# Run all tests
./run-tests.sh
# Run specific test suite
./run-tests.sh model
./run-tests.sh repr
./run-tests.sh buffer
./run-tests.sh enhanced
./run-tests.sh pureYou can run tests with code coverage reporting:
# Generate coverage reports
./run-tests.sh --coverage
# Or directly use the coverage target
./run-tests.sh coverage
# Generate coverage with HTML report
./run-tests.sh --coverage --html-report
# Or use the combined target
./run-tests.sh html-reportTo view coverage in Emacs with gutter indicators:
- Install cov-mode:
M-x package-install RET cov RET - Load the coverage viewer:
M-x load-file RET path/to/el-cmap/show-coverage.el RET - Enable coverage overlay:
M-x el-cmap-coverage-show RET
This will highlight covered lines in green, uncovered lines in red, and partially covered lines in yellow.
Generate an HTML report that can be viewed in any browser:
# If you have lcov installed
genhtml coverage/lcov.info --output-directory coverage/html
# Or from Emacs
M-x load-file RET path/to/el-cmap/show-coverage.el RET
M-x el-cmap-coverage-html RETThe HTML report will be generated in coverage/html/index.html.
View a quick summary in the terminal:
# If you have lcov installed
lcov --summary coverage/lcov.infoGitHub Actions automatically runs the test suite with coverage on every push and pull request. The coverage report is generated as an artifact that can be downloaded from the GitHub Actions workflow summary page.
