A minimal, general-purpose Markdown-based CMS.
Find a file
2022-01-11 20:16:27 +01:00
madblog First commit 2022-01-11 20:16:27 +01:00
.gitignore First commit 2022-01-11 20:16:27 +01:00
LICENSE.txt First commit 2022-01-11 20:16:27 +01:00
MANIFEST.in First commit 2022-01-11 20:16:27 +01:00
README.md First commit 2022-01-11 20:16:27 +01:00
requirements.txt First commit 2022-01-11 20:16:27 +01:00
setup.py First commit 2022-01-11 20:16:27 +01:00

mdblog

This project provides a minimal blogging platform based on Markdown files.

Installation

$ python setup.py install

Usage

# The application will listen on port 8000 and it will
# serve the current folder
$ madness
usage: madblog [-h] [--host HOST] [--port PORT] [--debug] [path]

Serve a Markdown folder as a web blog.

The folder should have the following structure:

.
  -> markdown
    -> article-1.md
    -> article-2.md
    -> ...
  -> img [recommended]
    -> favicon.ico
    -> icon.png
    -> image-1.png
    -> image-2.png
    -> ...
  -> css [optional]
    -> custom-1.css
    -> custom-2.css
    -> ...
  -> fonts [optional]
    -> custom-1.ttf
    -> custom-1.css
    -> ...
  -> templates [optional]
    -> index.html [for a custom index template]
    -> article.html [for a custom article template]

positional arguments:
  path         Base path for the blog

options:
  -h, --help   show this help message and exit
  --host HOST  Bind host/address
  --port PORT  Bind port (default: 8000)
  --debug      Enable debug mode (default: False)

Markdown files

Articles are Markdown files stored under pages. For an article to be correctly rendered, you need to start the Markdown file with the following metadata header:

[//]: # (title: Title of the article)
[//]: # (description: Short description of the content)
[//]: # (image: /img/some-header-image.png)
[//]: # (author: Author Name <email@author.me>)
[//]: # (published: 2022-01-01)

Images

Images are stored under img. You can reference them in your articles through the following syntax:

![image description](/img/image.png)

You can also drop your favicon.ico under this folder.

LaTeX support

LaTeX support is built-in as long as you have the latex executable installed on your server.

Syntax for inline LaTeX:

And we can therefore prove that \( c^2 = a^2 + b^2 \)

Syntax for LaTeX expression on a new line:

$$
c^2 = a^2 + b^2
$$

RSS syndacation

RSS feeds for the blog are provided under the /rss URL.