MarkdownBlog is a lightweight php blog software.
Its purpose is to provide a easy way to share your thoughts without any database or special setup needed.
The content of the website can be provided in easy to use markdown files (*.md)
instead of other more complicated solutions.
- Dynamic setup of your blog or website with simple configuration files but without any need of programming.
- Support for (remote) markdown and HTML files
- Easy to build navigation, including the ability to link external sites
- Different views generated with your markdown or html files:
- Single pages to show special content like 'Contact' or 'About'.
- Remote pages to show content hosted on an onther server (e.g. your favourite GitHub project).
- List of markdown files (the sample usecase of a blog)
- Grouping of topics in a dynamicly generated dropdown menue.
- Syntax highlighting for both HTML and markdown
- Build-in Gallery, including a lazy-load slider
- Dynamic image resize to minimize network traffic
- Extended support for blogs
- Search for categories
- Display content on several pages to ensure fast loading
- Mail obfuscation
- Download markdown.zip and extract the archive into your server's web folder.
- Edit your webservers
DocumentRoot
to point at the projectspublic
folder - Modify the
config/general.ini
to personalize your website/blog. A sample configuration is provided in theconfig/general.ini.sample
. - Copy your
*.md
files on the server (e.g.public/content/
and provide their location in theconfig/config.ini
. - Make sure the server has read and execution access to all linked markdown files.
- Share your thoughts and enjoy!
You should probably exclude .git and .ini files from being served by your web server.
A full example of a Apache configuration can be found in the apache.conf
in this repo.
For detailed information see the documentation.
Markdown Blog provides a Dockerfile for a easy installation.
For a test you can follow these steps:
- Download markdown.zip
- Extract it on your local hard disk and
cd
into it docker build -t YOUR_NAME/mdblog .
in the MarkdownBlog folder (where YOUR_NAME equals a distinctive string)- Switch to your website folder
docker run -v $(pwd)/:/var/www/html/public/content -v $(pwd)/.config/:/var/www/html/config -p 8080:443 YOUR_NAME/mdblog
(where $(pwd) equals the path of your website folder)- You can access your MarkdownBlog via https://localhost:8080/
Note: Debug your PHP in Docker with Intellij/PHPStorm and Xdebug see here
docker run -e XDEBUG_CONFIG="remote_host=YOUR_IP_ADDRESS" -v $(pwd)/:/var/www/html/public/content -v $(pwd)/.config/:/var/www/html/config -p 8080:443 YOUR_NAME/mdblog
(where $(pwd) equals the path of your website folder)- In Intellij/PHPStorm go to:
Languages & Frameworks > PHP > Debug > DBGp Proxy
and set the following settings:Host: YOUR_IP_ADDRESS
Port: 9000
Note: This setup is only suited for testing purposes. You Should definitely replace the self signed certificate that is generated in the docker container with a real SSL Cert.
- Your public key ("domain.pem") and the intermediate Certificates ("intermediate.pem") have to be linked into /etc/ssl/certs.
- Your private key ("domain.key") has to be linked into etc/ssl/private
Furthermore you might want to add custom CA authorities ("ca-bundle.crt") into the /etc/apache2/ssl.crt folder and export the logs /var/log/httpd.
- Parsedown
- IniParser
- prismjs
- PhotoSwipe
- Font Awesome
- HTML 5
- PHP 5.6