New URLs

27 May 2014

After reading this article and giving it some thought, I’ve changed the post permalink structure to no longer include filename extensions. While there’s no doubt URL’s are critical to maintaining the functionality and structure of the web, most of the time the file extensions don’t need to be seen. Several other well-known sites follow this convention and I intend to do the same.

From what I can see, feeds will continue to work normally and resubscribing will not be necessary. Jekyll’s templates for Atom and RSS do not reference the extensions, only a post.id or post.url to point at the corresponding feed items. Therefore, changing permalinks to remove this should not cause any disruption in feed delivery.

I am debating whether or not it is worth it to dive into learning about the Nginx rewrite_module to fix the URLs on other pages, but that is an exercise for another day.

Update: After thinking (and reading) about this a bit more, it turns out that the ngx_http_rewrite_module is not needed if all you are trying to do is change the appearance of URLs. Jekyll provides this basic capability through its permalink options, but the last time I tried it - a few weeks ago while upgrading to Jekyll 2.0 - I ran into a weird edge case that I couldn’t solve and abandoned the effort.

Long story short, for my needs, the built-in permalinks do the job and only required a bit of extra time and effort on my part. As long as the files in question use Markdown, everything works as it should. However, if your needs are more complex, I would suggest taking a look at this 24 Ways post which goes into greater detail on the subject.