Skip to main content

Blog Organization Guide

ยท 5 min read

Your blog is organized into three main categories to help organize content by topic and audience.

๐Ÿ“ Folder Structureโ€‹

blog/
โ”œโ”€โ”€ personal/ # Personal reflections and tutorials
โ”‚ โ”œโ”€โ”€ README.md
โ”‚ โ””โ”€โ”€ *.md (blog posts)
โ”‚
โ”œโ”€โ”€ platform-ai-en-overheid/ # AI & Government topics
โ”‚ โ”œโ”€โ”€ README.md
โ”‚ โ””โ”€โ”€ *.md (blog posts)
โ”‚
โ”œโ”€โ”€ conduction/ # Conduction projects and work
โ”‚ โ”œโ”€โ”€ README.md
โ”‚ โ””โ”€โ”€ *.md (blog posts)
โ”‚
โ””โ”€โ”€ authors.yml # Author information

๐Ÿ“ Categoriesโ€‹

1. Personal (/blog/personal/)โ€‹

Content: Personal reflections, technical tutorials, and general software development insights.

Typical Tags:

  • personal, development, tutorial
  • Language tags: javascript, php, python, typescript
  • Framework tags: react, symfony, docusaurus
  • Topic tags: tips, best-practices, project-showcase

Example Topics:

  • Technical tutorials
  • Tool comparisons
  • Development environment setups
  • Side projects
  • Learning experiences

2. Platform AI en Overheid (/blog/platform-ai-en-overheid/)โ€‹

Content: Articles about AI platforms in the government sector, digital transformation, and public sector innovation.

Typical Tags:

  • ai, government, overheid, platform-ai
  • digital-transformation, privacy, security, ethics
  • accessibility, policy, dutch-government, eu-regulations

Example Topics:

  • AI implementation in government
  • Privacy and GDPR/AVG compliance
  • Digital transformation strategies
  • Ethical AI guidelines
  • Case studies from Dutch government
  • EU AI regulations

3. Conduction (/blog/conduction/)โ€‹

Content: Updates and articles about Conduction projects, open-source initiatives, and client work.

Typical Tags:

  • conduction, opencatalogi, common-ground
  • api, api-management, opensource
  • php, symfony, architecture
  • case-study, interoperability, standards

Example Topics:

  • OpenCatalogi features and updates
  • Common Ground components
  • Client case studies
  • Technical deep-dives
  • Integration guides
  • API design patterns

โœ๏ธ Writing a New Blog Postโ€‹

1. Choose the Right Categoryโ€‹

Ask yourself:

  • Is this about my personal work or learning? โ†’ personal/
  • Is this about AI in government? โ†’ platform-ai-en-overheid/
  • Is this about Conduction projects? โ†’ conduction/

2. Create a New Fileโ€‹

File naming convention: YYYY-MM-DD-title-slug.md

Example: 2024-12-22-my-blog-post.md

3. Add Frontmatterโ€‹

---
slug: url-friendly-slug
title: Your Blog Post Title
authors: [ruben]
tags: [category-tag, topic-tag1, topic-tag2]
---

4. Write Contentโ€‹

# Your Title

Brief introduction (appears in blog list)...

<!--truncate-->

Full content goes here...

๐Ÿ“‹ Complete Exampleโ€‹

File: blog/conduction/2024-12-22-new-feature.md

---
slug: opencatalogi-search-feature
title: New Search Feature in OpenCatalogi
authors: [ruben]
tags: [conduction, opencatalogi, api, feature, search]
---

# New Search Feature in OpenCatalogi

We've just released a powerful new search feature in OpenCatalogi that makes finding APIs easier than ever!

<!--truncate-->

## What's New

The new search feature includes:

- Full-text search across API descriptions
- Advanced filtering options
- Instant results
- Search suggestions

## How to Use It

Simply type your query in the search bar...

[rest of content]

๐Ÿท๏ธ Tag Guidelinesโ€‹

Use Consistent Tagsโ€‹

Category Tags (always include one):

  • personal - For personal blog posts
  • platform-ai, government, overheid - For AI & government posts
  • conduction - For Conduction-related posts

Technology Tags:

  • javascript, typescript, php, python, react, symfony
  • api, rest, graphql
  • docker, kubernetes

Topic Tags:

  • tutorial, guide, best-practices
  • case-study, announcement, feature
  • security, performance, testing

Tag Naming Conventionsโ€‹

  • Use lowercase
  • Use hyphens for multi-word tags (digital-transformation, not digital_transformation)
  • Be specific but not too granular
  • Reuse existing tags when possible

๐Ÿ” How Docusaurus Handles Foldersโ€‹

Blog Organizationโ€‹

Docusaurus automatically:

  • โœ… Finds all .md files in subdirectories
  • โœ… Orders posts by date (from filename or frontmatter)
  • โœ… Creates tag pages automatically
  • โœ… Generates RSS feeds
  • โœ… Creates blog list pages

URL Structureโ€‹

Posts will have URLs like:

  • /blog/url-friendly-slug (from the slug field)
  • Category folders don't affect URLs (unless specified)

Date Orderingโ€‹

Posts are ordered by:

  1. date field in frontmatter (if present)
  2. Date in filename (YYYY-MM-DD-title.md)
  3. File creation date (fallback)

๐Ÿ“š Advanced Featuresโ€‹

Multiple Authorsโ€‹

---
authors: [ruben, colleague]
---

(Make sure to add them to authors.yml)

Custom Dateโ€‹

---
date: 2024-12-22T10:00
---

Draft Postsโ€‹

---
draft: true
---

(Won't be published in production builds)

Custom Descriptionโ€‹

---
description: Custom meta description for SEO
---
---
image: /img/blog/my-post-image.png
---

๐ŸŽจ Markdown Featuresโ€‹

Code Blocks with Titlesโ€‹

```php title="src/Controller/ApiController.php" class ApiController ```

Admonitionsโ€‹

:::tip[Pro Tip]
Use meaningful slugs for better SEO!
:::

:::warning[Important]
Always test locally before pushing!
:::

Imagesโ€‹

![Alt text](/img/my-image.png)

(Place images in static/img/)

[Internal doc link](/docs/intro)
[External link](https://example.com)

๐Ÿ“Š Viewing Your Blogโ€‹

Locallyโ€‹

npm start

Visit: http://localhost:3000/blog

Category Viewsโ€‹

Docusaurus doesn't create separate category pages by default, but you can filter by tags:

  • /blog/tags/personal
  • /blog/tags/platform-ai
  • /blog/tags/conduction

๐Ÿ’ก Tipsโ€‹

  1. Be Consistent - Use the same tags and structure
  2. Use README Files - Each category has a README for guidance
  3. Test Locally - Always preview with npm start
  4. Write Good Slugs - Keep them short, descriptive, SEO-friendly
  5. Tag Appropriately - 3-6 tags is usually enough
  6. Use Truncate - Always use <!--truncate--> to control preview length

๐Ÿš€ Quick Commandsโ€‹

# Start development server
npm start

# Build for production
npm run build

# View all blog posts
# Visit: http://localhost:3000/blog

# View by tag
# Visit: http://localhost:3000/blog/tags/TAG_NAME

๐Ÿ“– Further Readingโ€‹

  • See category README files for specific guidelines:

    • blog/personal/README.md
    • blog/platform-ai-en-overheid/README.md
    • blog/conduction/README.md
  • Docusaurus blog features:


Happy blogging! ๐Ÿ“