Giter Club home page Giter Club logo

shiny_blog's Introduction

Discontinued

ShinyBlog has been moved to the bloatless.org project. Check out: https://github.com/bloatless/blog

ShinyBlog

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.

Features

  • 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.

Demo

My website nekudo.com is based on this application so you can consider it a demo.

Installation

Requirements

  • 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.

Installation procedure

  1. Clone or download repository to your server.
  2. Rename /src/config.sample.php to /src/config.php.

How to use

Adjusting configuration

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

Adding contents

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.

Styling

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!

Local testing

From your shiny_blog-folder (the one containing index.php) run:

php -S localhost:8000

Point your browser to http://localhost:8000

Thanks to / Libs used

License

The MIT license

shiny_blog's People

Contributors

nekudo avatar sthesing avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.