| # Apache CloudStack Official Website |
| |
| This project keeps all sources used for building up the Apache CloudStack |
| official website which is served at https://cloudstack.apache.org/. |
| |
| ## Contributing |
| |
| For contributing changes such as adding/editing blogs, please see the: |
| |
| [CONTRIBUTING.md](./CONTRIBUTING.md) |
| |
| ## Prerequisite |
| |
| Apache CloudStack website is powered by [Docusaurus 2](https://docusaurus.io/). |
| Please install Node.js v16 or later and yarn. |
| |
| ## Local Development |
| |
| Install dependencies: |
| |
| ``` |
| $ yarn install |
| ``` |
| |
| Start local app server on localhost:3000: |
| |
| ``` |
| $ yarn start |
| ``` |
| |
| This command starts a local development server and opens up a browser window. |
| Most changes are reflected live without having to restart the server. |
| |
| ## <a name="building-and-publishing">Building and Publishing</a> |
| |
| It can be useful at times to start anew: |
| |
| ``` |
| $ yarn clear |
| ``` |
| |
| To build the website run the following: |
| |
| ``` |
| $ yarn build |
| ``` |
| |
| This command generates static content into the `build` directory and can be |
| served using any static contents hosting service. We've GitHub Actions based |
| automation that can publish changes merged to 'main' branch being automatically |
| published to the 'asf-site'. see the procedure below. |
| |
| |
| ## Publishing procedure |
| |
| - create a change |
| - test your change according to [the previous chapter](#building-and-publishing) |
| - create a PR against staging |
| - merge |
| - wait for the staged-site to be updated and published |
| - check the staging site |
| - next, on your local machine |
| - pull the latest staging-site and main branches |
| - merge staging-site to main |
| - push main |
| ``` |
| git checkout staging-site |
| git pull |
| # git clean -d or similar if needed |
| git checkout main |
| git pull |
| git merge --ff-only staging-site |
| git push |
| ``` |
| - wait for asf-site to be updated and published to the main site |
| - check again |
| - go to sleep |
| |
| |
| ## Updating the who.md file |
| |
| Every time new committers or PMC members are invited to CloudStack, the parent list maintained at: https://people.apache.org/committers-by-project.html#cloudstack is updated. This can be used to automate the generation of who.md file which is used at https://cloudstack.staged.apache.org/who/ |
| |
| To generate the who.md file, follow the given steps: |
| |
| 1. Install the necessary dependencies: |
| |
| ``` |
| pip install -r requirements.txt |
| ``` |
| |
| 2. Run the `generate_who.py` script |
| |
| ``` |
| python3 source/generate_who.py |
| ``` |
| |
| NOTE: Currently, the PMC Chair's name needs to be manually updated in the script. |