<t:title><t:label t:name="title" /></t:title>
<div class="description">
- <t:farkup t:name="parsed" t:parsed="true" />
+ <t:farkup t:name="content" />
</div>
<p>
: <article> ( title -- article ) article new swap >>title ;
-TUPLE: revision id title author date content parsed description ;
+TUPLE: revision id title author date content description ;
revision "REVISIONS" {
{ "id" "ID" INTEGER +db-assigned-id+ }
{ "author" "AUTHOR" { VARCHAR 256 } +not-null+ } ! uid
{ "date" "DATE" TIMESTAMP +not-null+ }
{ "content" "CONTENT" TEXT +not-null+ }
- { "parsed" "PARSED" FACTOR-BLOB +not-null+ } ! Farkup AST
{ "description" "DESCRIPTION" TEXT }
} define-persistent
: <revision> ( id -- revision )
revision new swap >>id ;
-: compute-html ( revision -- )
- dup content>> parse-farkup >>parsed drop ;
-
: validate-title ( -- )
{ { "title" [ v-one-line ] } } validate-params ;
[ title>> ] [ id>> ] bi article boa insert-tuple ;
: add-revision ( revision -- )
- [ compute-html ]
[ insert-tuple ]
[
dup title>> <article> select-tuple
[ amend-article ] [ add-article ] if*
]
- tri ;
+ bi ;
: <edit-article-action> ( -- action )
<page-action>