This repository contains the source files for the Apache Geode project website.
The project website also contains the documentation for the Apache Geode project, as well as the Apache Geode community blog.
The project website is built with Docusaurus.
>= 18.0pnpmInstall dependencies:
pnpm install
Start a local development server with live reload at http://localhost:3000/:
pnpm start
Generate static production assets and preview the build locally:
pnpm build
pnpm serve
Instructions for maintaining various components of the Apache Geode project website.
Source code for the Apache Geode project website is stored in the src folder.
Elements of the home page are stored in src/components/Homepage Features and src/pages. These pages are written in TypeScript.
Subpages are stored in src/pages. These pages are written in Markdown.
Page styles are stored as CSS files that reside in the same folders as the pages they style.
Apache Geode project documentation is stored as Markdown files in the docs folder.
To edit project documentation:
The project documentation is split into 3 distinct Docusaurus docs plugins/instances:
| Document | Plugin ID | Source Directory | Version Command |
|---|---|---|---|
| Apache Geode | default | docs/geode | pnpm docusaurus docs:version <version> |
| Geode Native C++ | geode_native_cpp | docs/geode_native_cpp | pnpm docusaurus docs:version:geode_native_cpp <version> |
| Geode Native .NET | geode_native_dotnet | docs/geode_native_dotnet | pnpm docusaurus docs:version:geode_native_dotnet <version> |
To cut a new version for any of the 3 documents:
Run the versioning command for the target document:
pnpm docusaurus docs:version <version>(or
pnpm docusaurus docs:version:default <version>)pnpm docusaurus docs:version:geode_native_cpp <version>
pnpm docusaurus docs:version:geode_native_dotnet <version>
This snapshots the current source directory and sidebar into versioned files:
versioned_docs/version-<version>/, versioned_sidebars/version-<version>-sidebars.json, and updates versions.json.geode_native_cpp_versioned_docs/version-<version>/, geode_native_cpp_versioned_sidebars/version-<version>-sidebars.json, and updates geode_native_cpp_versions.json.geode_native_dotnet_versioned_docs/version-<version>/, geode_native_dotnet_versioned_sidebars/version-<version>-sidebars.json, and updates geode_native_dotnet_versions.json.Add documentation variables for the new version in config/doc-vars/:
config/doc-vars/geode.ts for Apache Geodeconfig/doc-vars/cpp.ts for Geode Native C++config/doc-vars/dotnet.ts for Geode Native .NETAdd a new configuration block matching the version string (e.g. '1.15') containing version-specific tokens such as product_version, min_java_version, etc.
Configure version metadata in docusaurus.config.ts (optional): Customize the version's label, banner, or behavior under the versions property of the corresponding docs plugin in docusaurus.config.ts:
versions: { current: { label: 'Apache Geode (Next)', }, '<version>': { label: 'Apache Geode <version>', banner: 'none', }, }
Editing versioned content:
docs/<document_folder>/.versioned_docs/version-<version>/, geode_native_cpp_versioned_docs/version-<version>/, or geode_native_dotnet_versioned_docs/version-<version>/).Posts on the Apache Geode project blog are stored as Markdown files in the blog folder.
To add a new blog post:
blog folder. The filename should follow the convention YYYY-MM-DD-title-slug.md.authors.yml.This project is licensed under the Apache License 2.0. See NOTICE for additional details.