]> gitweb.factorcode.org Git - factor.git/commitdiff
add browser style to words to allow browsing source. add browser and
authorChris Double <chris.double@double.co.nz>
Mon, 14 Feb 2005 21:44:15 +0000 (21:44 +0000)
committerChris Double <chris.double@double.co.nz>
Mon, 14 Feb 2005 21:44:15 +0000 (21:44 +0000)
cont-responder to factor httpd. add cont-responder tutorial to main doc
dicretory. mention location of cont-test.factor in tutorial. change
defauly startup location of browser.

contrib/cont-responder/cont-numbers-game.factor
contrib/cont-responder/eval-responder.factor
contrib/cont-responder/live-updater-responder.factor
contrib/cont-responder/load.factor
contrib/cont-responder/todo-example.factor
library/bootstrap/boot-stage2.factor
library/httpd/default-responders.factor
library/httpd/html.factor
library/io/vocabulary-style.factor

index 598de12b8ad593338d2fabe372bfdb4fef626941..de8293aaba386a3489d246541d517dd1ad660708 100644 (file)
@@ -39,7 +39,6 @@ USE: random
 USE: parser
 USE: html
 USE: cont-responder
-USE: cont-utils
 USE: stdio
 USE: namespaces
 
index b769f95779b285b8d8fb34c53121a15689ce7fc6..d2c02418daec3d62bd26440be1d2695495cc084c 100644 (file)
@@ -26,7 +26,6 @@
 IN: eval-responder
 USE: html
 USE: cont-responder
-USE: cont-utils
 USE: kernel
 USE: stdio
 USE: namespaces
@@ -110,7 +109,7 @@ USE: logging
   #! of the given word.
   dup dup
   <namespace> [
-    "responder" "inspect" put
+    "responder" "browser" put
     <table border= "1" table> 
       <tr> <th colspan= "2" th> "Source" write </th> </tr>
       <tr> <td colspan= "2" td> [ [ parse ] [ [ "No such word" write ] [ car see ] ifte ] catch ] with-simple-html-output </td> </tr>
@@ -186,7 +185,7 @@ USE: logging
   #! All output should go to a string which is returned on the
   #! callstack along with the resulting datastack as a list.
   <namespace> [ 
-    "inspect" "responder" set
+    "browser" "responder" set
     1024 <string-output> dup >r <html-stream> [
       do-eval 
     ] with-stream r> stream>str 
index 1db05950cb7279dd2b63bf806f3af5853272900a..aad1ef7e194f5bdfc3e0d3135719c45181430d6f 100644 (file)
@@ -31,7 +31,6 @@ USE: html
 USE: words
 USE: stdio
 USE: kernel
-USE: cont-utils
 USE: cont-responder
 USE: prettyprint
 
@@ -39,7 +38,7 @@ USE: prettyprint
   #! Given a string that is a factor word, show the
   #! aporpos of that word.
   <namespace> [
-    "responder" "inspect" put
+    "responder" "browser" put
     <pre> 
         stdio get <html-stream> [   
           apropos.
index 967a089a0f9642eff07d951e6cefadb1d7ca0ae5..d25f24ed15d0b20139b06543ddc87b95e0347998 100644 (file)
@@ -33,19 +33,23 @@ USE: stdio
 
 USE: parser
 
-: l1  
-  "cont-responder.factor" run-file 
-  "cont-utils.factor" run-file ;
-: l2 
+: l1 
   "cont-examples.factor" run-file 
   "cont-numbers-game.factor" run-file ;
-: l3 "todo.factor" run-file ;
-: l4 "todo-example.factor" run-file ;
-: l5 "live-updater.factor" run-file ;
-: l6 "eval-responder.factor" run-file ;
-: l7 "live-updater-responder.factor" run-file ;
-: l8 "browser.factor" run-file ;
-: l9 "cont-testing.factor" run-file ;
-: la ;
+: l2 "todo.factor" run-file ;
+: l3 "todo-example.factor" run-file ;
+: l4 "live-updater.factor" run-file ;
+: l5 "eval-responder.factor" run-file ;
+: l6 "live-updater-responder.factor" run-file ;
+: l7 "cont-testing.factor" run-file ;
+: l8 
+  #! Use for reloading and testing changes to browser responder
+  #! in factor core.
+  "../../library/httpd/browser-responder.factor" run-file ;
+: l9
+  #! Use for reloading and testing changes to cont responder
+  #! in factor core.
+  "../../library/httpd/cont-responder.factor" run-file ;
+DEFER: la
 : la [ 8888 httpd ] [ dup . flush [ la ] when* ] catch ;
 : lb [ la "httpd thread exited.\n" write flush ] in-thread  ;
index 591878f9f31384a206ba1d3dbc77a8d500dc7470..a79b0b46c1b1086aac49d70a9ddf13661cc27dbb 100644 (file)
@@ -29,7 +29,6 @@
 IN: todo-example
 USE: cont-responder
 USE: html
-USE: cont-utils
 USE: html
 USE: stdio
 USE: strings
index cf1f2a061be832038ac9065778d48dfe207da537..4e839a3f1d098fe627c7cf31611a93216f044a86 100644 (file)
@@ -119,6 +119,8 @@ USING: kernel lists parser stdio words namespaces ;
     "/library/httpd/test-responder.factor"\r
     "/library/httpd/quit-responder.factor"\r
     "/library/httpd/resource-responder.factor"\r
+    "/library/httpd/cont-responder.factor"\r
+    "/library/httpd/browser-responder.factor"\r
     "/library/httpd/default-responders.factor"\r
 \r
     "/library/tools/jedit.factor"\r
index 39cc7c89d4d9749dc545bd712695689c62dacb12..35b8ee86b1aeae568045e38e5cd83576bace7b81 100644 (file)
@@ -36,6 +36,8 @@ USE: inspect-responder
 USE: quit-responder
 USE: file-responder
 USE: resource-responder
+USE: cont-responder
+USE: browser-responder
 
 #! Remove all existing responders, and create a blank
 #! responder table.
@@ -68,4 +70,6 @@ global [ <namespace> "httpd-responders" set ] bind
     [ resource-responder ] "get" set
 ] extend add-responder
 
+"browser" [ f browser-responder ] install-cont-responder
+
 "file" set-default-responder
index 63946c13d172b27b3482606a07c3a92749aac8e9..6ad7e251f097915ed3613fefa07a7589b33a9a37 100644 (file)
@@ -77,6 +77,19 @@ url-encoding presentation generic ;
         call
     ] ifte* ;
 
+: browser-link-href ( style -- href )
+    dup "browser-link-word" swap assoc url-encode
+    swap "browser-link-vocab" swap assoc url-encode
+    "responder" get url-encode
+    [ "/responder/" , , "/?vocab=" , , "&word=" , , ] make-string ;
+
+: browser-link-tag ( style quot -- style )
+    over "browser-link-word" swap assoc [
+        <a href= over browser-link-href a> call </a>
+    ] [
+        call
+    ] ifte ;
+
 : icon-tag ( string style quot -- )
     over "icon" swap assoc dup [
         <img src= "/responder/resource/" swap cat2 img/>
@@ -93,9 +106,11 @@ M: html-stream fwrite-attr ( str style stream -- )
     wrapper-stream-scope [
         [
             [
-                [ drop chars>entities write ] span-tag
-            ] file-link-tag
-        ] icon-tag
+                [
+                    [ drop chars>entities write ] span-tag
+                ] file-link-tag
+            ] icon-tag
+        ] browser-link-tag
     ] bind ;
 
 C: html-stream ( stream -- stream )
index 7226b87c3cce8b3545ac42686989e4b8255133dd..8d16f17ebdf8a99e343149be29ac8a5c5b824f4b 100644 (file)
@@ -40,8 +40,22 @@ USE: words
 : set-vocab-style ( style vocab -- )
     >r default-style append r> "vocabularies" style set-hash ;
 
+: browser-styles ( word -- style )
+    #! Return the style values for the HTML word browser
+    dup word-vocabulary [ 
+        swap word-name "browser-link-word" swons 
+        swap "browser-link-vocab" swons 
+        2list
+    ] [
+        drop [ ]  
+    ] ifte* ;
+
 : word-style ( word -- style )
-    word-vocabulary [ vocab-style ] [ default-style ] ifte* ;
+    dup browser-styles swap word-vocabulary [ 
+        vocab-style 
+    ] [ 
+        default-style 
+    ] ifte* append ;
 
 <namespace> "vocabularies" set-style