help.tips: use write-object to write heading so that right-clicking on "Tip of the day" and picking Edit works

db4
Slava Pestov 2009-03-26 21:28:09 -05:00
parent 6c0986f8b2
commit 903a6fbbc5
1 changed files with 14 additions and 5 deletions

View File

@ -1,7 +1,7 @@
! Copyright (C) 2009 Slava Pestov. ! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: parser arrays namespaces sequences random help.markup kernel io USING: parser arrays namespaces sequences random help.markup help.stylesheet
io.styles colors.constants definitions accessors ; kernel io io.styles colors.constants definitions accessors ;
IN: help.tips IN: help.tips
SYMBOL: tips SYMBOL: tips
@ -24,7 +24,7 @@ SYNTAX: TIP:
parse-definition >array <tip> parse-definition >array <tip>
[ save-location ] [ add-tip ] bi ; [ save-location ] [ add-tip ] bi ;
: a-tip ( -- tip ) tips get random content>> ; : a-tip ( -- tip ) tips get random ;
SYMBOL: tip-of-the-day-style SYMBOL: tip-of-the-day-style
@ -34,13 +34,20 @@ H{
{ wrap-margin 500 } { wrap-margin 500 }
} tip-of-the-day-style set-global } tip-of-the-day-style set-global
: $tip-title ( tip -- )
[
heading-style get [
[ "Tip of the day" ] dip write-object
] with-style
] ($block) ;
: $tip-of-the-day ( element -- ) : $tip-of-the-day ( element -- )
drop drop
[ [
tip-of-the-day-style get tip-of-the-day-style get
[ [
last-element off last-element off
"Tip of the day" $heading a-tip print-element nl a-tip [ $tip-title ] [ content>> print-element nl ] bi
"— " print-element "all-tips-of-the-day" ($link) "— " print-element "all-tips-of-the-day" ($link)
] ]
with-nesting with-nesting
@ -50,3 +57,5 @@ H{
: $tips-of-the-day ( element -- ) : $tips-of-the-day ( element -- )
drop tips get [ nl nl ] [ content>> print-element ] interleave ; drop tips get [ nl nl ] [ content>> print-element ] interleave ;
INSTANCE: tip definition