Skip to content

Overview, General Information and Guidelines

Thank you for your interest in this project! It’s a private open-source hobby project that I maintain in my free time. Therefore, there are some simple but important rules for contributions:

This project is primarily intended to remain functional, stable, and easy to understand. It is available for free, but maintenance is provided without commercial support and for a limited time.

Feel free to contribute, e.g. E.g., with:

  • Functional enhancements
  • Bug fixes
  • Documentation improvements
  • Suggestions that provide clear added value

Things that I think would benefit the project

Section titled “Things that I think would benefit the project”
Area Skills needed
Revision of the design, UI/UX of the application UI/UX design, CSS, Angular (+ Material)
Windows and MacOs build Electron, Rust, Windows and / or MacOs
Revision of the design, UI/UX of the Website UI/UX design, CSS, 11ty

Please refrain from:

  • Discussions about purely stylistic issues (e.g., branch names, commit formats) if they don’t solve functional problems
  • Criticism without concrete solutions or practical benefits
  • PRs or issues that restructure existing functionality without a clear benefit

If you have ideas or requests:

  1. Please describe specifically what you are suggesting.
  2. Why is it helpful?
  3. If possible, offer a solution or PR right away.

I value well-structured code. All code styles and best practices are automatically reviewed by various Woodpecker Actions.

Please ensure that your changes do not violate the guidelines beforehand. To do so, run the file bash run-ci-manual.sh and check that the text “all done” is displayed and that no changes have been made automatically in the Git repository.

I reserve the right to close issues or pull requests that don’t fit the project framework or that require too much maintenance without providing any benefit.

Thank you for your understanding and enjoy the project!


The app’s code consists of two fundamental components:

  1. The backend is a pure Rust project. It handles reading and writing files and the in-memory data model, ultimately renders the Markdown into HTML, and provides a unified interface for the frontend.

  2. The frontend is an Angular project that handles presentation, display, and user interaction. I tried to keep the amount of code and logic in the frontend to a minimum.

Contributions are welcome! Here are the steps to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes.
  4. Check if your changes pass the tests and checks. Run bash run-ci-manual.sh to run all tests and checks. If there are any issues, please fix them before proceeding.
  5. Commit your changes (git commit -am 'Add new feature').
  6. Push to the branch (git push origin feature-branch).
  7. Create a new Pull Request into the main branch. Here, all changes are collected, manually tested by me, and combined into a single version. To release a version, the main branch is merged into the stable branch.~~~~

Pull requests should be targeted to the main branch.

The stable branch is reserved for the latest release.