
Show HN: bashblog, a single Bash script to create blogs - carlesfe
http://cfenollosa.github.io/bashblog/
======
arpstick
> Everything stored in a single 700-line bash script, how cool is that?! ;)

A good rule of thumb:

If your bash script is over 100 (sane) lines it's an indication that what you
are doing is probably best not done with shell scripts.

But... to each their own.

~~~
carlesfe
I agree in that a shell script is not the best platform for a blogging engine.
However,

1\. It has literally zero dependencies (other from bash, of course) which is
kind of the goal of bashblog 2\. If you examine the code you will notice it's
clean. The engine is about 200 lines, the rest are HTML and CSS templates. 3\.
I don't agree that a shell script should be less than 100 lines, more or less.
A single function? Of course. But a whole module? I disagree. As long as the
code is clean, understandable and consistent, I don't see why not!

What I'm trying to say is that the mantra of "shell scripts should be used
only to copy files and run make" isn't correct. Shell programming _is_ a
thing, and I believe bashblog is a good example of that.

------
vezzy-fnord
See also the (in)famous werc web anti-framework written in Plan 9 rc shell:
[http://werc.cat-v.org/](http://werc.cat-v.org/)

~~~
carlesfe
werc is great, I have used it for websites and works wonderfully. bashblog is
focused on blogs, and doesn't use templates (though they can be hacked in
easily, I do so on my personal page)

------
kseistrup
Sounds like a revival of the old nanoblogger ⌘
[http://nanoblogger.sourceforge.net/](http://nanoblogger.sourceforge.net/)

~~~
carlesfe
You are right, the ideas are very similar, though the approach is quite
different.

Actually, I tried nanoblogger before writing bashblog, and I found its design
a bit old-fashioned and too configurable for my needs. It just looks like a
Movable Type clone. Ah, and it also used templates, which I didn't want.

bashblog's main feature is that you just need to download a single file, run
"./bb.sh post" and write your blogpost. That is it. Ah, it also supports
markdown.

