Skip to content

Instantly share code, notes, and snippets.

@dtjm
Created August 10, 2010 16:34
  • Star 14 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save dtjm/517556 to your computer and use it in GitHub Desktop.
HAML plugin for jekyll
# _plugins/haml_converter.rb
module Jekyll
class HamlConverter < Converter
safe true
def setup
return if @setup
require 'haml'
@setup = true
rescue
STDERR.puts 'do `gem install haml`'
raise FatalException.new("Missing dependency: haml")
end
def matches(ext)
ext =~ /haml/i
end
def output_ext(ext)
".html"
end
def convert(content)
setup
engine = Haml::Engine.new(content)
engine.render
end
end
end
---
---
<!-- _layouts/home.haml -->
%html
%head
%title= page.title
%body
#container
#header HEADER
#content
= content
#footer FOOTER
---
layout: home
title: Home Page
---
%h1 Hello World?
@georgedrummond
Copy link

will this work with github pages?

@dtjm
Copy link
Author

dtjm commented Jun 2, 2011

I don't think so. There is an open ticket here: jekyll/jekyll#53

For now, you'll have to pre-process your Haml before sending it to Github pages. This is not too bad if you can set up your development environment to automatically compile the HAML whenever you save.

@bcardarella
Copy link

How are you pre-processing the HAML?

@georgedrummond
Copy link

see line 24 onwards

@dtjm
Copy link
Author

dtjm commented Jun 27, 2011

@bcardarella Since haml doesn't have a --watch option like SASS, you could use also try using the unix watch command. Maybe something like this: watch haml *.haml (Sorry I haven't tried it and I don't have any of my code in front of me right now)

@jfrux
Copy link

jfrux commented Nov 4, 2013

Does home.haml actually work? I can't seem to get my layout to generate correctly with haml?

@topher6345
Copy link

This plguin isn't converting my haml layouts to html

But it works for the content pages, any ideas?

@jalcine
Copy link

jalcine commented Aug 29, 2014

@topher6345 what's the suffix of your layout files? Might wanna make them .html to make the plugin pick them up.

@2xG
Copy link

2xG commented Apr 29, 2015

I have an error with new version of haml gem.
http://blog.haml.info/post/42998475354/haml-4-0-has-been-released says that markup filters have been moved to separate gem 'haml-contrib'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment