"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.5.2" />\r
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
+<meta name="generator" content="AsciiDoc 8.6.6" />\r
<title>Syrup User Guide</title>\r
<style type="text/css">\r
-/* Debug borders */\r
-p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
-/*\r
- border: 1px solid red;\r
-*/\r
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */\r
+\r
+/* Default font. */\r
+body {\r
+ font-family: Georgia,serif;\r
+}\r
+\r
+/* Title font. */\r
+h1, h2, h3, h4, h5, h6,\r
+div.title, caption.title,\r
+thead, p.table.header,\r
+#toctitle,\r
+#author, #revnumber, #revdate, #revremark,\r
+#footer {\r
+ font-family: Arial,Helvetica,sans-serif;\r
}\r
\r
body {\r
color: #083194;\r
}\r
\r
-tt {\r
- color: navy;\r
-}\r
-\r
h1, h2, h3, h4, h5, h6 {\r
color: #527bbd;\r
- font-family: sans-serif;\r
margin-top: 1.2em;\r
margin-bottom: 0.5em;\r
line-height: 1.3;\r
h3 + * {\r
clear: left;\r
}\r
+h5 {\r
+ font-size: 1.0em;\r
+}\r
\r
div.sectionbody {\r
- font-family: serif;\r
margin-left: 0;\r
}\r
\r
ul, ol, li > p {\r
margin-top: 0;\r
}\r
+ul > li { color: #aaa; }\r
+ul > li > * { color: black; }\r
\r
pre {\r
padding: 0;\r
margin: 0;\r
}\r
\r
-span#author {\r
+#author {\r
color: #527bbd;\r
- font-family: sans-serif;\r
font-weight: bold;\r
font-size: 1.1em;\r
}\r
-span#email {\r
+#email {\r
}\r
-span#revnumber, span#revdate, span#revremark {\r
- font-family: sans-serif;\r
+#revnumber, #revdate, #revremark {\r
}\r
\r
-div#footer {\r
- font-family: sans-serif;\r
+#footer {\r
font-size: small;\r
border-top: 2px solid silver;\r
padding-top: 0.5em;\r
margin-top: 4.0em;\r
}\r
-div#footer-text {\r
+#footer-text {\r
float: left;\r
padding-bottom: 0.5em;\r
}\r
-div#footer-badges {\r
+#footer-badges {\r
float: right;\r
padding-bottom: 0.5em;\r
}\r
\r
-div#preamble {\r
+#preamble {\r
margin-top: 1.5em;\r
margin-bottom: 1.5em;\r
}\r
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
+div.imageblock, div.exampleblock, div.verseblock,\r
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
div.admonitionblock {\r
margin-top: 1.0em;\r
/* Block element titles. */\r
div.title, caption.title {\r
color: #527bbd;\r
- font-family: sans-serif;\r
font-weight: bold;\r
text-align: left;\r
margin-top: 1.0em;\r
\r
div.sidebarblock > div.content {\r
background: #ffffee;\r
- border: 1px solid silver;\r
+ border: 1px solid #dddddd;\r
+ border-left: 4px solid #f0f0f0;\r
padding: 0.5em;\r
}\r
\r
div.listingblock > div.content {\r
- border: 1px solid silver;\r
- background: #f4f4f4;\r
+ border: 1px solid #dddddd;\r
+ border-left: 5px solid #f0f0f0;\r
+ background: #f8f8f8;\r
padding: 0.5em;\r
}\r
\r
padding-left: 1.0em;\r
margin-left: 1.0em;\r
margin-right: 10%;\r
- border-left: 5px solid #dddddd;\r
- color: #777777;\r
+ border-left: 5px solid #f0f0f0;\r
+ color: #888;\r
}\r
\r
div.quoteblock > div.attribution {\r
text-align: right;\r
}\r
\r
-div.verseblock > div.content {\r
- white-space: pre;\r
+div.verseblock > pre.content {\r
+ font-family: inherit;\r
+ font-size: inherit;\r
}\r
div.verseblock > div.attribution {\r
padding-top: 0.75em;\r
margin-bottom: 0.1em;\r
}\r
\r
-div.tableblock > table {\r
- border: 3px solid #527bbd;\r
-}\r
-thead, p.table.header {\r
- font-family: sans-serif;\r
- font-weight: bold;\r
-}\r
tfoot {\r
font-weight: bold;\r
}\r
td > div.verse {\r
white-space: pre;\r
}\r
-p.table {\r
- margin-top: 0;\r
-}\r
-/* Because the table frame attribute is overriden by CSS in most browsers. */\r
-div.tableblock > table[frame="void"] {\r
- border-style: none;\r
-}\r
-div.tableblock > table[frame="hsides"] {\r
- border-left-style: none;\r
- border-right-style: none;\r
-}\r
-div.tableblock > table[frame="vsides"] {\r
- border-top-style: none;\r
- border-bottom-style: none;\r
-}\r
-\r
\r
div.hdlist {\r
margin-top: 0.8em;\r
min-width: 100px;\r
}\r
\r
+div.colist td {\r
+ padding-right: 0.5em;\r
+ padding-bottom: 0.3em;\r
+ vertical-align: top;\r
+}\r
+div.colist td img {\r
+ margin-top: 0.3em;\r
+}\r
\r
@media print {\r
- div#footer-badges { display: none; }\r
+ #footer-badges { display: none; }\r
}\r
\r
-div#toc {\r
+#toc {\r
margin-bottom: 2.5em;\r
}\r
\r
-div#toctitle {\r
+#toctitle {\r
color: #527bbd;\r
- font-family: sans-serif;\r
font-size: 1.1em;\r
font-weight: bold;\r
margin-top: 1.0em;\r
margin-left: 6em;\r
font-size: 0.9em;\r
}\r
-/* Workarounds for IE6's broken and incomplete CSS2. */\r
\r
-div.sidebar-content {\r
- background: #ffffee;\r
- border: 1px solid silver;\r
- padding: 0.5em;\r
+span.aqua { color: aqua; }\r
+span.black { color: black; }\r
+span.blue { color: blue; }\r
+span.fuchsia { color: fuchsia; }\r
+span.gray { color: gray; }\r
+span.green { color: green; }\r
+span.lime { color: lime; }\r
+span.maroon { color: maroon; }\r
+span.navy { color: navy; }\r
+span.olive { color: olive; }\r
+span.purple { color: purple; }\r
+span.red { color: red; }\r
+span.silver { color: silver; }\r
+span.teal { color: teal; }\r
+span.white { color: white; }\r
+span.yellow { color: yellow; }\r
+\r
+span.aqua-background { background: aqua; }\r
+span.black-background { background: black; }\r
+span.blue-background { background: blue; }\r
+span.fuchsia-background { background: fuchsia; }\r
+span.gray-background { background: gray; }\r
+span.green-background { background: green; }\r
+span.lime-background { background: lime; }\r
+span.maroon-background { background: maroon; }\r
+span.navy-background { background: navy; }\r
+span.olive-background { background: olive; }\r
+span.purple-background { background: purple; }\r
+span.red-background { background: red; }\r
+span.silver-background { background: silver; }\r
+span.teal-background { background: teal; }\r
+span.white-background { background: white; }\r
+span.yellow-background { background: yellow; }\r
+\r
+span.big { font-size: 2em; }\r
+span.small { font-size: 0.6em; }\r
+\r
+span.underline { text-decoration: underline; }\r
+span.overline { text-decoration: overline; }\r
+span.line-through { text-decoration: line-through; }\r
+\r
+\r
+/*\r
+ * xhtml11 specific\r
+ *\r
+ * */\r
+\r
+tt {\r
+ font-family: monospace;\r
+ font-size: inherit;\r
+ color: navy;\r
+}\r
+\r
+div.tableblock {\r
+ margin-top: 1.0em;\r
+ margin-bottom: 1.5em;\r
}\r
-div.sidebar-title, div.image-title {\r
+div.tableblock > table {\r
+ border: 3px solid #527bbd;\r
+}\r
+thead, p.table.header {\r
+ font-weight: bold;\r
color: #527bbd;\r
- font-family: sans-serif;\r
+}\r
+p.table {\r
+ margin-top: 0;\r
+}\r
+/* Because the table frame attribute is overriden by CSS in most browsers. */\r
+div.tableblock > table[frame="void"] {\r
+ border-style: none;\r
+}\r
+div.tableblock > table[frame="hsides"] {\r
+ border-left-style: none;\r
+ border-right-style: none;\r
+}\r
+div.tableblock > table[frame="vsides"] {\r
+ border-top-style: none;\r
+ border-bottom-style: none;\r
+}\r
+\r
+\r
+/*\r
+ * html5 specific\r
+ *\r
+ * */\r
+\r
+.monospaced {\r
+ font-family: monospace;\r
+ font-size: inherit;\r
+ color: navy;\r
+}\r
+\r
+table.tableblock {\r
+ margin-top: 1.0em;\r
+ margin-bottom: 1.5em;\r
+}\r
+thead, p.tableblock.header {\r
font-weight: bold;\r
- margin-top: 0.0em;\r
- margin-bottom: 0.5em;\r
+ color: #527bbd;\r
+}\r
+p.tableblock {\r
+ margin-top: 0;\r
+}\r
+table.tableblock {\r
+ border-width: 3px;\r
+ border-spacing: 0px;\r
+ border-style: solid;\r
+ border-color: #527bbd;\r
+ border-collapse: collapse;\r
+}\r
+th.tableblock, td.tableblock {\r
+ border-width: 1px;\r
+ padding: 4px;\r
+ border-style: solid;\r
+ border-color: #527bbd;\r
}\r
\r
-div.listingblock div.content {\r
- border: 1px solid silver;\r
- background: #f4f4f4;\r
- padding: 0.5em;\r
+table.tableblock.frame-topbot {\r
+ border-left-style: hidden;\r
+ border-right-style: hidden;\r
+}\r
+table.tableblock.frame-sides {\r
+ border-top-style: hidden;\r
+ border-bottom-style: hidden;\r
+}\r
+table.tableblock.frame-none {\r
+ border-style: hidden;\r
}\r
\r
-div.quoteblock-attribution {\r
- padding-top: 0.5em;\r
+th.tableblock.halign-left, td.tableblock.halign-left {\r
+ text-align: left;\r
+}\r
+th.tableblock.halign-center, td.tableblock.halign-center {\r
+ text-align: center;\r
+}\r
+th.tableblock.halign-right, td.tableblock.halign-right {\r
text-align: right;\r
}\r
\r
-div.verseblock-content {\r
- white-space: pre;\r
+th.tableblock.valign-top, td.tableblock.valign-top {\r
+ vertical-align: top;\r
}\r
-div.verseblock-attribution {\r
- padding-top: 0.75em;\r
- text-align: left;\r
+th.tableblock.valign-middle, td.tableblock.valign-middle {\r
+ vertical-align: middle;\r
+}\r
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {\r
+ vertical-align: bottom;\r
}\r
\r
-div.exampleblock-content {\r
- border-left: 3px solid #dddddd;\r
- padding-left: 0.5em;\r
+\r
+/*\r
+ * manpage specific\r
+ *\r
+ * */\r
+\r
+body.manpage h1 {\r
+ padding-top: 0.5em;\r
+ padding-bottom: 0.5em;\r
+ border-top: 2px solid silver;\r
+ border-bottom: 2px solid silver;\r
+}\r
+body.manpage h2 {\r
+ border-style: none;\r
+}\r
+body.manpage div.sectionbody {\r
+ margin-left: 3em;\r
}\r
\r
-/* IE6 sets dynamically generated links as visited. */\r
-div#toc a:visited { color: blue; }\r
+@media print {\r
+ body.manpage div#toc { display: none; }\r
+}\r
</style>\r
<script type="text/javascript">\r
/*<![CDATA[*/\r
-window.onload = function(){asciidoc.footnotes(); asciidoc.toc(2);}\r
var asciidoc = { // Namespace.\r
\r
/////////////////////////////////////////////////////////////////////\r
}\r
\r
var toc = document.getElementById("toc");\r
+ if (!toc) {\r
+ return;\r
+ }\r
+\r
+ // Delete existing TOC entries in case we're reloading the TOC.\r
+ var tocEntriesToRemove = [];\r
+ var i;\r
+ for (i = 0; i < toc.childNodes.length; i++) {\r
+ var entry = toc.childNodes[i];\r
+ if (entry.nodeName == 'div'\r
+ && entry.getAttribute("class")\r
+ && entry.getAttribute("class").match(/^toclevel/))\r
+ tocEntriesToRemove.push(entry);\r
+ }\r
+ for (i = 0; i < tocEntriesToRemove.length; i++) {\r
+ toc.removeChild(tocEntriesToRemove[i]);\r
+ }\r
+\r
+ // Rebuild TOC entries.\r
var entries = tocEntries(document.getElementById("content"), toclevels);\r
for (var i = 0; i < entries.length; ++i) {\r
var entry = entries[i];\r
*/\r
\r
footnotes: function () {\r
- var cont = document.getElementById("content");\r
+ // Delete existing footnote entries in case we're reloading the footnodes.\r
+ var i;\r
var noteholder = document.getElementById("footnotes");\r
+ if (!noteholder) {\r
+ return;\r
+ }\r
+ var entriesToRemove = [];\r
+ for (i = 0; i < noteholder.childNodes.length; i++) {\r
+ var entry = noteholder.childNodes[i];\r
+ if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")\r
+ entriesToRemove.push(entry);\r
+ }\r
+ for (i = 0; i < entriesToRemove.length; i++) {\r
+ noteholder.removeChild(entriesToRemove[i]);\r
+ }\r
+\r
+ // Rebuild footnote entries.\r
+ var cont = document.getElementById("content");\r
var spans = cont.getElementsByTagName("span");\r
var refs = {};\r
var n = 0;\r
for (i=0; i<spans.length; i++) {\r
if (spans[i].className == "footnote") {\r
n++;\r
- // Use [\s\S] in place of . so multi-line matches work.\r
- // Because JavaScript has no s (dotall) regex flag.\r
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
+ var note = spans[i].getAttribute("data-note");\r
+ if (!note) {\r
+ // Use [\s\S] in place of . so multi-line matches work.\r
+ // Because JavaScript has no s (dotall) regex flag.\r
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
+ spans[i].innerHTML =\r
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
+ "' title='View footnote' class='footnote'>" + n + "</a>]";\r
+ spans[i].setAttribute("data-note", note);\r
+ }\r
noteholder.innerHTML +=\r
"<div class='footnote' id='_footnote_" + n + "'>" +\r
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +\r
n + "</a>. " + note + "</div>";\r
- spans[i].innerHTML =\r
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
- "' title='View footnote' class='footnote'>" + n + "</a>]";\r
var id =spans[i].getAttribute("id");\r
if (id != null) refs["#"+id] = n;\r
}\r
}\r
}\r
}\r
+},\r
+\r
+install: function(toclevels) {\r
+ var timerId;\r
+\r
+ function reinstall() {\r
+ asciidoc.footnotes();\r
+ if (toclevels) {\r
+ asciidoc.toc(toclevels);\r
+ }\r
+ }\r
+\r
+ function reinstallAndRemoveTimer() {\r
+ clearInterval(timerId);\r
+ reinstall();\r
+ }\r
+\r
+ timerId = setInterval(reinstall, 500);\r
+ if (document.addEventListener)\r
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);\r
+ else\r
+ window.onload = reinstallAndRemoveTimer;\r
}\r
\r
}\r
+asciidoc.install(2);\r
/*]]>*/\r
</script>\r
</head>\r
-<body style="max-width:55em">\r
+<body class="article" style="max-width:55em">\r
<div id="header">\r
<h1>Syrup User Guide</h1>\r
<span id="author">Art Rhyno</span><br />\r
-<span id="email"><tt><<a href="mailto:http://projectconifer.ca">http://projectconifer.ca</a>></tt></span><br />\r
-<div id="toc">\r
- <div id="toctitle">Table of Contents</div>\r
- <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>\r
+<span id="email"><tt><<a href="mailto:http://github.com/artunit">http://github.com/artunit</a>></tt></span><br />\r
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
</div>\r
</div>\r
<div id="content">\r
<div class="paragraph"><p>This document assumes you have Syrup running and walks through configuring a\r
working instance.</p></div>\r
<div class="sidebarblock">\r
-<div class="sidebar-content">\r
-<div class="sidebar-title">Why Syrup?</div>\r
+<div class="content">\r
+<div class="title">Why Syrup?</div>\r
<div class="paragraph"><p>It is a little unclear. It might have been an acronym for <em>Serving Your\r
Reserves to University Populations</em>. The project originated within\r
-<a href="http://projectconifer.ca/">Project Conifer</a> and pays homage to the library\r
+<a href="http://http://git.evergreen-ils.org/?p=contrib/Conifer.git;a=summary">Project Conifer</a> and pays homage to the library\r
world’s most ambitious open source undertaking (otherwise known as\r
<a href="http://www.open-ils.org/">Evergreen</a>).</p></div>\r
</div></div>\r
</div>\r
</div>\r
+<div class="sect1">\r
<h2 id="_initial_configuration">1. Initial Configuration</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Syrup needs time periods for controlling when course sites are to be made\r
yeBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//2Q==" />\r
</span></p></div>\r
-<div class="paragraph"><p><span style="color:underline;">Finally</span>, we can create a <em>Course Site</em>.</p></div>\r
+<div class="paragraph"><p><span class="underline">Finally</span>, we can create a <em>Course Site</em>.</p></div>\r
<div class="paragraph"><p><span class="image">\r
<img alt="site option" src="data:image/jpg;base64,\r
/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAUDBAQEAwUEBAQF\r
IgCIiAIiIAiIgP/Z" />\r
</span></p></div>\r
</div>\r
+</div>\r
+<div class="sect1">\r
<h2 id="_configuring_evergreen_for_authentication_and_updates">2. Configuring Evergreen for Authentication and Updates</h2>\r
<div class="sectionbody">\r
<div class="paragraph"><p>Syrup uses a <em>local_settings.py</em> file for base configuration parameters and an\r
</span></p></div>\r
</div>\r
</div>\r
+</div>\r
<div id="footnotes"><hr /></div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 2011-07-10 02:16:35 EDT\r
+Last updated 2014-04-10 12:13:09 EDT\r
</div>\r
</div>\r
</body>\r