From fda069c42811bce1743abd27db57b5cb75279d76 Mon Sep 17 00:00:00 2001 From: Carlos Fenollosa Date: Fri, 10 Jan 2014 10:51:48 +0100 Subject: [PATCH] Update README.md --- README.md | 69 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 7f5791f..170c349 100644 --- a/README.md +++ b/README.md @@ -9,51 +9,80 @@ I created it because I wanted a very, very simple way to post entries to a blog 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. + +Features +-------- + +- Everything stored in a single 700-line bash script! Just download and start writing. +- GNU/Linux, BSD and OSX compatible out of the box (no need for GNU `coreutils` on a Mac) +- Simple creation and edition of the posts with your favorite text editor +- Support for Markdown, Disqus comments, Twitter, RSS, Feedburner, Google Analytics + + Usage ----- -You only need SSH access to a server which allows its users to run shell scripts. +You will need SSH access to a server which allows its users to run shell scripts. More advanced users could +mount a server folder via `ftpfs` and run this script locally, however, it can be quite slow. -Copy bb.sh into a public folder of yours and run it: +Copy bb.sh into a public folder of yours (for example, `public_html/blog`) 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** +**Before creating your first post, you may want to configure the blog settings (title, author name, etc). +Read the Configuration section below for more information** -To create your first post, make sure `$EDITOR` is set, and then just do: +To create your first post, just run: ./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. +Configuration +------------- + +Configuration is not required for a test drive, but if you plan on running your blog with bashblog, you will +want to change the default titles, author names, etc, to match your own. + +There are two ways to configure the blog strings: + +- Edit `bb.sh` and modify the variables in the `global_variables()` function +- Create a `.config` file with your configuration values (useful if you don't want to touch the script). You can find + the `global_variables()` function on the script + +The software will load the values in the script first, then overwrite them with the values in the `.config` file. +This means that you don't need to define all variables in the config file, only those which you need to override +from the defaults. + +Please note that bashblog uses the `$EDITOR` environment value to open the text editor. + + +Detailed features +----------------- + +- A simple but nice and readable design, with nothing but the blog posts +- **NEW on 2.0** 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. - 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 +- Save posts as drafts and resume editing later +- HTML page for each post, using its title as the URL +- Configurable number of posts on the front page +- Automatic generation of an RSS file, feedburner support +- Additional page containing an index of all posts +- Rebuild all files while keeping the original data +- Comments delegated to Twitter, with additional Disqus support +- Google Analytics code support +- Contains its own CSS so that everything is reasonably styled by default - 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