

Blogging Like a Hacker - mojombo
http://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html

======
tjpick
Programmer writes own website platform. Standard.

I've often thought that history etc for cms/blog systems should be pushed off
to a proper version control system etc. I even drafted out a project spec to
implement basically the same thing as this guy. Then I put it to the very
bottom of my priority list. Emacs muse-mode + darcs FTW.

edit: not to sound like a prick - good on the author for working on a personal
project, getting something he likes working and then using it. I just don't
think it's news.

~~~
bootload
_"... good on the author for working on a personal project, getting something
he likes working and then using it. I just don't think it's news ..."_

Neat software hacks are always news. I couldn't think of a better place to
post your new bits of code.

------
raganwald
I was sorely tempted to follow the same path. But then I had an insight:
github may be a terrible blog platform, but it is _good enough_ by itself.

So far, it sucks not having full text RSS feeds and having to manually tag
posts in delicious. It's slow and some readers seem to miss the comments. But
a Tom says, you get to write in textile or markdown. And as for not having
CSS, I have convinced mself it's a benefit; I am not spending any time
tweaking page layout.

<http://tinyurl.com/homoiconic>

------
jfornear
On the topic of blogs and CMS...

Does anyone else think that Wordpress is getting too complex with all the
added features due to it being open source?

I feel like people like my dad, who would be happy with a very straightforward
and simple-to-use interface without all the added features, are turned off by
the complexity of Wordpress.

I think a very lightweight CMS that would basically be a password protected
AJAX textarea that could easily be embeded into any template would be ideal.
No back-end interface or complex editing tools.

~~~
thomasmallen
You may be looking for Drupal. The core is extremely light and you could
easily configure it to do just that. Drupal's done a great job of only adding
the most necessary features. I'd like to see them pull Book + Forum and add
CCK + Views to core, but I think that they still need to keep some obvious
out-of-the-box functionality for new users.

~~~
narag
I remember when I chose Drupal. I downloaded the code of five open source CMSs
and finally decided to use Drupal, mostly because the code was the shortest
and most legible. It has grown quite a bit since then, but I would still
recommend it.

------
callahad
You may also be interested in:

* chronicle blog compiler: <http://www.steve.org.uk/Software/chronicle/>

* ikiwiki wiki / bliki compiler: <http://ikiwiki.info/>

I find ikiwiki particularly interesting in that it coordinates with a local
vcs (git, hg, svn, etc) to handle revisions and history.

------
1gor
Another good static site generator is <http://webby.rubyforge.org>

It features support for LaTex, markdown, textile filters, autobuild,
publishing only changed pages etc. Very small and clean.

'gem install webby' is all needed to get you started.

~~~
jamesbritt
Webby rocks.

I'm all for people scratching an itch and rolling their own, but I'm curious
why Webby wasn't suitable for the task.

In fact, this:

<http://github.com/mojombo/tpw/tree/master/index.html>

looks exactly like what Webby does.

~~~
mojombo
Webby is a great system and very close to what I needed; indeed I took many
ideas from it. But webby does not help me with the blog specific parts that I
wanted to have automated. The entire point of Jekyll is to remove every last
bit of pain associated with creating, maintaining, and posting to my weblog.

~~~
jamesbritt
Webby has a blog mode, though I've not used it, but I'm guessing it wasn't
quite what you needed.

When I see people sort-of reinvent a wheel or two I wonder what the reason
was.

Out of curiosity, did you consider forking Webby, or offering to add in the
parts you wanted back to the Webby project? Is it easier to grab the ideas you
like and start fresh on your own than to try to hack on someone else's
existing code?

For myself, when I find myself writing something similar to an existing
project, it tends to be because a) I wasn't quite aware of what the other
project offered, b) (more often) the 80/80 rule kicks in: The existing code
gives me 80% of what I want, but I'll be spending 80% of my development time
trying to get the rest of what I need, and writing my own version looks to be
more efficient in the long run. This is more so if I expect to be reusing that
code for many projects, so I can readily see the motivation in creating your
own blogging software if you plan on using the hell out of it, regardless of
what existing tools do.

------
jaytee_clone
Tom, that was very inspiring.

Coincidentally, I decided to roll my own blog a week ago.

It's written in Lisp.

<http://jamrides.com/blog/s/20081114004158.html>

~~~
catch404
I enjoyed reading your blog, I especially liked the "And nothing big starts
big". quote in your about page. Intersting startup too!

------
spydez
Very nice.

It looks surprisingly close to the blog system I had stewing in my brain. But
hey... now I can just hack at your's. Only thing you're missing is comments,
but perhaps that's what HN is for...

Now I just have to learn Ruby.

~~~
mojombo
I've opted to rely on HN for discussion in lieu of comments, but you could
easily hook up disqus or another embedded commenting system. Send me a pull
request on GitHub when you've got your features hacked in!

~~~
lbrandy
I almost created the exact same thing when I started my blog. It was a source-
controlled (SVN, though) Textile powered static blogging engine.

Comments were the reason I ended up looking into wordpress and movable type. I
thought heavily about autosubmitting every post to reddit or hacker news and
using that as the discussion but that could be constituted as spam (or
offtopic). I thought about using one of the out-sourcing services like disqus
or JS-KIT. The problem (back then) was they didn't index properly on search
engines and it has really really high switching costs.

If those two issues have been solved (the search engine one might have been),
I'd consider switching to a static engine.

------
scott_s
As sites grow, re-generating and re-copying the entire site may get cumbersome
and time consuming. An obvious feature is the make-like ability to determine
what has changed since the last invocation, and only modify those files. You
can accomplish pushing newly generated sites to remote servers without undue
copying through rsync, or an approximation of it.

~~~
mojombo
Yeah, there's lots of smarts left to add to Jekyll. Only regenerating modified
posts/assets is a big one.

~~~
scott_s
It might be easier to actually _use_ make instead of reproducing its
functionality. This implies that an invocation of jekyll would produce one
static page instead of the whole site.

------
catch404
On the subject, to the people who have rolled their own similiar blogs: What
text formats are you using?

Many seem to follow the "title: \n date: \n tags: \n" type style which seems
to do the job pretty well (and can be easily parsed).

Any other formats worth investigating?

------
apgwoz
I enjoy his writing, and enjoy reading about ideas for generating sites, but
I'll use my own blog compiler, thanks.

------
brlewis
After I implemented the world's best photo-sharing site using Scheme I
discovered it was also a decent blogging platform. See my blogs here:
<http://friendfeed.com/brlewis?service=blog>

------
moonpolysoft
For the lulz: [http://github.com/cliffmoon/fake-
tpw/commit/2f5a0c888c784a9a...](http://github.com/cliffmoon/fake-
tpw/commit/2f5a0c888c784a9a6f213c38518504a03d90741a)

[http://github.com/cliffmoon/fake-
tpw/commit/df2fbc653e928624...](http://github.com/cliffmoon/fake-
tpw/commit/df2fbc653e928624fe99a4b99902b8d8b57781e7)

[http://github.com/abhay/fake-
tpw/commit/f81f8577111f6e82cdee...](http://github.com/abhay/fake-
tpw/commit/f81f8577111f6e82cdee7886b447d96277df6694)

