This project keeps all sources used for building up DolphinScheduler's official website which is served at https://dolphinscheduler.apache.org/.
DolphinScheduler website is powered by docsite. Please also make sure your node version is 10+, version lower than 10.x is not supported yet.
- Run
yarn
in the root directory to install the dependencies. - Run commands to collect resources
2.1. Run
export PROTOCOL_MODE=ssh
tells Git clone resource via SSH protocol instead of HTTPS protocol 2.2. Run./scripts/prepare_docs.sh
prepare all related resources, for more information you could see how prepare script work - Run
yarn generate
in the root directory to format and perpare the data. - Run
yarn dev
in the root directory to start a local server, you will see the website in 'http://localhost:8080'.
Note: if you clone the code in Windows, not Mac or Linux. Please read the details below.
If you execute the commands like the two steps above, you will get the exception "UnhandledPromiseRejectionWarning: Error: EPERM: operation not permitted, symlink '2.0.3' -> 'latest'".
If you get the exception "Can't resolve 'antd' in xxx",you can run `yarn add antd` and `yarn install`.
Because the two steps run command `./scripts/prepare_docs.sh` should Linux environment,so if you are a windwos system you can use WSL do it.
When meeting this problem. You can run two steps in the cmd.exe as an ADMINISTRATOR MEMBER.
- Run
yarn build
to build source code into dist directory. - Verify your change locally:
python -m SimpleHTTPServer 8000
, when your python version is 3 use :python3 -m http.server 8000
instead.
If you have higher version of node installed, you may consider nvm
to allow different versions of node
coexisting on your machine.
- Follow the instructions to install nvm
- Run
nvm install v18.12.1
to install node v18 - Run
nvm use v18.12.1
to switch the working environment to node v18
Then you are all set to run and build the website. Follow the build instruction above for the details.
- Do not use
git add .
to commit all the changes. - Just push your changed files, such as:
*.md
- blog.js or docs.js or site.js
- Send a PR to master branch.
Make sure each .md starts with the following texts:
---
title: title
keywords: keywords1,keywords2, keywords3
description: some description
---
- Add new .md file under blog/en-us or blog/zh-cn.
- Update site_config/blog.js, add a new entry to the blog in either en-us or zh-cn.
- Run docsite start locally to verify the blog can be displayed correctly.
- Send the pull request contains the .md and blog.js only.
Best Regards.
Thanks for reading :)