skunk: require #
Lobby[
Theme: is-obj[
theme: fn[ >[ $ set/[ bg fg a av ] ] swap &push ]
aqua: theme[ "#061911" "#21ef9f" "aqua" "#32e6e6" ]
forest: theme[ "#191e2a" "#daffac" "#32e667" "#32e667" ]
qbasic: theme[ "#0000aa" "#e8e8e8" "#aaaaaa" "#aaaaaa" ]
stark: theme[ "black" "white" "white" "grey" ]
aqua
]
css: fn[
{: fn-[ let[ css-q ]
" {" /nl
css-q. Array .of .pairs each[ let[ k v ]
%s[ @(k): @(v); ] /nl
] "}" /nl
]
Array .of .[ "" join ]
]
]
page: Skunk .layout[
footer: fn-[
---
%writeln[ ] ]
%writeln[
@(?title)@(content)
@(?footer)
]
]
skunkPage: alsoCan[
style.css.stk: File .slurp let[ cssTemplate ]
%s[ [ @cssTemplate ] ] StackTalk .eval >styleOfTheme
Theme .aqua css[ styleOfTheme ] >style
themeIs: fn[ Theme[ &run ] css[ styleOfTheme ] :style ]
%#[ ?backlink: fn[ backlink: %if-prop?[ ] else?[ ] ] ]
?title: fn[ title: %if-prop?[ ] ]
webring: fn[
%writeln[
]
]
]
project[
css-test: cmd[ Theme .aqua css[ style.css.stk: StackTalk .doFile ] println ]
build: cmd[
Skunk[ true :copySources site: target content: scan ]
File[ content/index.pstk: site/index.pstk: cp
skript: site/skript.txt: cp
style.css.stk: site/style.css.stk: cp ]
]
publish: cmd[
sh[ rsync: -a: --delete: site/: yumaikas@junglecoder.com:/var/www/junglecoder.com/: ]
]
]