]> gitweb.factorcode.org Git - factor.git/commitdiff
html.streams: change how images work; webapps.help: support definition icons
authorSlava Pestov <slava@shill.local>
Thu, 24 Sep 2009 01:56:47 +0000 (20:56 -0500)
committerSlava Pestov <slava@shill.local>
Thu, 24 Sep 2009 01:56:47 +0000 (20:56 -0500)
basis/html/streams/streams-tests.factor
basis/html/streams/streams.factor
extra/webapps/help/help.factor

index 79e8027489b216905d5d9e89266db69fd781216e..eeac9210c1307bd7aaee3f9302d8e044ce44a19c 100644 (file)
@@ -61,4 +61,12 @@ M: funky url-of "http://www.funky-town.com/" swap town>> append ;
     [ H{ } [ ] with-nesting nl ] make-html-string
 ] unit-test
 
-[ ] [ [ { 1 2 3 } describe ] with-html-writer drop ] unit-test
\ No newline at end of file
+[ ] [ [ { 1 2 3 } describe ] with-html-writer drop ] unit-test
+
+[ "<img src=\"/icons/class-word.tiff\"/>" ] [
+    [
+        "text"
+        { { image "vocab:definitions/icons/class-word.tiff" } }
+        format
+    ] make-html-string
+] unit-test
index 0ddc09bf5476bd68cc6e2497fee5dfc690f0da27..1b3086f6650aee5807de5d6dd029478673503ded 100644 (file)
@@ -2,8 +2,8 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs combinators destructors fry html io
 io.backend io.pathnames io.styles kernel macros make math
-math.order math.parser namespaces sequences strings words xml
-xml.syntax ;
+math.order math.parser namespaces sequences strings words
+splitting xml xml.syntax ;
 IN: html.streams
 
 GENERIC: url-of ( object -- url )
@@ -88,12 +88,11 @@ MACRO: make-css ( pairs -- str )
 : emit-html ( quot stream -- )
     dip data>> push ; inline
 
-: image-resource-path ( path -- images-path )
-    normalize-path current-directory get drop-prefix drop
-    "/images" prepend ;
+: image-path ( path -- images-path )
+    "vocab:definitions/icons/" ?head [ "/icons/" prepend ] when ;
 
 : img-tag ( xml style -- xml )
-    image swap at [ nip image-resource-path simple-image ] when* ;
+    image swap at [ nip image-path simple-image ] when* ;
 
 : format-html-span ( string style stream -- )
     [
index 1c17e3214f17536f3345fa906943d8c7ab1324e0..20c807dca41415927566d5caa091814e6d1a9c67 100644 (file)
@@ -38,6 +38,7 @@ M: result link-href href>> ;
     help-webapp new-dispatcher
         <main-action> "" add-responder
         over <search-action> "search" add-responder
-        swap <static> "content" add-responder ;
+        swap <static> "content" add-responder
+        "resource:basis/definitions/icons/" <static> "icons" add-responder ;