Add docs and further RSS tweaks.
This commit is contained in:
parent
4752370bd5
commit
b3455146ae
5 changed files with 111 additions and 7 deletions
6
README
6
README
|
@ -1,16 +1,18 @@
|
|||
Coleslaw aims to be flexible blog software suitable for replacing a single-user static site compiler such as Jekyll.
|
||||
|
||||
Full docs coming soon...
|
||||
|
||||
Features:
|
||||
* Git for storage
|
||||
* RSS feeds!
|
||||
* Plugins to...
|
||||
** Import from wordpress
|
||||
** Use Mathjax/LaTeX
|
||||
** Host on Amazon S3
|
||||
|
||||
Forthcoming:
|
||||
* Markdown support
|
||||
* RST support
|
||||
* Atom or RSS feeds
|
||||
* Host on Amazon S3
|
||||
* Code highlighting
|
||||
|
||||
References:
|
||||
|
|
99
docs/coleslaw.html
Normal file
99
docs/coleslaw.html
Normal file
|
@ -0,0 +1,99 @@
|
|||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>API for COLESLAW</title>
|
||||
<style type="text/css" media="all">
|
||||
body {margin: 0 2em .5em 2em;font-family: Verdana,Arial,sans-serif;}
|
||||
.package {background: #efefef;
|
||||
padding: 1.5em 0 1em 0;
|
||||
text-align: center;
|
||||
font-size: x-large;}
|
||||
.definition {background: #efefef; padding: .3em 1em;}
|
||||
a.symbolname, a:visited.symbolname {font-weight: bold;}
|
||||
.initargs {font-size: small;}
|
||||
.slots {font-size: small;}
|
||||
div.label {border-bottom: 1px solid #efefef; margin-bottom: .5em}
|
||||
.symboldecl, .footer {margin: 0 2em 2em 2em;}
|
||||
.symbolname {font-weight: bold; color: gray;}
|
||||
.symboltype {font-style: italic;margin-left: 1.5em; font-size: smaller;}
|
||||
.documentation {color: gray; font-family: Fixed,monospace;margin: 0 0 1.5em 0.5em;}
|
||||
.packagedocumentation {color: gray;
|
||||
font-family: Fixed,monospace;
|
||||
margin: 0 0 1.5em 0;
|
||||
border: 1px solid #efefef;
|
||||
padding-left: 1.5em;}
|
||||
.symbolcomments span {font-weight: bold;}
|
||||
.footer {font-size: x-small; text-align: right; margin-top: 2em; padding-top: 1em; border-top: 1px solid gray;}
|
||||
.undocumented {color: red; font-weight: bold;}
|
||||
a, a:visited {font-weight: bold; color: gray; text-decoration: none; font-weight: normal;}
|
||||
a:hover {border-bottom: 1px solid gray; }
|
||||
.label {font-weight: bold; font-style: italic;color: gray;}
|
||||
.labeltitle {font-weight: bold; font-style: italic;color: gray; border: 1px solid #efefef; padding: .25em;margin-bottom: .5em}
|
||||
.frame {marin-top: 1.5em}
|
||||
.expander {border: 2px solid #efefef; color: gray;
|
||||
font-weight: bold;
|
||||
font-family: Fixed,monospace;
|
||||
margin-right: .25em; padding: 0 .25em;cursor: pointer;}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function expand (expander, id) {
|
||||
var text = expander.innerHTML;
|
||||
if (text == '-')
|
||||
{
|
||||
expander.innerHTML = '+';
|
||||
document.getElementById(id).style.display = 'none';
|
||||
}
|
||||
else
|
||||
{
|
||||
expander.innerHTML = '-';
|
||||
document.getElementById(id).style.display = '';
|
||||
}
|
||||
}</script></head>
|
||||
<body>
|
||||
<div class="package">
|
||||
<div class="definition">API for package:
|
||||
<a class="symbolname" name="coleslaw_package" href="#coleslaw_package">coleslaw</a></div></div>
|
||||
<div class="packagedocumentation">
|
||||
<pre>Homepage: <a href="http://github.com/redline6561/coleslaw">Github</a></pre></div>
|
||||
<div class="frame">
|
||||
<div class="labeltitle">
|
||||
<span class="expander" onclick="expand(this, 'functions');">-</span>Functions</div>
|
||||
<div id="functions">
|
||||
<div class="symboldecl">
|
||||
<div class="definition">
|
||||
<a class="symbolname" name="add-injection_func" href="#add-injection_func">add-injection</a>
|
||||
<span class="lambdalist">str location</span>
|
||||
<span class="symboltype">standard-generic-function</span></div>
|
||||
<div class="documentation">
|
||||
<pre>Add STR to the list of elements injected in LOCATION.</pre></div></div>
|
||||
<div class="symboldecl">
|
||||
<div class="definition">
|
||||
<a class="symbolname" name="deploy_func" href="#deploy_func">deploy</a>
|
||||
<span class="lambdalist">dir</span>
|
||||
<span class="symboltype">standard-generic-function</span></div>
|
||||
<div class="documentation">
|
||||
<pre>Deploy DIR, updating the .prev and .curr symlinks.</pre></div></div>
|
||||
<div class="symboldecl">
|
||||
<div class="definition">
|
||||
<a class="symbolname" name="main_func" href="#main_func">main</a>
|
||||
<span class="lambdalist"></span>
|
||||
<span class="symboltype">function</span></div>
|
||||
<div class="documentation">
|
||||
<pre>:undocumented</pre></div></div>
|
||||
<div class="symboldecl">
|
||||
<div class="definition">
|
||||
<a class="symbolname" name="render-content_func" href="#render-content_func">render-content</a>
|
||||
<span class="lambdalist">text format</span>
|
||||
<span class="symboltype">standard-generic-function</span></div>
|
||||
<div class="documentation">
|
||||
<pre>Compile TEXT from the given FORMAT to HTML for display.</pre></div></div>
|
||||
<div class="symboldecl">
|
||||
<div class="definition">
|
||||
<a class="symbolname" name="render-feed_func" href="#render-feed_func">render-feed</a>
|
||||
<span class="lambdalist"></span>
|
||||
<span class="symboltype">function</span></div>
|
||||
<div class="documentation">
|
||||
<pre>Render and write the feed for the site.</pre></div></div></div></div>
|
||||
<div class="footer">Generated by:
|
||||
<a href="http://common-lisp.net/project/cl-api">CL-API</a></div></body></html>
|
|
@ -25,8 +25,9 @@ on files that match the given extension."
|
|||
`,body))
|
||||
(list-directory ,path))))
|
||||
|
||||
(defun render-page (path html)
|
||||
"Populate the base template with the provided HTML and write it out to PATH."
|
||||
(defun render-page (path html &optional raw)
|
||||
"Populate the base template with the provided HTML and write it out to PATH.
|
||||
If RAW is non-nil, write the content without wrapping it in the base template."
|
||||
(let ((filepath (merge-pathnames path (staging *config*))))
|
||||
(ensure-directories-exist filepath)
|
||||
(with-open-file (out filepath
|
||||
|
@ -43,7 +44,7 @@ on files that match the given extension."
|
|||
(gethash :body *injections*))
|
||||
:license (license *config*)
|
||||
:credits (author *config*)))))
|
||||
(write-line content out)))))
|
||||
(write-line (if raw html content) out)))))
|
||||
|
||||
(defun compile-blog ()
|
||||
"Compile the blog to a staging directory in /tmp."
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
(format nil "<![CDATA[ ~A ]]>" string))
|
||||
|
||||
(defun render-feed ()
|
||||
"Render and write the RSS feed for the site."
|
||||
"Render and write the feed for the site."
|
||||
(let* ((posts (subseq (by-date (hash-table-values *posts*)) 0 10))
|
||||
(content (loop for post in posts
|
||||
collect (list :title (post-title post)
|
||||
|
@ -34,4 +34,4 @@
|
|||
:title (title *config*)
|
||||
:siteroot (domain *config*)
|
||||
:author (author *config*)
|
||||
:posts content))))
|
||||
:posts content)) t))
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
(defpackage :coleslaw
|
||||
(:documentation "Homepage: <a href=\"http://github.com/redline6561/coleslaw\">Github</a>")
|
||||
(:use :cl :closure-template)
|
||||
(:import-from :cl-fad #:delete-directory-and-files
|
||||
#:list-directory)
|
||||
|
@ -10,4 +11,5 @@
|
|||
(:export #:main
|
||||
#:add-injection
|
||||
#:render-content
|
||||
#:render-feed
|
||||
#:deploy))
|
||||
|
|
Loading…
Add table
Reference in a new issue