Posts Tagged “jekyll”

  • Easy retina image serving with Apache rewrites

    The trick uses Apache rewrites and allows every image filename to be inserted in the HTML with "@2x" appended, falling back to the base filename if that file doesn't exist. I also occasionally customize an additional format for social sharing, appending "\lg" instead of "@2x", and the rules cascade such that if "\lg" doesn't exist, it looks for "@2x", and barring that, just uses the base filename.…

  • Updated GIF tag plugin for Jekyll

    I posted a quick update to my GIFTag Jekyll plugin. The plugin allows Jekyll to display a clickable poster image for animated gifs without forcing the user to download it on page load. The updated version no longer requires an external play image, instead generating the overlay using CSS only.…

  • A Jekyll plugin for animated GIFs

    I put together a Jekyll plugin called GifTag which turns local gif references into a styled placeholder with play/pause and preloading. This allows a page to finish loading before transferring heavy animated gifs, and adds user control as to when they start playing (as well as allowing them to stop).…

  • JekyllConf: free online conference this weekend

    CloudCannon is running a free online conference for "all things Jekyll" this weekend. If you're interested in learning more about the static site generator, you can join in to hear from a great lineup of eight speakers, including Tom Preston-Werner (a.k.a. mojombo, creator of Jekyll), and Parker Moore (current Jekyll Core Team lead).…

  • A launchd post scheduling system for Jekyll

    My previous post scheduling system revolved around the Unix at` command to schedule one-off future tasks. In the most recent version of OS X (10.10.4), that atrun command is utterly broken. Running `at`, `atq`, or `atrm will give you:…

  • Modifying Jekyll post data with inline tags

    This post will only be of interest to Jekyll users, but if you want to start creating your own customizations to your Jekyll setup, this will be an easy start.…

  • A Jekyll CDN with CloudFront

    I recently added a CloudFront CDN for all static assets on this site. Adding a CDN to Jekyll isn't terribly difficult, but there are a few steps. I found this post, which was very helpful. It's primarily for Rails sites, so I'm posting some more detail for Jekyll sites here.…

  • 2013: My year in review

    This year I Launched the new brettterpstra.com on a Jekyll platform (I've written about a few of my Jekyll adventures). Since then I've had a couple of projects ship, so I thought I'd take time to do my yearly review.…

  • A guided tour of brettterpstra.com

    I tend to spend a couple hours every weekend hacking new features into this website. A lot of them are convenience features on the back end that really have no visible effect on the user experience, but some of them do. I think a lot of them fly under the radar. In order to make myself feel a little better about the time invested, as well as helping me to remember what all I've done, I thought I'd point out a few of the prominent, front-facing "tricks."…

  • Using Growl for long-running script status

    My Jekyll build takes a while, and when I'm at my machine I like to know at a glance if a build is running. I've gone to great lengths with notifyutil and GeekTool to put status lights on my desktop. I do the same for multiple long-running tasks. I realized the other day, though, that Growl could do this very easily, and could be automated as part of a script or Rake task.…

  • jTag: Auto-tagging for Jekyll

    I'm building an AutoTag system for my Jekyll setup. Unlike the Zemanta system I use for additional keywords, this tool is designed to match your content to existing tags you already use on your blog, helping to keep a consistent taxonomy and better post relationships. It's more like the TextMate/WordPress version I created. Like that version, there are two parts to it: a tag plugin on the blog side and a local tool for pulling information from it and processing it.…

  • A hard-working lazy YouTube plugin for Jekyll

    I ended up going a little crazy with YouTube embeds on the site this week, and my load times suffered greatly. I had just added lazy loading for post images and seen some speed gains, but the Flash embeds were killing me. I needed the click-to-load feature that I've seen on other sites.…

  • WordPress to Jekyll: handling redirects

    If you happen to be converting a blog from WordPress to Jekyll, this tip might be of use, especially if you want to make sure links to your existing posts continue to work. While this is most likely to be an issue if you're changing your permalink structure, you can still run into a few hiccups even if you maintain it.…

  • Fun with intelligent 404 pages

    Up until today, I'd been redirecting 404 errors on my new site to an archive version of the old site. I'm confident enough at this point that all of my previous content (that I'm concerned with) is properly redirecting and search engines are all updated with the new permalink structure. So I turned that off.…

  • Auto-Tagging Jekyll posts with Zemanta

    More for the purposes of associating posts and building my custom search engine, but also for SEO, I've been adding semantic keywords to my Jekyll posts. The result is similar to my old AutoTag bundle for the TextMate blogging bundle. It creates a keyword block for my post in addition to my curated tags which contains top-level topics and can be used in Open Graph keywords, keyword meta and for search and related post association during site generation.…

  • Site versioning with Jekyll/Octopress

    When you're editing the design and scripts on a static site that has good caching implemented, seeing your changes can be tricky. The easiest way around it is to add a "cachebuster" version string to the file includes.…

  • Triggering tasks remotely with notifyutil and launchd

    Let me start this by saying that I'm fully aware that there are multiple ways to accomplish this feat, and that my choice may not have been the perfect one. It happens to work around some frustrations I found with other solutions, but I kind of got on a kick of really wanting to make this work. It works (though it killed my Sunday). It's pretty complex to describe, though, so I'll probably end up leaving some holes in the story. If something doesn't make sense, point it out in the comments and…

  • A downloads manager for Jekyll

    On my WordPress blog I ran a plugin called Download Monitor which allowed me to create download ids that could be inserted via short tags. When I updated a download version, any mention of it throughout the site would be updated to show the latest version and link to the most recent download package. I needed something similar on my Jekyll blog to keep things up to date. The following system is geared toward Jekyll but the concept could be adapted to any static blog.…

  • Jekyll tag plugin for responsive YouTube video embeds

    Update: I've added code to the plugin to take the width and height and calculate the necessary intrinsic ratio for the embed and insert the necessary CSS inline. This prevents the need for any JavaScript solutions on different aspect ratio embeds. Thanks to Andrew Clark for the tip.…

  • Scheduling posts 2: the Rakening

    Yesterday I covered how I'm handling scheduling with my Jekyll-based blog. The at command I mentioned there could be used in tandem with any static blogging system. Today I'm dropping in the "publish" task from my Rakefile, so you can see how I apply it specifically with Jekyll. The concepts are still portable, though.…

  • Scheduling posts with Jekyll

    After my downloads system was sorted (post coming up) and I had a writing workflow worked out, my big concern with my Jekyll system was scheduling future posts. I tend to write in streaks and, given that very little of my work is exactly time sensitive, spread the posts out to make up for the days I decide to sleep in my free time. That's a little harder to do with static blogs.…

  • A "Web Excursions" system for static blogs

    One of the things I was missing when I switched from WordPress to Jekyll was my "Web Excursions" setup. It allows me to gather link collections for posts as I browse and generate a single post with multiple links rather than a ton of individual "link list" posts".…

  • Scripting Jekyll image "uploads"

    As I start blogging more with Jekyll, I find that manually placing the images in my source folder and typing out the resulting urls is a bit cumbersome. I know a lot of people have come up with solutions for this, but it was simpler to roll my own in the end. I've created a few ways of doing this on OS X. All of these methods will copy the image to an appropriate, date-based subfolder in your static blog's source, optimize it if the tools are available and immediately place Markdown image urls…

  • Previewing Jekyll posts with Marked

    If you use both Marked and Jekyll (or Octopress), you may want to preview your posts accurately in Marked before publishing. The first obvious step is to link your screen.css file as a Custom Style:…

  • A relaunch for 2013

    As you may have noticed, this site has changed. I find it significantly less ugly now, but the changes run much deeper than that.…

  • Jekyll plugin for quick "donate" buttons

    I'm still working on the Jekyll version of this site. It's coming along. Along the way I wanted a better-looking donation button, so I wrote a quick plugin to handle a donate Liquid tag:…

  • WordPress to Jekyll: converting gallery shortcodes

    As I move along with my Jekyll/Octopress transition, I'm working to make the move as clean as possible. I'm importing my WordPress database rather than starting fresh, and I'll be sharing tidbits of discoveries as I go. These posts will only be of interest to people making similar transitions, but they'll also be serving as notes for myself and Google search results for people up against the same conundrums.…

  • I think I'm switching to Jekyll...

    I just spent the weekend experimenting with the idea of converting this whole blog from WordPress to Jekyll. It's a blogging system that runs entirely off of static html files, and you can store your posts as individual Markdown files. Add a post and you can regenerate all of the indexes and archives at once and deploy the static site. The speed and stability increase is immense.…