Contributing to MarkFlowy

Welcome, and thank you for your interest in contributing to MarkFlowy!

How to Contribute Code

Prerequisites

In order to download necessary tools, clone the repository, and install dependencies via yarn, you need network access.

You'll need the following tools:

Table of Contents

Contribute multilingual translations steps

For some users who don't want to go through the complicated project startup steps and just want to participate in the translation work, you can check the following steps.

Fork

Fork MarkFlowy and git clone

Translation file

Add a new language

In order to facilitate everyone's participation, the translation file path is placed in locales in the project root directory. If you want to add a new language, you can directly refer to the en.json file for translation.

Modify an existing language

Modifying the existing language may not be particularly easy to find the corresponding key. If you do not find it in the locales file, you can mention the issue, and I will help you find the corresponding place to modify.

Development work steps

Fork

Fork MarkFlowy and git clone

Dependency installation

Execute the following command to install related dependencies.

yarn install --immutable

cargo install --locked --path apps/desktop/src-tauri

Startup MarkFlowy

Note: that before the first startup, it is necessary to execute yarn build to compile the packages for the workspace.

Execute the following command, you will start MarkFlowy.

yarn dev:desktop

How to Submit Themes to the Theme Store

MarkFlowy has a built-in theme store feature where users can browse, download, and install community-created themes. If you want to submit your own theme to the theme store for other users, please refer to the "Sharing Your Theme" section in the Custom Theme Documentation, which details the complete process for theme creation and submission to the theme store.

Thank You!

Your contributions to open source, large or small, make the project better. Thank you for taking the time to contribute.