To contribute to the project, install the following dependencies:
- Fork the repo.
- Clone your repository:
git clone https://github.com/<username>/betterwrite
-
Go to better-write-app.
-
Copy and Paste
.env.local.example
to.env.local
and set keys.
Development API keys are not available. If you want to use the API's, create a key for each item.
- Run:
yarn
yarn bootstrap
yarn dev
Check package.json to other commands.
For production build run, instead
yarn dev
usesyarn preview
.
-
Read Code of Conduct
-
Strictly follow the commit pattern provided by Conventional Commits
-
Every branch must initialize with
<conventional-commits-prefix>/*
and its PR must be directed to thedevelop
branch -
Sync our branch.
All translation files are available in packages/better-write-languages
. To contribute, just follow the same structure as the other translations.
Each plugin is a monorepo and called in packages/better-write-app/src/App.vue
. Register the events in PluginEmitterName, editor funcions here and insert functions with the following callback:
export const PluginExampleSet = (
emitter: PluginTypes.PluginEmitter,
stores: PluginTypes.PluginStores,
hooks: PluginTypes.PluginHooks
) => {
// ...
}
Initialize plugins with:
export const ExamplePlugin = (): PluginTypes.Plugin =>
createPlugin({ name: 'example' }, [PluginExampleSet])
better-write-plugin-
as necessary prefix in folder and named in package.json
ATTENTION! The plugin system is not finished yet and may undergo drastic changes in its structure.
Until this moment, it is not possible to register plugins outside the monorepo.
-
All styles must be inserted into
better-write-plugin-theme
-
Theme registration must be done by hand in the files in
better-write-plugin-theme/src
-
If you register a copyrighted theme, give due credit.