MarkoPress

A modern static site generator built on Marko.js v6


# Welcome to MarkoPress

A general-purpose static site generator that combines the simplicity of Markdown with the power of Marko.js v6 components. Designed as a drop-in alternative to VitePress and Docusaurus.

# ✨ Highlights

TIP

MarkoPress now features a composable plugin architecture with enhanceModules hooks. Build powerful features by combining plugins!

# 🎯 Key Features

# Plugin System

Extend your site with composable plugins:

PluginDescriptionStatus
Blog IndexAuto-generates blog listing pages
SidenavAuto-generates sidebar from docs structure
TOCTable of contents from headers
SearchFull-text search capability🚧 Coming Soon
RSS FeedsFeed generation for blogs🚧 Coming Soon

# Content Modules

Organize content into logical modules:

  • Pages - Home, About, Contact, etc.
  • Docs - Documentation with auto-generated navigation
  • Blog - Posts with date-based sorting and indexes

# Modern Features

  • Markdown + Frontmatter - Write content in Markdown with YAML metadata
  • File-based Routing - Auto-generate routes from content structure
  • Syntax Highlighting - Beautiful code blocks with Shiki
  • Custom Containers - Tips, warnings, danger alerts
  • Theme System - Slot-based component overrides
  • Design Tokens - CSS variables for easy theming

# 🚀 Quick Start

# Create a new site
npm init markopress my-site

# Write content
echo '---
title: My First Post
---
# Hello World!' > content/pages/hello.md

# Start development server
npm run dev

# 📖 Explore

Check out our documentation and examples:

# 🎨 Theming

Customize every aspect of your site:

// markopress.config.js
export default {
  theme: {
    options: {
      sidebar: '/guides/**',
      navbar: [
        { text: 'Home', link: '/' },
        { text: 'Guides', link: '/guides/getting-started' },
        { text: 'Blog', link: '/blog' },
      ]
    }
  }
}

Built with Marko.js v6 • Static Site Generation • Plugin Architecture