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.
|
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
|
* Git for storage
|
||||||
* RSS feeds!
|
* 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...
|
* Plugins to...
|
||||||
** Import from wordpress
|
* Use LaTeX (inside pairs of $$) via Mathjax
|
||||||
** Use Mathjax/LaTeX
|
* Import from wordpress
|
||||||
|
|
||||||
Forthcoming:
|
|
||||||
* Markdown support
|
|
||||||
* RST support
|
|
||||||
* Host on Amazon S3
|
|
||||||
* Code highlighting
|
|
||||||
|
|
||||||
References:
|
|
||||||
-- Jekyll
|
|
||||||
-- Hakyll
|
|
||||||
-- Hyde
|
|
||||||
|
|
||||||
|
# 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.
|
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:
|
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).
|
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).
|
||||||
* Install Lisp and Quicklisp.
|
2. Install Lisp and Quicklisp.
|
||||||
* For now, git clone https://github.com/redline6561/coleslaw.git and add
|
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.
|
||||||
(push "/path/to/coleslaw/" asdf:*central-registry*) to your lisp's init file. (e.g. ~/.sbclrc for SBCL)
|
4. ```cp coleslaw/example.coleslawrc ~/.coleslawrc``` # and edit as necessary
|
||||||
-- You may need to (require 'asdf) in that file first or even create it! (Don't panic.)
|
5. ```cp coleslaw/example.post-receieve your-blog.git/hooks/post-receive``` # and edit as necessary
|
||||||
This is only temporarily necessary until coleslaw is in quicklisp.
|
6. ```chmod +x your-blog/.git/hooks/post-receive```
|
||||||
* cp coleslaw/example.coleslawrc ~/.coleslawrc # and edit as necessary for your repo location, deploy location, etc
|
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```
|
||||||
* cp coleslaw/example.post-receieve your-blog.git/hooks/post-receive
|
8. The only thing left to do is point a web server of your choice at the symlink /path/to/deploy-dir/.curr/
|
||||||
* chmod +x your-blog/.git/hooks/post-receive
|
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.
|
||||||
* 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 Post Format
|
||||||
The only thing left to do is point a web server of your choice at the symlink /path/to/coleslaw/.curr
|
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>
|
<pre>Deploy DIR, updating the .prev and .curr symlinks.</pre></div></div>
|
||||||
<div class="symboldecl">
|
<div class="symboldecl">
|
||||||
<div class="definition">
|
<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>
|
<a class="symbolname" name="main_func" href="#main_func">main</a>
|
||||||
<span class="lambdalist"></span>
|
<span class="lambdalist"></span>
|
||||||
<span class="symboltype">function</span></div>
|
<span class="symboltype">function</span></div>
|
||||||
<div class="documentation">
|
<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="symboldecl">
|
||||||
<div class="definition">
|
<div class="definition">
|
||||||
<a class="symbolname" name="render-content_func" href="#render-content_func">render-content</a>
|
<a class="symbolname" name="render-content_func" href="#render-content_func">render-content</a>
|
||||||
|
|
Loading…
Add table
Reference in a new issue