Skip to content
This repository was archived by the owner on May 30, 2025. It is now read-only.

podikoglou/mksite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mksite

A tiny and portable static site generator.

Philosophy

mksite follows Unix principles:

  • it takes a markdown file as input through stdin
  • it gives back the processed page as HTML through stdout

This means that you are responsible for the actual build process of the website. More commonly, a tool like GNU make or mk is responsible for running mksite. You can even use plain shell scripts.

mksite draws inspiration from saait, with the main difference being that mksite is less opinionated

Usage Example

$ cat index.md
---
title: 'mksite'
---

# `mksite`
A tiny and portable static site generator

$ cat template.html
<!doctype html>
<html lang="en">
  <head>
    <title>{{ title }}</title>
  </head>
  <body>
    {{ content }}
  </body>
</html>

$ cat index.md | mksite --template template.html
<!doctype html>
<html lang="en">
  <head>
    <title>mksite</title>
  </head>
  <body>
    <h1><pre>mksite</pre></h1>
    <p>A tiny and portable static site generator</p>
  </body>
</html>

Getting

Binaries

Statically linked Binaries are published on GitHub

Building from Source

mksite is written in C++17 and uses CMake as its build system. Here's a quick guide to helping you compile mksite from source:

git clone --recursive git@github.com:podikoglou/mksite.git
cd mksite
mkdir build
cd build
cmake ..
make -j $(nproc)

Your binary is at ./mksite

About

A tiny and portable static site generator

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages