diff --git a/Makefile b/Makefile index 1795509..93c7f8b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ -ALL: $(patsubst lectures/%.yaml, lectures/%, $(wildcard lectures/*.yaml)) +ALL: $(patsubst dates/%.yaml, dates/%, $(wildcard dates/*.yaml)) -lectures/%: lectures/%.yaml - mkdir $@ +dates/%: dates/%.yaml + mkdir -p $@ ./generate.rb $< $@ + make -C $@ diff --git a/dates/16_06_22.tex b/dates/16_06_22.tex deleted file mode 100644 index 9e7b38f..0000000 --- a/dates/16_06_22.tex +++ /dev/null @@ -1,3 +0,0 @@ -\title{Digitale Selbstverteidigung} -\author{\small Marius \\\large Chaos Computer Club Dresden} -\date{22.06.2016} diff --git a/dates/16_06_22.yaml b/dates/16_06_22.yaml new file mode 100644 index 0000000..75ea5b4 --- /dev/null +++ b/dates/16_06_22.yaml @@ -0,0 +1,6 @@ +title: Digitale Selbstverteidigung +author: Marius +organization: Chaos Computer Club Dresden +date: 22.06.2016 + +deck: digitale-selbstverteidigung.yaml diff --git a/generate.rb b/generate.rb index 1b0df33..583a2a8 100755 --- a/generate.rb +++ b/generate.rb @@ -1,19 +1,29 @@ #!/usr/bin/env ruby require 'yaml' +require 'erb' +# Load files lecture_path = ARGV[0] -lecture = YAML::load_file lecture_path -sections = YAML::load_file File.join(File.dirname(lecture_path), lecture['sections']) -section_files = [] -sections.each do |name, files| - p :name => name, :files => files - section_files.push *files +lecture = YAML.load_file lecture_path +deck = YAML.load_file File.join("decks", lecture['deck']) + +# Convert pathes to be relative to outdir_path +deck.each do |name, files| + files.map! do |f| + File.join("..", "..", "content", f) + end +end + +# Prepare flat list of included .tex files +deck_files = [] +deck.each do |name, files| + deck_files.push *files end outdir_path = ARGV[1] -# TODO: convert to erb as well? -File.write File.join(outdir_path, "Makefile"), < +<% deck.each do |section, snippets| %> \section{<%= section %>} \subsection{} <% snippets.each do |snippet| %> - \include{<%= snippet %>} + \input{<%= snippet.sub(/\.tex$/, "") %>} <% end %> <% end %> diff --git a/makefile_template.erb b/makefile_template.erb new file mode 100644 index 0000000..54b0467 --- /dev/null +++ b/makefile_template.erb @@ -0,0 +1,2 @@ +slides.pdf: slides.tex <%= deck_files.join " " %> + pdflatex $<