Hacker News new | comments | show | ask | jobs | submit login
How I built my blog in one day (github.com)
129 points by erjjones 2022 days ago | hide | past | web | 62 comments | favorite

The problem with these "I made this X in 5 minutes" announcements is that frequently, it looks like you made it in five minutes (and I don't mean that in a good way). This phrasing " I did X in Y time" is obviously meant to highlight one's skill and speed, but if the product looks crappy, the forest is missed for the trees.

I think this is a neat collection of frontend tools to make your Jekyll (or other static) blog snazzy. It's a good article in that respect: "Here are all the tools you need for a full featured Jekyll blog." But making the point of it being a "fast setup", as someone else pointed out, is a weak point, since wordpress and others are just as fast or faster.

"This phrasing 'I did X in Y time' is obviously meant to highlight one's skill and speed, ..."

Nope. It can also mean "Look how easy it is to get started". That was my interpretation.

What am I missing here? WordPress lets you build a blog in 5 minutes.

I'm a GitHub guy so I wanted to use my username GitHub page.

Thanks for the feedback. I should have focused more on how open source allows us to now create and publish these types of applications more efficiently.

Why not build something more useful than a blog then? Reinventing the wheel seems like a poor use of time.

I have lots of ideas, sometimes you just have to start somewhere. Since I hadn't made GitHub user page that is just where I choose to start. Thanks for your feedback.

Sure thing. You seem like a very enthusiastic and detail oriented guy - I'm sure you'll create something cool for us to check out soon.

Thanks. That is the plan.

For those using octopress, here is a way to customize your blog so that it will stand out more and address the five minute easy set up problem. This will add like, 2 minutes, tops, to the minimum set up time, but it will be fairly unique. http://zacharymaril.com/blog/2012/02/24/please-please-octopr...

Yah my first reaction after reading his post was hmm... watch me make a WordPress blog in 30 seconds. There are so many tools and templates and bootstraps out there to create a website in 10 minutes. The title definitely should have been something along the lines of what you suggested.

I was vaguely hoping the article was going to be about a mindhack for getting out fast blog posts. I can create the blog layout in 10 minutes, but the content is much more difficult sometimes.

I couldn't agree more and was about to make a comment like this. Bootstrap does not mean that you don't need a designer or time to think about UX, and it makes me ill to see all these sites coming out with no thought put into design or ux that are boostrapped and they say "hey look how great this is, and how fast I made it!"

Straight up default bootstrap is even worse in my eyes than craigslist style css. It's overused, and it's not enough to impress anymore. Take 6 more days, talk to a designer, and make this a real blog.

FWIW, I tell most developers I know to not stress out about their personal blog design and just focus on the value of content. The vast majority of default/built-in blog layouts are just fine. You're not a designer, you're not seeking to show off your design chops with a custom layout – just write good articles.

That said, this particular sort of design where it's not a standard blog theme and not a custom design, but is just tweaked Bootstrap just seems neither here nor there.

That's true to some extent, but I think it's worth to throw in a couple personalizations to avoid looking totally cookie-cutter.

I think most readers would be OK seeing something looking bootstrappy, but not with something that is pure unmodified boostrap.

Why the bootstrap hate? Do you really think this guy should hire a designer for his personal blog?

Even if he did want to do his blog in "craigslist style css"... Why do you care?

I know what you mean about bootstrap. On the other hand, nobody I know would have any idea what it is. One of my friends the other day who wants to do a startup had no idea what Wordpress is. I had to pretend not to be completely floored, lest I insult him.

If the blog will be targeted towards more savvy tech folk like yourself, then I kinda see your point. If it's not going to speak to that niche then I say go forth with bootstrap!

edit: and I'm sure he'll customize as he goes.

true...I've been wanting to try out jekyll and even though it looks slower than a login/3rd-party setup it's still demonstrably easy, from this post...so that's extra incentive to give it a go.

First of all, I hate the "here is my weekend project I created in x seconds/minutes/days", but I consider the title of this post to be an ellipsis: "How I built my blog in one day and you can too!".

If you click on the link, you'll see that it's a project that is not there to promote the submitter nor stroke their ego, but to help other people simplify something many find to be tedious and difficult - and in an incredibly well-presented way.

I know about the Twitter Bootstrap like everyone and their dog, but I only see articles of praise rather than articles that praise by showing instead of telling through a guide and demonstrating the result in the form of the site itself.

Well done. This is the best article I have seen on Twitter Bootstrap.

Or you could just install wordpress? Unless your aim is to jump through the hoops, or satisfy the nerdy carving of coding we all have.

> Or you could just install wordpress? Unless your aim is to jump through the hoops, or satisfy the nerdy carving of coding we all have.

I think a reason Jekyll is popular is because it's relatively simple to update & use once it's running. Since it's also just static HTML via your web-server, it's also significantly more secure (no app code to exploit).

That, and it's fast. Serve it with nginx and you'll endure traffic magnitudes larger than even a tweaked WP install can on a small VPS.

Not to mention there are many (good!) free options for hosting it (due to the lack of a database): heroku, github, etc.

Also S3 now that you can host static websites there.

Wordpress requires a database, Jekyll does not.

Jekyll is also much easier to maintain, with it's built in web server for testing, and static page generation, using a github repo is so simple it's stupid.

Jekyll is the way to go.

Jekyll is the way to go.

That's quite the over-generalization.

I don't remember every having to deal with database after installation. And with most host nowadays, it's sort of auto-managed.

Update with wordpress is a click-away.

I've seen much difference between two when it comes to maintaing, having to touch databases etc.

Judging by the number of Wordpress blogs that become unresponsive when they hit the front page of HN, it doesn't seem like it's too easy to keep them running with any traffic (or at least, people seem not to be doing it).

I think methoddk meant GitHub does not allow you access to a database.

Yes, WordPress requires a database; but when has this been an issue for business people, real bloggers, etc. to find a decent host with database support?

Sure, Jekyll sounds like a more efficient solution, but most people don't have a "pain" point when running WordPress - at least not one that can't be solved with a plugin. (Most people)

> Or you could just install wordpress? Unless your aim is to jump through the hoops, or satisfy the nerdy carving of coding we all have.

I would have to agree with you. Now, as far as satisfying the craving... lately I've wanted to try Jekyll and serve the site from Amazon S3 + Cloudfront. Seems to me it would handle a tremendous amount of traffic and be very fast.

Now, if only I had content that a few million people wanted to read...

I do just that actually. Although my reasoning was more about how insanely cheap and reliable it is, and wanting to get familiar with the technologies for the first time.

I would say Cloudfront is actually overkill for a static site, I didn't really notice any decreased page load times in my testing, and having it purge the caches is another hoop you have to jump through.

There is something entirely geeky about it though, and it puts a smile on my face knowing how unnecessary the technology behind my site is.

I'd be willing to share my rakefiles for publishing this set up if anyone is interested.

Yeah, I think you're missing the point of running a blog.

A blog is about producing and publishing content. It's not thinking about scaling when there's absolutely no need for it. If one has something worthwhile to say, then spending anything more than 5 minutes to setup a blog is just a waste of time.

That's almost like having an important meeting to get to, but taking a few weeks to reinvent the wheel just so you can get there.

I created my static blog using Blogofile a couple of weeks ago, and the best take-away from the experience is the ease of backing it up. My entire blog is in a GitHub repo, so my own clumsiness, governmental misappropriation and such are not likely to destroy my blog for good.

There is obviously a lot to say about static blogs in general, but this is by far the upside I am most content with.

On the flip-side, figuring out how to enable gzipping and having to use a www. subdomain are nuisances people setting up their blog on Wordpress won't have to bother with - at least on a number of Wordpress hosts.

Great, Another Bootstrap Site :)

How I built my blog in one day:

Sat down with Go, wrote a web handler (they already have http support). Added code to parse a tree of directories containing blog posts. Write markdown code in individual files in those directories. Blog code reads the markdown, parses it, and inserts it into a template. Add Disqus to taste and serve.

Final step: don't submit it to hacker news, profit :)

I'd be interested in seeing that Go code ..

It's only been tested on Plan 9, with an older version of Go, but you can check out the code at https://bitbucket.org/floren/goblog

It's not as nice as it could be, but I'm pretty happy with how it works.

Thanks for that - as a new learner of Go, its definitely nice to have something interesting to read. Oh, and the fact that you're a Plan9 user making use of Go: awesome! :)

what the hell is up with all the WE WROTE OUR WIDGET IN 18 HOURS crap

do it right, nobody gives a shit how fast you achieved mediocrity

I'm actually surprised how it took a whole day to set up a blog on bootstrap html with no custom styling. yawn

I did something similar last week -- you should invest in theming your site away from the default bootstrappy look/feel. Also it would be helpful to add details some more details about applying/switching themes and perhaps mention customizing the page lists used in navigation via declaring pages in a defined group in the YAML front-matter of a page and iterating over them in your layout's default.html.

Ignoring the Bootstrap aspect, I don't really see the need to explain how you added the Twitter/G+/Reddit buttons. I mean, they're just a script you copy and paste from the websites.

On the other hand, the dynamic Repo/Followers count was a nice touch. Didn't know about that one.

Agreed. It is a lame explanation for sure. I thought I would aggregate everything in one place whether it was easy or hard. Thanks for the feed back.

No problem. It would make a person who wanted to do exactly the same thing with 0 knowledges life a lot easier, but on the other hand I don't think someone like that would be using Jekyll.

I liked it for one. It's a guy for everyone, and I'm sure some will appreciate the ability to c/p your code for their project.

thanks for this. one barrier for me is that it is a requirement for the code snippets to render nicely in google reader, but this can probably be solved by using markdown instead of gists. another barrier is that i can't write special code, like a vanity url redirector, to keep my SEO juice when content moves, but maybe this is not so big an issue as i originally thought it was.

what is your draft management workflow like? this is important to me too, more important in fact than optimizing for people to actually read the blog, because if draft management sucks then i don't blog enough to get readers.

What do you mean by 'workflow'?

I've been writing on a github pages-based blog and I dump all draft blog posts into a _wip folder. They get version controlled like any other file and I can add the YAML and move them into the _posts folder when I'm ready to publish.

Edit: Since I've been posting on that blog, I've decided to move my personal one to GitHub pages too. When posting is as simple as pushing a file it becomes easier to focus on writing. The only reasons I haven't switched are (1) extracting content from my old provider and (2) theming and set up for the new one.

what tools do you use to edit? i loved using google wave to manage my drafts, and i haven't really recovered from that - i use google docs now but there's no great way to extract content from that in a way that will be fragile to changes in factors outside my control.

Ah, now I see what you were getting at.

I just use plain text files and my current editor of choice is Sublime Text 2 (really like the full screen mode). I write in markdown and if I really want to 'preview' it I open a copy of the file in Coda, where Ive installed a plugin for this purpose. That's pretty much all I need.

The remaining barriers to writing are non-technical (e.g. time, will, etc)

No draft management workflow here. I would imagine you could code some custom workflow process.

Hey, would you put your email address into your profile's "about" section (or alternatively, would you email me)? I have a quick question I'd like to ask you.

I'm using Jekyll bootstrap too, mostly as a way to get acquainted with Jekyll....however, for any new blogger, I think they'd do better to just do Wordpress at first

I searched high-and-low for a way to make sense of Jekyll for anything other than a blog. It nearly drove me mad. I ended up abandoning the idea of hosting notes on github as a website, and ended up cramming content into HTML manually.

Vagrant's online documentation is done with Jekyll, the idea being that it's very easy for contributors to edit content and view their changes.


Blogofile (Python) is basically awful, but it's great once you spend a few days fixing the kinks and make it work.

Make sure you don't get the latest version from GitHub, but easy_install it and build from simple_blog.

Have a look at ikiwiki. I use it to generate a blog on github, but as a wiki it's great for notes as well.

I also built mine with same version of jekyll that github is using since I want to host my site in github pages however the build is broken when I commit a post that has {% raw %} tag. So I cant write a post with that tag anymore.

Thanks for the post, Eric. I found it very useful. I wasn't aware of Jekyll, so it was great to discover that you could survive just fine in 2012 without a DB. Time to migrate from Wordpress.

I'm a big fan of octopress, which is essentially Jekyll + themes + social media + generation and deploy scripts. Octopress includes good documentation and has been easy to use with Github.

I have been learning rails and had a similar project idea of developing a blog creator using this framework, but you have bet me to it! Now, I have to look for another idea. :)

Here's how to make a blog in 10 minutes!

1. git clone git://github.com/erjjones/erjjones.github.com.git 2. Delete posts, write posts, push to your own repo.

Update: I didn't know about octopress. much better.

I like the blog style and the bootstrap use. Good job

Applications are open for YC Winter 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact