Render is a lightweight Node.js application designed to serve and display Markdown files with a clean, GitHub-inspired aesthetic. It features a dynamic dashboard and full-text search capabilities.
- Markdown Rendering: High-fidelity conversion of Markdown to HTML using
marked. - Syntax Highlighting: Beautiful code blocks powered by
highlight.js. - Front-Matter Support: Extract and use metadata (like titles and dates) from your Markdown files using
gray-matter. - GitHub-Style UI: Professional look and feel using
github-markdown-css. - Dynamic Dashboard: Automatically lists all pages available in the content directory.
- Server-Side Search: Quickly find pages by searching through titles, slugs, and content.
- Node.js (v14 or higher recommended)
- npm
- Clone the repository or download the source code.
- Install the dependencies:
npm install- Add Content: Place your
.mdfiles in thepages/directory. - Run the App: Start the server using Node:
node app.js- View: Open your browser and navigate to
http://localhost:9901.
To take full advantage of Render's features, you can include YAML front-matter at the top of your Markdown files:
---
title: My Project Update
date: 2026-01-20
---
# Introduction
This is an example of a rendered page.Render includes built-in scripts to help you backup and restore your Markdown content.
To create a backup of your pages/ directory:
npm run backupThis will:
- Prompt you for an optional note.
- Create a timestamped ZIP file in the
backups/directory (e.g.,backup_YYYY-MM-DDTHH-mm-ss_note.zip).
To restore your content from a previous backup:
npm run restoreThis will:
- List available backups from the
backups/directory. - Ask if you want to create a safety backup of your current content.
- Overwrite the
pages/directory with the contents of the selected backup.
app.js: The main Express server logic and rendering engine.pages/: The directory where your Markdown files are stored.package.json: Project dependencies and configuration.Dockerfile&docker-compose.yml: For containerized deployment.