Ditching Wordpress for Pelican
razius.com
razius.com
I am having one small issue with Pelican, though. When I change my theme from the default, it uses the new theme's templates but the default theme's stylesheet. As expected, the result is awful. Has anyone else experienced this issue?
In the words of Paul Graham - "Static sites are the fixies of the Internet."[0]
People who advocate the use of static sites are the ones who simply don't have a use for the features of more complex CMSes or blogging platforms. A dynamically-generated site is overkill for their writing in the same way that a mountain bike is overkill for my sister getting to work.
A fixie is one that runs with a fixed gearing (without a freehub [0]. When the wheels turn the pedals must turn. many hipsters also run them without brakes which requires them to use their legs to slow the bike. these are most commonly seen on velodromes and anywhere with lots of coffee shops.
But still nothing. Comparing a page that is 15% the size of the original is ridiculous. I'm left wondering what happens to the page loads on a WordPress site if you reduced the overall size and number of requests.
Of course, your concern is valid: I don't think anyone recommends using a static content generator except for sites that consist primarily of static content. Obviously if you want richly dynamic content, a static site generator is not for you. On the other hand, if your site is primarily static, why use a dynamic system that introduces additional overhead?
Then, most of time, they end up spending an awful lot of time with the wordpress export/import tools (which is made even worse once you starting using payed plugins). Which sometimes involves looking at random php errors.
Compare that with copy / pasting a bunch of file via ftp, and then you're done.
and it works for backups too...
And conflating "interesting" with "dynamic" is rather dubious to me as well.
Why do they think they need dynamic pages? The upsides of dynamic pages (no more waiting for pages to rebuild) are right there in their face, while the downsides (your server falling over if you get more than three readers at a time) don't become evident for a while. So to non-technical folks, dynamic pages seems like a no-brainer. They don't learn the downsides until they leap up and bite them.
This mismatch between what people think they want and what they actually really should want based on their needs is sadly quite common in tech products, and explains how a lot of crappy products managed to become more popular than a techie would ever have expected them to be.
For someone writing a personal blog, who wants a minimal attack surface and minimal resource usage per hit on any access pattern (not just the easily cacheable ones), with minimal hassle, Pelican and its friends can suit quite well. I ran Wordpress for years and years. I got tired of hearing about a new zero-day total-compromise exploit forcing me to upgrade every week. I got tired of tweaking Varnish or any other caching solution all the time, and none of them ever getting proper ETag/If-None-Since behavior. If I needed a full-fledged "product" solution I might have moved up to something like Drupal or Django. Instead I moved down to Pelican. Maintaining my 14-year-old blog is just less annoying now.
Wordpress is simple, but not low-maintenance. It's an important distinction. Most programmers, and I think most writers too, don't need an idiot-friendly UI so much as they need something that Just Works and Just Keeps Working.
Interestingly, his first reason / argument to switch was about having the content locally and being able to use markdown.
I like the idea of storing the content in an version control system. I think it would be great for sites like gwern.com.
But still: if you don't have much content you will get speed and security practicality for free.
Once there, I use nano, it's fine for editing small text files.
the VPS I'm on costs $10/month, but you can get them for $15 a year. Yes, I've had to learn how to use debian from command-line, but I am very, very glad I know how now.
If you want, you can use a sftp-capable text editor, and that works too. I used to use jEdit, but it's not installed everywhere, and it's definitely not installed on my smart phone, so...
Also, for those who complain that the site looks like 1993, that's intended, as it looks fine and loads very fast in mobile, and that's essentially my only target platform.
I could do all of it by hand, but using a SSG lets me factor out a lot of repetitive scut work. For example, I have a function that takes a hash and builds the HTML for a collection of references. Doing it by hand would be time consuming and error-prone.
More obviously, when I update my page layouts, it happens across the whole site. I don't have to go around copying and pasting, again introducing more busy work with room for error.
"What about grep and sed?", I hear you ask. By the time I'm building ad hoc build pipelines each time I fiddle with the site, I once again introduce new opportunities for error. Why not just automate the whole pile of wax and be done with it?
I have a crumbs navigation at top, that may go away too. most people (99.9% i think) navigate forward, then use the back key in the browser to go back, so I may get rid of the crumbs someday.
each page on the site is accessible from the whole internet. If Joe the poet links to a page on my site, essentially, my page becomes part of the web experience Joe is building. I want to show respect to Joe, and not suck in his readers into my own site. if people want to get to the root of my site, they already know how to edit the uri down to the domain name.
(sorry for philisophizing! )
Confirming your site makes the majority of minimalist themes look bloated! I'm probably just used to things being more central but I think the only issue I had with the site was the extreme left alignment :)
Thanks for the compliment!
(ultimately, I go for separation of concerns: the server serves content, the browser renders. people can set font size, etc to suit themselves).
Any compelling reason for me to consider switching, features that Pelican has which Hyde lacks?
They use them for their simplicity and flexibilty. You can edit the posts anywhere, even when not connected to the net. You can use your favorite text editor to edit them. You don't need to worry about upgrading your blog engine to patch out the latest security vulnerabilities. If you later decide to change markup formats, or templating systems, or change your blog engine entirely, you don't need to decide between importing your content into the new one (which is generally a messy and lossy process) or running an outdated one which you still need to keep security updates on or being exploited; you just leave your old static files alone, and use your new generator or blog engine or whatnot for the new content.
It's obviously not appropriate for every use case; if your data really needs to be dynamic, then it doesn't help. But there are plenty of reasons to use it beyond just efficiency, and even there, it makes getting those efficiency gains a lot easier than a dynamic site does.
WordPress does have a Command Line Interface and you can in fact write to a text file and import it as a new blog Post:
- http://wp-cli.org/commands/post/create/
You can actually do a ton with it. I don't know how familiar you are with WordPress but with CLI you can upgrade WP core, update/add/activate/deactivate plugins, and much more with it:
It's a nice tool for WordPress developers that want to bypass going through the admin panel.
Unless the mess of code under the bonnet of Wordpress is a concern and you want more flexibility in controlling it then I see your decision as sound.
However it is hard to beat Wordpress's extensibility and ease of use for publishing content online.
Scenario: You just noticed a major typo on your new, statically generated microsite - using Markdown, pelican, etc. ...but the only computer you have access to is running a fresh copy of Windows 8.
Talk about your non-portable website.
Who would want a non-static website? I look at, say, gwern.net, and think: this is what blogs want to be, if we only took the time to categorize and have a sensible front page. The current "stream of posts" paradigm discourages you from polishing and improving your posts, and makes it hard to find anything older than a week or two.
> I don't see much advantage of having to pre-setup your environment, ensure libraries are as required – every time you want to do a simple change from a computer other than your own?
It's 2013; there's really no excuse for not having an easy way to set up your environment (i.e. pip+virtualenv in this case).
The article proposes dropping WordPress in favour of Pelican. WordPress is known for its accessibility to the average user, so my argument is simply: How is this making content accessible, easy to update? Insofar of the environment, technical expertise required, WordPress wins hands down.
It's safer than typing credentials in an untrusted computer anyways.
Then fixing a typo would be only a matter of SSH-ing into your server.
Nobody (or at least me) is saying that. But static blogs have other benefits, like being lighter on your host or allowing you to create a new post by just editing a text file in your favorite markup language.
Could also be running a fresh HaikuOS version.
If it's flatfile you update via ftp or direct shell access or some magic git recipe. I fail to see how running win8 prevents that. Moreover, if it's a fresh win8 installation you don't have that long random password in your head to log into your wordpress site anyway. Just a scenario.
I'm not against Pelican, I'm against the idea that this is somehow easier than WordPress. Adding a control panel that allows average people to edit content (Markdown or WYSIWYG, etc.). An installer that takes care of all the necessary required libraries, goes through steps to creating a scaffold, etc.
Then you can compare it to WordPress.
Huh? I'm not even sure what "static" means in your use of the word. Who said that "static content almost always equals garbage content"?
Never ever heard such a thing, and doesn't even make sense.
>Scenario: You just noticed a major typo on your new, statically generated microsite - using Markdown, pelican, etc. ...but the only computer you have access to is running a fresh copy of Windows 8.
You know that you could ssh to the server directly, right? -- and have it set up to rebuild after you change a text file.
Plus it's not like it's any great emergency to correct a typo from Nepal or wherever you are without your laptop.
All of the replies to my comment are coming from someone with higher than average technical expertise. Say what you will about WordPress, but what is being proposed here is not an accessible experience. It's downright repulsive to someone without the technical requirements to simply publish a blog post.
The (albeit, poorly contextualized) point that I was trying to make is, that you, the guy with the technical expertise can update the website. No one else can.
This square-in-a-round-hole argument is brought to you by ego (NIH, small unmaintained websites, etc.), not a strive to make content easier to publish, easier to maintain.
If the only author in mind is yourself, then ya, it works. Beyond that? As soon as you add another contributor, the complexity of updating the website skyrockets.
This is Hacker News. We don't discuss from the point of view of someone who doesn't know these things.
The WordPress and Hacker News audiences are different, too, yet here we are comparing WordPress to a static site generator.
https://www.bitballoon.com/blog/2013/12/13/continous-deploym...
The same technique would work for any static site generator.
Lately I had been all the cool kids using Octopress, but I don't like Ruby, not to mention its programming environment (installing rvm, for example). Also, Octopress's default theme is a total mess. I love Python, so Pelican is a total win for me.
What? If the domain is staying the same, it's dead simple: move your database and files. If not, it's one step short of dead simple. There are also plugins that handle both cases even more easily if you don't want to move the stuff manually.
You can see that there's virtually no difference from your static blog.
For me the main selling point of Pelican is the Markdown syntax and the ease of running it on any host. I hear some even run it from Dropbox.
On a side note: where can I fork and improve on your theme? :)
It's at https://github.com/razius/razius.com/tree/master/theme , which is a modified version of https://github.com/danclaudiupop/pure . The underlying framework is http://purecss.io , and a lot is possible with it.
I started hacking that theme too, and then I realized that it may be difficult to merge efforts if I build what I want. I think it would help a lot if Pelican had theme inheritance ( https://github.com/getpelican/pelican/issues/1092 ) and we all reused a common PureCSS base-theme. This is probably an easy issue to tackle for a skilled Python coder.
http://jimter.net/switching-the-jimternet-from-wordpress-to-...
Is there anybody who's had a good experience getting less technical partners/colleagues/clients to do the same, possibly with something like the GitHub file editor and continuous deployment?
A better solution would be to have a raw Jekyll blog on github that you can edit directly, no special setup necessary.
An even better solution (imo) is to have a blog set-up with continuous deployment, and let the user edit the content in a nice local text editor via SFTP.
Stuff like prose.io goes some of the way, but for most users even WordPress requires training, and showing them the raw filesystem is gonna be way to geeky in many cases.
Would love to talk to anyone interested in building a great open source admin panel for a static site generator.
I'd prefer to retain some dynamic site features like commenting, discussion, and form submission. While there are very successful companies that outsource these features I prefer to have the option to take ownership and control of my content. So I'm envisioning the only dynamic part of the site besides the admin interface is an API to enable these (and more) features. Depending on design and the type of interaction these could trigger a page or site rebuild or update a Javascript framework on the page to reflect the new comment, the successful form posting that updates a calendar, etc.
I'm working on a Admin/CMS Editor for Harp http://harpjs.com
MIT, Open source of course.
And it's much more visual experience and GUI experience than writing in a notepad app and "compiling" the site.
whats missing for larger adoption of generators is a super simple comment engine that just work and that you can host. there are some but they aint convincing.
2. Can you use Adsense with Github Pages?