From 5449dca686d7bdbd5f09acd4e9fd8647535acde9 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 3 Jan 2017 20:18:45 -0500 Subject: index.yaml partial support --- bin/index | 19 ++++++++++++++++--- bin/index.atom.erb | 8 ++++---- bin/index.md.erb | 2 +- bin/util.rb | 1 - 4 files changed, 21 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/index b/bin/index index 4f41c5d..2443380 100755 --- a/bin/index +++ b/bin/index @@ -1,16 +1,29 @@ #!/usr/bin/env ruby # -*- coding: utf-8 -*- load 'util.rb' +require 'yaml' +# ARGV[0] template = "bin/index.#{ARGV.shift}.erb" +erb = ERB.new(File.read(template)); +erb.filename = template + +# ARGV[1] @path = ARGV.shift +indexyaml = @path.sub('out', 'src')+'/index.yaml' +if File.exists?(indexyaml) + metadata = YAML::load(File.read(indexyaml)) +else + metadata = {} +end + +# ARGV[2..] @pages = [] for filename in ARGV do @pages.push(Page.new(filename)) end - -erb = ERB.new(File.read(template)); -erb.filename = template +# main +@title = metadata['title'] || @path.sub('out', '') erb.run() diff --git a/bin/index.atom.erb b/bin/index.atom.erb index 0667088..1afbf8c 100644 --- a/bin/index.atom.erb +++ b/bin/index.atom.erb @@ -1,7 +1,7 @@ - AndrewDM.me <%= @path %> + AndrewDM.me <%= @title %> @@ -11,9 +11,9 @@ <% @pages.sort_by{|p| p.updated}.reverse.each do |page| %> - - - https://lukeshu.com/blog/<%= page.slug %>.html + + + https://andrewdm.me/<%= page.url %> <%= page.updated.rfc3339 %> <%= page.published.rfc3339 %> <%= page.title %> diff --git a/bin/index.md.erb b/bin/index.md.erb index 621a323..ce5e030 100644 --- a/bin/index.md.erb +++ b/bin/index.md.erb @@ -1,5 +1,5 @@ --- -title: "<%= @path %>" +title: "<%= @title %>" class: "index" --- diff --git a/bin/util.rb b/bin/util.rb index 1318f28..05808b7 100644 --- a/bin/util.rb +++ b/bin/util.rb @@ -115,7 +115,6 @@ class Page def author ; @author ||= Person.new( pandoc['author'] || "Andrew Murrell") ; end def license ; @license ||= License.new(pandoc['license'] || "CC BY-SA-3.0") ; end - def slug ; @slug ||= infile.sub(/\..*$/,'').sub(/^.*\//,'') ; end def content ; @content ||= pandoc.to('html5 '+(pandoc['pandoc_flags']||'')) ; end def head ; @head ||= pandoc['html_head_extra'] ; end def class ; @class ||= pandoc['class'] ; end -- cgit v1.2.3