Some last tweaks for Summary Cards before 0.9.6.

This commit is contained in:
Brit Butler 2014-09-23 11:47:46 -04:00
parent c286fc1e33
commit c7fc38b73c
3 changed files with 50 additions and 38 deletions

View file

@ -7,7 +7,7 @@ Legend:
A change to Coleslaw's exported interface. Plugins or Themes that have
not been upstreamed are effected and may require minor effort to fix.
## Changes for 0.9.6 (2014-09-17):
## Changes for 0.9.6 (2014-09-27):
* **SITE-BREAKING CHANGE**: Coleslaw now defaults to a "basic" deploy
instead of the previous symlinked, timestamped deploy strategy.
@ -20,6 +20,8 @@ Legend:
* **Incompatible Change**: The interface of the `add-injection` function
has changed. If you have written a plugin which uses `add-injection`
you should update it to conform to the [new interface][plg-api].
* **New Plugin**: Support for [twitter summary cards][ts-cards] on blog
posts has been added thanks to @PuercoPop.
* **Docs**: Improved README and Theming docs. New Config File docs.
* Changes to `:routing` would previously break links in the templates
but now work seamlessly due to the updated URL handling.
@ -141,3 +143,4 @@ Legend:
[example.rc]: https://github.com/redline6561/coleslaw/blob/master/examples/example.coleslawrc
[plg-use]: https://github.com/redline6561/coleslaw/blob/master/docs/plugin-use.md
[plg-api]: https://github.com/redline6561/coleslaw/blob/master/docs/plugin-api.md#extension-points
[ts-cards]: https://dev.twitter.com/cards/types/summary

View file

@ -144,6 +144,13 @@ CL-USER> (chirp:complete-authentication "4173325")
#<CHIRP-OBJECTS:USER PuercoPop #18405433>
```
## Twitter Summary Cards
**Description**: Add Summary Card metadata to blog posts
to enhance twitter links to that content.
**Example**: `(twitter-summary-card :twitter-handle "@redline6561")
## Versioned Deploys
**Description**: Originally, this was Coleslaw's only deploy behavior.

View file

@ -1,20 +1,23 @@
(stefil:define-test-package :twitter-summary-card-tests
(:use :cl :coleslaw
:cl-ppcre))
(defpackage :summary-card-tests
(:use :cl :coleslaw :stefil))
(in-package :twitter-summary-card-tests)
;;;;
;; To run tests first eval the plugin code inside this package and then execute
;; (twitter-summary-card-test:run-package-tests)
;;;
(in-package :summary-card-tests)
(defsuite summary-cards)
(in-suite summary-cards)
;; TODO: Create a fixture to either load a mocked config or load set of plugins.
;; Then wrap these tests to use that fixture. Then add these to defsystem, setup
;; general test run with other packages.
(coleslaw::enable-plugin :twitter-summary-card)
(defvar *short-post*
(make-instance 'post :title "hai" :text "very greetings" :format "html"))
(make-instance 'post :title "hai" :text "very greetings" :format "html"))
(defvar *long-post*
(make-instance 'post :title "What a Wonderful World"
:text "I see trees of green, red roses too. I see them
(make-instance 'post :title "What a Wonderful World"
:text "I see trees of green, red roses too. I see them
bloom, for me and you. And I think to myself, what a wonderful world.
I see skies of blue,
@ -45,15 +48,14 @@ What a wonderful world. " :format "html"))
(deftest summary-card-sans-twitter-handle ()
(let ((summary-card (summary-card *short-post* nil)))
(is (null (scan "twitter:author" summary-card)))))
(is (null (cl-ppcre:scan "twitter:author" summary-card)))))
(deftest summary-card-with-twitter-handle ()
(let ((summary-card (summary-card *short-post* "@PuercoPop")))
(is (scan "twitter:author" summary-card))))
(is (cl-ppcre:scan "twitter:author" summary-card))))
(deftest summary-card-trims-long-post ()
(let ((summary-card (summary-card *long-post* nil)))
(multiple-value-bind ())
;; (scan "twitter:description\" content=\"(.*)\"" summary-card)
summary-card))