This repository contains the source for the Apache Fluss (Incubating) blog, built with Docusaurus 3.
├── blog/ # Blog content │ ├── YYYY-MM-DD-slug.md # Blog posts (Markdown/MDX) │ ├── assets/ # Post-specific images and media │ ├── releases/ # Release announcement posts │ ├── static/ # Blog-related static files (avatars) │ ├── authors.yml # Author profiles │ └── tags.yml # Tag definitions ├── static/ # Global static assets (logo, favicon) │ └── img/ ├── src/css/ # Custom CSS ├── docusaurus.config.ts # Site configuration └── package.json
# Install dependencies npm install # Start the dev server (with hot reload) npm run start
The site will be available at http://localhost:3000.
Add a new file under blog/ with the naming convention:
blog/YYYY-MM-DD-my-post-slug.md
Every post must start with YAML frontmatter:
--- slug: my-post-slug title: "My Blog Post Title" date: YYYY-MM-DD authors: [jark] tags: [apache-fluss] image: ./assets/my_post/banner.png ---
/blog/my-post-slug)blog/authors.ymlblog/tags.ymlPlace post-specific images in blog/assets/<post_name>/ and reference them with relative paths:

If you're a new author, add an entry to blog/authors.yml:
your_key: name: Your Name title: Your Title url: https://github.com/your-github image_url: /avatars/your-avatar.png
Then place your avatar image in blog/static/avatars/.
If your post uses a new tag, define it in blog/tags.yml:
my-new-tag: label: 'My New Tag'
# Production build npm run build # Preview the production build locally npm run serve
Once a blog post is merged into the main branch, a CI pipeline is automatically triggered to build and publish the latest blog content to the Apache Fluss website.