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
DocumentRootto point at the projects
- Modify the
config/general.inito personalize your website/blog. A sample configuration is provided in the
- Copy your
*.mdfiles on the server (e.g.
public/content/and provide their location in the
- 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
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 Proxyand set the following settings:
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.