Go to file
Jakub Sokołowski 600805bb4b feat: use two deploy branches for CI builds
This way we have two branches on GitHub that reflect the state of the
website after CI build has finished and pushed. See README.

Also adds `/build.json` to the site for easy access to build info.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-20 18:10:28 +09:00
.husky init commit 2023-11-24 18:20:07 +03:30
docs chore: update privacy policy 2024-02-19 23:27:39 +09:00
src init commit 2023-11-24 18:20:07 +03:30
static feat: update presentation kit assets 2024-01-08 20:34:19 +09:00
.env init commit 2023-11-24 18:20:07 +03:30
.gitignore init commit 2023-11-24 18:20:07 +03:30
.prettierignore init commit 2023-11-24 18:20:07 +03:30
.prettierrc init commit 2023-11-24 18:20:07 +03:30
Jenkinsfile feat: use two deploy branches for CI builds 2024-02-20 18:10:28 +09:00
README.md feat: use two deploy branches for CI builds 2024-02-20 18:10:28 +09:00
babel.config.js init commit 2023-11-24 18:20:07 +03:30
docusaurus.config.js chore: update terms and privacy policy 2024-02-02 22:25:27 +09:00
package.json chore: upgrade @acid-info/logos-docusaurus-preset 2023-12-20 15:25:17 +03:30
sidebars.js init commit 2023-11-24 18:20:07 +03:30
tsconfig.json init commit 2023-11-24 18:20:07 +03:30
yarn.lock chore: upgrade @acid-info/logos-docusaurus-preset 2023-12-20 15:25:17 +03:30

README.md

Logos Brand Guidelines

How to Run Locally

  1. Clone this repository
$ git clone https://github.com/acid-info/logos-brand-guidelines.git
  1. Install the dependencies:
$ yarn install
  1. Start the website:
$ yarn start
  1. Visit http://localhost:3000 in your browser

Configuration

Edit the docusaurus.config.js file in the repository's root directory, and update the value of the businessUnit field in presets section; below is a list of valid values:

  • Logos
  • Codex
  • Waku
  • Nimbus
  • Nomos
  • VacResearch
  • Acid.info

Example:

presets: [
  [
    '@acid-info/logos-docusaurus-preset',
    {
      businessUnit: 'Codex',
    },
  ],
],

This is typically sufficient for most cases, as the Logos plugins will automatically populate other configurations related to the specified business unit. If you encounter any errors in the information provided by Logos Plugins, please visit the Logos Docusaurus Plugins repository and open an issue.

Docs Setup

This template does not include a landing page. Please review the routeBasePath: '/' setting in the docusaurus.config.js file.

presets: [
    [
      '@acid-info/logos-docusaurus-preset',
      /** @type {import('@acid-info/logos-docusaurus-preset').PluginOptions} */
      ({
        businessUnit: 'Codex',
        theme: {
          name: 'default',
          options: {
            customCss: [require.resolve('./src/css/custom.scss')],
            docs: {
              default: {
                sidebar: {
                  hide: false,
                },
              },
            },
          },
        },
        docs: {
          routeBasePath: '/', // the index.md becomes the index page
        },
        og: {},
      }),
    ]
]

The content in docs/index.md will serve as the root page for your documentation.

For additional customization options, please refer to the Docusaurus Configuration.

Adding docs

To add a document, create a .md or mdx file within the docs directory. You can use Frontmatter to add metadata to your markdown file.

This repository extends content of the Logos Brand Guidelines by leveraging the Docusaurus Remote Content plugin. The plugin downloads the content from the remote repository into this repository. To retrieve the content, run the following command:

yarn docusaurus remote-content download

This command automatically downloads content from the remote repository, replacing the local content in the docs directory and static files located in the static directory. However, if you wish to retain specific local files, follow these steps:

  1. Open docusaurus.config.js in your project.

  2. Locate the configuration for the @acid-info/docusaurus-remote-content plugin.

  3. Add the paths of the local files you want to keep to either the keepLocal or keepStatic properties.

    • Paths in keepLocal should be relative to the docs directory at the root of this repository.
    • Paths in keepStatic should be relative to the static directory at the root of this repository.

Here are some examples using glob patterns:

  • To keep a single file: ./visual-language/logo.mdx
  • To keep an entire directory: ./visual-language/**/*

If you want to exclude specific files or directories from being copied from the remote repository, use the excludeRemote property. For instance, to exclude the ./visual-language/lsd/ directory, modify the plugin configuration as follows:

plugins: [
  [
    '@acid-info/docusaurus-remote-content',
    /** @type {import('@acid-info/docusaurus-remote-content').PluginOptions} */
    ({
      remote: {
        type: 'zip',
        url:
          'https://github.com/acid-info/guide.logos.co/archive/refs/heads/develop.zip',
        dir: 'guide.logos.co-develop',
      },
      outDir: 'docs',
      sourceDir: 'docs',
      excludeRemote: ['./visual-language/lsd/**/*']
    }),
  ],
],

Docusaurus Config

You can find instructions for adding additional documentation sections, implementing localization, and managing versioning on the Docusaurus website.

Please note that theme customization is somewhat restricted; for more detailed instructions on customizing your theme, visit the Logos Docusaurus Theme repository.

Custom CSS

By default, this template utilizes the CSS styles defined in the logos-docusaurus-plugins 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:
$ yarn build

The static files will be created in the build directory.

  1. Serve the static build:
$ yarn serve

CI/CD

The hosting is done using Caddy server with Git plugin for handling GitHub webhooks.

Information about deployed build can be also found in /build.json available on the website.

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.