summaryrefslogtreecommitdiff
path: root/pagerender.rb
blob: 3c122bc0091b13d6687e246f9a0ac757372f5294 (plain)
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
47
48
49
50
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
load 'pandoc.rb'
load 'util.rb'
require 'erb'
require 'date'

$license_urls = {
	"CC BY-SA-3.0" => 'https://creativecommons.org/licenses/by-sa/3.0/',
	'WTFPL-2' => "http://www.wtfpl.net/txt/copying/",
}
$person_uris = {
	"Luke Shumaker" => "https://lukeshu.com/",
}
$person_emails = {
	"Luke Shumaker" => "lukeshu@sbcglobal.net",
}

template = "template.#{ARGV[0]}.erb"
infile = ARGV[1]

input = File.read(infile)
doc = Pandoc::load('markdown', input)

if doc['markdown_options']
	doc = Pandoc::load('markdown'+doc['markdown_options'], input)
end

gitdate = `git log -n1 --format='%cI' -- #{infile}`

@title   = doc['title']   || input.split("\n",2).first
@author  = Person.new(doc['author']  || "Luke Shumaker")
@gitdate = DateTime.iso8601(gitdate) unless gitdate.empty?
@date    = Date.parse(doc['date']) unless doc['date'].nil?
@license = License.new(doc['license'] || "CC BY-SA-3.0")
@slug    = infile.sub(/\..*$/,'').sub(/^.*\//,'')
@content = doc.to('html5')
@rights  = "<p>The content of this page is Copyright © #{@date.year unless @date.nil?} #{@author.html}.</p>\n" +
           "<p>This page is licensed under the #{@license.html} license.</p>"

@breadcrumbs = '<a href="/">Luke Shumaker</a> » '
if (@slug == 'index')
	@breadcrumbs += "blog"
else
	@breadcrumbs += '<a href=/blog>blog</a> » ' + @slug
end

erb = ERB.new(File.read(template));
erb.filename = template
erb.run()