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