Lofi

A tiny CMS that uses txti.es as a backend content store.

What is Lofi?

Lofi is a tiny CMS that lets you string together content from various txti.es and use them to make a simple website. It uses the wonderfully minimal Water.css for styling. Check out the source on GitHub.

Content and configuration

First you need to create some content. You will be creating several txti pages:

To make your life easier, I recommend setting a custom edit code when you are creating your txti and re-using it for each page. I would also recommend using custom URLs for your txties just so it's easy for you to find them.

Lofi is configured using a JSON file. You will create this file in the root of your website. It must be called lofi-data.json. Here is an example configuration file:

{
    "title": "My Site",
    "header": "mysite-header",
    "footer": "mysite-footer",
    "pages": [
        { "title": "Home", "path": "/", "txti": "mysite-home" },
        { "title": "About", "path": "/about", "txti": "mysite-about" }
    ]
}

The title will be displayed in the web browser tab and in search results. The header and footer are optional but, if included, can be set to txti URL paths, which will be used to display content at the top and bottom of every page of your site.

Installation

Head on over to the GitHub project page and download the two files, index.php and .htaccess. You should be able to drop those files in the web root on just about any PHP-enabled Apache server. You also need to put the lofi-data.json file you created in the last step in the web root. That's it, you should see your website when you visit the URL!

Features

Navigation menu - by default, Lofi will create a navigation menu made up of all your pages, listed in the order they are given in lofi-data.json. You can display the menu horizontally by setting menu to horizontal. You can hide the menu altogether by setting menu to false -- useful should you want to provide your own menu in the header.

Code snippets - txti code snippets turn special HTML characters (like ") into HTML entities. Lofi will decode these entities inside of <code> tags so that code snippets are properly displayed.