]> git.mdlowis.com Git - projs/mdlowis.com.git/commitdiff
fleshed out site generation script using erb template and file copying
authorMichael D. Lowis <mike.lowis@gentex.com>
Tue, 3 Jul 2018 15:24:54 +0000 (11:24 -0400)
committerMichael D. Lowis <mike.lowis@gentex.com>
Tue, 3 Jul 2018 15:24:54 +0000 (11:24 -0400)
Makefile [deleted file]
config.sh [deleted file]
generate.rb [new file with mode: 0755]
gensite [deleted file]
newgen.sh [deleted file]
tools/update.rb [moved from update.rb with 100% similarity]

diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index bdfd8df..0000000
--- a/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-
-PATH := $(PWD)/tools:$(PATH)
-PAGES = $(addprefix site/,$(addsuffix .html,$(basename $(notdir $(wildcard pages/*.md)))))
-
-.PHONY: serve
-all: $(PAGES) site/index.html
-
-serve:
-       tools/serve
-
-site/index.html: index.html
-       cp $^ $@
-
-site/%.html : pages/%.md
-       genpage $< > $@
-
-clean:
-       rm site/*.html
diff --git a/config.sh b/config.sh
deleted file mode 100644 (file)
index a8afab6..0000000
--- a/config.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-export TITLE="Simplicity is the ultimate sophistication"
-export SUBTITLE="$TITLE"
-export COPYRIGHT="© 2015 Michael D. Lowis"
-export STYLE="/site/style.css"
-export LOGO="/site/logo.png"
-export MENUTEXT="`genmenu.sh`"
-
diff --git a/generate.rb b/generate.rb
new file mode 100755 (executable)
index 0000000..62b2d15
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/env ruby
+require 'fileutils'
+require 'erb'
+
+SRCDIR="src/"
+DESTDIR="foo/"
+TEMPLATE = IO.read("page.html.erb")
+
+class Page
+  attr_accessor :year, :navigation, :markdown
+
+  def initialize(src)
+    @year = Time.new.year
+    @markdown = `tools/md2html.awk #{src}`
+  end
+
+  def render
+    ERB.new(TEMPLATE).result(binding)
+  end
+end
+
+def generate(p)
+  op = p.gsub(/^#{SRCDIR}/,'')
+  FileUtils.mkdir_p(File.join(DESTDIR, op))
+  op = File.join(DESTDIR, op)
+  if p.end_with? ".md" then
+    op = File.join(File.dirname(op), "#{File.basename(op,'.*')}.html")
+    File.open(op, 'w') { |file| file.write(Page.new(p).render) }
+  else
+    FileUtils.copy(p, op)
+  end
+end
+
+Dir.glob("#{SRCDIR}/**/*").each do |f|
+  generate(f) if File.file?(f)
+end
diff --git a/gensite b/gensite
deleted file mode 100755 (executable)
index 5ae68b0..0000000
--- a/gensite
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-pages=(`ls pages/*.md | sed -e 's/\.md$//'`)
-
-echo ${pages[@]}
diff --git a/newgen.sh b/newgen.sh
deleted file mode 100755 (executable)
index 1f12c84..0000000
--- a/newgen.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-SRCDIR="$1"
-DESTDIR="$2"
-
-genpage(){
-    src="$1"
-    dest="$2"
-
-    if [[ -d "$src" ]]; then
-        echo "dir: '$src'"
-    else
-        ofile="$dest/${src#src/}"
-        ofile="${ofile%.*}.html"
-        dest="${ofile%/*}"
-        echo "page: $src -> $ofile"
-        mkdir -p "$dest"
-        tools/md2html.awk "$src" > "$ofile"
-    fi
-}
-
-for p in $(find "$SRCDIR" -mindepth 1 -maxdepth 1); do
-    genpage "$p" "$DESTDIR"
-done
-
similarity index 100%
rename from update.rb
rename to tools/update.rb