rog is designed to be a small, simple and with no server requirements blogging app.
One of the sources of ispiration is rote, the tool used to generate this documents, that is the base of the rog too.
As rote we don’t want to depends on any server side scripting engine, we wants to generate static pages that we can upload on a web server, the only server side feature necessary must be a webserver.
So rog is a tool for people that don’t have or don’t want to use server side blog application, that mean: very geek people.
Someone can say:
hey, hobix do the same!!! why yet another static ruby blog engine?
The answer is simpler than the question:
i don't like it... or better... it don't work as i want :-)
I wants to reuse as much rote features as possible, reimplementing or extending only the necessary features.For reimplement or extend such features in another software we can use 2 strategies:
If such functionalities are too far from the object of the original software the second strategy isn’t VER:praticable and i don’t wants to fork rote:
forking is an extreme strategy to modify software features and we have to try to avoid it.
But Ruby is very helpful on this:
I can use the open classes feature of the Ruby language to extend or modify the functionalities of other libraries or applications.
rote do this with rake, and a lot of other Ruby libraries and application did it too.
So I do the same and extend rake and rote to implement a static blog engine on their features.
rog include all the layout and formatting features of rote, and implement a rake task to export blog maintenance tasks to the user (very geek user :-P).All we need to implement are the auto-generated stuffs and the dependency of pages:
So we need to regerate all the archives on every post’s modify and every page on modify on the file configuration.
Now one can say:
Hey, all this regeneration are too heavy, isn't it?
My answer is:
Such kind of blogs (static) use to be small in my own opinion, and we can move too old posts and keep the generated archive for historic reason.
We can do this periodically (and yes… we can automatize it… one day :-))) to avoid to regenerate too old posts)
If you don’t like to regenerate pages use one of the wonderful server side blog engines.