Contributing to Zeno

September 28, 2025 ยท View on GitHub

Thank you for your interest in contributing to Zeno! We welcome developers, designers, and writers to help make Zeno better.

๐Ÿ“ฆ How to Contribute

1. Fork & Clone

# Fork this repository on GitHub
# Clone your fork
git clone https://github.com/your-username/zeno.git
cd zeno

2. Install Dependencies

npm install

3. Make Your Changes

  • Bug Fixes: Check the issues labeled bug.
  • Features: Check the issues labeled enhancement or propose your own.
  • Themes: Create a new theme in themes/ folder and make it compatible.
  • Plugins: Add plugins in the plugins/ folder following the plugin hook conventions.
  • Tests: Be sure to include unit tests in *.test.js modules for your contributions.

4. Test Your Changes

# Run the test suite
npm run test

# Serve locally
npm run dev

5. Commit and Push

git add .
git commit -m "Add your descriptive message"
git push origin your-branch

6. Open a Pull Request

  • Go to your fork on GitHub and open a PR to the main repository.
  • Include a description of your changes and why they improve Zeno.

๐Ÿ›  Plugin & Theme Guidelines

  • Plugins: Follow the plugin hook interface: onMarkdownParse, onRenderHTML, onPostBuild.
  • Themes: Ensure the folder contains index.html, post.html, style.css and optionally components/.
  • Naming: Keep theme and plugin names lowercase and hyphen-separated.

๐Ÿงน Code Style

  • Use ES Modules (import/export), not CommonJS.
  • Use 2-space indentation.
  • Keep functions small and modular.
  • Document new hooks, features, or changes in README.md if relevant.

โš ๏ธ Issues & Bug Reporting

  • Create issues for any bugs or feature requests.
  • Include steps to reproduce, expected behavior, and screenshots if applicable.

๐Ÿค Be Respectful

  • Treat maintainers, contributors, and users with respect.
  • Keep discussions constructive and focused on the code or content.

Thanks for helping make Zeno an amazing, hackable Markdown blog framework!