2017 © Pedro Peláez
 

project skimpy

File based PHP blog

image

jtallant/skimpy

File based PHP blog

  • Thursday, May 26, 2016
  • by jtallant
  • Repository
  • 2 Watchers
  • 0 Stars
  • 9 Installations
  • HTML
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Skimpy

Code Climate, (*1)

Skimpy is a file based blog that doesn't require any generating., (*2)

It's mainly built for developers. I built it because I want a simple file based blog that doesn't require any generating., (*3)

Why you might like it (or not like it)

  • Creating a post is as simple as creating a new file
  • It supports categories and tags
  • It has no database
  • It doesn't require any generating
  • It's fast
  • It has zero default styling
  • It's built with Silex

Status of Project

I haven't tagged a release because I'm not even considering it alpha yet. But it does work and you can use it now if you want. I will tag a release when the docs are complete., (*4)

Installation & Setup

Install through composer or by downloading the zip and running composer update., (*5)

  1. composer create-project jtallant/skimpy -s dev
  2. cd into the project
  3. run php -S localhost:4000 -t web/
  4. Visit url http://localhost:4000

Creating a blog post

  1. You simply create a new file inside content/somedir/ and give it the required metadata

Some conventions you should be aware of: * The name of the file is the slug of the blog post/page (the uri). * The name of "somedir" in content/somedir/your-blog-post.md determines which twig template to use. In this case, templates/somedir.twig would be used as the template if it exists, else templates/default.twig would be used. * There is no difference between a post and a page other than they use different templates. * The name of a taxonomy file determines its slug and template. categories.yaml, uri => categories, template => categories.twig. * If a taxonomy has no template, it will not have an archive (listing of term names). /categories (404). /categories/tag-name is still public (200 OK). * Metadata "date" defaults to filemtime if not specified. * Metadata "title" defaults to titleized filename if not specified. * The metadata "date" value must be quoted. * You can name a content file index.md to use the parent dir as the content file slug. This would be useful in a scenario such as content/our-team/index.md where index.md would be an archive of team members and the uri would be /our-team. You could have our-team/jon.md, our-team/jane.md, and our-team/index.md. * The metadata must be valid YAML. * Every content file must include a metadata separator even if there is no metadata. * The metadata separator must be exactly 3 hyphens., (*6)

NOTE

  • URIs according to W3C are case sensitive. This means that you will get a 404 if the casing is incorrect for some uri. You can use mod_rewrite to 301 redirect any URIs containing uppercase characters to all lowercase characters.

BETA

  • Placeholder content explains skimpy usage.
  • Contact Form
  • Travis CI
  • Documentation

LATER

  • Built in JSON API
  • Contact form (service provider)

The Versions

26/05 2016

dev-master

9999999-dev http://github.com/jtallant/skimpy

File based PHP blog

  Sources   Download

MIT

The Requires

 

blog skimpy flat file

08/03 2016

dev-remove-taxonomy-key

dev-remove-taxonomy-key http://github.com/jtallant/skimpy

File based PHP blog

  Sources   Download

MIT

The Requires

 

blog skimpy flat file

22/01 2016

dev-mapping

dev-mapping http://github.com/jtallant/skimpy

File based PHP blog

  Sources   Download

dbad

The Requires

 

blog skimpy flat file

08/01 2015

dev-content-type-files

dev-content-type-files http://github.com/jtallant/skimpy

File based PHP blog

  Sources   Download

dbad

The Requires

 

blog skimpy flat file