MarkdownMaster CMS Logo

Listing of docs

Listing of docs

Install Guide - Mail-in-a-box + Nextcloud

Mail-in-a-Box ships with Nextcloud and Nginx and can be modified to support hosting full sites directly from the Nextcloud shares. This allows direct access to the markdown files of the site on your local workstation and immediate and seamless deployment of changes thanks to Nextcloud.

Authoring Pages and Markdown Reference

Since all pages in MarkdownMaster CMS are simply plain text markdown files, writing content is as easy as writing a text file. In addition to all the basic syntaxes available in Markdown, there are a number of additional format options provided to simplify web authoring.

Development & Contributing Guide

These are instructions for development work on the framework itself, and not required for normal use of the library in your own site.

CMS Document-level Events

For extendability, several events are dispatched at the document level of the page. This allows custom script to tie into events regardless of where they are defined.

Layouts & Templates

Layouts in MarkdownMaster CMS are HTML files with just basic templating replacement features. At the current version only two dynamic tags are supported.

Listing Pagination

Pagination is not enabled by default, but is available from within listing layouts.

Restricting Access to site

MarkdownMaster CMS does not provide any built-in authentication, but Apache and Nginx both support basic authentication.

RSS Feed for Content

RSS 2.0 feed support is available as of MarkdownMaster CMS 5.0.3 for all content types and links in the default blog and wiki themes have been added.

Scripts within Markdown

Markdown supports inline HTML, including advanced functionality like Javascript. Some caveats must be noted when including `

Site Configuration

The bulk of configuration required is performed within `config.js` or `config.php`.

Extra - Background Slider

Render child elements with the `.item` class inside the container as slider components. Works by cycling through the children of the element, marking as `.active` one at a time.

Extra - CMS-Author

Render an author as an embedded widget, (using selectable layout template)

CMS Button Tag

Tag to assist with rendering a fancy button on the page. Has no inherit functionality other than adding a class `button` and support for an embedded icon using FontAwesome.

Extra - CMS-Form

The recommended method to load this functionality is from within the server-side `config.php`, as this will define both backend functionality and frontend configuration.

Extra - CMS-Pagelist

Provide a block of content from a collection, eg: a list of blog posts or a list of authors.

Extra - CMS-TOC

Generate a table of contents for a page, based on the headings within the page.

Fslightbox-basic

A vanilla JavaScript plug-in without production dependencies for displaying images, videos, or, through custom sources, anything you want in a clean overlying box. The project's website: https://fslightbox.com.

Upgrade from 2.x to 3.0

Since this has been a substantial rewrite, some features will require updating, (depending on what is used on your specific site).

Upgrade from 3.0 to 3.1

```bash apt install fcgiwrap python3 python3-venv python3 -m venv /opt/markdownmaster /opt/markdownmaster/bin/pip3 install Markdown beautifulsoup4 python-frontmatter lxml chmod +x "$/cgi-bin/crawler.py" chmod +x "$/cgi-bin/sitemap.py" chmod +x "$/cgi-bin/meta.py" ```

Upgrade 4.0 to 5.0

New backend requires a new .htaccess to be installed. This is a notable change as the backend processor changed from Python to PHP to better support multi-tenant environments.