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.
Hey! 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 um
s 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 itemscope
and 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.