# Codex.storage The repository for [codex.storage](https://codex.storage/) website. ## How to Run Locally 1. Clone this repository ```bash $ git clone https://github.com/acid-info/codex.storage.git ``` 2. Install the dependencies: ```bash $ yarn install ``` 3. Start the website: ```bash $ yarn start ``` 4. Visit `http://localhost:3000` in your browser ## Landing Page The code for a landing page is located in `src/pages/index.mdx`. This file employs the `mdx` format and utilizes React components from the [Logos Docusaurus Plugins](https://github.com/acid-info/logos-docusaurus-plugins/tree/main/packages/logos-docusaurus-theme/src/client/components/mdx) package. ## Adding Subpages To include subpages, create a `.md` or `mdx` file within the `about` directory. You can use [Frontmatter](https://docusaurus.io/docs/markdown-features#front-matter) to add metadata to your markdown file. The content in `about/index.md` will be utilized as the index page for the `/about` section. ## Root Pages Subpages that do not belong to the `About` page (e.g., [Terms of Use](/root-pages/terms.md)) can be situated in the `root-pages` directory. ## Docusaurus Config You can find instructions for adding additional documentation sections, implementing localization, and managing versioning on the [Docusaurus](https://docusaurus.io/docs) website. > Please note that theme customization is somewhat restricted; for more detailed instructions on customizing your theme, visit the [Logos Docusaurus Theme](https://github.com/acid-info/logos-docusaurus-plugins/tree/main/packages/logos-docusaurus-theme/) repository. ## Custom CSS By default, this template utilizes the CSS styles defined in the [logos-docusaurus-plugins](https://github.com/acid-info/logos-docusaurus-plugins/tree/main/packages/logos-docusaurus-theme/src/client/css) package. You have the option to define custom CSS in `src/css/custom.scss`. ## How to Run a Static Build (Production Build) 1. Generate static files for production: ```bash $ yarn build ``` The static files will be created in the `build` directory. 2. Serve the static build: ```bash $ yarn serve ``` ## CI/CD - [CI builds](https://ci.infra.status.im/job/website/job/codex.storage/) `master` and pushes to `deploy-master` branch, which is hosted at . - [CI builds](https://ci.infra.status.im/job/website/job/dev.codex.storage/) `develop` and pushes to `deploy-develop` branch, which is hosted at . Hosting is done on github pages. The static website is built by Jenkins, and then imported into the gh-pages branch. ## Change Process 1. Create a new working branch from `develop`: `git checkout develop; git checkout -b my-changes`. 2. Make your changes, push them to the `origin`, and open a Pull Request against the `develop` branch. 3. After approval, merge the pull request, and verify the changes on the staging server (e.g., https://dev.vac.dev). 4. When ready to promote changes to the live website, rebase the `master` branch on the staging changes: `git checkout master; git pull origin master; git rebase origin/develop; git push`.