mirror of
https://github.com/fmap/muflax65ngodyewp.onion
synced 2024-07-01 10:46:49 +02:00
72 lines
1.6 KiB
Plaintext
72 lines
1.6 KiB
Plaintext
|
#!/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 can’t 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
|
|||
|
# don’t filter or layout
|
|||
|
end
|
|||
|
|
|||
|
compile '*' do
|
|||
|
if item.binary?
|
|||
|
# don’t 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
|