1
0
Fork 0
mirror of https://github.com/fmap/muflax65ngodyewp.onion synced 2024-06-29 10:36:48 +02:00
muflax65ngodyewp.onion/Rules
2011-07-31 22:51:41 +02:00

72 lines
1.6 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# A few helpful tips about the Rules file:
#
# * The string given to #compile and #route are matching patterns for
# identifiers--not for paths. Therefore, you cant match on extension.
#
# * The order of rules is important: for each item, only the first matching
# rule is applied.
#
# * Item identifiers start and end with a slash (e.g. “/about/” for the file
# “content/about.html”). To select all children, grandchildren, … of an
# item, use the pattern “/about/*/”; “/about/*” will also select the parent,
# because “*” matches zero or more characters.
preprocess do
# find reference item
reference = @items.find{|item| item.identifier == '/references/'}
unless reference.nil?
# add references to every markdown item
@items.each do |item|
if item == reference
next
elsif item[:extension] == "mkd"
item.add_references reference.raw_content
end
end
end
end
compile '/style/' do
# dont filter or layout
end
compile '*' do
if item.binary?
# dont filter binary items
else
case @item[:extension]
when "mkd"
filter :kramdown
layout 'default'
when "erb"
filter :erb
layout 'default'
end
filter :tidy
end
end
route '/style/' do
'/style.css'
end
route '/404/' do
'/404.html'
end
route '*' do
if item.binary?
# Write item with identifier /foo/ to /foo.ext
item.identifier.chop + '.' + item[:extension]
else
# Write item with identifier /foo/ to /foo/index.html
item.identifier + 'index.html'
end
end
layout '*', :erb