bashblog/README.md

2.8 KiB

bashblog

A Bash script that handles blog posting.

Some would say it's a CMS, but I don't like that word. It's just a script that lets you write a blog post with your favorite editor, puts all the posts together into an index, and creates an RSS file and a list of posts.

I created it because I wanted a very, very simple way to post entries to a blog by using a public folder on my server, without any special requirements and dependencies.

You can read the initial blog post for more information and as a demo, as my site has been 100% generated using bashblog.

Usage

You only need SSH access to a server which allows its users to run shell scripts.

Copy bb.sh into a public folder of yours and run it:

./bb.sh

This will show the available commands. If the file is not executable, you can either chmod +x bb.sh or run it with bash bb.sh

Before creating a blog post, edit bb.sh and modify the variables in the global_variables() function or create a .config file with your configutation values

To create your first post, make sure $EDITOR is set, and then just do:

./bb.sh post

When you're done, access the public URL for that folder and you should see the index file and a new page for that post!

Features

  • Simple creation and edition of the posts with your favorite text editor
  • Post preview
  • Save posts as drafts and resume later
  • Transformation of every post to its own html page, using the title as the URL
  • Generation of an index.html file with the latest 10 posts
  • Generation of an RSS file! Blog's magic is the RSS file, isn't it...?
  • Generation of a page with all posts, to solve the index.html pagination problem
  • Rebuilding the index files without the need to create a new entry
  • Optional comments, using the Disqus platform
  • Google Analytics support
  • Feedburner support
  • Auto-generated CSS support
  • Headers, footers, and in general everything that a well-structured html file has
  • xhtml validation, CSS validation, RSS validation by the w3c
  • Backup of the site every time you post
  • Everything contained in a single 700-line bash script!
  • A simple but nice and readable design, with nothing but the blog posts

Read the CHANGELOG section of the script header for more updates

Future ideas

This software is still maintained, however, it can be considered finished. It has been used by many people and no bugs have been found.

In the issues tab you can find some improvements; the main one is the addition of Markdown support for posts. This requires a Markdown parser, which would add more dependencies and/or increase the code length.

If you happen to find a concise, elegant Markdown to HTML parser which runs in Bash and is portable, please comment on issue #14