-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rules
46 lines (36 loc) · 1.01 KB
/
Rules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env ruby
passthrough '/assets/*'
compile '/static/**/*' do
end
route '/static/**/*' do
# /static/foo.html → /foo.html
"/assets" + item.identifier.to_s.sub(/\A\/static/, '')
end
KRAMDOWN_OPTS = {toc_levels: [2,3], auto_ids: true, syntax_highlighter: "rouge"}
compile '/**/*.html' do
filter :erb
layout '/default.*'
if item.identifier =~ '**/index.*'
write item.identifier.to_s
else
write item.identifier.without_ext + '/index.html'
end
end
# This is an example rule that matches Markdown & ERB (.md.erb) files, and filters them
# using the :kramdown filter. It is commented out by default, because kramdown
# is not bundled with Nanoc or Ruby.
#
compile '/**/*.md.erb' do
filter :erb
filter :kramdown, KRAMDOWN_OPTS
layout '/default.*'
if item.identifier =~ '**/index.*'
write item.identifier.to_s.delete_suffix('.md')
else
write item.identifier.without_ext.delete_suffix('.md') + '/index.html'
end
end
compile '/**/*' do
write item.identifier.to_s
end
layout '/**/*', :erb