-LATEST=2
-SRC := $(filter-out $(wildcard feed_*),$(wildcard *.m4))
+SRC := $(filter-out $(wildcard feed_*) meta_notes.m4,$(wildcard *.m4))
OUTPUTS := $(patsubst %.m4,out/%.html,$(SRC))
STATIC := $(patsubst static/%,out/%,$(wildcard static/*))
all: $(OUTPUTS) out/notes.atom out/notes.rss out/style.css $(STATIC)
-out/%.html: %.m4 header.html footer.html ; m4 -D__latest=$(LATEST) $< > $@
-out/notes.atom: feed_atom.m4 ; m4 -D__latest=$(LATEST) $< > $@
-out/notes.rss: feed_rss.m4 ; m4 -D__latest=$(LATEST) $< > $@
+out/%.html: %.m4 header.html footer.html ; m4 $< > $@
+out/notes.atom: feed_atom.m4 ; m4 $< > $@
+out/notes.rss: feed_rss.m4 ; m4 $< > $@
$(STATIC): ; ln -s $(PWD)/static/$(notdir $@) $@
deploy:
dnl -*- html -*-
+define(__title, `Arch GNU/Linux on MacBook Air 2013')dnl
define(__pub, 2016-11-01T12:00:00Z)dnl
define(__upd, 2020-03-27T12:00:00Z)dnl
-define(__title, `Arch GNU/Linux on MacBook Air 2013')dnl
-define(__slug, `computing')dnl
define(__id, 1)dnl
-include(header.html)
+include(header.html)dnl
+
<p>This post summarizes how I install and dual-boot Arch GNU/Linux
with Full-Disk Encryption alongside macOS. It is not meant to be a
replacement for the
<li><a href="//medium.com/phils-thought-bubble-of-recent-stuff/arch-linux-running-on-my-macbook-2ea525ebefe3">Arch Linux running on my MacBook</a></li>
<li><a href="http://codylittlewood.com/arch-linux-on-macbook-pro-installation/">Dual boot Arch Linux on MacBook Pro Installation</a></li>
</ul>
+
define(__copy, `2016, 2019, 2020')dnl
-include(footer.html)
+include(footer.html)dnl
dnl -*- html -*-
+define(__title, `How I do my Computing')dnl
define(__pub, 2019-09-14T12:00:00Z)dnl
define(__upd, 2019-11-30T23:00:00Z)dnl
-define(__title, `How I do my Computing')dnl
-define(__slug, `computing')dnl
define(__id, 2)dnl
-include(header.html)
+include(header.html)dnl
+
<p>(Inspired by computing pages of
<a href="//stallman.org/stallman-computing.html">rms</a> and
<a href="//blog.vimuser.org/leah-computing.html">Leah Rowe</a>)</p>
<a href="//www.fsfla.org/ikiwiki/blogs/lxo/pub/0G">0G</a> to become a
reality fast enough.
<span class="smly">:-)</span></p>
+
define(__copy, `2019')dnl
-include(footer.html)
+include(footer.html)dnl
dnl -*- html -*-
define(__title, `Contact Information')dnl
define(__slug, `contact')dnl
-include(header.html)
+include(header.html)dnl
+
<article>
<h1>Contact information</h1>
<p>Email is by far my preferred method of communication. I may be
<li><del><a href="//twitter.com/notbandali">notbandali</a> on Twitter</del></li>
</ul>
</article>
-include(footer.html)
+
+include(footer.html)dnl
dnl -*- html -*-
define(__title, `Curriculum vitae')dnl
define(__slug, `cv')dnl
-include(header.html)
-<main>
+include(header.html)dnl
+
<h1>Curriculum vitae (<a href="//p.bndl.org/bandali-cv.pdf">PDF</a>)</h1>
<table>
<p>Teaching Assistant</p>
<p><abbr title="Net-Centric Introduction to Computing">EECS 1012</abbr>:
TA in Fall 2017</p>
-include(footer.html)
+
+include(footer.html)dnl
+include(meta_notes.m4)dnl
<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
<title>Amin Bandali's Personal Site</title>
define(`fordown',`ifelse($#,0,``$0'',`ifelse(eval($2>=$3),1,
`pushdef(`$1',$2)$4`'popdef(`$1')$0(`$1',decr($2),$3,`$4')')')')
fordown(`__i',__latest,eval(__latest-10),`
- syscmd(sed "s/\&/\&/g;s/>/\>/g;s/</\</g" __i.m4 | m4 -D__feed_atom)')
+ syscmd(sed "s/\&/\&/g;s/>/\>/g;s/</\</g" _get(`notes', __i).m4 | m4 -D__feed_atom)')
</feed>
+include(meta_notes.m4)dnl
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
define(`fordown',`ifelse($#,0,``$0'',`ifelse(eval($2>=$3),1,
`pushdef(`$1',$2)$4`'popdef(`$1')$0(`$1',decr($2),$3,`$4')')')')
fordown(`__i',__latest,eval(__latest-10),`
- syscmd(sed "s/\&/\&/g;s/>/\>/g;s/</\</g" __i.m4 | m4 -D__feed_rss)')
+ syscmd(sed "s/\&/\&/g;s/>/\>/g;s/</\</g" _get(`notes', __i).m4 | m4 -D__feed_rss)')
</channel>
</rss>
ifdef(`__feed_atom', `</content></entry>',
-`ifdef(`__feed_rss',`</description></item>',
+`ifdef(`__feed_rss', `</description></item>',
`ifdef(`__pub',
`<p class="muted inbox">Got a question or comment? You can find my
email address on my <a href="contact">contact</a> page.
<span class="smly">:-)</span></p>
-</article>')
+</article>
+')dnl
</main>
ifdef(`__copy',
`<footer>
Please copy and share.</p>
</footer>')
</body>
-</html>')')
+</html>')')dnl
+include(meta_notes.m4)dnl
+ifdef(`__slug',,`define(__slug, _get(`notes', __id))')dnl
ifdef(`__feed_atom',
`<entry xml:base="https://bandali.eu.org">
<author><name>Amin Bandali</name></author>
<link rel="stylesheet" href="/style.css"/>
<link rel="index" href="/"/>
ifdef(`__pub',
-`ifdef(`__first',,`<link rel="prev" href="/decr(__id)">')'
-`ifdef(`__last',,`<link rel="next" href="/incr(__id)">')')
+define(__previd, `_get(`notes', decr(__id))')dnl
+define(__nextid, `_get(`notes', incr(__id))')dnl
+`ifelse(__previd,,,`<link rel="prev" href="/__previd">')'dnl
+`ifelse(__nextid,,,`<link rel="next" href="/__nextid">')')dnl
</head>
<body>
<header>
<h1>__title</h1>
<p>Published on syscmd(date "-d __pub" "+%B %e`,' %Y" | tr -d \\n)`'ifdef(`__upd',`<br/>
Last updated on syscmd(date "-d __upd" "+%B %e`,' %Y" | tr -d \\n)')</p>
-</header>')')')
+</header>')')')dnl
define(__title, `Amin Bandali''`s Personal Site')dnl
define(__slug, `home')dnl
define(__nts)dnl
-include(header.html)
+include(header.html)dnl
+
<section id="intro">
<p>Hi, I'm Amin. I am currently a graduate student at the
<a href="//watform.uwaterloo.ca">Waterloo Formal Methods</a>
</tbody>
</table>
</section>
+
define(__copy, `2016–2019')dnl
-include(footer.html)
+include(footer.html)dnl
dnl -*- html -*-
define(__title, `Licensing Information')dnl
define(__slug, `license')dnl
-include(header.html)
+include(header.html)dnl
+
<article>
<h1>License information for bandali.eu.org</h1>
<p>I strongly believe in
<li><a href="//www.gnu.org/proprietary/proprietary.html">Proprietary Software Is Often Malware</a></li>
</ul>
</article>
+
define(__copy, `2019')dnl
-include(footer.html)
+include(footer.html)dnl
--- /dev/null
+define(`__latest', 2)dnl
+define(`_put', `define(`$1[$2]', `$3')')dnl
+define(`_get', `defn(`$1[$2]')')dnl
+_put(`notes', 1, `arch-macbook-air')dnl
+_put(`notes', 2, `computing')dnl
dnl -*- html -*-
define(__title, `SE 212 Material')dnl
define(__slug, `se212-f19')dnl
-include(header.html)
+include(header.html)dnl
+
<article>
<h1>Material from SE 212 tutorials</h1>
<p>This page contains slides and other material from
<li>Tutorial 10: worked through questions 1–10 of Homework 10</li>
</ul>
</article>
-include(footer.html)
+
+include(footer.html)dnl