From 0e60982aca4090fd688b93bd4c4aee1964a3d574 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Thu, 6 Dec 2007 00:22:35 -0500 Subject: [PATCH] Adding syntax highlighting support to the pastebin --- extra/webapps/pastebin/annotate-paste.furnace | 2 +- extra/webapps/pastebin/annotation.furnace | 2 +- extra/webapps/pastebin/new-paste.furnace | 2 +- extra/webapps/pastebin/pastebin.factor | 14 +++++++++----- extra/webapps/pastebin/show-paste.furnace | 5 +++-- extra/webapps/pastebin/syntax.furnace | 8 ++------ 6 files changed, 17 insertions(+), 16 deletions(-) mode change 100644 => 100755 extra/webapps/pastebin/annotate-paste.furnace mode change 100644 => 100755 extra/webapps/pastebin/annotation.furnace mode change 100644 => 100755 extra/webapps/pastebin/new-paste.furnace mode change 100644 => 100755 extra/webapps/pastebin/pastebin.factor mode change 100644 => 100755 extra/webapps/pastebin/show-paste.furnace mode change 100644 => 100755 extra/webapps/pastebin/syntax.furnace diff --git a/extra/webapps/pastebin/annotate-paste.furnace b/extra/webapps/pastebin/annotate-paste.furnace old mode 100644 new mode 100755 index 301726209b..89ce12fd61 --- a/extra/webapps/pastebin/annotate-paste.furnace +++ b/extra/webapps/pastebin/annotate-paste.furnace @@ -24,7 +24,7 @@ -Contents: +Content: diff --git a/extra/webapps/pastebin/annotation.furnace b/extra/webapps/pastebin/annotation.furnace old mode 100644 new mode 100755 index ed1bdac845..d4617667ed --- a/extra/webapps/pastebin/annotation.furnace +++ b/extra/webapps/pastebin/annotation.furnace @@ -8,4 +8,4 @@ Created:<% "date" get write %> -
<% "contents" get write %>
+<% "syntax" render-template % diff --git a/extra/webapps/pastebin/new-paste.furnace b/extra/webapps/pastebin/new-paste.furnace old mode 100644 new mode 100755 index 98b9bae8b7..28453f10f7 --- a/extra/webapps/pastebin/new-paste.furnace +++ b/extra/webapps/pastebin/new-paste.furnace @@ -25,7 +25,7 @@ -Contents: +Content: diff --git a/extra/webapps/pastebin/pastebin.factor b/extra/webapps/pastebin/pastebin.factor old mode 100644 new mode 100755 index 382b7fbb85..ad2198f282 --- a/extra/webapps/pastebin/pastebin.factor +++ b/extra/webapps/pastebin/pastebin.factor @@ -1,5 +1,5 @@ USING: calendar furnace furnace.validator io.files kernel -namespaces sequences store ; +namespaces sequences store http.server.responders html ; IN: webapps.pastebin TUPLE: pastebin pastes ; @@ -28,21 +28,25 @@ SYMBOL: store pastebin get pastebin-pastes nth ; : show-paste ( n -- ) - get-paste "show-paste" render-component ; + serving-html + get-paste + [ "show-paste" render-component ] with-html-stream ; \ show-paste { { "n" v-number } } define-action : new-paste ( -- ) - "new-paste" render-template ; + serving-html + [ "new-paste" render-template ] with-html-stream ; \ new-paste { } define-action : paste-list ( -- ) + serving-html [ [ show-paste ] "show-paste-quot" set [ new-paste ] "new-paste-quot" set pastebin get "paste-list" render-component - ] with-scope ; + ] with-html-stream ; \ paste-list { } define-action @@ -68,7 +72,7 @@ SYMBOL: store \ submit-paste [ paste-list ] define-redirect -: annotate-paste ( n summary author contents -- ) +: annotate-paste ( n summary author mode contents -- ) swap get-paste paste-annotations push save-pastebin-store ; diff --git a/extra/webapps/pastebin/show-paste.furnace b/extra/webapps/pastebin/show-paste.furnace old mode 100644 new mode 100755 index 8213857687..a724410b8c --- a/extra/webapps/pastebin/show-paste.furnace +++ b/extra/webapps/pastebin/show-paste.furnace @@ -1,4 +1,4 @@ -<% USING: namespaces io furnace sequences ; %> +<% USING: namespaces io furnace sequences xmode.code2html ; %> @@ -9,6 +9,7 @@ Paste: <% "summary" get write %> + <% default-stylesheet %>

[ <% "summary" get write %> ]

@@ -20,7 +21,7 @@ File type:<% "mode" get write %> -
<% "contents" get write %>
+<% "syntax" render-template %> <% "annotations" get [ "annotation" render-component ] each %> diff --git a/extra/webapps/pastebin/syntax.furnace b/extra/webapps/pastebin/syntax.furnace old mode 100644 new mode 100755 index cc09ae90ed..246b9d04b3 --- a/extra/webapps/pastebin/syntax.furnace +++ b/extra/webapps/pastebin/syntax.furnace @@ -1,7 +1,3 @@ -<% USING: xmode.catalog sequences kernel html.elements assocs io ; %> +<% USING: xmode.code2html splitting namespaces ; %> - +
<% "contents" get string-lines "mode" get htmlize-lines %>