A single Bash script to create blogs. Download, run, write, done!
Find a file
Carlos Fenollosa 15d2393031 Merge pull request #19 from djura-san/upstream
added check for "diff"
2013-12-27 14:32:59 -08:00
bb.sh added check for "diff" since that tool is not part of the core utils therefore it may not be present on all machines 2013-12-24 15:12:58 +01:00
README.md Extended the Markdown support info 2013-12-23 21:01:01 +01:00

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
  • NEW Markdown support via a third-party library (e.g. Markdown.pl). Use it via ./bb.sh post -m. The third party library must support an invokation like markdown_bin in.html > out.md as the code calls it that way.
  • 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
  • By default, comments are delegated to Twitter. Can be configured for Disqus
  • Google Analytics support
  • Feedburner support
  • Auto-generated CSS support
  • Headers, footers, and in general everything that a well-structured html file needs
  • 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 more or less finished. It has been used by many people and no bugs have been found, but if you happen to find one, please report it.