bashblog/README.md

66 lines
2.8 KiB
Markdown
Raw Normal View History

2013-02-21 14:53:50 +00:00
bashblog
========
2013-02-21 16:19:29 +00:00
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.
2013-02-21 15:00:05 +00:00
2013-02-21 15:20:17 +00:00
You can read [the initial blog post](http://mmb.pcb.ub.es/~carlesfe/blog/creating-a-simple-blog-system-with-a-500-line-bash-script.html) for more information and as a demo, as my site has been 100% generated using bashblog.
2013-02-21 15:00:05 +00:00
2013-02-21 15:01:54 +00:00
Usage
-----
2013-07-08 09:32:13 +00:00
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:
2013-02-21 15:04:03 +00:00
2013-02-21 15:03:40 +00:00
./bb.sh
2013-02-21 15:01:54 +00:00
2013-07-08 09:32:13 +00:00
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`
2013-02-21 15:01:54 +00:00
2013-06-05 10:38:49 +00:00
**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**
2013-02-21 15:37:55 +00:00
To create your first post, make sure `$EDITOR` is set, and then just do:
2013-02-21 15:10:02 +00:00
./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
--------
2013-02-21 15:00:05 +00:00
- Simple creation and edition of the posts with your favorite text editor
2013-12-23 20:01:01 +00:00
- **NEW** Markdown support via a third-party library (e.g.
[Markdown.pl](http://daringfireball.net/projects/markdown/)). 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.
2013-02-21 15:10:02 +00:00
- Post preview
- Save posts as drafts and resume later
2013-02-21 15:00:05 +00:00
- 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
2013-12-23 20:01:01 +00:00
- By default, comments are delegated to Twitter. Can be configured for Disqus
2013-02-21 15:00:05 +00:00
- Google Analytics support
- Feedburner support
- Auto-generated CSS support
2013-12-23 20:01:01 +00:00
- Headers, footers, and in general everything that a well-structured html file needs
2013-02-21 15:00:05 +00:00
- xhtml validation, CSS validation, RSS validation by the w3c
2013-02-21 15:10:25 +00:00
- Backup of the site every time you post
2013-02-21 15:00:05 +00:00
- 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
2013-07-30 13:09:27 +00:00
Future ideas
------------
2013-12-23 20:01:01 +00:00
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.