Skip to main content

CROW Engineering Blog

The official engineering blog for CROW-B3, built with Astro and featuring technical content, tutorials, and insights.

Overview​

The CROW Engineering Blog (blog.crowai.dev) is a modern, content-focused blog platform built with Astro. It provides technical articles, tutorials, and insights from the CROW-B3 engineering team.

Key Features:

  • Static site generation with Astro
  • MDX support for interactive content
  • Syntax highlighting with Expressive Code
  • Mermaid diagrams integration
  • RSS feed generation
  • Sitemap generation
  • React components integration
  • Tailwind CSS v4 styling
  • Responsive design
  • Dark mode support

Tech Stack​

  • Astro 5: Static site generator
  • React 19: Component library
  • MDX: Markdown with JSX components
  • Tailwind CSS v4: Styling framework
  • Expressive Code: Syntax highlighting
  • Mermaid: Diagram generation
  • Radix UI: Accessible components
  • TypeScript: Type safety

Getting Started​

Prerequisites​

  • Node.js (recommended version)
  • Package manager (npm, pnpm, or bun)

Installation​

git clone https://github.com/CROW-B3/blog.crowai.dev.git
cd blog.crowai.dev
npm install
npm run dev

Visit http://localhost:4321 to view the blog.

Available Scripts​

  • npm run dev - Start Astro dev server
  • npm run build - Type check and build
  • npm run preview - Preview production build
  • npm run prettier - Format code with Prettier

Project Structure​

blog.crowai.dev/
├── src/
│ ├── components/ # React and Astro components
│ ├── content/ # Blog posts and articles
│ ├── layouts/ # Page layouts
│ ├── pages/ # Astro pages
│ ├── styles/ # Global styles
│ └── utils/ # Utility functions
├── public/ # Static assets
├── astro.config.mjs # Astro configuration
├── tailwind.config.js # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
└── package.json # Project dependencies

Content Management​

Writing Blog Posts​

Create new blog posts in src/content/ directory with frontmatter:

---
title: "Your Post Title"
description: "Post description"
pubDate: "2024-01-01"
author: "Author Name"
tags: ["tag1", "tag2"]
---

Your content here with full MDX support.

MDX Features​

MDX allows importing and using React components directly in markdown. Code highlighting is supported via Expressive Code, and diagrams can be created using Mermaid syntax. See the Astro MDX documentation for details.

Features​

Content Plugins​

  • Expressive Code: Advanced syntax highlighting with line numbers and collapsible sections
  • Mermaid: Diagram and chart generation
  • Rehype KaTeX: Mathematical notation support
  • Rehype External Links: Enhanced external link handling

React Integration​

React components can be integrated within Astro pages using the client:load directive.

SEO Optimization​

Built-in SEO features include sitemap generation, meta tags, Open Graph support, and structured data.

Development Workflow​

  1. Create a new MDX file in src/content/blog/
  2. Add frontmatter metadata
  3. Write your content
  4. Preview locally with npm run dev
  5. Commit and push to deploy

Pre-commit hooks ensure code quality with automated formatting and linting.

Deployment​

The blog is deployed automatically on push to the main branch.

Build for Production​

npm run build

The built site will be in the dist/ directory.

Preview Production Build​

npm run preview

Configuration​

Customize Astro in astro.config.mjs, styling in tailwind.config.js, and formatting rules are defined in package.json under the prettier key.

Resources​

Contributing​

Contributions to the blog are managed by the CROW-B3 engineering team. For questions or suggestions:

  • Check the GitHub Issues
  • Contact the engineering team
  • Follow the contribution guidelines