Flesh out README.
This commit is contained in:
parent
1399a0e5c5
commit
a8642c98c7
2 changed files with 49 additions and 29 deletions
69
README
69
README
|
@ -1,36 +1,49 @@
|
|||
Coleslaw aims to be flexible blog software suitable for replacing a single-user static site compiler such as Jekyll.
|
||||
|
||||
Full docs coming soon...
|
||||
|
||||
Features:
|
||||
# Features
|
||||
* Git for storage
|
||||
* RSS feeds!
|
||||
* Markdown Support with Code Highlighting provided by [colorize]().
|
||||
* Currently supports: Common Lisp, Emacs Lisp, Scheme, C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff.
|
||||
* Plugins to...
|
||||
** Import from wordpress
|
||||
** Use Mathjax/LaTeX
|
||||
|
||||
Forthcoming:
|
||||
* Markdown support
|
||||
* RST support
|
||||
* Host on Amazon S3
|
||||
* Code highlighting
|
||||
|
||||
References:
|
||||
-- Jekyll
|
||||
-- Hakyll
|
||||
-- Hyde
|
||||
* Use LaTeX (inside pairs of $$) via Mathjax
|
||||
* Import from wordpress
|
||||
|
||||
# Installation
|
||||
This software should be portable to any conforming Common Lisp implementation but this guide will assume SBCL is installed. Testing has also been done on CCL.
|
||||
Server side setup:
|
||||
* Setup git and create a bare repo as shown [here](http://git-scm.com/book/en/Git-on-the-Server-Setting-Up-the-Server).
|
||||
* Install Lisp and Quicklisp.
|
||||
* For now, git clone https://github.com/redline6561/coleslaw.git and add
|
||||
(push "/path/to/coleslaw/" asdf:*central-registry*) to your lisp's init file. (e.g. ~/.sbclrc for SBCL)
|
||||
-- You may need to (require 'asdf) in that file first or even create it! (Don't panic.)
|
||||
This is only temporarily necessary until coleslaw is in quicklisp.
|
||||
* cp coleslaw/example.coleslawrc ~/.coleslawrc # and edit as necessary for your repo location, deploy location, etc
|
||||
* cp coleslaw/example.post-receieve your-blog.git/hooks/post-receive
|
||||
* chmod +x your-blog/.git/hooks/post-receive
|
||||
* Create or clone your blog repo locally. Add your server as a remote with git remote add prod git@my-host.com:path/to/repo.git
|
||||
Now whenever you push a new commit to the server, coleslaw will update your blog automatically!
|
||||
The only thing left to do is point a web server of your choice at the symlink /path/to/coleslaw/.curr
|
||||
1. Setup git and create a bare repo as shown [here](http://git-scm.com/book/en/Git-on-the-Server-Setting-Up-the-Server).
|
||||
2. Install Lisp and Quicklisp.
|
||||
3. For now, git clone https://github.com/redline6561/coleslaw.git inside ~/quicklisp/local-projects/. This is only temporarily necessary until coleslaw is in quicklisp.
|
||||
4. ```cp coleslaw/example.coleslawrc ~/.coleslawrc``` # and edit as necessary
|
||||
5. ```cp coleslaw/example.post-receieve your-blog.git/hooks/post-receive``` # and edit as necessary
|
||||
6. ```chmod +x your-blog/.git/hooks/post-receive```
|
||||
7. Create or clone your blog repo locally. Add your server as a remote with ```git remote add prod git@my-host.com:path/to/repo.git```
|
||||
8. The only thing left to do is point a web server of your choice at the symlink /path/to/deploy-dir/.curr/
|
||||
Now whenever you push a new commit to the server, coleslaw will update your blog automatically! You may need to git push -u prod master the first time.
|
||||
|
||||
# The Post Format
|
||||
Coleslaw expects post files to be formatted as follows:
|
||||
```
|
||||
;;;;;
|
||||
title: foo
|
||||
date: yyyy-mm-dd timestamp
|
||||
tags: bar, baz
|
||||
format: html (for raw html) or md (for markdown)
|
||||
;;;;;
|
||||
your post
|
||||
```
|
||||
|
||||
# Importing from Wordpress
|
||||
There is a "plugin" to import from wordpress. At some point, it should be turned into a standalone script. Until then...
|
||||
1. Export your posts from wordpress.
|
||||
2. In your lisp of choice, do the following:
|
||||
1. ```(ql:quickload 'coleslaw)```
|
||||
2. ```(in-package :coleslaw)```
|
||||
3. ```(load-plugins '(import))```
|
||||
4. ```(coleslaw-import::import-posts "/path/to/export.xml")```
|
||||
The XML will be read and placed into .post files in the :repo location specified in your [.coleslawrc](http://github.com/redline6561/coleslaw/blob/master/example.coleslawrc).
|
||||
|
||||
# Writing your own plugins
|
||||
For now, see the [API](http://redlinernotes.com/docs/coleslaw.html) the [mathjax plugin](https://github.com/redline6561/coleslaw/blob/master/plugins/mathjax.lisp) for an example.
|
||||
A proper guide about this should be written later.
|
||||
|
|
|
@ -76,11 +76,18 @@ else
|
|||
<pre>Deploy DIR, updating the .prev and .curr symlinks.</pre></div></div>
|
||||
<div class="symboldecl">
|
||||
<div class="definition">
|
||||
<a class="symbolname" name="(setf deploy)_func" href="#(setf deploy)_func">(setf deploy)</a>
|
||||
<span class="lambdalist">new-value object</span>
|
||||
<span class="symboltype">standard-generic-function</span></div>
|
||||
<div class="documentation">
|
||||
<pre>:undocumented</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>
|
||||
<pre>Load the user's config, then compile and deploy the blog.</pre></div></div>
|
||||
<div class="symboldecl">
|
||||
<div class="definition">
|
||||
<a class="symbolname" name="render-content_func" href="#render-content_func">render-content</a>
|
||||
|
|
Loading…
Add table
Reference in a new issue