ShinyBlog has been moved to the bloatless.org project. Check out: https://github.com/bloatless/blog
A simple, lightweight and easy to use Blog/CMS application.
ShinyBlog is a very simple and easy to understand Blog/CMS solution. Create new blog-articles by just uploading a markdown file to your server. No overhead. This project was build with simplicity in mind. I tried to use as little dependencies as possible and keep the code as clean as possible to build a lightweight alternative to all the bloatware out there.
- Markdown based: Article and page contents can be written using markdown or markdown-extra syntax.
- Theme support: Create your own theme to adjust the layout of your website.
- Category support: Blog articles can be sorted into various categories.
- RSS feeds: Separate RSS feeds for all articles and article-categories are available.
- Pagination: Set how many articles you want to show per page.
- Basic SEO support: Title-Tags,Meta-Description, and index/follow stuff can be adjusted via config-file.
- XML sitemap: Sitemap of all articles and pages is automatically generated.
- Excerpts: Using a read-more tag in your articles you can define the excerpt to appear on the blog-page.
- Clean Code: Well documented, PSR-0 and PSR-2 compatible PHP code.
My website nekudo.com is based on this application so you can consider it a demo.
- PHP >= 7.0
- PHP Modules DOM, SimpleXML, XML and MBSTRING
On Debian e.g. installing php7.0 php7.0-xml php7.0-mbstring
should suffice.
- Clone or download repository to your server.
- Rename
/src/config.sample.php
to/src/config.php
.
The first step you should do after installation is to adjust the config file. This file holds all information about urls, meta-tags e.g. and should be adjusted to your requirements.
The configuration file can be found in: /src/config.php
To add new contents you just need to place a new markdown file into the /contents/articles
or
/contents/pages
pages folder. New articles will automatically show up in the blog. New pages also need a new
route to be defined in the config file.
Every content file needs a meta-block and a content-block separated by the followin code:
::METAEND::
An article e.g. look like this:
{
"title":"Hello World!",
"metaTitle": "Hello World!",
"description": "Hello Word. A ShinyBlog dummy blog article.",
"date" : "2016-01-23",
"slug" : "hello-world",
"author" : "Simon",
"categories":"News"
}
::METAEND::
Sit by the fire. Wake up human for food at 4am chase dog then...
Please see the dummy markdown files for a more detailed example.
All the layout is done by the theme. Themes live in the /themes
folder.
The best practice to adjust the stying is to copy the kiss theme into your own folder and than adjust it to whatever you like. Don't forget to set the config to use you newly created theme!
From your shiny_blog
-folder (the one containing index.php
) run:
php -S localhost:8000
Point your browser to http://localhost:8000
The MIT license