Permalink
Browse files

Initial development blogs

  • Loading branch information...
1 parent 4814650 commit ab35e15df7bd23b59cb1136fd276e8a35bf60fbf @hugoduncan committed Mar 5, 2009
View
@@ -1,3 +1,4 @@
#*#
.#*
*.fasl
+*.DS_Store
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<html xmlns='http://hugoduncan.org/xmlns/post'>
+<head>
+ <title>Blog Generator Configuration</title>
+ <tag>lisp</tag>
+</head>
+<body>
+<p>The blog generator is intended to be quite flexible, within the design constraints, which has lead to a large number of possible configurations, both on the lisp side, and for Emacs. Drafts can be written using any editor, but I shall describe use with Emacs. The package has only been tested with SBCL, but should work with any common lisp implentation.</p>
+
+<h2>Prerequisites</h2>
+<p>The blog generator uses <a href="http://common-lisp.net/project/cxml/">CXML</a>, <a href="http://common-lisp.net/project/elephant/">Elephant</a>, <a href="http://weitz.de/cl-fad/">CL-FAD</a>, <a href="http://common-lisp.net/project/local-time/">Local-Time</a>, and <a href="http://common-lisp.net/project/stefil/">Stefil</a> for testing. I am using clbuild to obtain these.</p>
+<p>For Emacs, I use <a href="http://www.thaiopensource.com/nxml-mode/">nXML mode</a>.</p>
+
+<h2>Configuration Environments</h2>
+<p>A configuration switching method is included in the package, but it's use is optional, and as is usual for lisp, configuration is through special variables.</p>
+<p>For an example of using the configuration environments, look at the <code>config.lisp</code> file loaded by the <code>my-blog.asd</code> system. This defines the three environments that I use, <code>:test</code>, <code>:development</code>, and <code>:production</code>. Configurations are defined using <code>SET-ENVIRONMENT</code> and activated with <code>CONFIGURE</code>.</p>
+
+<h2>Basic Configuration</h2>
+<p>The first configuration required is the choice of file system locations for the published posts (<code>*PUBLISHED-PATH*</code>), the generated web pages(<code>*SITE-PATH*</code>) and the page templates (<code>*TEMPLATE-PATH*</code>). Drafts can exist anywhere, and are not tracked by the generator.</p>
+<p>Next, the web paths need to be configured. The path of the blog's index file relative to the site root is required (<code>*BLOG-ROOT-PATH*</code>), as is the domain of the site (<code>*BLOG-DOMAIN*</code>), in order for it to be used in the Atom feed.</p>
+<p>Finally, the database connection expression is required (<code>*BLOG-DB-SPEC*</code>). Please refer to the Elephant documentation for your choices here. I use postgres, but it should work with the BDB backend as well.</p>
+
+<h2>Templates</h2>
+<p>The site requires three templates in <code>*TEMPLATE-PATH*</code>; for the index file (<code>index.html</code>), for the posts (<code>post.xhtml</code>) and for the Atom feed (<code>atom.xml</code>). The templates are very simple - each div or span with a recognised id has content injected into it. The recoginised id's are:</p>
+<ul>
+ <li><code>posts</code> - replaced with the current post synopses, and links to the posts</li>
+ <li><code>post</code> - replaced with the current post's content</li>
+ <li><code>post-title</code> - replaced with the current post's title</li>
+ <li><code>post-when</code> - replaced with the current post's published date</li>
+ <li><code>post-update</code> - replaced with the current post's updated date</li>
+</ul>
+<p>For the Atom feed, the <code>updated</code> element is filled out correctly, and the posts are automatically inserted, ie. there are no special id's.</p>
+
+</body>
+</html>
View
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<html xmlns='http://hugoduncan.org/xmlns/post'>
+<head>
+ <title>Blog Generator Design</title>
+ <tag>lisp</tag>
+ <tag>blog</tag>
+ <tag>generator</tag>
+</head>
+<body>
+<p>I want to be able publish posts easily to a statically served site. I am sure that there are lots of blog site generators out there, but I could not find one that I liked, and which was in a language I would enjoy hacking, and so I wrote my own.</p>
+
+<p>The blog site is generated from file based posts, using an augmented version of xhtml as the input format. The input format has a DTD, as well as a Relax NG compressed schema generated using <a href="http://www.thaiopensource.com/relaxng/trang.html">Trang</a> which is used in the provided schemas.xml file to allow validation in Emacs <a href="http://www.thaiopensource.com/nxml-mode/">nXML mode</a>.</p>
+
+<p>When ready, the drafts are merged into a post template, in standard xhtml, to produce a site that can be rsync'd to a web host. The merging of the templates is done using <a href="http://www.sbcl.org/">SBCL</a> and <a href="http://common-lisp.net/project/cxml/">CXML</a>. The generator maintains a database of posts, so that it can generate the index page, etc, and uses <a href="http://common-lisp.net/project/elephant/">Elephant</a>. The whole site can be re-generated from the input post files, so a revision control system, such as git, can be used to manage the posts, and we don't have to worry about backing up the the database too frequently.</p>
+
+<p>An Emacs minor-mode can be used to trigger the publishing and site generation.</p>
+
+<p>The generator is intended to produce a personol blog, with one user. I am however misusing it here to provide a sort of update blog for the software itself.</p>
+</body>
+</html>
@@ -0,0 +1,34 @@
+<html xmlns="http://hugoduncan.org/xmlns/post">
+<head>
+ <title>Blog Generator Configuration</title>
+ <tag>lisp</tag>
+<when day="4" month="3" year="2009"/><linkname>blog_generator_configuration</linkname></head>
+<body>
+<p>The blog generator is intended to be quite flexible, within the design constraints, which has lead to a large number of possible configurations, both on the lisp side, and for Emacs. Drafts can be written using any editor, but I shall describe use with Emacs. The package has only been tested with SBCL, but should work with any common lisp implentation.</p>
+
+<h2>Prerequisites</h2>
+<p>The blog generator uses <a href="http://common-lisp.net/project/cxml/">CXML</a>, <a href="http://common-lisp.net/project/elephant/">Elephant</a>, <a href="http://weitz.de/cl-fad/">CL-FAD</a>, <a href="http://common-lisp.net/project/local-time/">Local-Time</a>, and <a href="http://common-lisp.net/project/stefil/">Stefil</a> for testing. I am using clbuild to obtain these.</p>
+<p>For Emacs, I use <a href="http://www.thaiopensource.com/nxml-mode/">nXML mode</a>.</p>
+
+<h2>Configuration Environments</h2>
+<p>A configuration switching method is included in the package, but it's use is optional, and as is usual for lisp, configuration is through special variables.</p>
+<p>For an example of using the configuration environments, look at the <code>config.lisp</code> file loaded by the <code>my-blog.asd</code> system. This defines the three environments that I use, <code>:test</code>, <code>:development</code>, and <code>:production</code>. Configurations are defined using <code>SET-ENVIRONMENT</code> and activated with <code>CONFIGURE</code>.</p>
+
+<h2>Basic Configuration</h2>
+<p>The first configuration required is the choice of file system locations for the published posts (<code>*PUBLISHED-PATH*</code>), the generated web pages(<code>*SITE-PATH*</code>) and the page templates (<code>*TEMPLATE-PATH*</code>). Drafts can exist anywhere, and are not tracked by the generator.</p>
+<p>Next, the web paths need to be configured. The path of the blog's index file relative to the site root is required (<code>*BLOG-ROOT-PATH*</code>), as is the domain of the site (<code>*BLOG-DOMAIN*</code>), in order for it to be used in the Atom feed.</p>
+<p>Finally, the database connection expression is required (<code>*BLOG-DB-SPEC*</code>). Please refer to the Elephant documentation for your choices here. I use postgres, but it should work with the BDB backend as well.</p>
+
+<h2>Templates</h2>
+<p>The site requires three templates in <code>*TEMPLATE-PATH*</code>; for the index file (<code>index.html</code>), for the posts (<code>post.xhtml</code>) and for the Atom feed (<code>atom.xml</code>). The templates are very simple - each div or span with a recognised id has content injected into it. The recoginised id's are:</p>
+<ul>
+ <li><code>posts</code> - replaced with the current post synopses, and links to the posts</li>
+ <li><code>post</code> - replaced with the current post's content</li>
+ <li><code>post-title</code> - replaced with the current post's title</li>
+ <li><code>post-when</code> - replaced with the current post's published date</li>
+ <li><code>post-update</code> - replaced with the current post's updated date</li>
+</ul>
+<p>For the Atom feed, the <code>updated</code> element is filled out correctly, and the posts are automatically inserted, ie. there are no special id's.</p>
+
+</body>
+</html>
@@ -0,0 +1,19 @@
+<html xmlns="http://hugoduncan.org/xmlns/post">
+<head>
+ <title>Blog Generator Design</title>
+ <tag>lisp</tag>
+ <tag>blog</tag>
+ <tag>generator</tag>
+<when day="4" month="3" year="2009"/><linkname>blog_generator_design</linkname></head>
+<body>
+<p>I want to be able publish posts easily to a statically served site. I am sure that there are lots of blog site generators out there, but I could not find one that I liked, and which was in a language I would enjoy hacking, and so I wrote my own.</p>
+
+<p>The blog site is generated from file based posts, using an augmented version of xhtml as the input format. The input format has a DTD, as well as a Relax NG compressed schema generated using <a href="http://www.thaiopensource.com/relaxng/trang.html">Trang</a> which is used in the provided schemas.xml file to allow validation in Emacs <a href="http://www.thaiopensource.com/nxml-mode/">nXML mode</a>.</p>
+
+<p>When ready, the drafts are merged into a post template, in standard xhtml, to produce a site that can be rsync'd to a web host. The merging of the templates is done using <a href="http://www.sbcl.org/">SBCL</a> and <a href="http://common-lisp.net/project/cxml/">CXML</a>. The generator maintains a database of posts, so that it can generate the index page, etc, and uses <a href="http://common-lisp.net/project/elephant/">Elephant</a>. The whole site can be re-generated from the input post files, so a revision control system, such as git, can be used to manage the posts, and we don't have to worry about backing up the the database too frequently.</p>
+
+<p>An Emacs minor-mode can be used to trigger the publishing and site generation.</p>
+
+<p>The generator is intended to produce a personol blog, with one user. I am however misusing it here to provide a sort of update blog for the software itself.</p>
+</body>
+</html>
View
@@ -1,3 +0,0 @@
-post
-index.xhtml
-feed.atom
View
@@ -0,0 +1,33 @@
+<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
+ <title>Hugo Duncan</title>
+ <id>http://hugoduncan.org/blog/</id>
+ <link href="./"/>
+ <link href="" rel="self"/>
+ <logo>rsslogo.jpg</logo>
+ <icon>/favicon.ico</icon>
+ <author><name>Hugo Duncan</name></author>
+ <subtitle>My ramblings</subtitle>
+ <rights>All content written by Hugo Duncan and photos by Hugo Duncan Copyright Hugo Duncan, some rights reserved, see /blog/misc/Copyright</rights>
+ <generator uri="/misc/Colophon">Generated from XHTML source code using Common Lisp, Emacs, and Postgres.</generator>
+ <updated>2009-03-04T22:41:15.341016-05:00</updated><entry xml:base="http://localhost/blog/"><title>Blog Generator Configuration</title><link href="http://localhost/blog/post/2009/blog_generator_configuration.xhtml"/><id>http://localhost/blog/post/2009/blog_generator_configuration.xhtml</id><published>2009-03-03T19:00:00.000000-05:00</published><updated>2009-03-03T19:00:00.000000-05:00</updated><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The blog generator is intended to be quite flexible, within the design constraints, which has lead to a large number of possible configurations, both on the lisp side, and for Emacs. Drafts can be written using any editor, but I shall describe use with Emacs. The package has only been tested with SBCL, but should work with any common lisp implentation.</p></div></summary><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
+<p>The blog generator is intended to be quite flexible, within the design constraints, which has lead to a large number of possible configurations, both on the lisp side, and for Emacs. Drafts can be written using any editor, but I shall describe use with Emacs. The package has only been tested with SBCL, but should work with any common lisp implentation.</p>
+
+<h2>Prerequisites</h2>
+<p>The blog generator uses <a href="http://common-lisp.net/project/cxml/">CXML</a>, <a href="http://common-lisp.net/project/elephant/">Elephant</a>, <a href="http://weitz.de/cl-fad/">CL-FAD</a>, <a href="http://common-lisp.net/project/local-time/">Local-Time</a>, and <a href="http://common-lisp.net/project/stefil/">Stefil</a> for testing. I am using clbuild to obtain these.</p>
+
+
+<p>A configuration switching method is included in the package, but it's use is optional, and as is usual for lisp, configuration is through special variables.</p>
+</div></content></entry><entry xml:base="http://localhost/blog/"><title>Blog Generator Design</title><link href="http://localhost/blog/post/2009/blog_generator_design.xhtml"/><id>http://localhost/blog/post/2009/blog_generator_design.xhtml</id><published>2009-03-03T19:00:00.000000-05:00</published><updated>2009-03-03T19:00:00.000000-05:00</updated><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I want to be able publish posts easily to a statically served site. I am sure that there are lots of blog site generators out there, but I could not find one that I liked, and which was in a language I would enjoy hacking, and so I wrote my own.</p></div></summary><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
+<p>I want to be able publish posts easily to a statically served site. I am sure that there are lots of blog site generators out there, but I could not find one that I liked, and which was in a language I would enjoy hacking, and so I wrote my own.</p>
+
+<p>The blog site is generated from file based posts, using an augmented version of xhtml as the input format. The input format has a DTD, as well as a Relax NG compressed schema generated using <a href="http://www.thaiopensource.com/relaxng/trang.html">Trang</a> which is used in the provided schemas.xml file to allow validation in Emacs <a href="http://www.thaiopensource.com/nxml-mode/">nXML mode</a>.</p>
+
+<p>When ready, the drafts are merged into a post template, in standard xhtml, to produce a site that can be rsync'd to a web host. The merging of the templates is done using <a href="http://www.sbcl.org/">SBCL</a> and <a href="http://common-lisp.net/project/cxml/">CXML</a>. The generator maintains a database of posts, so that it can generate the index page, etc, and uses <a href="http://common-lisp.net/project/elephant/">Elephant</a>. The whole site can be re-generated from the input post files, so a revision control system, such as git, can be used to manage the posts, and we don't have to worry about backing up the the database too frequently.</p>
+
+<p>An Emacs minor-mode can be used to trigger the publishing and site generation.</p>
+
+<p>The generator is intended to produce a personol blog, with one user. I am however misusing it here to provide a sort of update blog for the software itself.</p>
+</div></content></entry>
+
+
+</feed>
View
@@ -0,0 +1 @@
+<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">&#10;<head>&#10;<meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta>&#10;<link href="style.css" media="screen" rel="stylesheet" title="style" type="text/css"></link>&#10;<meta content="lisp,blog" name="keywords"></meta>&#10;<meta content="Development blog for lisp based blog site generator" name="description"></meta>&#10;<title>Blog Site Generator</title>&#10;</head>&#10;<body>&#10;<div id="container">&#10;<div id="banner"><h1>cl-blog-generator</h1></div>&#10;<div id="centercontent">&#10;<div id="posts"><div class="post-synopsis"><span class="post-link"><a href="post/2009/blog_generator_configuration.xhtml">Blog Generator Configuration</a></span><p>The blog generator is intended to be quite flexible, within the design constraints, which has lead to a large number of possible configurations, both on the lisp side, and for Emacs. Drafts can be written using any editor, but I shall describe use with Emacs. The package has only been tested with SBCL, but should work with any common lisp implentation.</p><span class="post-link"><a href="post/2009/blog_generator_design.xhtml">Blog Generator Design</a></span><p>I want to be able publish posts easily to a statically served site. I am sure that there are lots of blog site generators out there, but I could not find one that I liked, and which was in a language I would enjoy hacking, and so I wrote my own.</p></div></div>&#10;<div id="footer"></div>&#10;</div>&#10;&#10;<div id="rightcontent">&#10;<div class="oo"><a href="/" id="to-home"><span id="home">home</span></a></div>&#10; <a href="" rel="me">source</a>&#10; <a href="http://hugoduncan.org" rel="me">Hugo Duncan</a>&#10;<div class="vcard">&#10; <a class="fn url" href="http://hugoduncan.org/">Hugo Duncan</a>&#10; <div><a class="email" href="mailto:blogen@hugoduncan.org">&#10; <span class="type">pref</span><span>erred email</span>&#10; </a></div>&#10;</div>&#10;</div>&#10;</div>&#10;</body>&#10;</html>
Oops, something went wrong.

0 comments on commit ab35e15

Please sign in to comment.