--- a/Makefile Tue Aug 09 03:50:17 2016 +0000
+++ b/Makefile Tue Aug 09 03:50:31 2016 +0000
@@ -1,5 +1,24 @@
-.PHONY:
+.PHONY: pubdocs
quickutils.lisp: make-quickutils.lisp
sbcl --noinform --load make-quickutils.lisp --eval '(quit)'
+sourcefiles = $(shell ffind --full-path --literal .lisp)
+docfiles = $(shell ls docs/*.markdown)
+apidoc = docs/03-reference.markdown
+
+$(apidoc): $(sourcefiles) docs/api.lisp package.lisp
+ sbcl --noinform --load docs/api.lisp --eval '(quit)'
+
+
+docs/build/index.html: $(docfiles) $(apidoc) docs/title
+ cd docs && ~/.virtualenvs/d/bin/d
+
+docs: docs/build/index.html
+
+pubdocs: docs
+ hg -R ~/src/sjl.bitbucket.org pull -u
+ rsync --delete -a ./docs/build/ ~/src/sjl.bitbucket.org/beast
+ hg -R ~/src/sjl.bitbucket.org commit -Am 'beast: Update site.'
+ hg -R ~/src/sjl.bitbucket.org push
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/01-installation.markdown Tue Aug 09 03:50:31 2016 +0000
@@ -0,0 +1,8 @@
+Installation
+============
+
+Beast is compatible with Quicklisp, but not *in* Quicklisp (yet?). You can
+clone the repository into your [Quicklisp local-projects][local] directory for
+now.
+
+[local]: https://www.quicklisp.org/beta/faq.html#local-project
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/02-overview.markdown Tue Aug 09 03:50:31 2016 +0000
@@ -0,0 +1,9 @@
+Overview
+========
+
+
+[TOC]
+
+Basics
+------
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/03-reference.markdown Tue Aug 09 03:50:31 2016 +0000
@@ -0,0 +1,66 @@
+# API Reference
+
+The following is a list of all user-facing parts of Beast.
+
+If there are backwards-incompatible changes to anything listed here, they will
+be noted in the changelog and the author will feel bad.
+
+Anything not listed here is subject to change at any time with no warning, so
+don't touch it.
+
+[TOC]
+
+## Package `BEAST`
+
+### `CLEAR-ENTITIES` (function)
+
+ (CLEAR-ENTITIES)
+
+### `DEFINE-ASPECT` (macro)
+
+ (DEFINE-ASPECT NAME &REST FIELDS)
+
+### `DEFINE-ENTITY` (macro)
+
+ (DEFINE-ENTITY NAME ASPECTS &REST SLOTS)
+
+### `DEFINE-SYSTEM` (macro)
+
+ (DEFINE-SYSTEM NAME
+ ARGLIST
+ &BODY
+ BODY)
+
+### `ENTITY` (class)
+
+#### Slot `ID`
+
+* Allocation: `:INSTANCE`
+* Initform: `(INCF BEAST::*ENTITY-ID-COUNTER*)`
+* Reader: `ENTITY-ID`
+
+#### Slot `%BEAST/ASPECTS`
+
+* Allocation: `:CLASS`
+* Initform: `NIL`
+
+### `ENTITY-CREATED` (generic function)
+
+ (ENTITY-CREATED ENTITY)
+
+### `ENTITY-DESTROYED` (generic function)
+
+ (ENTITY-DESTROYED ENTITY)
+
+### `GET-ENTITY` (function)
+
+ (GET-ENTITY ID)
+
+### `MAP-ENTITIES` (function)
+
+ (MAP-ENTITIES FUNCTION &OPTIONAL (TYPE 'ENTITY))
+
+### `RUN-SYSTEM` (function)
+
+ (RUN-SYSTEM SYSTEM)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/04-changelog.markdown Tue Aug 09 03:50:31 2016 +0000
@@ -0,0 +1,11 @@
+Changelog
+=========
+
+Here's the list of changes in each released version.
+
+[TOC]
+
+v0.0.1
+------
+
+Initial alpha version. Things are going to break a lot. Don't use this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/api.lisp Tue Aug 09 03:50:31 2016 +0000
@@ -0,0 +1,24 @@
+(ql:quickload "cl-d-api")
+
+(defparameter *document-packages*
+ (list "BEAST"))
+
+(defparameter *output-path*
+ #p"docs/03-reference.markdown" )
+
+(defparameter *header*
+ "The following is a list of all user-facing parts of Beast.
+
+If there are backwards-incompatible changes to anything listed here, they will
+be noted in the changelog and the author will feel bad.
+
+Anything not listed here is subject to change at any time with no warning, so
+don't touch it.
+
+")
+
+(d-api:generate-documentation
+ :beast
+ *output-path*
+ *document-packages*
+ *header*)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/footer.markdown Tue Aug 09 03:50:31 2016 +0000
@@ -0,0 +1,14 @@
+<i>Made with Lisp and love by [Steve Losh][] in Reykjavík, Iceland.</i>
+
+[Steve Losh]: http://stevelosh.com/
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-15328874-3', 'auto');
+ ga('send', 'pageview');
+
+</script>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/index.markdown Tue Aug 09 03:50:31 2016 +0000
@@ -0,0 +1,6 @@
+**B**asic **E**ntity/**A**spect/**S**ystem **T**oolkit for Common Lisp.
+
+* **License:** MIT/X11
+* **Documentation:** <http://sjl.bitbucket.org/beast/>
+* **Mercurial:** <http://bitbucket.org/sjl/beast/>
+* **Git:** <http://github.com/sjl/beast/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/title Tue Aug 09 03:50:31 2016 +0000
@@ -0,0 +1,1 @@
+beast