This is very cool. I'm currently using a static blog generator (Frog) to run mine, but to be honest the appeal has started to wear on me because of the barriers involved between writing something and actually pushing it. I'm a lot more likely to actually get some writing up if I can just click in a box and start writing, whereas at the moment I've got to generate a new post template, edit it, re-build the page, then push the lot.
It's a minor inconvenience, but it's one that's been enough on more than a few occasions for me to just say bugger it and post my thoughts elsewhere or just not bother.
> because of the barriers involved between writing something and actually pushing it
Can you explain what barriers are you talking about? I moved from a CMS to static blog only to reduce these barriers. For me, a new post is just three steps
$ hugo new <post>
$ vim <post>
$ git commit -am "new post" && git push
which is something I vastly prefer as I am in my text-editor. Even the live preview is easily made possible with livereload (pre-built in Hugo).
The best use-case of hubpress, IMHO, is when I want to publish from mobile (or when my dev environment is not unavailable)
Like I say, it's a minor barrier, but it's sometimes enough to not feel like bothering with unless it's very important. Every time I want to write a new post I have to:
1. Start Emacs (I could use something else here, but I like Markdown mode)
2. Start eshell and run:
$ raco frog -n <title for a post I may still have in idea stage and don't know what to call it yet>
$ find-file _src/date+title.md
3. edit template tags.
4. write post.
5. save post.
6. run:
$ raco frog -bp
7. check the preview and make sure nothing's broken in the formatting
8. push to git.
9. check again and make sure nothing broke now that it's actually hosted (this has happened a few times)
It's not a huge burden, but it's occasionally a pain and the roundabout steps involved, and the weird bugs at times in code-block rendering, get a little old when I compare it to:
1. Click link to Blogger/Medium/Tumblr/ello/etc.
2. Click "new post"
3. write post.
4. preview/publish post.
In my case, the main barrier is switching constantly between environments. When I was using Wordpress, I had everything right there in my browser. Now that I've moved to a static blog, I have
* A text editor, where I write the post
* A terminal, where I commit/push my changes
* A web browser, where I preview my changes
The constant switching between contexts makes it harder for me to focus. Of course, there are advantages (I can now write on the train and push everything afterwards), but I do feel the difference.
Did the Unix philosophy ever win out for end users? As far as the eye can see there's only integration. Microsoft Office is the most popular office suite, Photoshop integrates probably 1000 tools, etc.
The only place users have accepted a single tool for a single role seem to be mobile apps, because the interface is so limited.
Mine get run on my VPS, launched by a git hook. But from what I've read, there are a few more "full featured" online editors like Nitrous.io which actually have a backend which can run such tools.
In a nutshell it lets you email your blog, parses it and resizes attachments, interprets links (with plugins) and will also commit it to git and push for you. With guard you can autotrigger rebuilds as well.
One thing to remember before hosting your blog on Github is that content seems to be censored by them far more actively than other platforms (e.g. Wordpress)
Case in point -- this parody account that was shut down by Github (http://www.theregister.co.uk/2013/12/19/feminist_software_fo...) without any legal need for the same. You may think today "Oh, that's fine, they were assholes anyway", but in principle, the same thing could happen to you tomorrow if your blog conflicts with the Github values du jour.
Worth mentioning - Github is a great place for code since code itself is rarely objectionable, but when you begin hosting writing there, they appear to be really quick to drop the censorship hammer for questionable reasons, hiding behind the ToS when questioned.
Blogs are the simplest thing in the world to host - a $5 VM at Digital Ocean or similar all but eliminates any censorship concerns, and a static generator like Octopress ensures that you have an easily-rehostable backup of your words in case of the contrary.
Not that I am aware of. Even the EFF prism break only lists one webhost and that webhost is invite only and you have to use their SSL keys (no thank you!). There is also riseup but again it is invite only.
It's a major issue because according to law, they have to be able to take down illegal content, but to protect themselves most hosts will simply take down anything even close to it. Where this gets dangerous is regarding non-court ordered claims of illegality, such as DMCA takedowns, claims of libel, hate-speech, etc.
I wish I had a better answer for you. I have though about trying to host via countries like Switzerland, but I don't want to have to use another countries host just to have free speech.
Honestly I'm getting to the point that paying for my own colocation of a server I control and is locked up would be the best way to go. Still have similar issues with the colo companies refusing to host certain content, but you have to pick your battles.
The other alternative would be to get business level service so you can host via your home ISP. If you try to do it with your consumer service they can find it and tell you that hosting content is not part of the agreement.
While I must agree that DMCA+GitHub is a dangerous combo that feminist programming language "project" is literally just troll bait. It's a hoax on the cost of some misguided person who literally thought that programming languages can be sexist.
Everybody laughed, I pulled out a lot of my hair, joking about sexist hammer and homophobic wrench. I can see why GitHub didn't feel like hosting a troll fest.
I'm surprised there aren't more things like this out there. With GitHub, Tumblr, etc. basically allowing you to host almost whatever you want it's surprising people still pay for hosting their small, personal-ish websites.
For 1, you can use tumblr as your media CDN, i.e. post photos, videos and other bandwidth heavy stuff, and use the tumblr API to access and display them on your website / blog.
tumblr actually allows you to use custom domain, i currently have 4-5 domains where my clients only update once a year for an event. i make up a custom theme and them take it over. no fuss around with hosting it.
Yeah, especially because you can host it on a custom domain, and having your website in a git repo is pretty nice, using githuh for your blog / homepage / whatever seems like a no-brainer.
I find the concept of using a content editor on top of a SCM as a CMS very intriguing. Thanks for sharing - Can anyone comment on how this compares to http://prose.io/ ?
Some time ago I wrote Coisas[1], which is somewhat like this, but with Markdown and YAML Front Matter and not so much visual appeal as Hubpress. Anyway, it is a nice thing, runs in your browser and publishes to GitHub Pages. Small and modular codebase, you can fork and modify it easily.
I've been working on similar things, so this is really cool. Although, as an advanced jekyll user, all of my solutions revolve around GitHub Pages + Jekyll combination, which I think is the best offering for static websites.
My solutions are called potion (discontinued) and Sazed (assembly.com/sazed)
Yes, I did. And I updated the config.json to use my username and repository name. But once I go to <username>.github.io/hubpress and try to login, there's an authentication error. Looking at the console output shows this:
"""
AuthServices - login error Objecterror: 404path: "/repos/undefined/undefined"request: XMLHttpRequest__proto__: Object__defineGetter__: function __defineGetter__() { [native code] }__defineSetter__: function __defineSetter__() { [native code] }__lookupGetter__: function __lookupGetter__() { [native code] }__lookupSetter__: function __lookupSetter__() { [native code] }constructor: function Object() { [native code] }hasOwnProperty: function hasOwnProperty() { [native code] }isPrototypeOf: function isPrototypeOf() { [native code] }propertyIsEnumerable: function propertyIsEnumerable() { [native code] }toLocaleString: function toLocaleString() { [native code] }toString: function toString() { [native code] }valueOf: function valueOf() { [native code] }get __proto__: function __proto__() { [native code] }set __proto__: function __proto__() { [native code] }app.js:3544 (anonymous function)
"""
2-factor is not implemented in the preview, but i will work on it asap.
You can create a other github account and give him access to write on your repository, it's a kind of workaround if you want to keep the 2-fact auth on your main account
It's a minor inconvenience, but it's one that's been enough on more than a few occasions for me to just say bugger it and post my thoughts elsewhere or just not bother.