bazinga
This blog was created by my own simple blog-software called bazinga.
I created this software because most common products didn't fit my needs. I needed something simple and straightforward. Most important, I wanted something fast and commandline-driven. After looking at nanoblogger I figured out, that it missed some features I really needed. Long story short: That's when I started to write bazinga.
bazinga nearly covers all the features of nanoblogger but is maybe a little bit faster. Here is a short feature list:
- automatically generated rss-feed for your articles
- history and reset function for version control of your blog (powered by git)
- automatic conversion of LaTeX formulae to images which then are inserted
- automatic conversion of gnuplot functions to images which then are inserted
- push function to update your remote blog via FTP
- exporting specific articles or pages
- completely command-line driven, you never have to leave your terminal
- (quite) intuitive usage (bzg add, bzg delete, bzg update, ...)
- page output in search-engine friendly page structure
- central configuration (bazinga.conf)
- easy backup (just copy bazinga.dat anywhere you want)
- ...
Maybe there are even more features I can't think about now, but that should basically cover it's features.
You can pull a copy from my github repository if you want.
Just clone the repository like this:
$ git clone git://github.com/ap0calypse/bazinga.git
For all the ArchLinux users out there I provided a AUR package for bazinga. It's my first package, so please forgive me if there are any mistakes. I installed it myself via clyde and it works fine. Please tell me if there is something wrong. I assume that you are using clyde in my example, but please adjust the command to your needs.
$ sudo clyde -S bazinga-git
If there are any problems, just drop me a line.
Installation
bazinga comes with some template files. If you cloned the github-repository, you should see the examples/ directory where all the needed files can be found.
Step 1 - create the bazinga directory
$ cd ~; mkdir .bazinga
Step 2 - copy the files into bazinga directory
$ cp examples/example-config ~/.bazinga/bazinga.conf $ cp examples/index.template ~/.bazinga/ $ cp examples/style-dark.css ~/.bazinga/style.css
Step 3 - edit the config
Please be sure to enter all the params needed. Otherwise there could be problems.
Usage scenarios
Example 1: "I want to add a page to my new blog, how do I do this?"
# let´s generate an empty page first $ bzg generate page > ~/my_new_page.txt # now you edit the page with your favorite text editor (which is vim ... right? ;) ) ... # after editing you can check if the page is correct $ bzg check ~/my_new_page.txt >> Content file seems to be correct. # looks good, so now let´s add it $ bzg add ~/my_new_page.txt >> Content file seems to be correct. >> Added ´3c1cf2bf86d07b2d´ to pages. # great, now you have created a page, but where is it? You have to update the structure first. $ bzg update >> Updating local bazinga directory. >> Update complete. # perfect, now we have the complete structure in the directory you specified in the config. # if you want to, (and entered the needed values in the config) you can now push to your remote ftp # site. $ bzg push >> Pushing to: blablabla.org into directory / Please enter your password (won´t be echoed): >> Push done! # that´s it! look at your work and be proud :P
Example 2: "I want to replace a page/article with something else. Is that possible?"
Foshizzle! There are some ways to get this done.
# let´s find out which article you want to replace $ bzg list Articles: * * * * * * * * * * * * * * * * * * * * 8bb9b13a9ad7dd48 (My first article with bazinga) from: ap0calypse - 2011-10-09 21:05 Pages: * * * * * * * * * * * * * * * * * * * * 0ed53b943881092c (about me) from: ap0calypse - 2011-10-09 20:55 14286d87c44c6a45 (bazinga) from: ap0calypse - 2011-10-09 20:56 bc6e3982a507c766 (links and friends) from: ap0calypse - 2011-10-16 22:36 # that´s the output I get. I guess yours will differ ;) # now, we want to replace the links page for example. I assume you # already have the page ready, otherwise you can just export the # old links-page and re-edit it. $ bzg replace bc6 my_new_links.txt # after that, you should get a message, that the old one was deleted and # a new one was added. don´t panic, that´s fine. # now we can update and push again $ bzg update