summaryrefslogtreecommitdiff
path: root/backend/ikistrap/templates
diff options
context:
space:
mode:
authorKarl Semich <0xloem@gmail.com>2016-08-27 04:31:52 -0400
committerKarl Semich <0xloem@gmail.com>2016-08-27 04:31:52 -0400
commit6945074c2c496a89665f559d431cf22602199937 (patch)
treedd76fa29e557aaaaf11a40d5595a22a996533f41 /backend/ikistrap/templates
parent227d6118cf72cf9333ac2488b76633f346e59425 (diff)
downloadstandingwithresilience-6945074c2c496a89665f559d431cf22602199937.tar.gz
standingwithresilience-6945074c2c496a89665f559d431cf22602199937.zip
Added ikistrap template
Diffstat (limited to 'backend/ikistrap/templates')
-rw-r--r--backend/ikistrap/templates/aggregatepost.tmpl19
-rw-r--r--backend/ikistrap/templates/archivepage.tmpl20
-rw-r--r--backend/ikistrap/templates/atomitem.tmpl49
-rw-r--r--backend/ikistrap/templates/atompage.tmpl39
-rw-r--r--backend/ikistrap/templates/autoindex.tmpl1
-rw-r--r--backend/ikistrap/templates/autotag.tmpl4
-rw-r--r--backend/ikistrap/templates/blogpost.tmpl16
-rw-r--r--backend/ikistrap/templates/calendarmonth.tmpl5
-rw-r--r--backend/ikistrap/templates/calendaryear.tmpl1
-rw-r--r--backend/ikistrap/templates/carouselimage.tmpl3
-rw-r--r--backend/ikistrap/templates/carouselpage.tmpl5
-rw-r--r--backend/ikistrap/templates/change.tmpl58
-rw-r--r--backend/ikistrap/templates/comment.tmpl66
-rw-r--r--backend/ikistrap/templates/commentmoderation.tmpl32
-rw-r--r--backend/ikistrap/templates/editcomment.tmpl42
-rw-r--r--backend/ikistrap/templates/editconflict.tmpl7
-rw-r--r--backend/ikistrap/templates/editcreationconflict.tmpl9
-rw-r--r--backend/ikistrap/templates/editfailedsave.tmpl10
-rw-r--r--backend/ikistrap/templates/editpage.tmpl94
-rw-r--r--backend/ikistrap/templates/editpagegone.tmpl7
-rw-r--r--backend/ikistrap/templates/emailauth.tmpl10
-rw-r--r--backend/ikistrap/templates/feedlink.tmpl9
-rw-r--r--backend/ikistrap/templates/googleform.tmpl4
-rw-r--r--backend/ikistrap/templates/inlinepage.tmpl77
-rw-r--r--backend/ikistrap/templates/login-selector.tmpl65
-rw-r--r--backend/ikistrap/templates/microblog.tmpl18
-rw-r--r--backend/ikistrap/templates/notifyemail.tmpl9
-rw-r--r--backend/ikistrap/templates/page.tmpl223
-rw-r--r--backend/ikistrap/templates/passwordmail.tmpl15
-rw-r--r--backend/ikistrap/templates/pocreatepage.tmpl3
-rw-r--r--backend/ikistrap/templates/recentchanges.tmpl7
-rw-r--r--backend/ikistrap/templates/renamesummary.tmpl30
-rw-r--r--backend/ikistrap/templates/revert.tmpl22
-rw-r--r--backend/ikistrap/templates/rssitem.tmpl28
-rw-r--r--backend/ikistrap/templates/rsspage.tmpl18
-rw-r--r--backend/ikistrap/templates/searchform.tmpl6
-rw-r--r--backend/ikistrap/templates/searchquery.tmpl113
-rw-r--r--backend/ikistrap/templates/simplecard.tmpl3
-rw-r--r--backend/ikistrap/templates/titlepage.tmpl7
-rw-r--r--backend/ikistrap/templates/trails.tmpl23
40 files changed, 1177 insertions, 0 deletions
diff --git a/backend/ikistrap/templates/aggregatepost.tmpl b/backend/ikistrap/templates/aggregatepost.tmpl
new file mode 100644
index 0000000..5a0f6e7
--- /dev/null
+++ b/backend/ikistrap/templates/aggregatepost.tmpl
@@ -0,0 +1,19 @@
+<TMPL_VAR CONTENT>
+<TMPL_LOOP TAGS>
+[[!tag <TMPL_VAR TAG>]]
+</TMPL_LOOP>
+<TMPL_IF TITLE>
+[[!meta title="<TMPL_VAR TITLE ESCAPE=HTML>"]]
+</TMPL_IF>
+<TMPL_IF PERMALINK>
+[[!meta permalink="<TMPL_VAR PERMALINK ESCAPE=HTML>"]]
+</TMPL_IF>
+<TMPL_IF COPYRIGHT>
+[[!meta copyright="<TMPL_VAR COPYRIGHT ESCAPE=HTML>"]]
+</TMPL_IF>
+<TMPL_IF AUTHOR>
+[[!meta author="<TMPL_VAR AUTHOR ESCAPE=HTML> (<TMPL_VAR NAME ESCAPE=HTML>)"]]
+<TMPL_ELSE>
+[[!meta author="<TMPL_VAR NAME ESCAPE=HTML>"]]
+</TMPL_IF>
+[[!meta authorurl="<TMPL_VAR URL ESCAPE=HTML>"]]
diff --git a/backend/ikistrap/templates/archivepage.tmpl b/backend/ikistrap/templates/archivepage.tmpl
new file mode 100644
index 0000000..f829904
--- /dev/null
+++ b/backend/ikistrap/templates/archivepage.tmpl
@@ -0,0 +1,20 @@
+<div class="archivepage">
+ <TMPL_IF PERMALINK>
+ <a href="<TMPL_VAR PERMALINK>"><TMPL_VAR TITLE></a><br />
+ <TMPL_ELSE>
+ <a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a><br />
+ </TMPL_IF>
+ <span class="archivepagedate">
+ Posted <TMPL_VAR CTIME>
+ <TMPL_IF AUTHOR>
+ by
+ <span class="author">
+ <TMPL_IF AUTHORURL>
+ <a href="<TMPL_VAR AUTHORURL>"><TMPL_VAR AUTHOR></a>
+ <TMPL_ELSE>
+ <TMPL_VAR AUTHOR>
+ </TMPL_IF>
+ </span>
+ </TMPL_IF>
+ </span>
+</div>
diff --git a/backend/ikistrap/templates/atomitem.tmpl b/backend/ikistrap/templates/atomitem.tmpl
new file mode 100644
index 0000000..9b056e0
--- /dev/null
+++ b/backend/ikistrap/templates/atomitem.tmpl
@@ -0,0 +1,49 @@
+<entry>
+ <title><TMPL_VAR TITLE></title>
+<TMPL_IF GUID>
+ <id><TMPL_VAR GUID></id>
+<TMPL_ELSE>
+ <id><TMPL_VAR URL></id>
+</TMPL_IF>
+ <link href="<TMPL_VAR PERMALINK>"/>
+<TMPL_IF AUTHOR>
+ <author><name><TMPL_VAR AUTHOR ESCAPE=HTML></name></author>
+</TMPL_IF>
+<TMPL_IF COPYRIGHT>
+ <rights type="html" xml:lang="en">
+<TMPL_IF LICENSE>
+ <TMPL_VAR LICENSE ESCAPE=HTML>
+ <TMPL_VAR COPYRIGHT ESCAPE=HTML>
+<TMPL_ELSE>
+ <TMPL_VAR COPYRIGHT ESCAPE=HTML>
+</TMPL_IF>
+ </rights>
+<TMPL_ELSE>
+<TMPL_IF LICENSE>
+ <rights type="html" xml:lang="en">
+ <TMPL_VAR LICENSE ESCAPE=HTML>
+ </rights>
+</TMPL_IF>
+</TMPL_IF>
+<TMPL_IF CATEGORIES>
+<TMPL_LOOP CATEGORIES>
+ <category term="<TMPL_VAR CATEGORY>" />
+</TMPL_LOOP>
+</TMPL_IF>
+ <updated><TMPL_VAR MDATE_3339></updated>
+ <published><TMPL_VAR CDATE_3339></published>
+<TMPL_IF ENCLOSURE>
+ <link rel="enclosure" type="<TMPL_VAR TYPE>" href="<TMPL_VAR ENCLOSURE>" length="<TMPL_VAR LENGTH>" />
+</TMPL_IF>
+<TMPL_UNLESS SIMPLEPODCAST>
+ <content type="html" xml:lang="en">
+ <TMPL_VAR CONTENT ESCAPE=HTML>
+ </content>
+</TMPL_UNLESS>
+<TMPL_IF COMMENTSURL>
+ <link rel="comments" href="<TMPL_VAR COMMENTSURL>" type="text/html" />
+</TMPL_IF>
+<TMPL_IF ATOMCOMMENTSURL>
+ <link rel="comments" href="<TMPL_VAR ATOMCOMMENTSURL>" type="application/atom+xml" />
+</TMPL_IF>
+</entry>
diff --git a/backend/ikistrap/templates/atompage.tmpl b/backend/ikistrap/templates/atompage.tmpl
new file mode 100644
index 0000000..3cdd71d
--- /dev/null
+++ b/backend/ikistrap/templates/atompage.tmpl
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<feed xmlns="http://www.w3.org/2005/Atom">
+<title><TMPL_VAR TITLE></title>
+<link href="<TMPL_VAR PAGEURL>"/>
+<link href="<TMPL_VAR FEEDURL>" rel="self" type="application/atom+xml"/>
+<author>
+<TMPL_IF AUTHOR>
+<name><TMPL_VAR AUTHOR></name>
+<TMPL_ELSE>
+<name><TMPL_VAR WIKINAME></name>
+</TMPL_IF>
+</author>
+<TMPL_IF COPYRIGHT>
+<rights type="html" xml:lang="en">
+<TMPL_IF LICENSE>
+ <TMPL_VAR LICENSE>
+ <TMPL_VAR COPYRIGHT ESCAPE=HTML>
+<TMPL_ELSE>
+ <TMPL_VAR COPYRIGHT ESCAPE=HTML>
+</TMPL_IF>
+</rights>
+<TMPL_ELSE>
+<TMPL_IF LICENSE>
+<rights type="html">
+ <TMPL_VAR LICENSE ESCAPE=HTML>
+</rights>
+</TMPL_IF>
+</TMPL_IF>
+<TMPL_IF GUID>
+<id><TMPL_VAR GUID></id>
+<TMPL_ELSE>
+<id><TMPL_VAR PAGEURL></id>
+</TMPL_IF>
+<subtitle type="html"><TMPL_VAR FEEDDESC ESCAPE=HTML></subtitle>
+<generator uri="http://ikiwiki.info/">ikiwiki</generator>
+<updated><TMPL_VAR FEEDDATE></updated>
+<TMPL_VAR CONTENT>
+</feed>
diff --git a/backend/ikistrap/templates/autoindex.tmpl b/backend/ikistrap/templates/autoindex.tmpl
new file mode 100644
index 0000000..d5ec3b8
--- /dev/null
+++ b/backend/ikistrap/templates/autoindex.tmpl
@@ -0,0 +1 @@
+[[!map pages="<TMPL_VAR PAGE>/* and ! <TMPL_VAR PAGE>/*/*"]]
diff --git a/backend/ikistrap/templates/autotag.tmpl b/backend/ikistrap/templates/autotag.tmpl
new file mode 100644
index 0000000..9162e9e
--- /dev/null
+++ b/backend/ikistrap/templates/autotag.tmpl
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged <TMPL_VAR TAGNAME>"]]
+
+[[!inline pages="tagged(<TMPL_VAR TAG>)" actions="no" archive="yes"
+feedshow=10]]
diff --git a/backend/ikistrap/templates/blogpost.tmpl b/backend/ikistrap/templates/blogpost.tmpl
new file mode 100644
index 0000000..9b8751a
--- /dev/null
+++ b/backend/ikistrap/templates/blogpost.tmpl
@@ -0,0 +1,16 @@
+<form <TMPL_IF POSTFORMID>id="<TMPL_VAR POSTFORMID ESCAPE=HTML>"</TMPL_IF> action="<TMPL_VAR CGIURL>" method="get">
+ <div class="blogform">
+ <TMPL_IF RSSURL>
+ <a class="feedbutton" type="application/rss+xml" rel="alternate" title="<TMPL_VAR RSSDESC>" href="<TMPL_VAR RSSURL>">RSS</a>
+ </TMPL_IF>
+ <TMPL_IF ATOMURL>
+ <a class="feedbutton" type="application/atom+xml" rel="alternate" title="<TMPL_VAR ATOMDESC>" href="<TMPL_VAR ATOMURL>">Atom</a>
+ </TMPL_IF>
+ <input type="hidden" name="do" value="blog" />
+ <input type="hidden" name="from" value="<TMPL_VAR ROOTPAGE>" />
+ <input type="hidden" name="subpage" value="1" />
+ <TMPL_VAR POSTFORMTEXT>
+ <input name="title" size="40" />
+ <input type="submit" value="Edit" />
+ </div>
+</form>
diff --git a/backend/ikistrap/templates/calendarmonth.tmpl b/backend/ikistrap/templates/calendarmonth.tmpl
new file mode 100644
index 0000000..23cd954
--- /dev/null
+++ b/backend/ikistrap/templates/calendarmonth.tmpl
@@ -0,0 +1,5 @@
+[[!sidebar content="""
+[[!calendar type=month month=<TMPL_VAR MONTH> year=<TMPL_VAR YEAR> pages="<TMPL_VAR PAGESPEC>"]]
+"""]]
+
+[[!inline pages="creation_month(<TMPL_VAR MONTH>) and creation_year(<TMPL_VAR YEAR>) and <TMPL_VAR PAGESPEC>" show=0 feeds=no reverse=yes]]
diff --git a/backend/ikistrap/templates/calendaryear.tmpl b/backend/ikistrap/templates/calendaryear.tmpl
new file mode 100644
index 0000000..714bd6d
--- /dev/null
+++ b/backend/ikistrap/templates/calendaryear.tmpl
@@ -0,0 +1 @@
+[[!calendar type=year year=<TMPL_VAR YEAR> pages="<TMPL_VAR PAGESPEC>"]]
diff --git a/backend/ikistrap/templates/carouselimage.tmpl b/backend/ikistrap/templates/carouselimage.tmpl
new file mode 100644
index 0000000..6a91f2b
--- /dev/null
+++ b/backend/ikistrap/templates/carouselimage.tmpl
@@ -0,0 +1,3 @@
+<div class="carousel-item<TMPL_IF FIRST> active</TMPL_IF>">
+<img class="carousel-image" src="<TMPL_VAR PAGEURL>" alt="<TMPL_VAR TITLE>">
+</div>
diff --git a/backend/ikistrap/templates/carouselpage.tmpl b/backend/ikistrap/templates/carouselpage.tmpl
new file mode 100644
index 0000000..78d9754
--- /dev/null
+++ b/backend/ikistrap/templates/carouselpage.tmpl
@@ -0,0 +1,5 @@
+<div class="carousel-item<TMPL_IF FIRST> active</TMPL_IF>">
+ <div class="carousel-page">
+ <TMPL_VAR CONTENT>
+ </div>
+</div>
diff --git a/backend/ikistrap/templates/change.tmpl b/backend/ikistrap/templates/change.tmpl
new file mode 100644
index 0000000..602449c
--- /dev/null
+++ b/backend/ikistrap/templates/change.tmpl
@@ -0,0 +1,58 @@
+[[!meta author="""<TMPL_VAR AUTHOR>"""]]
+<TMPL_IF AUTHORURL>
+[[!meta authorurl="""<TMPL_VAR AUTHORURL>"""]]
+</TMPL_IF>
+[[!meta title="""change to<TMPL_LOOP PAGES> <TMPL_VAR PAGE></TMPL_LOOP> on <TMPL_VAR WIKINAME>"""]]
+<TMPL_IF PERMALINK>
+[[!meta permalink="<TMPL_VAR PERMALINK>"]]
+</TMPL_IF>
+<div id="change-<TMPL_VAR REV>" class="metadata">
+ <span class="desc"><br />Changed pages:</span>
+ <span class="pagelinks">
+ <TMPL_UNLESS HAS_DIFFURL>
+ <TMPL_IF DIFF>
+ <a href="#diff-<TMPL_VAR REV>" class="toggle" title="diff" rel="nofollow">[[diff|wikiicons/diff.png]]</a>
+ </TMPL_IF>
+ </TMPL_UNLESS>
+ <TMPL_LOOP PAGES>
+ <TMPL_IF DIFFURL><a href="<TMPL_VAR DIFFURL>" title="diff" rel="nofollow">[[diff|wikiicons/diff.png]]</a><TMPL_VAR LINK>
+ <TMPL_ELSE><TMPL_VAR LINK></TMPL_IF>
+ </TMPL_LOOP>
+ </span>
+ <span class="desc"><br />Changed by:</span>
+ <span class="committer">
+ <TMPL_IF AUTHORURL>
+ <a href="<TMPL_VAR AUTHORURL>" rel="nofollow"><TMPL_VAR USER></a>
+ <TMPL_ELSE>
+ <TMPL_VAR USER>
+ </TMPL_IF>
+ </span>
+ <span class="desc"><br />Commit type:</span>
+ <span class="committype"><TMPL_VAR COMMITTYPE></span>
+ <span class="desc"><br />Date:</span>
+ <span class="changedate"><TMPL_VAR COMMITDATE></span>
+ <span class="desc"><br /></span>
+ <TMPL_IF REVERTURL>
+ <span class="revert">
+ <a href="<TMPL_VAR REVERTURL>" title="revert" rel="nofollow">[[revert|wikiicons/revert.png]]</a>
+ </span>
+ </TMPL_IF>
+</div>
+
+<div class="changelog">
+ <TMPL_LOOP MESSAGE>
+ <TMPL_IF LINE>
+ <TMPL_VAR LINE><br />
+ </TMPL_IF>
+ </TMPL_LOOP>
+</div>
+
+<TMPL_IF DIFF>
+<TMPL_IF HAS_DIFFURL>
+<div class="diff">
+<TMPL_ELSE>
+<div class="toggleable" id="diff-<TMPL_VAR REV>">
+</TMPL_IF>
+ <pre><TMPL_VAR DIFF></pre>
+</div>
+</TMPL_IF>
diff --git a/backend/ikistrap/templates/comment.tmpl b/backend/ikistrap/templates/comment.tmpl
new file mode 100644
index 0000000..59f2463
--- /dev/null
+++ b/backend/ikistrap/templates/comment.tmpl
@@ -0,0 +1,66 @@
+<article class="comment card" id="<TMPL_VAR COMMENTID>">
+ <TMPL_IF COMMENTAUTHORAVATAR>
+ <div class="comment-avatar">
+ <img src="<TMPL_VAR COMMENTAUTHORAVATAR>" alt="" />
+ </div>
+ </TMPL_IF>
+
+ <div class="commentheader card-header">
+ <header class="comment-subject" title="<TMPL_VAR TITLE>">
+ <TMPL_IF PERMALINK>
+ <a href="<TMPL_VAR PERMALINK>"><TMPL_VAR TITLE></a>
+ <TMPL_ELSE>
+ <TMPL_VAR TITLE>
+ </TMPL_IF>
+ </header>
+ </div>
+
+ <div class="commentcontent card-block card-text">
+ <TMPL_VAR CONTENT>
+ </div>
+
+ <footer class="commentfooter card-footer text-muted">
+ Posted <TMPL_VAR CTIME>
+ <TMPL_IF COMMENTUSER>
+ by
+ <TMPL_IF COMMENTOPENID>
+ <span class="author" title="OpenID">
+ <a href="<TMPL_VAR COMMENTOPENID>"><TMPL_VAR COMMENTAUTHOR></a>
+ </span>
+ <TMPL_ELSE>
+ <span class="author" title="Signed in">
+ <TMPL_IF COMMENTAUTHORURL>
+ <a href="<TMPL_VAR COMMENTAUTHORURL>"><TMPL_VAR COMMENTAUTHOR></a>
+ <TMPL_ELSE>
+ <TMPL_VAR COMMENTAUTHOR>
+ </TMPL_IF>
+ </span>
+ </TMPL_IF>
+ <TMPL_ELSE>
+ <TMPL_IF AUTHOR>
+ by
+ <TMPL_IF COMMENTIP>
+ <span class="author" title="Unauthenticated, from <TMPL_VAR COMMENTIP>">
+ <TMPL_ELSE>
+ <span class="author" title="Unauthenticated, from unknown IP address">
+ </TMPL_IF>
+ <TMPL_IF AUTHORURL>
+ <a href="<TMPL_VAR AUTHORURL>"><TMPL_VAR AUTHOR></a>
+ <TMPL_ELSE>
+ <TMPL_VAR AUTHOR>
+ </TMPL_IF>
+ </span>
+ </TMPL_IF>
+ </TMPL_IF>
+
+ <TMPL_IF HAVE_ACTIONS>
+ <nav class="actions">
+ <ul>
+ <TMPL_IF REMOVEURL>
+ <li><a href="<TMPL_VAR REMOVEURL>" rel="nofollow"><i class="fa fa-trash"></i>Remove comment</a></li>
+ </TMPL_IF>
+ </ul>
+ </nav>
+ </TMPL_IF>
+ </footer>
+</article>
diff --git a/backend/ikistrap/templates/commentmoderation.tmpl b/backend/ikistrap/templates/commentmoderation.tmpl
new file mode 100644
index 0000000..dcd0ec0
--- /dev/null
+++ b/backend/ikistrap/templates/commentmoderation.tmpl
@@ -0,0 +1,32 @@
+<TMPL_IF COMMENTS>
+<br />
+<form action="<TMPL_VAR CGIURL>" method="post">
+ <input type="hidden" name="do" value="commentmoderation" />
+ <input type="hidden" name="sid" value="<TMPL_VAR SID>" />
+ <input type="submit" value="Submit" />
+ <input id="rejectalldefer" type="checkbox" name="rejectalldefer" value="1" />
+ <label for="rejectalldefer">Reject all comments marked <em>Defer</em></label>
+ <br />
+ <TMPL_LOOP COMMENTS>
+ <div>
+ <div>
+ <TMPL_VAR VIEW>
+ </div>
+ <input id="defer_<TMPL_VAR ID>" type="radio" value="Defer" name="<TMPL_VAR ID>" checked="checked" />
+ <label for="defer_<TMPL_VAR ID>">Defer</label>
+ <input id="dccept_<TMPL_VAR ID>" type="radio" value="Accept" name="<TMPL_VAR ID>" />
+ <label for="dccept_<TMPL_VAR ID>">Accept</label>
+ <input id="reject_<TMPL_VAR ID>" type="radio" value="Reject" name="<TMPL_VAR ID>" />
+ <label for="reject_<TMPL_VAR ID>">Reject</label>
+ </div>
+ <br />
+ </TMPL_LOOP>
+ <input type="submit" value="Submit" />
+ <input id="rejectalldefer2" type="checkbox" name="rejectalldefer" value="1" />
+ <label for="rejectalldefer2">Reject all comments marked <em>Defer</em></label>
+</form>
+<TMPL_ELSE>
+<p>
+No comments need moderation at this time.
+</p>
+</TMPL_IF>
diff --git a/backend/ikistrap/templates/editcomment.tmpl b/backend/ikistrap/templates/editcomment.tmpl
new file mode 100644
index 0000000..e43fe0f
--- /dev/null
+++ b/backend/ikistrap/templates/editcomment.tmpl
@@ -0,0 +1,42 @@
+<div class="editcomment">
+ <TMPL_VAR MESSAGE>
+ <br />
+ <TMPL_VAR FORM-START>
+ <TMPL_VAR FIELD-DO>
+ <TMPL_VAR FIELD-SID>
+ <TMPL_VAR FIELD-PAGE>
+ <TMPL_UNLESS NAME=USERNAME>
+ <TMPL_IF NAME=ALLOWAUTHOR>
+ <label for="author" class="block">Name:</label>
+ <TMPL_VAR NAME=FIELD-AUTHOR> (optional, or <a href="<TMPL_VAR SIGNINURL>">signin</a>)
+ <br/>
+ <label for="url" class="block">Website:</label>
+ <TMPL_VAR NAME=FIELD-URL> (optional)
+ <br />
+ <label for="url" class="block">Email:</label>
+ <TMPL_VAR NAME=FIELD-EMAIL> <TMPL_VAR FIELD-ANONSUBSCRIBE>
+ <br />
+ <TMPL_ELSE>
+ (You might want to <a href="<TMPL_VAR SIGNINURL>">Signin</a> first?)
+ <br />
+ </TMPL_IF>
+ </TMPL_UNLESS>
+ <label for="subject" class="block">Subject:</label>
+ <TMPL_VAR FIELD-SUBJECT><br />
+ <label for="editcontent" class="block">Comment:</label>
+ <TMPL_VAR FIELD-EDITCONTENT><br />
+ <TMPL_VAR FORM-SUBMIT> <TMPL_VAR FIELD-TYPE> <TMPL_VAR HELPONFORMATTINGLINK>
+ <TMPL_VAR FIELD-SUBSCRIBE><br />
+ <TMPL_VAR NAME="FORM-END">
+ <TMPL_VAR WMD_PREVIEW>
+
+ <TMPL_IF NAME="PAGE_PREVIEW">
+ <hr />
+ <div class="header">
+ <span>Comment preview:</span>
+ </div>
+ <div id="preview">
+ <TMPL_VAR PAGE_PREVIEW>
+ </div>
+ </TMPL_IF>
+</div>
diff --git a/backend/ikistrap/templates/editconflict.tmpl b/backend/ikistrap/templates/editconflict.tmpl
new file mode 100644
index 0000000..1252033
--- /dev/null
+++ b/backend/ikistrap/templates/editconflict.tmpl
@@ -0,0 +1,7 @@
+<p class="error">
+<b>Your changes conflict with other changes made to the page.</b>
+</p>
+<p>
+Conflict markers have been inserted into the page content. Reconcile the
+conflict and commit again to save your changes.
+</p>
diff --git a/backend/ikistrap/templates/editcreationconflict.tmpl b/backend/ikistrap/templates/editcreationconflict.tmpl
new file mode 100644
index 0000000..c99102f
--- /dev/null
+++ b/backend/ikistrap/templates/editcreationconflict.tmpl
@@ -0,0 +1,9 @@
+<p class="error">
+<b>While you were creating this page, someone else independently created a page
+with the same name.</b>
+</p>
+<p>
+The edit box below contains the page's current content, followed by the
+content you entered previously, to allow you to merge the two
+together before saving.
+</p>
diff --git a/backend/ikistrap/templates/editfailedsave.tmpl b/backend/ikistrap/templates/editfailedsave.tmpl
new file mode 100644
index 0000000..5184f7d
--- /dev/null
+++ b/backend/ikistrap/templates/editfailedsave.tmpl
@@ -0,0 +1,10 @@
+<p class="error">
+<b>Failed to save your changes.</b>
+</p>
+<p>
+Your changes were not able to be saved to disk. The system gave the error:
+<blockquote>
+<TMPL_VAR ERROR_MESSAGE>
+</blockquote>
+Your changes are preserved below, and you can try again to save them.
+</p>
diff --git a/backend/ikistrap/templates/editpage.tmpl b/backend/ikistrap/templates/editpage.tmpl
new file mode 100644
index 0000000..f4ea2ce
--- /dev/null
+++ b/backend/ikistrap/templates/editpage.tmpl
@@ -0,0 +1,94 @@
+<TMPL_VAR JAVASCRIPT>
+<TMPL_VAR MESSAGE>
+<br />
+<TMPL_VAR FORM-START>
+<TMPL_VAR FIELD-DO>
+<TMPL_VAR FIELD-SID>
+<TMPL_VAR FIELD-FROM>
+<TMPL_VAR FIELD-RCSINFO>
+<TMPL_VAR FIELD-NEWFILE>
+<TMPL_IF NAME="PAGE_SELECT">
+<label for="page" class="inline">Page location:</label><TMPL_VAR FIELD-PAGE>
+<label for="type" class="inline">Page type:</label><TMPL_VAR FIELD-TYPE>
+<TMPL_ELSE>
+<TMPL_VAR FIELD-PAGE>
+<TMPL_VAR FIELD-TYPE>
+</TMPL_IF>
+<div class="editcontentdiv">
+ <TMPL_VAR FIELD-EDITCONTENT><br />
+</div>
+<TMPL_IF NAME="CAN_COMMIT">
+<label for="editmessage" class="block">Optional description of this change:</label>
+<TMPL_VAR FIELD-EDITMESSAGE><br />
+</TMPL_IF>
+<TMPL_VAR FORM-SUBMIT>
+<TMPL_VAR HELPONFORMATTINGLINK>
+<TMPL_IF NAME="FIELD-ATTACHMENT">
+<a class="toggle" href="#attachments">Attachments</a>
+</TMPL_IF>
+<TMPL_VAR FIELD-SUBSCRIBE>
+<TMPL_IF NAME="FIELD-ATTACHMENT">
+<div class="<TMPL_VAR ATTACHMENTS-CLASS>" id="attachments">
+ <div id="fileupload">
+ <script>
+ $(function () { $('#fileupload').fileupload(); }); // initialize upload widget
+ </script>
+ <script id="template-upload" type="text/x-jquery-tmpl">
+ <tr class="template-upload{{if error}} ui-state-error{{/if}}">
+ <td><input type="checkbox" name="attachment_select" value="${name}" />${name}</td>
+ {{if error}}
+ <td class="error" colspan="2">failed!</td>
+ {{else}}
+ <td class="progress" colspan="2"><div></div></td>
+ <td class="start"><button>Start</button></td>
+ {{/if}}
+ <td class="cancel"><button>Cancel</button></td>
+ </tr>
+ </script>
+ <script id="template-download" type="text/x-jquery-tmpl">
+ <tr class="template-download{{if error}} ui-state-error{{/if}}">
+ <td><input type="checkbox" checked name="attachment_select" value="${name}" />${name}</td>
+ <td>${humansize}</td>
+ {{if error}}
+ <td class="error" colspan="2">failed!</td>
+ {{else}}
+ <td>${stored_msg}</td>
+ {{/if}}
+ </tr>
+ </script>
+ <div class="fileupload-content">
+ <table class="files">
+ <TMPL_LOOP NAME="ATTACHMENT_LIST">
+ <tr>
+ <td><input type="checkbox" name="attachment_select" value="<TMPL_VAR NAME ESCAPE="HTML">" /><TMPL_VAR LINK></td>
+ <td><TMPL_VAR SIZE></td><td><TMPL_VAR MTIME></td>
+ </tr>
+ </TMPL_LOOP>
+ </table>
+ </div>
+ <TMPL_VAR FIELD-ATTACHMENT>
+ <noscript><TMPL_VAR FIELD-UPLOAD></noscript>
+ <TMPL_VAR FIELD-LINK><TMPL_VAR FIELD-RENAME><TMPL_VAR FIELD-REMOVE>
+ </div>
+</div>
+</TMPL_IF>
+<TMPL_VAR FORM-END>
+<TMPL_VAR WMD_PREVIEW>
+<TMPL_IF NAME="PAGE_PREVIEW">
+<hr />
+<div class="header">
+ <span>Page preview:</span>
+</div>
+<div id="preview">
+ <TMPL_VAR PAGE_PREVIEW>
+</div>
+</TMPL_IF>
+<TMPL_IF NAME="PAGE_DIFF">
+<hr />
+<div class="header">
+ <span>Diff:</span>
+</div>
+<div id="diff">
+ <TMPL_VAR PAGE_DIFF>
+</div>
+</TMPL_IF>
diff --git a/backend/ikistrap/templates/editpagegone.tmpl b/backend/ikistrap/templates/editpagegone.tmpl
new file mode 100644
index 0000000..2eed03a
--- /dev/null
+++ b/backend/ikistrap/templates/editpagegone.tmpl
@@ -0,0 +1,7 @@
+<p class="error">
+<b>The page you were editing has disappeared.</b>
+</p>
+<p>
+Perhaps someone else has deleted it or moved it. If you want to recreate
+this page with your text, click "Save Page" again.
+</p>
diff --git a/backend/ikistrap/templates/emailauth.tmpl b/backend/ikistrap/templates/emailauth.tmpl
new file mode 100644
index 0000000..5561406
--- /dev/null
+++ b/backend/ikistrap/templates/emailauth.tmpl
@@ -0,0 +1,10 @@
+To log into <TMPL_VAR WIKINAME>, just open the following link:
+
+<TMPL_VAR AUTHURL>
+
+This link can only be used once to log in, and will expire in one day.
+
+(Please disregard this email if you were not trying to log in.)
+
+--
+ikiwiki
diff --git a/backend/ikistrap/templates/feedlink.tmpl b/backend/ikistrap/templates/feedlink.tmpl
new file mode 100644
index 0000000..3fbbcf6
--- /dev/null
+++ b/backend/ikistrap/templates/feedlink.tmpl
@@ -0,0 +1,9 @@
+<div <TMPL_IF ID>id="<TMPL_VAR ID ESCAPE=HTML>"</TMPL_IF> class="feedlink btn-group">
+ <TMPL_IF RSSURL>
+ <a class="feedbutton btn btn-secondary" type="application/rss+xml" rel="alternate" title="<TMPL_VAR RSSDESC>" href="<TMPL_VAR RSSURL>"><i class="fa fa-rss"></i>RSS</a>
+ </TMPL_IF>
+ <TMPL_IF ATOMURL>
+ <a class="feedbutton btn btn-secondary" type="application/atom+xml" rel="alternate" title="<TMPL_VAR ATOMDESC>" href="<TMPL_VAR ATOMURL>"><i class="fa fa-rss"></i>Atom</a>
+ </TMPL_IF>
+</div>
+<p>
diff --git a/backend/ikistrap/templates/googleform.tmpl b/backend/ikistrap/templates/googleform.tmpl
new file mode 100644
index 0000000..0347972
--- /dev/null
+++ b/backend/ikistrap/templates/googleform.tmpl
@@ -0,0 +1,4 @@
+<form method="get" action="https://www.google.com/search" id="searchform" class="form-inline pull-xs-right">
+ <input name="sitesearch" value="<TMPL_VAR URL>" type="hidden" />
+ <input name="q" value="" id="searchbox" size="12" type="text" placeholder="Search…" class="form-control" />
+</form>
diff --git a/backend/ikistrap/templates/inlinepage.tmpl b/backend/ikistrap/templates/inlinepage.tmpl
new file mode 100644
index 0000000..68972c1
--- /dev/null
+++ b/backend/ikistrap/templates/inlinepage.tmpl
@@ -0,0 +1,77 @@
+<article class="inlinepage card">
+ <div class="inlineheader card-header">
+ <header title="<TMPL_VAR TITLE>">
+ <TMPL_IF PERMALINK>
+ <a href="<TMPL_VAR PERMALINK>"><TMPL_VAR TITLE></a>
+ <TMPL_ELSE>
+ <a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a>
+ </TMPL_IF>
+ </header>
+
+ <TMPL_IF HAVE_ACTIONS>
+ <div class="inline-actions">
+ <ul>
+ <TMPL_IF EDITURL>
+ <li><a href="<TMPL_VAR EDITURL>" rel="nofollow"><i class="fa fa-pencil"></i>Edit</a></li>
+ </TMPL_IF>
+ <TMPL_IF COMMENTSLINK>
+ <li><TMPL_VAR COMMENTSLINK></li>
+ <TMPL_ELSE>
+ <TMPL_IF DISCUSSIONLINK>
+ <li><TMPL_VAR DISCUSSIONLINK></li>
+ </TMPL_IF>
+ </TMPL_IF>
+ </ul>
+ </div>
+ </TMPL_IF>
+ </div>
+
+ <div class="inlinecontent card-block card-text">
+ <TMPL_VAR CONTENT>
+ </div>
+
+ <TMPL_IF ENCLOSURE>
+ <div id="inlineenclosure">
+ <a href="<TMPL_VAR ENCLOSURE>">Download</a>
+ </div>
+ </TMPL_IF>
+
+ <footer class="inlinefooter card-footer text-muted">
+ <div class="pageinfo">
+ <span class="pagedate">
+ Posted <TMPL_VAR CTIME>
+ </span>
+ <TMPL_IF AUTHOR>
+ by
+ <span class="author">
+ <TMPL_IF AUTHORURL>
+ <a href="<TMPL_VAR AUTHORURL>"><TMPL_VAR AUTHOR></a>
+ <TMPL_ELSE>
+ <TMPL_VAR AUTHOR>
+ </TMPL_IF>
+ </span>
+ </TMPL_IF>
+
+ <TMPL_IF COPYRIGHT>
+ <span class="pagecopyright">
+ <TMPL_VAR COPYRIGHT>
+ </span>
+ </TMPL_IF>
+
+ <TMPL_IF LICENSE>
+ <span class="pagelicense">
+ License: <TMPL_VAR LICENSE>
+ </span>
+ </TMPL_IF>
+ </div>
+
+ <TMPL_IF TAGS>
+ <nav class="tags">
+ <i class="fa fa-tag"></i>Tags:
+ <TMPL_LOOP TAGS>
+ <TMPL_VAR LINK>
+ </TMPL_LOOP>
+ </nav>
+ </TMPL_IF>
+ </footer>
+</article>
diff --git a/backend/ikistrap/templates/login-selector.tmpl b/backend/ikistrap/templates/login-selector.tmpl
new file mode 100644
index 0000000..3e7045c
--- /dev/null
+++ b/backend/ikistrap/templates/login-selector.tmpl
@@ -0,0 +1,65 @@
+<script type="text/javascript" src="ikiwiki/jquery.min.js"></script>
+<script type="text/javascript" src="ikiwiki/login-selector/login-selector.js"></script>
+<script type="text/javascript">
+$(document).ready(function() {
+ selector.init(
+ 'openid_identifier',
+ {
+ <TMPL_IF LOGIN_SELECTOR_OPENID>'openid': 1,</TMPL_IF>
+ <TMPL_IF LOGIN_SELECTOR_EMAILAUTH>'email': 1,</TMPL_IF>
+ },
+ '<TMPL_IF OTHERFORM>otherform</TMPL_IF>',
+ '<TMPL_VAR OTHERFORM_LABEL>'
+ );
+});
+</script>
+
+<form action="<TMPL_VAR CGIURL>" method="get" id="login_selector_form">
+ <div>
+ <script>
+ $('fieldset').append("<legend>Select login method</legend>");
+ </script>
+
+ <input type="hidden" name="do" value="signin" />
+ <input type="hidden" name="action" value="verify" />
+ <div id="login_choice">
+ <div id="login_btns"></div>
+ </div>
+
+ <div id="login_input_area">
+ <TMPL_IF LOGIN_SELECTOR_OPENID>
+ <div>
+ <h3>OpenId login:</h3>
+ <label for="openid_identifier" class="block">Enter your OpenID:</label>
+ <input id="openid_identifier" name="openid_identifier" type="text" value="<TMPL_VAR ESCAPE=HTML OPENID_URL>"/>
+ <input id="openid_submit" type="submit" value="Login"/>
+ </div>
+ </TMPL_IF>
+ <TMPL_IF LOGIN_SELECTOR_EMAILAUTH>
+ <div>
+ <h3>Email login:</h3>
+ <label for="email_address" class="block">Enter your email address:</label>
+ <input id="email_address" name="Email_entry" type="text" value="<TMPL_VAR ESCAPE=HTML EMAIL_ADDRESS>"/>
+ <input id="email_submit" type="submit" value="Login"/>
+ </div>
+ </TMPL_IF>
+ </div>
+
+ <TMPL_IF LOGIN_ERROR>
+ <div class="error"><TMPL_VAR LOGIN_ERROR></div>
+ </TMPL_IF>
+ <TMPL_IF LOGIN_INFO>
+ <TMPL_VAR LOGIN_INFO>
+ </TMPL_IF>
+ </div>
+</form>
+
+<div id="otherform">
+<TMPL_IF OTHERFORM>
+<br />
+<noscript>
+<h3><TMPL_VAR OTHERFORM_LABEL> login:</h3>
+</noscript>
+</TMPL_IF>
+<TMPL_VAR OTHERFORM>
+</div>
diff --git a/backend/ikistrap/templates/microblog.tmpl b/backend/ikistrap/templates/microblog.tmpl
new file mode 100644
index 0000000..ff761a6
--- /dev/null
+++ b/backend/ikistrap/templates/microblog.tmpl
@@ -0,0 +1,18 @@
+<div class="microblog">
+ <div class="inlinecontent">
+ <TMPL_VAR CONTENT>
+ </div>
+
+ <div class="microblog-header">
+ <TMPL_IF AUTHOR>
+ <span class="author">
+ <TMPL_IF AUTHORURL>
+ <a href="<TMPL_VAR AUTHORURL>"><TMPL_VAR AUTHOR></a>
+ <TMPL_ELSE>
+ <TMPL_VAR AUTHOR>
+ </TMPL_IF>
+ </span>
+ </TMPL_IF>
+ &mdash; <TMPL_VAR CTIME>
+ </div>
+</div>
diff --git a/backend/ikistrap/templates/notifyemail.tmpl b/backend/ikistrap/templates/notifyemail.tmpl
new file mode 100644
index 0000000..5087668
--- /dev/null
+++ b/backend/ikistrap/templates/notifyemail.tmpl
@@ -0,0 +1,9 @@
+A <TMPL_IF NAME=ISCOMMENT>comment has been posted at<TMPL_ELSE>change has been made to</TMPL_IF> <TMPL_VAR URL>
+<TMPL_IF NAME=SHOWCONTENT>
+----
+
+<TMPL_VAR CONTENT>
+
+----
+</TMPL_IF>
+To stop these notifications, visit <TMPL_VAR PREFSURL>
diff --git a/backend/ikistrap/templates/page.tmpl b/backend/ikistrap/templates/page.tmpl
new file mode 100644
index 0000000..6b964a3
--- /dev/null
+++ b/backend/ikistrap/templates/page.tmpl
@@ -0,0 +1,223 @@
+<!DOCTYPE html>
+<TMPL_IF HTML_LANG_CODE><html lang="<TMPL_VAR HTML_LANG_CODE>" dir="<TMPL_VAR HTML_LANG_DIR>" xmlns="http://www.w3.org/1999/xhtml"><TMPL_ELSE><html xmlns="http://www.w3.org/1999/xhtml"></TMPL_IF>
+<head>
+ <TMPL_IF DYNAMIC>
+ <TMPL_IF FORCEBASEURL><base href="<TMPL_VAR FORCEBASEURL>" />
+ <TMPL_ELSE><TMPL_IF BASEURL><base href="<TMPL_VAR BASEURL>" /></TMPL_IF>
+ </TMPL_IF>
+ </TMPL_IF>
+ <meta charset="utf-8" />
+ <title><TMPL_VAR TITLE></title>
+ <TMPL_IF RESPONSIVE_LAYOUT><meta name="viewport" content="width=device-width, initial-scale=1" /></TMPL_IF>
+ <TMPL_IF FAVICON><link rel="icon" href="<TMPL_VAR BASEURL><TMPL_VAR FAVICON>" type="image/x-icon" /></TMPL_IF>
+ <TMPL_IF BOOTSTRAP_LOCAL>
+ <link rel="stylesheet" href="<TMPL_VAR BASEURL>css/bootstrap.min.css" type="text/css" />
+ <link rel="stylesheet" href="<TMPL_VAR BASEURL>css/font-awesome.min.css" type="text/css" />
+ <script src="<TMPL_VAR BASEURL>js/jquery.min.js"></script>
+ <script src="<TMPL_VAR BASEURL>js/tether.min.js"></script>
+ <script src="<TMPL_VAR BASEURL>js/bootstrap.min.js"></script>
+ <TMPL_ELSE>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" type="text/css" />
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" type="text/css" />
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js"></script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js"></script>
+ </TMPL_IF>
+ <link rel="stylesheet" href="<TMPL_VAR BASEURL>style.css" type="text/css" />
+ <TMPL_IF LOCAL_CSS>
+ <link rel="stylesheet" href="<TMPL_VAR BASEURL><TMPL_VAR LOCAL_CSS>" type="text/css" />
+ <TMPL_ELSE>
+ <link rel="stylesheet" href="<TMPL_VAR BASEURL>local.css" type="text/css" />
+ </TMPL_IF>
+ <TMPL_UNLESS DYNAMIC>
+ <TMPL_IF EDITURL>
+ <link rel="alternate" type="application/x-wiki" title="Edit this page" href="<TMPL_VAR EDITURL>" />
+ </TMPL_IF>
+ <TMPL_IF FEEDLINKS><TMPL_VAR FEEDLINKS></TMPL_IF>
+ <TMPL_IF RELVCS><TMPL_VAR RELVCS></TMPL_IF>
+ <TMPL_IF META><TMPL_VAR META></TMPL_IF>
+ <TMPL_LOOP TRAILLOOP>
+ <TMPL_IF PREVPAGE>
+ <link rel="prev" href="<TMPL_VAR PREVURL>" title="<TMPL_VAR PREVTITLE>" />
+ </TMPL_IF>
+ <link rel="up" href="<TMPL_VAR TRAILURL>" title="<TMPL_VAR TRAILTITLE>" />
+ <TMPL_IF NEXTPAGE>
+ <link rel="next" href="<TMPL_VAR NEXTURL>" title="<TMPL_VAR NEXTTITLE>" />
+ </TMPL_IF>
+ </TMPL_LOOP>
+ </TMPL_UNLESS>
+</head>
+
+<body>
+ <div id="notfooter">
+ <div id="header">
+ <header class="navbar navbar-dark bg-inverse navbar-full">
+ <div class="container">
+ <button type="button" class="navbar-toggler hidden-sm-up pull-xs-right" data-toggle="collapse" data-target="#header-nav">&#9776;</button>
+
+ <ul class="nav navbar-nav">
+ <TMPL_LOOP NAME="PARENTLINKS">
+ <li class="nav-item <TMPL_UNLESS NAME="DEPTH_0">hidden-md-down</TMPL_UNLESS>"><a class="nav-link" href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a></li>
+ </TMPL_LOOP>
+ <li class="nav-item"><a class="nav-link active <TMPL_IF HAS_PARENTLINKS>hidden-md-down</TMPL_IF>" href="#"><TMPL_VAR TITLE><TMPL_IF ISTRANSLATION>&nbsp;(<TMPL_VAR PERCENTTRANSLATED>%)</TMPL_IF></a></li>
+ </ul>
+
+ <div class="collapse navbar-toggleable-xs" id="header-nav">
+ <TMPL_UNLESS DYNAMIC>
+ <TMPL_IF SEARCHFORM>
+ <TMPL_VAR SEARCHFORM>
+ </TMPL_IF>
+ </TMPL_UNLESS>
+
+ <TMPL_IF OTHERLANGUAGES>
+ <nav id="otherlanguages" class="pull-xs-right">
+ <ul class="nav navbar-nav">
+ <TMPL_LOOP OTHERLANGUAGES>
+ <li class="nav-item">
+ <a class="nav-link" href="<TMPL_VAR URL>"><TMPL_VAR LANGUAGE></a>
+ <TMPL_IF MASTER>(master)<TMPL_ELSE>&nbsp;(<TMPL_VAR PERCENT>%)</TMPL_IF>
+ </li>
+ </TMPL_LOOP>
+ </ul>
+ </nav>
+ </TMPL_IF>
+
+ <TMPL_IF HAVE_ACTIONS>
+ <nav class="actions pull-xs-right">
+ <ul class="nav navbar-nav">
+ <TMPL_IF EDITURL>
+ <li class="nav-item"><a class="nav-link" href="<TMPL_VAR EDITURL>" rel="nofollow"><i class="fa fa-pencil"></i>Edit</a></li>
+ </TMPL_IF>
+ <TMPL_IF RECENTCHANGESURL>
+ <li class="nav-item"><a class="nav-link" href="<TMPL_VAR RECENTCHANGESURL>">RecentChanges</a></li>
+ </TMPL_IF>
+ <TMPL_IF HISTORYURL>
+ <li class="nav-item"><a class="nav-link" href="<TMPL_VAR HISTORYURL>">History</a></li>
+ </TMPL_IF>
+ <TMPL_IF GETSOURCEURL>
+ <li class="nav-item"><a class="nav-link" href="<TMPL_VAR GETSOURCEURL>">Source</a></li>
+ </TMPL_IF>
+ <TMPL_IF PREFSURL>
+ <li class="nav-item"><a class="nav-link" href="<TMPL_VAR PREFSURL>"><i class="fa fa-cog"></i>Preferences</a></li>
+ </TMPL_IF>
+ <TMPL_IF ACTIONS>
+ <TMPL_LOOP ACTIONS>
+ <li class="nav-item nav-link"><TMPL_VAR ACTION></li>
+ </TMPL_LOOP>
+ </TMPL_IF>
+ <TMPL_IF COMMENTSLINK>
+ <li class="nav-item nav-link"><TMPL_VAR COMMENTSLINK></li>
+ <TMPL_ELSE>
+ <TMPL_IF DISCUSSIONLINK>
+ <li class="nav-item nav-link"><TMPL_VAR DISCUSSIONLINK></li>
+ </TMPL_IF>
+ </TMPL_IF>
+ </ul>
+ </nav>
+ </TMPL_IF>
+
+ <TMPL_UNLESS DYNAMIC>
+ <TMPL_VAR TRAILS>
+ </TMPL_UNLESS>
+ </div>
+ </div>
+ </header>
+ </div>
+
+ <div class="container">
+ <TMPL_UNLESS DYNAMIC>
+ <TMPL_IF SIDEBAR>
+ <div class="row">
+ <div class="col-sm-8 col-md-9">
+ </TMPL_IF>
+ </TMPL_UNLESS>
+
+ <main id="content">
+ <TMPL_VAR CONTENT>
+ </main>
+
+ <TMPL_IF ENCLOSURE>
+ <section id="enclosure" title="Download">
+ <a href="<TMPL_VAR ENCLOSURE>">Download</a>
+ </section>
+ </TMPL_IF>
+
+ <TMPL_UNLESS DYNAMIC>
+ <TMPL_IF COMMENTS>
+ <section id="comments" title="Comments">
+ <TMPL_IF ADDCOMMENTURL>
+ <a href="<TMPL_VAR ADDCOMMENTURL>" class="btn btn-primary">Add a comment</a>
+ <TMPL_ELSE>
+ <div class="addcomment">Comments on this page are closed.</div>
+ </TMPL_IF>
+ <TMPL_VAR COMMENTS>
+ </section>
+ </TMPL_IF>
+ </TMPL_UNLESS>
+
+ <TMPL_UNLESS DYNAMIC>
+ <TMPL_IF SIDEBAR>
+ </div>
+ <div class="col-sm-4 col-md-3">
+ <aside id="sidebar" class="card card-block">
+ <TMPL_VAR SIDEBAR>
+ </aside>
+ </div>
+ </div>
+ </TMPL_IF>
+ </TMPL_UNLESS>
+ </div>
+ </div>
+
+ <footer id="footer" class="container">
+ <TMPL_UNLESS DYNAMIC>
+ <nav id="pageinfo">
+ <TMPL_VAR TRAILS>
+ <TMPL_IF TAGS>
+ <span class="tags">
+ <i class="fa fa-tag"></i>Tags:
+ <TMPL_LOOP TAGS>
+ <TMPL_VAR LINK>
+ </TMPL_LOOP>
+ </span>
+ </TMPL_IF>
+
+ <TMPL_IF BACKLINKS>
+ <span id="backlinks">
+ <i class="fa fa-link"></i>Links:
+ <TMPL_LOOP BACKLINKS>
+ <a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a>
+ </TMPL_LOOP>
+ <TMPL_IF MORE_BACKLINKS>
+ <span class="popup">...
+ <span class="balloon">
+ <TMPL_LOOP MORE_BACKLINKS>
+ <a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a>
+ </TMPL_LOOP>
+ </span>
+ </span>
+ </TMPL_IF>
+ </span>
+ </TMPL_IF>
+
+ <TMPL_IF COPYRIGHT>
+ <span id="pagecopyright">
+ <a name="pagecopyright"/><TMPL_VAR COPYRIGHT>
+ </span>
+ </TMPL_IF>
+
+ <TMPL_IF LICENSE>
+ <span id="pagelicense">
+ <a name="pagelicense"/>License: <TMPL_VAR LICENSE>
+ </span>
+ </TMPL_IF>
+
+ <span id="pagedate">
+ Last edited <TMPL_VAR MTIME>.
+ </span>
+ </nav>
+ <TMPL_IF EXTRAFOOTER><TMPL_VAR EXTRAFOOTER></TMPL_IF>
+ </TMPL_UNLESS>
+ </footer>
+</body>
+</html>
diff --git a/backend/ikistrap/templates/passwordmail.tmpl b/backend/ikistrap/templates/passwordmail.tmpl
new file mode 100644
index 0000000..aa8a68c
--- /dev/null
+++ b/backend/ikistrap/templates/passwordmail.tmpl
@@ -0,0 +1,15 @@
+Someone[1], possibly you, requested that the password for
+<TMPL_VAR USER_NAME> on <TMPL_VAR WIKINAME>[2] be reset.
+
+To change your password, visit the following url, and enter a new password:
+
+<TMPL_VAR PASSWORDURL>
+
+This url can only be used once to change your password, and it will also
+stop working the next time you successfully log in.
+
+--
+ikiwiki
+
+[1] Their IP address was <TMPL_VAR REMOTE_ADDR>
+[2] Located at <TMPL_VAR WIKIURL>
diff --git a/backend/ikistrap/templates/pocreatepage.tmpl b/backend/ikistrap/templates/pocreatepage.tmpl
new file mode 100644
index 0000000..f22ee50
--- /dev/null
+++ b/backend/ikistrap/templates/pocreatepage.tmpl
@@ -0,0 +1,3 @@
+<p>
+<b>WARNING</b> this page must be written in <TMPL_VAR LANG>.
+</p>
diff --git a/backend/ikistrap/templates/recentchanges.tmpl b/backend/ikistrap/templates/recentchanges.tmpl
new file mode 100644
index 0000000..a2e8811
--- /dev/null
+++ b/backend/ikistrap/templates/recentchanges.tmpl
@@ -0,0 +1,7 @@
+<TMPL_IF FIRST>
+<div class="recentchanges">
+ </TMPL_IF>
+ <TMPL_VAR CONTENT>
+ <TMPL_IF LAST>
+</div>
+</TMPL_IF>
diff --git a/backend/ikistrap/templates/renamesummary.tmpl b/backend/ikistrap/templates/renamesummary.tmpl
new file mode 100644
index 0000000..e8eca6a
--- /dev/null
+++ b/backend/ikistrap/templates/renamesummary.tmpl
@@ -0,0 +1,30 @@
+<TMPL_IF ERROR>
+<p>
+<b>Failed to rename <TMPL_VAR SRC> to <TMPL_VAR DEST>: </b>
+<TMPL_VAR ERROR>
+</p>
+<TMPL_ELSE>
+<p>
+<b>Successfully renamed <TMPL_VAR SRC> to <TMPL_VAR DEST>.</b>
+</p>
+<p>
+<TMPL_IF FIXEDLINKS>
+The following pages have been automatically modified to update their links to <TMPL_VAR DEST>:
+<ul>
+ <TMPL_LOOP FIXEDLINKS>
+ <li><TMPL_VAR PAGE></li>
+ </TMPL_LOOP>
+</ul>
+</TMPL_IF>
+<TMPL_IF BROKENLINKS_CHECKED>
+<TMPL_IF BROKENLINKS>
+The following pages still link to <TMPL_VAR SRC>:
+<ul>
+ <TMPL_LOOP BROKENLINKS>
+ <li><TMPL_VAR PAGE></li>
+ </TMPL_LOOP>
+</ul>
+</TMPL_IF>
+</TMPL_IF>
+</p>
+</TMPL_IF>
diff --git a/backend/ikistrap/templates/revert.tmpl b/backend/ikistrap/templates/revert.tmpl
new file mode 100644
index 0000000..f41e93a
--- /dev/null
+++ b/backend/ikistrap/templates/revert.tmpl
@@ -0,0 +1,22 @@
+<TMPL_VAR FORM-START>
+<div>
+ <TMPL_VAR FIELD-DO>
+ <TMPL_VAR FIELD-SID>
+ <TMPL_VAR FIELD-REV>
+ <label for="revertmessage" class="block">Optional comment about this change:</label>
+ <TMPL_VAR FIELD-REVERTMESSAGE>
+</div>
+<div class="revert buttons">
+ <TMPL_VAR form-submit>
+ <TMPL_VAR form-cancel>
+</div>
+<TMPL_VAR FORM-END>
+<br \>
+<div class="header">
+ <span>Diff being reverted:</span>
+</div>
+<div id="diff">
+ <pre>
+ <TMPL_VAR diff>
+ </pre>
+</div>
diff --git a/backend/ikistrap/templates/rssitem.tmpl b/backend/ikistrap/templates/rssitem.tmpl
new file mode 100644
index 0000000..bb03ca5
--- /dev/null
+++ b/backend/ikistrap/templates/rssitem.tmpl
@@ -0,0 +1,28 @@
+<item>
+ <title><TMPL_VAR TITLE></title>
+<TMPL_IF GUID>
+ <guid isPermaLink="false"><TMPL_VAR GUID></guid>
+<TMPL_ELSE>
+ <guid isPermaLink="false"><TMPL_VAR URL></guid>
+</TMPL_IF>
+ <link><TMPL_VAR PERMALINK></link>
+<TMPL_IF AUTHOR>
+ <dc:creator><TMPL_VAR AUTHOR ESCAPE=HTML></dc:creator>
+</TMPL_IF>
+<TMPL_IF CATEGORIES>
+<TMPL_LOOP CATEGORIES>
+ <category><TMPL_VAR CATEGORY></category>
+</TMPL_LOOP>
+</TMPL_IF>
+ <pubDate><TMPL_VAR CDATE_822></pubDate>
+ <dcterms:modified><TMPL_VAR MDATE_3339></dcterms:modified>
+<TMPL_IF ENCLOSURE>
+ <enclosure url="<TMPL_VAR ENCLOSURE>" type="<TMPL_VAR TYPE>" length="<TMPL_VAR LENGTH>" />
+</TMPL_IF>
+<TMPL_UNLESS SIMPLEPODCAST>
+ <description><TMPL_VAR CONTENT ESCAPE=HTML></description>
+</TMPL_UNLESS>
+<TMPL_IF COMMENTSURL>
+ <comments><TMPL_VAR COMMENTSURL></comments>
+</TMPL_IF>
+</item>
diff --git a/backend/ikistrap/templates/rsspage.tmpl b/backend/ikistrap/templates/rsspage.tmpl
new file mode 100644
index 0000000..4f36306
--- /dev/null
+++ b/backend/ikistrap/templates/rsspage.tmpl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<rss version="2.0"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dcterms="http://purl.org/dc/terms/"
+ xmlns:atom="http://www.w3.org/2005/Atom">
+<channel>
+ <title><TMPL_VAR TITLE></title>
+ <link><TMPL_VAR PAGEURL></link>
+ <atom:link href="<TMPL_VAR FEEDURL>" rel="self" type="application/rss+xml"/>
+ <TMPL_IF COPYRIGHT>
+ <copyright><TMPL_VAR COPYRIGHT ESCAPE=HTML></copyright>
+ </TMPL_IF>
+ <description><TMPL_VAR FEEDDESC ESCAPE=HTML></description>
+ <generator>ikiwiki</generator>
+ <pubDate><TMPL_VAR FEEDDATE_822></pubDate>
+ <TMPL_VAR CONTENT>
+</channel>
+</rss>
diff --git a/backend/ikistrap/templates/searchform.tmpl b/backend/ikistrap/templates/searchform.tmpl
new file mode 100644
index 0000000..6029000
--- /dev/null
+++ b/backend/ikistrap/templates/searchform.tmpl
@@ -0,0 +1,6 @@
+<form method="get" action="<TMPL_VAR SEARCHACTION>" id="searchform" class="form-inline input-group input-group-sm pull-xs-right">
+ <input type="text" id="searchbox" name="P" value="" size="12" placeholder="Search…" class="form-control" />
+ <span class="input-group-btn">
+ <button class="btn btn-secondary" type="submit"><i class="fa fa-search"></i></button>
+ </span>
+</form>
diff --git a/backend/ikistrap/templates/searchquery.tmpl b/backend/ikistrap/templates/searchquery.tmpl
new file mode 100644
index 0000000..6277266
--- /dev/null
+++ b/backend/ikistrap/templates/searchquery.tmpl
@@ -0,0 +1,113 @@
+$setmap{prefix,title,S}
+$setmap{prefix,link,XLINK}
+$set{thousand,$.}$set{decimal,.}$setmap{BN,,Any Country,uk,England,fr,France}
+${
+$def{PREV,
+$if{$ne{$topdoc,0},<INPUT TYPE=image NAME="&lt;" ALT="&lt;"
+SRC="/images/xapian-omega/prev.png" BORDER=0 HEIGHT=30 WIDTH=30>,
+<IMG ALT="" SRC="/images/xapian-omega/prevoff.png" HEIGHT=30 WIDTH=30>}
+}
+
+$def{NEXT,
+$if{$ne{$last,$msize},<INPUT TYPE=image NAME="&gt;" ALT="&gt;"
+SRC="/images/xapian-omega/next.png" BORDER=0 HEIGHT=30 WIDTH=30>,
+<IMG ALT="" SRC="/images/xapian-omega/nextoff.png" HEIGHT=30 WIDTH=30>}
+}
+
+$def{P,<INPUT TYPE=image NAME="$1" VALUE="$1" SRC="/images/xapian-omega/page-$2.png" BORDER=0$opt{a} ALT="$1">}
+$def{PAGE,$if{$gt{$1,9},$if{$gt{$1,99},$P{$1,$div{$1,100}}}$P{$1,$mod{$div{$1,10},10}}}$P{$1,$mod{$1,10}}}
+
+$def{S,<IMG SRC="/images/xapian-omega/page-$2s.png"$opt{a} ALT=$1>}
+$def{SPAGE,$if{$gt{$1,9},$if{$gt{$1,99},$S{$1,$div{$1,100}}}$S{$1,$mod{$div{$1,10},10}}}$S{$1,$mod{$1,10}}}
+}
+
+$def{PREV,$if{$ne{$topdoc,0},<INPUT TYPE=submit NAME="&lt;" VALUE="Previous">}}
+
+$def{PAGE,<INPUT TYPE=submit NAME="[" VALUE="$1">}
+
+$def{SPAGE,<INPUT TYPE=submit NAME="[" VALUE="$1" DISABLED=disabled>}
+
+$def{NEXT,$if{$ne{$last,$msize},<INPUT TYPE=submit NAME="&gt;" VALUE="Next">}}
+
+<p>
+
+<FORM NAME=P METHOD=GET
+ACTION="$html{$env{CGIURL}}" TARGET="_top">
+<div class="searchquery" style="text-align:center">
+<INPUT class="searchbox" NAME=P VALUE="$html{$query}" SIZE=65>
+<INPUT TYPE=SUBMIT VALUE="Search">
+$env{HELPLINK}
+<hr>
+<SELECT NAME=DEFAULTOP>
+<OPTION VALUE=or $if{$eq{$defaultop,or},SELECTED}>Matching any words
+<OPTION VALUE=and $if{$eq{$defaultop,and},SELECTED}>Matching all words
+</SELECT>
+$or{$html{$error},
+$if{$eq{$msize,0},
+$if{$query,No documents match your query,
+<hr>Searching $nice{$dbsize} documents
+},
+$if{$not{$msizeexact},
+ $nice{$add{$topdoc,1}}-$nice{$last} of about $nice{$msize} matches,
+ $if{$and{$eq{$last,$msize},$eq{$topdoc,0}},
+ All $nice{$msize} matches,
+ $nice{$add{$topdoc,1}}$if{$ne{$add{$topdoc,1},$last},-$nice{$last}} of exactly $nice{$msize} matches}
+}
+<hr>
+</div>
+$list{$map{$queryterms,$list{$html{$uniq{$unstem{$_}}},<b>,</b>/<b>,</b>}:&nbsp;$nice{$freq{$_}}},Term frequencies: ,$. ,}
+<br><small>Search took $time seconds</small>
+<table>
+$hitlist{<tr><td valign=top>
+${<IMG SRC="/images/xapian-omega/score-$div{$percentage,10}.png" ALT="$percentage%" HEIGHT=16 WIDTH=32>}
+<div title="$percentage%" style='float:left;width:60px;height:10px;border:1px solid black;margin-top:4px;'>
+<div style='width:$div{$mul{$percentage,6},10}px; height:10px; background-color: red;'>
+</div></div>
+<div style='float:left;margin-top:2px;font-size:x-small;'>
+<span title="$html{$date{$field{modtime},%Y-%m-%d %H:%M:%S}}">
+Modified:<br><b>$html{$date{$field{modtime},%Y-%m-%d}}</b></span><br>
+$if{$field{language},Language: <b>$html{$field{language}}</b><br>}
+$if{$field{size},<span title="$html{$field{size}} bytes">Size: <b>$html{$filesize{$field{size}}}</b></span><br>}
+</div>
+</td>
+<td><B><A HREF="$html{$field{url}}">$html{$or{$field{caption},$field{title},$field{url},Untitled}}</A></B><BR>
+<small>$highlight{$field{sample},$terms}$if{$field{sample},...}</small><br>
+<small>
+$percentage% relevant$. matching:
+<i>$list{$map{$terms,$html{$prettyterm{$_}}},$. ,</i> and <i>}</i></small>${for lynx:}<p></td></tr>}
+</table>
+
+<br />
+
+<div style="text-align:center">
+${suppress next, prev, and page links if there's only one page}
+$if{$ne{$lastpage,1},
+$set{a,$if{$opt{pagelink_height}, HEIGHT=$opt{pagelink_height}}$if{$opt{pagelink_width}, WIDTH=$opt{pagelink_width}}}
+
+${1-W ... X-(this)-Y ...}
+$set{w,$min{3,$add{$thispage,-1}}}
+$set{x,$max{$add{$opt{w},1},$add{$thispage,-3}}}
+$set{y,$min{$lastpage,$add{$thispage,8}}}
+$PREV
+$map{$range{1,$opt{w}},$PAGE{$_}}
+$if{$ne{$add{$opt{w},1},$opt{x}},...}
+$map{$range{$opt{x},$add{$thispage,-1}},$PAGE{$_}}
+$SPAGE{$thispage}
+$map{$range{$add{$thispage,1},$opt{y}},$PAGE{$_}}
+$if{$ne{$opt{y},$lastpage},...}
+$NEXT
+}
+}}
+</div><br />
+$if{$dbname,<INPUT TYPE=hidden NAME=DB VALUE="$html{$dbname}">}
+$if{$ne{$topdoc,0},<INPUT TYPE=hidden NAME=TOPDOC VALUE=$topdoc>}
+$if{$ne{$hitsperpage,10},<INPUT TYPE=hidden NAME=HITSPERPAGE VALUE=$hitsperpage>}
+$if{$fmt,<INPUT TYPE=hidden NAME=FMT VALUE="$html{$fmt}">}
+$if{$cgi{COLLAPSE},<INPUT TYPE=hidden NAME=COLLAPSE VALUE="$html{$cgi{COLLAPSE}}">}
+$if{$queryterms,<INPUT TYPE=hidden NAME=xP VALUE="$html{$queryterms}">}
+<INPUT TYPE=hidden NAME=xDB VALUE="$html{$dbname}">
+<INPUT TYPE=hidden NAME=xFILTERS VALUE="$html{$filters}">
+$list{$relevants,<INPUT TYPE=hidden NAME=R VALUE=",.,">}
+$if{$cgi{THRESHOLD},<INPUT TYPE=hidden NAME=THRESHOLD VALUE="$html{$cgi{THRESHOLD}}">}
+</FORM>
+<hr><div align=right><i><small><a href="http://www.xapian.org/">$html{$version}</a></small></i></div>
diff --git a/backend/ikistrap/templates/simplecard.tmpl b/backend/ikistrap/templates/simplecard.tmpl
new file mode 100644
index 0000000..041b9ef
--- /dev/null
+++ b/backend/ikistrap/templates/simplecard.tmpl
@@ -0,0 +1,3 @@
+<div class="card card-block">
+ <TMPL_VAR CONTENT>
+</div>
diff --git a/backend/ikistrap/templates/titlepage.tmpl b/backend/ikistrap/templates/titlepage.tmpl
new file mode 100644
index 0000000..6326bab
--- /dev/null
+++ b/backend/ikistrap/templates/titlepage.tmpl
@@ -0,0 +1,7 @@
+<p>
+<TMPL_IF PERMALINK>
+<a href="<TMPL_VAR PERMALINK>"><TMPL_VAR TITLE></a>
+<TMPL_ELSE>
+<a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a>
+</TMPL_IF>
+</p>
diff --git a/backend/ikistrap/templates/trails.tmpl b/backend/ikistrap/templates/trails.tmpl
new file mode 100644
index 0000000..1eb8031
--- /dev/null
+++ b/backend/ikistrap/templates/trails.tmpl
@@ -0,0 +1,23 @@
+<TMPL_LOOP TRAILLOOP>
+<TMPL_IF __FIRST__><nav class="trails"></TMPL_IF>
+<div class="trail">
+ <TMPL_IF PREVPAGE>
+ <span class="trailprev">
+ <span class="trailarrow">←</span>
+ <a href="<TMPL_VAR PREVURL>"><TMPL_VAR PREVTITLE></a>
+ <span class="trailsep">|</span>
+ </span>
+ </TMPL_IF>
+ <span class="trailup">
+ <a href="<TMPL_VAR TRAILURL>"><TMPL_VAR TRAILTITLE></a>
+ </span>
+ <TMPL_IF NEXTPAGE>
+ <span class="trailnext">
+ <span class="trailsep">|</span>
+ <a href="<TMPL_VAR NEXTURL>"><TMPL_VAR NEXTTITLE></a>
+ <span class="trailarrow">→</span>
+ </span>
+ </TMPL_IF>
+</div>
+<TMPL_IF __LAST__></nav></TMPL_IF>
+</TMPL_LOOP>