Skinning the Jekyll
• Mark Eschbach
So I’ve been thinking about changing technologies for my site, and Jekyll is one that has been around for years. To prove out the usefulness of Jekyll, I’m trying this out under the ‘Stream of Conciousness’ section of my site.
The first step is to make branding consistent. That means kicking out the default template and placing the style that I’ve been evolving since 2000. Simple enough! In the file
_layouts/default.html (I had to create it) I could cut out the default template.
Next goal: generate a stub from my existing template to be ‘applied’. Fairly simple task, although I found I have some stale files named
index.php. The current pipeline for the system is to render PHP pages into static text, which was an evolution of just invoking the pages each time. No sense in generating new content everytime. I copied the KB’s
landing.php and stripped the content. I know, copy & paste programming == bad…but hey. Nothing is purrrfect. Hmm…I might need to figure out how to toggle giphy capability for this. With the template given the place holder `` it’s time wire into the build system. The pipeline is driven by Make. Not surprising right? It use to be a giant bash script, so hey! Could be wrose.
bower finally made it to 1.8.0! Awesome. I’m at a cafe with slow internet; probably not the best time to update.
Well that was a disappointing run. I
cat stream-of-conciousness/_layouts/default.html and I got the initial test content. I totally forgot to add the
Makefile to the top-level
Makefile. Doh! Hmm still many sections of the site still need to be pushed out of the root
Makefile. Also, I need to create a rule for building directories. I feel like this repository has received the least amount of my perfection love…probably because it’s frankenstien (pronounced STEIN!)…and there are only a handful of readers anway. READ MORE FOR PERFECTION! The problem with parallel makes: your errors are hidden among all the output; annoyingling sad. At least I can override my default of 24 (the build machine can handle much more than, but bottlenecks on IO :-/ ) to 1 using the
JOBS env var.
If I haven’t yet, I need to consciousness to the word list in my spelling application. It’s that sc that keeps getting me. Talking with Tiffany nessecary also needs to be in there, it’s like cowbell: not enough c_s and _s_es. Hmm….I was hoping _sc would be unique in the
Makefile, but I’ve also began using
scss so nope. And now I’m hung up on directories. In the past the
PWD was set to the top of the repo. But that is getting a little annoying. Well, I cheated. I defined a var based on the known path; but this is proof of concept anyway. I’ll either forget I did it and fix it later, or just forget about it. Please don’t let me forget about it. Right, Make only builds files when the source is newer than the target.
Well, not a bad start…now to change the target directory of Jekyll so it can use the assets of the remainder of the site. Perhaps a simple
symlink? Configuration change might be easier. Their documentation doesn’t have anchors…so I can’t link directly to the
destination attribute. With a restart of Jekyll to make sure the change stuck and launching the HTTP server I use for dev it’s perfect! Well, kind of. It’s not using the ‘section’ tag which provides that Material raised paper feel.
Simple enough to fix in the simple case. I’m not sure if this ‘stream of consciousness’ (I spelled it correctly the first time!) should have more than a single section anyways. Well, the index page still needs a lot of work :-/. Gar! This theming stuff looks cool and all…but I was hoping for a simpler solution. Well…let’s pour some energy into the hole. See if we get one of those spiffy ant hill alumniumnum (spelling?…I’ll just keep adding
ums until I feel it’s right) castings. Oh, nevermind, that isn’t needed. I should have read more. In my defense they immeidately begin with people publishing their themes as gems.
Looks like it uses the file
home.html in the layouts directory. Let’s see if I can find the default file. I’m guessin the default theme Minima would probably be a good starting point. Looking at the home.html template it looks really simple. Hmm..the underscore there messes with VIM’s syntax highlighting. Not sure what the content would be here…but I’ll included it. Maybe use it for a description of what this whole expiriment is. I dig the minimalism for learning. Much better than when I tried to change the wordpress theme.
Well, nesting wasn’t what I intended. Let’s fix that. Looks like
default.html is intended to be expanded by specialization layouts. So I’ll pull the `` thing back out and try again. Perfect! Now it looks like posts go in
_layouts/post.html. Easy enough. Hmm, Jekyll seems to default the deploy path. Let’s see if I can fix in the
_config.yml file. Well, my guess the
baseurl property was right; good docs in the genearted file.
So back to
_layouts/post.html. Looks simple enough. Their example post template has some intresting attributes on the article element such as
itemtype. I think I’ll leave them and hopefully come back to find out what they are about. The article element makes sense, I would to use them but current styling doesn’t support it. Another TODO item!
Well that relatively painless and easy to skin. Definitely more things to be done so I’m not sure it’s entirely ready for actual production. I do like how flexiable the page is. Seems to be some meta data I can add to the post such as authorship. Let’s add it.