Install Guide - Apache
Apache2 can be used to host your own site, but needs a module to be enabled.
Apache2 can be used to host your own site, but needs a module to be enabled.
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.
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.
These are instructions for development work on the framework itself, and not required for normal use of the library in your own site.
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 in MarkdownMaster CMS are HTML files with just basic templating replacement features. At the current version only two dynamic tags are supported.
Steps to follow for packaging a new version of MarkdownMaster CMS.
Pagination is not enabled by default, but is available from within listing layouts.
MarkdownMaster CMS does not provide any built-in authentication, but Apache and Nginx both support basic authentication.
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.
Markdown supports inline HTML, including advanced functionality like Javascript. Some caveats must be noted when including `
The bulk of configuration required is performed within `config.js` or `config.php`.
Adds a class name to navigation elements that match the page URL.
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.
Render an author as an embedded widget, (using selectable layout template)
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.
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.
Simple icon renderer
Provide a block of content from a collection, eg: a list of blog posts or a list of authors.
Provides search input functionality that hooks into the site
Provides tag lists and tag clouds for collections.
Provide an interface for user to toggle light/dark theme.
Generate a table of contents for a page, based on the headings within the page.
Provides FontAwesome icons for your site.
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.
A powerful web analytics platform that gives you 100% data ownership.
Provide syntax highlighting for code blocks powered by Prism.JS.
Since this has been a substantial rewrite, some features will require updating, (depending on what is used on your specific site).
```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" ```
Tags and other lists in Markdown files now expect to be YAML-compatible lists
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.