Some 0.9.6 preparations.
This commit is contained in:
parent
7b516ccc9c
commit
2bd647207a
4 changed files with 49 additions and 10 deletions
21
NEWS.md
21
NEWS.md
|
@ -1,3 +1,24 @@
|
||||||
|
## Changes for 0.9.6 (2014-09-07):
|
||||||
|
|
||||||
|
* **SITE-BREAKING CHANGE**: Coleslaw now defaults to a "basic" deploy
|
||||||
|
instead of the previous symlinked, timestamped deploy strategy.
|
||||||
|
To retain the previous behavior, add `(versioned)` to your config's
|
||||||
|
`:plugins` list.
|
||||||
|
* **SITE-BREAKING CHANGE**: Custom themes will be broken by a change
|
||||||
|
to URL handling. Previously, we were hand-constructed URLs in the
|
||||||
|
templates. All site objects now store their URL in an instance slot.
|
||||||
|
In general, hrefs should be of the form `href="{$config.domain}/{$obj.url}"> ...</a>`.
|
||||||
|
Additionally, `{$month}` should become `{$month.name}`.
|
||||||
|
Correspondingly, changes to `:routing` would previously break links in
|
||||||
|
the templates but now work seamlessly.
|
||||||
|
* The config `:repo` option is now deprecated as its value has become
|
||||||
|
a required argument to `coleslaw:main`. The value passed to `main`
|
||||||
|
will override the config value going forward.
|
||||||
|
* Improved handling of directories and error-reporting when they
|
||||||
|
don't exist is available thanks to @PuercoPop.
|
||||||
|
* The templates are now HTML5 valid thanks to @Ferada.
|
||||||
|
* Fixed a bug where RSS/Atom tag feeds were being published multiple times.
|
||||||
|
|
||||||
## Changes for 0.9.5 (2014-06-13):
|
## Changes for 0.9.5 (2014-06-13):
|
||||||
|
|
||||||
* A plugin for Incremental builds, cutting runtime for generating
|
* A plugin for Incremental builds, cutting runtime for generating
|
||||||
|
|
|
@ -219,13 +219,24 @@ PAGE, a content type for static page support, is available as a plugin.
|
||||||
|
|
||||||
## Areas for Improvement
|
## Areas for Improvement
|
||||||
|
|
||||||
|
### TODO for 0.9.6
|
||||||
|
|
||||||
|
* Serious updates to README and themes.md. Skim hacking.md but it's probably okay.
|
||||||
|
* A real test suite with Stefil that at *least* tests:
|
||||||
|
* `read-content`
|
||||||
|
* `load-config`
|
||||||
|
* Content Discovery
|
||||||
|
* Theme Compilation
|
||||||
|
* Content Publishing
|
||||||
|
* Common Plugins including Injections
|
||||||
|
* Merge @PuercoPop's twitter summary cards plugin in some form.
|
||||||
|
* Make read-content/load-content more robust. Improving template debugging will be part of 0.9.7.
|
||||||
|
* Some minor scripting conveniences with cl-launch? (Scaffold a post/page, Enable incremental, Build, etc).
|
||||||
|
|
||||||
### Assorted Cleanups
|
### Assorted Cleanups
|
||||||
|
|
||||||
* Try to get tag-index urls out of the tags. Post templates use them.
|
* Try to get tag-index urls out of the tags. Post templates use them.
|
||||||
* Profile/memoize find-all calls in **INDEX** `render` method.
|
* Profile/memoize find-all calls in **INDEX** `render` method.
|
||||||
* Lots of docs updates for next release. At a minimum, we have broken
|
|
||||||
custom themes. Config/plugin changes are definitely necessary too.
|
|
||||||
Note that the `:repo` config option is ignored now/sourced from `main`.
|
|
||||||
|
|
||||||
### Real Error Handling
|
### Real Error Handling
|
||||||
|
|
||||||
|
@ -237,7 +248,7 @@ at best, especially for anyone not coming from the lisp world.
|
||||||
We need to start handling errors and reporting errors in ways
|
We need to start handling errors and reporting errors in ways
|
||||||
that are useful to the user. Example errors users have encountered:
|
that are useful to the user. Example errors users have encountered:
|
||||||
|
|
||||||
1. Loading of Content. If `read-content` fails to parse a file, we
|
1. Loading of Content. If `read-content` fails to parse a file, wen
|
||||||
should tell the user what file failed and why. We also should
|
should tell the user what file failed and why. We also should
|
||||||
probably enforce more constraints about metadata. E.g. Empty
|
probably enforce more constraints about metadata. E.g. Empty
|
||||||
metadata is not allowed/meaningful. Trailing space after separator, etc.
|
metadata is not allowed/meaningful. Trailing space after separator, etc.
|
||||||
|
@ -279,6 +290,11 @@ some assertions and error out at plugin load time if they fail should be
|
||||||
doable. I might not be able to [make illegal states unrepresentable][misu],
|
doable. I might not be able to [make illegal states unrepresentable][misu],
|
||||||
but I can sure as hell make them harder to construct than they are now.
|
but I can sure as hell make them harder to construct than they are now.
|
||||||
|
|
||||||
|
@PuercoPop has suggested looking into how [wookie does plugins][wookie].
|
||||||
|
It's much more heavyweight but might be worth looking into. If we go that
|
||||||
|
route, the plugin support code will be almost half the coleslaw core.
|
||||||
|
Weigh the tradeoffs carefully.
|
||||||
|
|
||||||
### New Content Type: Shouts!
|
### New Content Type: Shouts!
|
||||||
|
|
||||||
I've also toyed with the idea of a content type called a SHOUT, which
|
I've also toyed with the idea of a content type called a SHOUT, which
|
||||||
|
@ -319,3 +335,4 @@ Unfortunately, this does not solve:
|
||||||
[asdf3]: https://github.com/fare/asdf3-2013
|
[asdf3]: https://github.com/fare/asdf3-2013
|
||||||
[qpq]: https://github.com/sellout/quid-pro-quo
|
[qpq]: https://github.com/sellout/quid-pro-quo
|
||||||
[misu]: https://blogs.janestreet.com/effective-ml-revisited/
|
[misu]: https://blogs.janestreet.com/effective-ml-revisited/
|
||||||
|
[wookie]: https://github.com/orthecreedence/wookie/blob/master/plugin.lisp#L181
|
||||||
|
|
|
@ -4,11 +4,12 @@
|
||||||
:feeds ("lisp")
|
:feeds ("lisp")
|
||||||
:plugins ((analytics :tracking-code "foo")
|
:plugins ((analytics :tracking-code "foo")
|
||||||
(disqus :shortname "my-site-name")
|
(disqus :shortname "my-site-name")
|
||||||
; (git-hook) ;; *Remove comment to enable git push deploys.
|
; (incremental) ;; *Remove comment to enable incremental builds.
|
||||||
; (incremental) ;; *Remove comment enable incremental builds.
|
|
||||||
(mathjax)
|
(mathjax)
|
||||||
(sitemap)
|
(sitemap)
|
||||||
(static-pages))
|
(static-pages)
|
||||||
|
; (versioned) ;; *Remove comment to enable symlinked, timestamped deploys.
|
||||||
|
)
|
||||||
:routing ((:post "posts/~a")
|
:routing ((:post "posts/~a")
|
||||||
(:tag-index "tag/~a")
|
(:tag-index "tag/~a")
|
||||||
(:month-index "date/~a")
|
(:month-index "date/~a")
|
||||||
|
@ -24,4 +25,4 @@
|
||||||
:title "Improved Means for Achieving Deteriorated Ends"
|
:title "Improved Means for Achieving Deteriorated Ends"
|
||||||
:theme "hyde")
|
:theme "hyde")
|
||||||
|
|
||||||
;; * Prerequisites described in plugin docs.
|
;; * Prerequisites described in plugin docs.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
(defpackage :coleslaw-git-hook
|
(defpackage :coleslaw-versioned
|
||||||
(:use :cl)
|
(:use :cl)
|
||||||
(:import-from :coleslaw #:*config*
|
(:import-from :coleslaw #:*config*
|
||||||
#:deploy-dir
|
#:deploy-dir
|
||||||
|
@ -6,7 +6,7 @@
|
||||||
#:run-program
|
#:run-program
|
||||||
#:update-symlink))
|
#:update-symlink))
|
||||||
|
|
||||||
(in-package :coleslaw-git-hook)
|
(in-package :coleslaw-versioned)
|
||||||
|
|
||||||
(defmethod coleslaw:deploy (staging)
|
(defmethod coleslaw:deploy (staging)
|
||||||
(let* ((dest (deploy-dir *config*))
|
(let* ((dest (deploy-dir *config*))
|
Loading…
Add table
Reference in a new issue