Overview, General Information and Guidelines
Contribution
Section titled “Contribution”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:
Project Goal
Section titled “Project Goal”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.
Contributions are welcome!
Section titled “Contributions are welcome!”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 |
What I don’t want
Section titled “What I don’t want”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
Submitting suggestions
Section titled “Submitting suggestions”If you have ideas or requests:
- Please describe specifically what you are suggesting.
- Why is it helpful?
- If possible, offer a solution or PR right away.
Writing PRs
Section titled “Writing PRs”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!
Development Setup
Section titled “Development Setup”Build backend and frontend
Section titled “Build backend and frontend”The app’s code consists of two fundamental components:
-
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.
-
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.
Contribution Guidelines
Section titled “Contribution Guidelines”Contributions are welcome! Here are the steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Check if your changes pass the tests and checks. Run
bash run-ci-manual.shto run all tests and checks. If there are any issues, please fix them before proceeding. - Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a new Pull Request into the
mainbranch. 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.~~~~
Where should I target my pull request?
Section titled “Where should I target my pull request?”Pull requests should be targeted to the main branch.
The stable branch is reserved for the latest release.
Troubleshooting
Section titled “Troubleshooting”- see FAQ Install + Run
