Back to Projects
Content Management

Markdown-based CMS .

Vue.js Node.js Git
Markdown-based CMS

Concept

A CMS where content is stored as Markdown files in a Git repository. Editors get a WYSIWYG interface, while developers maintain full control via Git.

Why Markdown + Git?

  • Version Control: Every change is tracked with full history
  • Collaboration: Built-in merge conflict resolution
  • Portability: Content isn't locked in a database
  • Developer-Friendly: Easy to migrate, backup, and script

Features

Visual Editor

  • Split-pane editor with live preview
  • Drag-and-drop image uploads
  • Code syntax highlighting
  • Keyboard shortcuts for formatting

Git Integration

const simpleGit = require('simple-git');
const git = simpleGit('/content');

async function savePost(filename, content) {
    await fs.writeFile(`/content/${filename}`, content);
    await git.add(filename);
    await git.commit(`Update ${filename}`);
    await git.push();
}

Tech Stack

  • Frontend: Vue 3 with Composition API
  • Editor: ProseMirror for rich text editing
  • Backend: Express.js with simple-git
  • Deployment: Auto-deploy via webhooks to Netlify

Use Cases

  • Documentation Sites: Technical docs with version control
  • Blogs: Simple publishing workflow
  • Knowledge Bases: Team wikis with Git backing