diff options
| author | hallgren <hallgren@chalmers.se> | 2011-10-12 17:03:54 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2011-10-12 17:03:54 +0000 |
| commit | 44d1a5a9f71b03d9aceeccd760a63fcdc45f8bad (patch) | |
| tree | d51076a708997d6f1af6ac0deefd535bbc25f804 /src | |
| parent | 0aba45560d2033c37c3d2e876e6f3ef89e1554d6 (diff) | |
Improvements of "gf -server" mode and related setup
"gf -server" mode now contains everything needed to run the minibar and
the grammar editor (including example-based grammar writing).
The Setup.hs script installs the required files where gf -server can find them.
These files have been moved to a new directory: src/www.
The separate server program pgf-http is now obsolete.
Diffstat (limited to 'src')
| -rw-r--r-- | src/compiler/GFServer.hs | 20 | ||||
| -rw-r--r-- | src/www/gfse/Makefile (renamed from src/editor/simple/Makefile) | 0 | ||||
| -rw-r--r-- | src/www/gfse/P/1306856253_weather_06.png (renamed from src/editor/simple/P/1306856253_weather_06.png) | bin | 2311 -> 2311 bytes | |||
| -rw-r--r-- | src/www/gfse/P/1307545089_weather_04.png (renamed from src/editor/simple/P/1307545089_weather_04.png) | bin | 2376 -> 2376 bytes | |||
| -rw-r--r-- | src/www/gfse/P/w1s.jpg (renamed from src/editor/simple/P/w1s.jpg) | bin | 26163 -> 26163 bytes | |||
| -rw-r--r-- | src/www/gfse/P/w2s.jpg (renamed from src/editor/simple/P/w2s.jpg) | bin | 25953 -> 25953 bytes | |||
| -rw-r--r-- | src/www/gfse/P/w3s.jpg (renamed from src/editor/simple/P/w3s.jpg) | bin | 29664 -> 29664 bytes | |||
| -rw-r--r-- | src/www/gfse/P/w4s.jpg (renamed from src/editor/simple/P/w4s.jpg) | bin | 22005 -> 22005 bytes | |||
| -rw-r--r-- | src/www/gfse/TODO (renamed from src/editor/simple/TODO) | 0 | ||||
| -rw-r--r-- | src/www/gfse/about.html (renamed from src/editor/simple/about.html) | 0 | ||||
| -rw-r--r-- | src/www/gfse/cloud.js (renamed from src/editor/simple/cloud.js) | 0 | ||||
| -rw-r--r-- | src/www/gfse/cloud2.js (renamed from src/editor/simple/cloud2.js) | 0 | ||||
| -rw-r--r-- | src/www/gfse/editor.css (renamed from src/editor/simple/editor.css) | 0 | ||||
| -rw-r--r-- | src/www/gfse/editor.js (renamed from src/editor/simple/editor.js) | 0 | ||||
| -rw-r--r-- | src/www/gfse/example_based.js (renamed from src/editor/simple/example_based.js) | 0 | ||||
| -rw-r--r-- | src/www/gfse/gf_abs.js (renamed from src/editor/simple/gf_abs.js) | 0 | ||||
| -rw-r--r-- | src/www/gfse/gfse.manifest (renamed from src/editor/simple/gfse.manifest) | 0 | ||||
| -rw-r--r-- | src/www/gfse/grammars.cgi (renamed from src/editor/simple/grammars.cgi) | 0 | ||||
| -rw-r--r-- | src/www/gfse/index.html (renamed from src/editor/simple/index.html) | 4 | ||||
| -rw-r--r-- | src/www/gfse/localstorage.js (renamed from src/editor/simple/localstorage.js) | 0 | ||||
| -rw-r--r-- | src/www/gfse/molto.css (renamed from src/editor/simple/molto.css) | 0 | ||||
| -rw-r--r-- | src/www/gfse/save.hs (renamed from src/editor/simple/save.hs) | 0 | ||||
| -rw-r--r-- | src/www/gfse/share.html (renamed from src/editor/simple/share.html) | 4 | ||||
| -rw-r--r-- | src/www/gfse/slideshow.js (renamed from src/editor/simple/slideshow.js) | 0 | ||||
| -rw-r--r-- | src/www/gfse/upload.cgi (renamed from src/editor/simple/upload.cgi) | 0 | ||||
| -rw-r--r-- | src/www/index.html | 18 | ||||
| -rw-r--r-- | src/www/minibar/about.html (renamed from src/runtime/javascript/minibar/about.html) | 0 | ||||
| -rw-r--r-- | src/www/minibar/align-btn.png (renamed from src/runtime/javascript/minibar/align-btn.png) | bin | 138 -> 138 bytes | |||
| -rw-r--r-- | src/www/minibar/brushed-metal.png (renamed from src/runtime/javascript/minibar/brushed-metal.png) | bin | 36233 -> 36233 bytes | |||
| -rw-r--r-- | src/www/minibar/example.html (renamed from src/runtime/javascript/minibar/example.html) | 0 | ||||
| -rw-r--r-- | src/www/minibar/feedback.cgi (renamed from src/runtime/javascript/minibar/feedback.cgi) | 0 | ||||
| -rw-r--r-- | src/www/minibar/feedback.html (renamed from src/runtime/javascript/minibar/feedback.html) | 0 | ||||
| -rw-r--r-- | src/www/minibar/gf-web-api-examples.html (renamed from src/runtime/javascript/minibar/gf-web-api-examples.html) | 0 | ||||
| -rw-r--r-- | src/www/minibar/minibar-api.html (renamed from src/runtime/javascript/minibar/minibar-api.html) | 0 | ||||
| -rw-r--r-- | src/www/minibar/minibar.css (renamed from src/runtime/javascript/minibar/minibar.css) | 0 | ||||
| -rw-r--r-- | src/www/minibar/minibar.html (renamed from src/runtime/javascript/minibar/minibar.html) | 0 | ||||
| -rw-r--r-- | src/www/minibar/minibar.js (renamed from src/runtime/javascript/minibar/minibar.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/minibar_input.js (renamed from src/runtime/javascript/minibar/minibar_input.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/minibar_online.js (renamed from src/runtime/javascript/minibar/minibar_online.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/minibar_support.js (renamed from src/runtime/javascript/minibar/minibar_support.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/minibar_translations.js (renamed from src/runtime/javascript/minibar/minibar_translations.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/pgf_offline.js (renamed from src/runtime/javascript/minibar/pgf_offline.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/pgf_online.js (renamed from src/runtime/javascript/minibar/pgf_online.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/phrasebook.html (renamed from src/runtime/javascript/minibar/phrasebook.html) | 0 | ||||
| -rw-r--r-- | src/www/minibar/saldotest.html (renamed from src/runtime/javascript/minibar/saldotest.html) | 0 | ||||
| -rw-r--r-- | src/www/minibar/saldotest.js (renamed from src/runtime/javascript/minibar/saldotest.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/support.js (renamed from src/runtime/javascript/minibar/support.js) | 0 | ||||
| -rw-r--r-- | src/www/minibar/tree-btn.png (renamed from src/runtime/javascript/minibar/tree-btn.png) | bin | 149 -> 149 bytes |
48 files changed, 31 insertions, 15 deletions
diff --git a/src/compiler/GFServer.hs b/src/compiler/GFServer.hs index 6e9b26a8d..bc5bdbdaf 100644 --- a/src/compiler/GFServer.hs +++ b/src/compiler/GFServer.hs @@ -27,21 +27,19 @@ import qualified ExampleService as ES import Paths_gf(getDataDir) import RunHTTP(Options(..),cgiHandler) --- * Configuraiton - -options = Options { documentRoot = "." {-datadir</>"www"-}, port = gfport } -gfport = 41296 - -- * HTTP server server execute1 state0 = do state <- newMVar M.empty cache <- PS.newPGFCache - --datadir <- getDataDir - putStrLn $ "Starting server on port "++show gfport - initServer gfport (modifyMVar state . handle state0 cache execute1) + datadir <- getDataDir + let options = Options { documentRoot = datadir</>"www", port = 41296 } + putStrLn $ "Starting HTTP server, open http://localhost:" + ++show (port options)++"/ in your web browser." + initServer (port options) + (modifyMVar state . handle options state0 cache execute1) -- * HTTP request handler -handle state0 cache execute1 +handle options state0 cache execute1 rq@(Request method URI{uriPath=upath,uriQuery=q} hdrs body) state = do let qs = decodeQ $ case method of @@ -67,6 +65,8 @@ handle state0 cache execute1 where root = documentRoot options + translatePath rpath = root</>rpath -- hmm, check for ".." + wrapCGI cgi = do resp <- cgiHandler root (handleErrors . handleCGIErrors $ cgi) rq return (state,resp) @@ -191,8 +191,6 @@ escape1 c = [c] -- * Static content -translatePath path = documentRoot options</>path -- hmm, check for ".." - serveStaticFile path = do b <- doesDirectoryExist path let path' = if b then path </> "index.html" else path diff --git a/src/editor/simple/Makefile b/src/www/gfse/Makefile index 00a97b337..00a97b337 100644 --- a/src/editor/simple/Makefile +++ b/src/www/gfse/Makefile diff --git a/src/editor/simple/P/1306856253_weather_06.png b/src/www/gfse/P/1306856253_weather_06.png Binary files differindex 3f01afcaa..3f01afcaa 100644 --- a/src/editor/simple/P/1306856253_weather_06.png +++ b/src/www/gfse/P/1306856253_weather_06.png diff --git a/src/editor/simple/P/1307545089_weather_04.png b/src/www/gfse/P/1307545089_weather_04.png Binary files differindex 8a7f1e3ae..8a7f1e3ae 100644 --- a/src/editor/simple/P/1307545089_weather_04.png +++ b/src/www/gfse/P/1307545089_weather_04.png diff --git a/src/editor/simple/P/w1s.jpg b/src/www/gfse/P/w1s.jpg Binary files differindex 199fcb7ba..199fcb7ba 100644 --- a/src/editor/simple/P/w1s.jpg +++ b/src/www/gfse/P/w1s.jpg diff --git a/src/editor/simple/P/w2s.jpg b/src/www/gfse/P/w2s.jpg Binary files differindex 9673758c0..9673758c0 100644 --- a/src/editor/simple/P/w2s.jpg +++ b/src/www/gfse/P/w2s.jpg diff --git a/src/editor/simple/P/w3s.jpg b/src/www/gfse/P/w3s.jpg Binary files differindex 1a8680ec7..1a8680ec7 100644 --- a/src/editor/simple/P/w3s.jpg +++ b/src/www/gfse/P/w3s.jpg diff --git a/src/editor/simple/P/w4s.jpg b/src/www/gfse/P/w4s.jpg Binary files differindex 5c685c134..5c685c134 100644 --- a/src/editor/simple/P/w4s.jpg +++ b/src/www/gfse/P/w4s.jpg diff --git a/src/editor/simple/TODO b/src/www/gfse/TODO index 22974ebe0..22974ebe0 100644 --- a/src/editor/simple/TODO +++ b/src/www/gfse/TODO diff --git a/src/editor/simple/about.html b/src/www/gfse/about.html index 8660621a3..8660621a3 100644 --- a/src/editor/simple/about.html +++ b/src/www/gfse/about.html diff --git a/src/editor/simple/cloud.js b/src/www/gfse/cloud.js index f19b6ee37..f19b6ee37 100644 --- a/src/editor/simple/cloud.js +++ b/src/www/gfse/cloud.js diff --git a/src/editor/simple/cloud2.js b/src/www/gfse/cloud2.js index e32749dc1..e32749dc1 100644 --- a/src/editor/simple/cloud2.js +++ b/src/www/gfse/cloud2.js diff --git a/src/editor/simple/editor.css b/src/www/gfse/editor.css index ef12fe8f5..ef12fe8f5 100644 --- a/src/editor/simple/editor.css +++ b/src/www/gfse/editor.css diff --git a/src/editor/simple/editor.js b/src/www/gfse/editor.js index 859f33a04..859f33a04 100644 --- a/src/editor/simple/editor.js +++ b/src/www/gfse/editor.js diff --git a/src/editor/simple/example_based.js b/src/www/gfse/example_based.js index 5922b60ea..5922b60ea 100644 --- a/src/editor/simple/example_based.js +++ b/src/www/gfse/example_based.js diff --git a/src/editor/simple/gf_abs.js b/src/www/gfse/gf_abs.js index 4efaab89a..4efaab89a 100644 --- a/src/editor/simple/gf_abs.js +++ b/src/www/gfse/gf_abs.js diff --git a/src/editor/simple/gfse.manifest b/src/www/gfse/gfse.manifest index 60c6f3757..60c6f3757 100644 --- a/src/editor/simple/gfse.manifest +++ b/src/www/gfse/gfse.manifest diff --git a/src/editor/simple/grammars.cgi b/src/www/gfse/grammars.cgi index 9f1aa22a6..9f1aa22a6 100644 --- a/src/editor/simple/grammars.cgi +++ b/src/www/gfse/grammars.cgi diff --git a/src/editor/simple/index.html b/src/www/gfse/index.html index 27b053300..c683a1ebf 100644 --- a/src/editor/simple/index.html +++ b/src/www/gfse/index.html @@ -32,7 +32,7 @@ This page does not work without JavaScript. <hr> <div class=modtime><small> HTML -<!-- hhmts start --> Last modified: Mon Oct 10 17:54:37 CEST 2011 <!-- hhmts end --> +<!-- hhmts start --> Last modified: Mon Oct 10 19:24:05 CEST 2011 <!-- hhmts end --> </small></div> <a href="about.html">About</a> <pre id=debug></pre> @@ -42,7 +42,7 @@ HTML <script type="text/javascript" src="gf_abs.js"></script> <script type="text/javascript" src="example_based.js"></script> <script type="text/javascript" src="editor.js"></script> -<script type="text/javascript" src="cloud.js"></script> +<script type="text/javascript" src="cloud2.js"></script> <script type="text/javascript" src="sort.js"></script> </body> </html> diff --git a/src/editor/simple/localstorage.js b/src/www/gfse/localstorage.js index 31201998c..31201998c 100644 --- a/src/editor/simple/localstorage.js +++ b/src/www/gfse/localstorage.js diff --git a/src/editor/simple/molto.css b/src/www/gfse/molto.css index 052dda431..052dda431 100644 --- a/src/editor/simple/molto.css +++ b/src/www/gfse/molto.css diff --git a/src/editor/simple/save.hs b/src/www/gfse/save.hs index 0472ff5e8..0472ff5e8 100644 --- a/src/editor/simple/save.hs +++ b/src/www/gfse/save.hs diff --git a/src/editor/simple/share.html b/src/www/gfse/share.html index 643d298ba..260a7b066 100644 --- a/src/editor/simple/share.html +++ b/src/www/gfse/share.html @@ -13,12 +13,12 @@ <hr> <address></address> -<!-- hhmts start --> Last modified: Mon Aug 1 16:24:44 CEST 2011 <!-- hhmts end --> +<!-- hhmts start --> Last modified: Mon Oct 10 20:29:01 CEST 2011 <!-- hhmts end --> <script type="text/javascript" src="support.js"></script> <script type="text/javascript" src="localstorage.js"></script> <script type="text/javascript" src="gf_abs.js"></script> <script type="text/javascript" src="editor.js"></script> -<script type="text/javascript" src="cloud.js"></script> +<script type="text/javascript" src="cloud2.js"></script> <script type="text/javascript" src="sort.js"></script> <script type="text/javascript"> download_from_cloud(); diff --git a/src/editor/simple/slideshow.js b/src/www/gfse/slideshow.js index 307bcd98f..307bcd98f 100644 --- a/src/editor/simple/slideshow.js +++ b/src/www/gfse/slideshow.js diff --git a/src/editor/simple/upload.cgi b/src/www/gfse/upload.cgi index 87b868f53..87b868f53 100644 --- a/src/editor/simple/upload.cgi +++ b/src/www/gfse/upload.cgi diff --git a/src/www/index.html b/src/www/index.html new file mode 100644 index 000000000..b1aa24028 --- /dev/null +++ b/src/www/index.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> + +<!-- This is the start page served by "gf -server" --> + +<title>GF web service</title> +<h1>GF web service</h1> + +<h2>Available web services</h2> + +<ul> + <li><a href="minibar/minibar.html">Minibar</a> + <li><a href="gfse/">GF online editor for simple multilingual grammars</a> +</ul> + + +<hr> + +<a href="http://www.grammaticalframework.org/">Grammatical Framework</a> diff --git a/src/runtime/javascript/minibar/about.html b/src/www/minibar/about.html index 69fba5a9d..69fba5a9d 100644 --- a/src/runtime/javascript/minibar/about.html +++ b/src/www/minibar/about.html diff --git a/src/runtime/javascript/minibar/align-btn.png b/src/www/minibar/align-btn.png Binary files differindex ca6a391c1..ca6a391c1 100644 --- a/src/runtime/javascript/minibar/align-btn.png +++ b/src/www/minibar/align-btn.png diff --git a/src/runtime/javascript/minibar/brushed-metal.png b/src/www/minibar/brushed-metal.png Binary files differindex c2f03fe7d..c2f03fe7d 100644 --- a/src/runtime/javascript/minibar/brushed-metal.png +++ b/src/www/minibar/brushed-metal.png diff --git a/src/runtime/javascript/minibar/example.html b/src/www/minibar/example.html index 7d78a7ef6..7d78a7ef6 100644 --- a/src/runtime/javascript/minibar/example.html +++ b/src/www/minibar/example.html diff --git a/src/runtime/javascript/minibar/feedback.cgi b/src/www/minibar/feedback.cgi index 0d382f22d..0d382f22d 100644 --- a/src/runtime/javascript/minibar/feedback.cgi +++ b/src/www/minibar/feedback.cgi diff --git a/src/runtime/javascript/minibar/feedback.html b/src/www/minibar/feedback.html index 94b15a482..94b15a482 100644 --- a/src/runtime/javascript/minibar/feedback.html +++ b/src/www/minibar/feedback.html diff --git a/src/runtime/javascript/minibar/gf-web-api-examples.html b/src/www/minibar/gf-web-api-examples.html index 194967de0..194967de0 100644 --- a/src/runtime/javascript/minibar/gf-web-api-examples.html +++ b/src/www/minibar/gf-web-api-examples.html diff --git a/src/runtime/javascript/minibar/minibar-api.html b/src/www/minibar/minibar-api.html index 2c5a8ecc0..2c5a8ecc0 100644 --- a/src/runtime/javascript/minibar/minibar-api.html +++ b/src/www/minibar/minibar-api.html diff --git a/src/runtime/javascript/minibar/minibar.css b/src/www/minibar/minibar.css index 4d2094066..4d2094066 100644 --- a/src/runtime/javascript/minibar/minibar.css +++ b/src/www/minibar/minibar.css diff --git a/src/runtime/javascript/minibar/minibar.html b/src/www/minibar/minibar.html index 086b8fad6..086b8fad6 100644 --- a/src/runtime/javascript/minibar/minibar.html +++ b/src/www/minibar/minibar.html diff --git a/src/runtime/javascript/minibar/minibar.js b/src/www/minibar/minibar.js index 778a3957b..778a3957b 100644 --- a/src/runtime/javascript/minibar/minibar.js +++ b/src/www/minibar/minibar.js diff --git a/src/runtime/javascript/minibar/minibar_input.js b/src/www/minibar/minibar_input.js index 8075eb8ea..8075eb8ea 100644 --- a/src/runtime/javascript/minibar/minibar_input.js +++ b/src/www/minibar/minibar_input.js diff --git a/src/runtime/javascript/minibar/minibar_online.js b/src/www/minibar/minibar_online.js index 1c15e87bf..1c15e87bf 100644 --- a/src/runtime/javascript/minibar/minibar_online.js +++ b/src/www/minibar/minibar_online.js diff --git a/src/runtime/javascript/minibar/minibar_support.js b/src/www/minibar/minibar_support.js index a3fc078f7..a3fc078f7 100644 --- a/src/runtime/javascript/minibar/minibar_support.js +++ b/src/www/minibar/minibar_support.js diff --git a/src/runtime/javascript/minibar/minibar_translations.js b/src/www/minibar/minibar_translations.js index ef6fbd701..ef6fbd701 100644 --- a/src/runtime/javascript/minibar/minibar_translations.js +++ b/src/www/minibar/minibar_translations.js diff --git a/src/runtime/javascript/minibar/pgf_offline.js b/src/www/minibar/pgf_offline.js index cd2d40b1c..cd2d40b1c 100644 --- a/src/runtime/javascript/minibar/pgf_offline.js +++ b/src/www/minibar/pgf_offline.js diff --git a/src/runtime/javascript/minibar/pgf_online.js b/src/www/minibar/pgf_online.js index ac6620ee5..ac6620ee5 100644 --- a/src/runtime/javascript/minibar/pgf_online.js +++ b/src/www/minibar/pgf_online.js diff --git a/src/runtime/javascript/minibar/phrasebook.html b/src/www/minibar/phrasebook.html index 78f5c353f..78f5c353f 100644 --- a/src/runtime/javascript/minibar/phrasebook.html +++ b/src/www/minibar/phrasebook.html diff --git a/src/runtime/javascript/minibar/saldotest.html b/src/www/minibar/saldotest.html index 179c42e4d..179c42e4d 100644 --- a/src/runtime/javascript/minibar/saldotest.html +++ b/src/www/minibar/saldotest.html diff --git a/src/runtime/javascript/minibar/saldotest.js b/src/www/minibar/saldotest.js index 47cb95047..47cb95047 100644 --- a/src/runtime/javascript/minibar/saldotest.js +++ b/src/www/minibar/saldotest.js diff --git a/src/runtime/javascript/minibar/support.js b/src/www/minibar/support.js index c65c1a389..c65c1a389 100644 --- a/src/runtime/javascript/minibar/support.js +++ b/src/www/minibar/support.js diff --git a/src/runtime/javascript/minibar/tree-btn.png b/src/www/minibar/tree-btn.png Binary files differindex ebd243617..ebd243617 100644 --- a/src/runtime/javascript/minibar/tree-btn.png +++ b/src/www/minibar/tree-btn.png |
