
Letterpress — A minimal, Markdown based blogging system written in Python - an00na
http://wangling.me/2013/01/letterpress.html
======
jacques_chester
It's worth remembering that 99.999% of ordinary users will never switch to a
static generation blog system, no matter how carefully it is explained.

The problem really is that _somebody_ has to pay the piper.

I'm going to create a new rule.

    
    
        Chester's First Law:
        
        Essential complexity in the problem domain 
        is a conserved quantity.
    

Either your system absorbs and obscures it; or you push it back on the user
somehow. Even _within_ a system you can push it around to different places,
but it never goes away.

Consider: the problem domain for a blogging system is take stuff from an
author and produce HTML for readers.

Movable Type used to "build" a whole site at a time. Wordpress does it per-
view unless you use caching. Wordpress won _inter alia_ because the cost of
the complexity was pushed from the authors to the readers -- and it's authors
who pick the blogging engine.

Static site generators are like Movable Type, in that they take the essential
complexity that used to be on the readers and push it back to the author.

A more complex system would strike a balance by proactively generating new
cached output based on POSTs, not GETs. That would push both halves of the
essential complexity into the system itself, away from both authors and
readers.

At all times, the sum of essential complexity has been conserved.

~~~
callmeed
Blogger used to (maybe still does?) have an FTP option that would render a
static version of your blog and push it to your own hosting account.

Personally, that's what I'd like to see. A cms or email based blog that
generates the static files and pushes them to whatever service/host you want
(Dropbox, s3, github, FTP, SFTP, etc).

~~~
coldtea
How about some caching/proxy layer on top of Wordpress that both creates AND
serves the static versions of the pages?

~~~
callmeed
I mean, I think that's what some of the caching plugins do now , but in my
experience they require a ton a configuration (e.g. a 100+ line .htaccess
file). Plus I'm just not a fan of WP in general.

------
nikcub
There are dozens of such projects now, all of them 1 or 2% different from the
others, little differences that would be more suitable as plugins or
extensions to a defacto static generator (Jekyll).

Instead we get a mass duplication of effort into implementing essentially the
same thing, a common problem with open source projects.

What is really required is a dead-simple static generator, the equivalent to
what Wordpress and Movable Type did for the old style of blogging. A simple
app that ordinary computer users can plug their FTP or S3 details into and
then publish.

~~~
pekk
Why don't you write the dead-simple static generator. Then we can observe that
it is only 2% different from the others and throw it on the pile :)

~~~
nikcub
I tried:

<https://github.com/nikcub/floyd>

I had a bunch of friends and family members who needed simple static sites so
I generated it for them (this was before Jekyll).

I could use it myself, but I could never get them to do the updates themselves
from their own machines.

Once Jekyll and the rest came out, I switched my own use over and switched
everybody else over to Weebly, and then didn't bother continuing work on Floyd
and just let it idle (I pushed it up to GitHub).

Each time one of these projects is released I scan through them and try them
out to see if there is any new idea to pick up on.

It then occurred to me that a real innovation in this space is a lot of work
and trial+error.

For technical people, you have Jekyll, Hyde, etc. For non-technical people you
don't really have anything at the moment. I think a project with a web
interface that generates files would be interesting, or having a folder of
text files (or Word, Pages etc. documents) that are then generated and
uploaded by double-clicking on an icon.

I know there are a bunch of apps in the Mac AppStore in this space, but I
haven't tried any of them - so it is possible that this solution already
exists. I am not so in love with the idea that I would drop everything else
right now to work on it.

Edit: I realize my original comment might offend OP but I didn't intend it to
be that way, there are only so many ways you can say "work on expanding the
potential uses rather than reimplementing etc." without it sounding dickish

------
unavoidable
I wonder if the author knows that "Letterpress" is a rather popular iOS game.

~~~
pervycreeper
Does it matter?

~~~
Codhisattva
It'll matter when the blog guy wants an iOS app and has to call it "LP MAKER
PLUS" or something dumb.

------
zobzu
Major issue in the static blog:

There no comments, and if you want comments, they're not owned by you.

I read there's some local comment servers being written (ie you cleanly
separate the blog static content and the dynamic comments), but i've yet to
see a "mainstream one that just works" (tm).

~~~
roberto
I'm writing my own blog engine after Posterous' announcement. The way it works
is that I create a static site which is upload somewhere, and it also
publishes the post on Facebook and Twitter. Discussion happens there, on the
social networks, and on the next build the comments are downloaded and stored
in static files. This way when Facebook dies all the discussions will remain
on the static site -- for good or bad. :-P

------
meerita
I blog since 2000. I used almost all blogging platforms. Now I'm switching to
Jekyll from Wordpress. Most of the blogging tools, specially those with mySQL,
have an unlimited growth of features. Instead becoming limited, and scalable
with plugins they start to become slower as bigger in code to do simply
blogging. These tools derivate to website making tools, wich is really odd.

I love Jekyll. I'm designer and I didn't had too much trouble to switch from
wordpress to something local on my machine and deploy it to my own server.

Today is the first day I will be completely off from Wordpress.

------
hendry
That's not minimal. 18LOC is minimal [https://github.com/kaihendry/sg-
hackandtell/blob/master/Make...](https://github.com/kaihendry/sg-
hackandtell/blob/master/Makefile)

~~~
qznc
Use pandoc instead of markdown (the executable), then it gets even smaller. ;)

------
anthemcg
Seems like another similar system to Jekyll, et al. I don't think many heavily
technical people understand how alienating this kind of approach is to the
average user. Wordpress is popular because its understandable, installation is
done in such a way that its fairly easy and its powerful enough.

Static generation blogs may seem simple to us but to most people who want to
blog they seem ridiculously complicated.

------
homosaur
Are static site generators the new "hello world?"

~~~
camus
yeah ! , why not ? it's a cool thing to code imho.

~~~
zobzu
Good point actually. It's simple and easy too.

------
benrhughes
Funnily enough, I just wrote something similar in node[1] and one of my mates
has just written one in Go too. Great minds, or something :-)

[1]: <https://github.com/benrhughes/crashdown>

~~~
lhnn
Would you mind linking to your friend's implementation in Golang? I'm learning
the language and want to see how he did it.

~~~
benrhughes
Sure: <http://paulsamways.com/projects/upublish>

------
sfard
For those interested in a not-self-hosted option, I built <http://throwww.com>

Growing user base, very simple, markdown-based (includes video markdown),
includes RSS & Comments

<end self promotion>

------
rdl
How would you add comments to something like this, if you wanted to have
comments for some (probably idiotic and ill thought out, based on most blog
comments) reason? Would you be able to embed disqus or something?

~~~
an00na
It is easy to add Disqus. In fact, I tried using it and there are some
commented-out Disqus css in default.css. I disabled it because I really don't
need comment right now.

------
0x0
So to use dropbox for publishing, the author recommends registering two
accounts on dropbox.com. Would that carry a risk of account termination?
Sounds like an easy way to game the free space for invites bonus.

------
lucb1e
> _Comments are also just ego feeders_

I hate when I can't comment on a blog, like right now I can't remark that
comments are useful. And I can't comment that RSS is useful, and that I used
it a lot in Firefox (not anymore in Chrome now, Google Reader sucks).

~~~
an00na
Of course you can, here, and I see them:) If you want comments, it is easy to
add Disqus. RSS is something I'll consider later.

------
polm23
So is "Those who do not remember blosxom are doomed to repeat it" a cliche
yet?

------
imikay
Remind me of Alexis Sellier's awesome micro blog engine
toto(<https://github.com/cloudhead/toto>), created 3 years ago.

------
ricefield
This reminds me a lot of scriptogr.am

Both use dropbox, markdown. The difference is that scriptogram doesn't run
from your localhost and its not a static site. Still, there are a lot of
similarities

------
battlebee
Newbie programmer here. How hard would it be to add RSS to this? It could be
an interesting project to help me learn Python.

------
revgeeky
Built my own a few months back in node for publishing using git to Heroku.
Markdown flavored micro blogging is hip!

