Skip to content

Using the MkDocs Blog Plugin

Walkthtough

This guide will walk you through setting up the MkDocs Blog Plugin and publishing your first blog post.

Step 1: Install the MkDocs Blog Plugin

  1. Install the plugin using pip:

    pip install mkdocs-blog-plugin
    
  2. Add the plugin to your mkdocs.yml configuration file:

    - blog
    

Step 2: Configure the Blog Plugin

Update your mkdocs.yml to configure the blog plugin. Here’s an example configuration:

  - blog:
      # Optional: Specify the directory for blog posts (default is "blog")
      blog_dir: blog
      # Optional: Enable pagination
      pagination: true
      # Optional: Number of posts per page
      posts_per_page: 5
      # Optional: Enable tags
      tags: true
      # Optional: Enable categories
      categories: true

Step 3: Create a Blog Post

  1. Create a directory for your blog posts (e.g., docs/blog).

  2. Add your first blog post as a Markdown file in the blog directory. For example, create docs/blog/my-first-post.md

    ---
    title: My First Blog Post
    date: 2023-10-01
    author: Your Name
    tags:
      - MkDocs
      - Blog
    categories:
      - Tutorials
    ---
    
    # My First Blog Post
    
    Welcome to my first blog post using the MkDocs Blog Plugin!
    
    ## Introduction
    
    This is an example of how to create and publish a blog post with MkDocs.
    
    ## Features
    
    - Easy to set up
    - Markdown-based
    - Supports tags and categories
    
    ## Conclusion
    
    I hope you found this guide helpful. Stay tuned for more posts!
    

    • The title, date, author, tags, and categories fields are metadata for the blog post.
    • The content below the --- is the body of the blog post.

Step 4: Update Navigation

Add a link to your blog in the navigation section of mkdocs.yml:

nav:
  - Home: index.md
  - Blog: blog/

Step 5: Serve and Verify

  1. Serve your MkDocs site:

    mkdocs serve
    
  2. Open your browser and navigate to http://127.0.0.1:8000/blog/.

  3. Verify that your blog post appears on the blog page.

Step 6:Customize the Blog Layout (Optional)

You can customize the blog layout by adding custom CSS or overriding the plugin's templates.

  1. Create a custom.css file (e.g., docs/styles/custom.css) and add your styles.

  2. Link the CSS file in mkdocs.yml:

    extra_css:
      - styles/custom.css
    

Step 7:Deploy Your Blog

Once you're satisfied with your blog, deploy it to a hosting platform like GitHub Pages, Netlify, or Read the Docs.

Deploy to GitHub Pages

  1. Install mkdocs and mkdocs-material (if not already installed):

    pip install mkdocs mkdocs-material
    
  2. Build the site:

    mkdocs build
    
  3. Deploy to GitHub Pages:

    mkdocs gh-deploy