Commit Graph
98 Commits
Author SHA1 Message Date
hallgren 0194769f05 Add build-binary-dist.sh 2010-12-21 22:18:48 +00:00
hallgren 2c91730b9d download/index-3.2.t2t: first version of download page for GF release 3.2 2010-12-20 21:56:10 +00:00
hallgren a5ad9c789e css/style.css: a style sheet for GF web pages 2010-12-20 21:54:51 +00:00
hallgren 3816623310 gf.cabal: version 3.1.91, remove pgf-http
The version of cabal distributed with Ubuntu 10.10 is too old to handle
executables that refer to the library in the same package, so to not make it
too complicated for Ubuntu users to compile GF from source, pgf-http is no
longer part of the main gf.cabal. :-(
2010-12-17 16:59:35 +00:00
hallgren 6b6d1407c8 Add -optimize-pgf to Makefile for Foods.pgf 2010-12-17 16:47:25 +00:00
hallgren 0374f327d6 minibar.html: omit explicit grammars_url option
The grammars will then by default be fetched from the same server as
minibar.html. This means that everything will be served locally when accessing
minibar through a locally running pgf-http.
2010-12-17 16:43:11 +00:00
hallgren fb807d307c minibar/support.js: fix comment typos and add links 2010-12-17 16:42:08 +00:00
hallgren c9d9db121a pgf-http now uses $datadir/www instead of ./www as the document root
Along with the changes to Setup.hs it should now be enough to do

	cabal install
	pgf-http
	open http://localhost:41296/

to run the PGF service locally and play with some example grammars in minibar.
2010-12-17 16:35:59 +00:00
hallgren 31c09c8846 RunHTTP.hs: remove hardcoded document root
The document root is now part of the arguments passed to runHTTP.
2010-12-17 16:33:54 +00:00
hallgren 72148feeb9 Install minibar and some example grammars along with pgf-http
Together with the changes to pgf-http, this should make it much easier to run
the PGF service and minibar locally.
2010-12-17 16:29:22 +00:00
hallgren 2228568fc7 numerals: add language flags
to help minibar pick the right default language
2010-12-14 16:41:28 +00:00
hallgren ab5b02d65c Update version number to 3.1.90 to indicate that we are getting close to the 3.2 release 2010-12-14 15:43:35 +00:00
hallgren 847561d2f6 minibar/support.js: add an errorcallback parameter to ajax_http_get 2010-12-09 16:38:16 +00:00
hallgren b0cafee950 minibar.js: restore start_miniabr function for backward compatibility 2010-12-07 13:00:36 +00:00
hallgren 38e394dc8f minibar: rewrite minibar.js in a more idiomatic JS OOP style
This provides easier access to minibar internals for people who want to extend
it, but probably also reveals too much of the internal machinery...
2010-12-01 16:37:14 +00:00
hallgren a8134994ab Let minibar keep its own copy of tree-btn.png 2010-12-01 16:28:27 +00:00
hallgren 3a432f80fe support.js: add function bind (JS OOP trick) 2010-12-01 16:20:28 +00:00
hallgren bef7f8b053 Setup.hs: improved langs=... option
Instead of just giving an explicit list of languages to compile, you can
now also add and remove languages from the default list by using langs=+...
or langs=-...

Examples:

	cabal build langs=Eng,Swe,Ger   -- as before, compile the given 3 langs
	cabal build langs=-Fin          -- use default languages, but omit Fin 
	cabal build langs=+Urd		-- use default languages + Urd

("cabal build ..." is the same as "runhaskell Setup.hs build ...")
2010-11-30 16:49:15 +00:00
hallgren 7669828212 Setup.hs: omit urdu when compiling the rgl, for now. 2010-11-30 16:29:36 +00:00
hallgren ee4d264896 minibar/about.html: minor adjustments 2010-11-28 11:52:48 +00:00
hallgren 5acc248546 Use the internal preprocessors mkPresent and mkMinimal 2010-11-26 18:49:01 +00:00
hallgren 92da4008e0 Add builtin preprocessors. Avoid creating tmp file. Fix multipreprocessor bug.
* The gf command line options -preproc=mkPresent and -preproc=mkMinimal now
  refer to internal preprocessors equivalent to lib/src/mkPresent
  and lib/src/mkMinimal.

* The temporary file _gf_preproc.tmp is not created when running an
  internal preprocessor, unless there is an error, since errors messages
  refer to locations in the preprocessed file. (Possibly allowing the rgl
  build to be parallelized.)

* After running an external preprocessor, the temporary file is deleted,
  unless there was an error.

* (Bug fix) Before, when running more than one preprocessor, the same file name
  would be used for both input and output, e.g.,

	mkPresent _gf_preproc.tmp > _gf_preproc.tmp

  which would result in an empty file being processed. Now, the input and
  output files will always be different.
2010-11-26 18:25:29 +00:00
hallgren 1867e6bd88 Adding rules for pgf-http to main gf.cabal file
pgf-http is now part of the standard GF build & install.
2010-11-26 15:44:43 +00:00
hallgren 5fd4efd960 Split pgf-server into pgf-fcgi and pgf-http.
The dependency on the fastcgi package made pgf-server difficult to compile, so
it is now split into

  - pgf-fgci (main module in pgf-fcgi.hs), which is built only if fastcgi is
    already installed or if you turn on the fastcgi flag (e.g. by doing
    'cabal install -f fastcgi').

  - pgf-http (main module in pgf-http.hs) which is always built (and hopefully
    has no problematic dependencies.) 

The modules FastCGIUtils and PGFService no longer depend on fastcgi.
2010-11-26 14:30:51 +00:00
hallgren 9532a34a2a pgf-server: more useful JSON output from lineraizeAll
Example:

Request: http://www.grammaticalframework.org:41296/grammars/Quiz.pgf?command=linearizeAll&tree=Run+YouPl

Response: [{"to":"QuizEng","texts":["you run"]},
           {"to":"QuizSwe","texts":["ni l??per","ni springer"]}]

Compared to the old command linearize:

Request: http://www.grammaticalframework.org:41296/grammars/Quiz.pgf?command=linearize&tree=Run+YouPl'

Response: [{"to":"QuizEng","text":"you run"},
           {"to":"QuizSwe","text":"ni l??per"}]
2010-11-25 18:30:30 +00:00
hallgren ab3327dab8 minibar/about.html: document recent development 2010-11-23 12:26:32 +00:00
hallgren 75323ff56c examples/numerals: adapt to current GF syntax 2010-11-12 16:46:44 +00:00
hallgren 906b185d2f Some pgf-server API documentation 2010-11-09 21:02:07 +00:00
hallgren 98bd4f9ae5 pgf_online.js: if a grammar list is supplied, you don't have to call switch_grammar. 2010-11-09 16:29:04 +00:00
hallgren d0efcc035c Make PGFService.hs compile again
+ PGFService.hs: add Nothing arguments in calls to PGF.parse_ and
  PGF.getPArseOutput
+ gf-server.cabal: mark content-server as not buildable, since required source
  files are missing.
2010-11-09 15:08:37 +00:00
hallgren 92cf1bdb85 minibar.js: code simplification 2010-11-09 11:58:38 +00:00
hallgren 48effe4922 support.js: two new functions: commonPrefix & insertFirst 2010-11-05 15:41:06 +00:00
hallgren 592206e6a8 minibar.js: bug fix: when not using group translation, and a particular language is chosen in the To: menu, the translation would not be displayed 2010-10-28 12:39:56 +00:00
hallgren c4f8fa82b7 minibar.js: bug fix: the To: menu wasn't updated properly when switching grammars 2010-10-28 11:53:50 +00:00
hallgren 4f7255dae2 minibar: restructured code and improved user interface
* Keyboard input and completion should now work much more smoothly:
  + When you press space, the current word will be completed (if incomplete)
    and a new magnet will be created. If there is more than one possible
    completion, no magnet is created, but the common prefix of the possible
    completions is added to the text box.
  + Instead of asking the server for possible completions every time a new
    letter is added to the curent word, minibar only ask for completions for
    whole words and then filters the list locally when more letters are entered,
    speeding things up when server responses are slow.

* Code restructuring:
  + The PGF server API has been moved to its own file: pgf_online.js. This
    allows it to be reused in other applicaitons without importing the entire
    minibar. It also allows minibar to be used with different server interfaces.
  + The minibar code has been rewritten to avoid storing state information
    in the document tree and accessing it by referring to named document
    elements. The code now also avoids using string literals contaning
    the names of top-level functions to specify event handlers for buttons
    and menus. (The code is no longer introspective, so alpha conversion will
    not change its meaning.)
2010-10-26 12:42:33 +00:00
hallgren 41edd0a84f support.js: some enhancements and new functions
+ ajax_http_get(url,callback) now checks the HTTP response status and shows an
  error message if the status is not OK (is not 200)
+ New function node(tag,attrs,children) to create document nodes with arbitraty
  attributes and children. The functions node() and text() should now be enough
  to construct arbitrary document trees in an easy, functional way, and many of
  the more specialized functions could be removed.
+ When calling the function button(label,action,key), the action can be a
  function instead of a string, so you can use local/anonymous functions.
+ New function debug(str) adds text to the element with id=debug, if it
  exists.
2010-10-26 11:52:04 +00:00
hallgren dd7cd640ea minibar.js: show the type error messages that can occur for grammars with dependent types 2010-10-18 12:15:30 +00:00
hallgren 5400728ef7 minibar.js: add an option to enable/disable the Random button 2010-10-17 16:48:21 +00:00
hallgren 518a27a009 minibar: work on adding back support for typing multiple words without pressing enter in between
It mostly works now, but some minor issues still need to be fixed.
2010-09-29 13:03:40 +00:00
hallgren 31d0e84617 minibar: update about.html with description of recent changes 2010-09-28 11:46:32 +00:00
hallgren 6f2a3849f3 minibar/about.html: fix typos and formatting 2010-09-24 12:57:16 +00:00
hallgren 3d2bf753d4 minibar.html: specify charset, move initialization
Added a meta tag to specify that the file is in UTF-8. This makes the browser
(at least Firefox) assume that the JavaScript files are also in UTF-8, it seems.

Moved the call to start_minibar() from the <body onload="..."> to the end of
the file. The onload action is not executed until all images in the document
has been loaded, while javascipt at the end of the file is executed as soon
as the HTML file has been loaded. (Calling start_minibar() from the head of
the document would be too soon, since it refers to elements in the body,
which hasn't been loaded yet.)
2010-09-24 12:47:18 +00:00
hallgren 5e1f2c069f pgf-server HTTP mode: omit charset from ContentType for static files
When pfg-server servers a static file in HTTP mode, it is output as is, so
specifying charset="iso-8859-1" could be wrong. 

Note: the a charset can be specified with a meta tag in HTML files,
e.g. for files in UTF-8:

<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
2010-09-24 12:34:38 +00:00
hallgren c533314843 minibar.js: server API code cleanup 2010-09-14 17:15:37 +00:00
hallgren ee36bac494 minibar.js: bug fix: the current word should be accepted when you press enter if it matches one of the possible completions exactly
The current word is also accepted if there is only one remaining possible
completion.
2010-09-14 16:48:20 +00:00
hallgren ed9999784f minibar.js: add access keys to some of the buttons 2010-09-14 16:45:48 +00:00
hallgren fa65026136 support.js: create buttons with access keys 2010-09-10 12:20:07 +00:00
hallgren af8645a2f3 pgf-server HTTP mode: support the Accept-Language header
It is needed for the userLanguage field in the grammar info from pgf-server
2010-09-10 11:20:49 +00:00
hallgren 846b747cee minibar: default input language is now the user's preferred language, if possible
This is implemented using the userLanguage field in the grammar info output by
pgf-server.
2010-09-10 11:03:46 +00:00
hallgren f5f8369d97 minibar: use AJAX instead of JSONP when possible
Using AJAX instead of JSONP can give better caching in the browser, since the
URL doesn't need to contain a (dynamically generated) callback function name.
But because of the same origin policy in JavaScript, AJAX can only be used when
the HTML file is served from the same server as the PGF. The new function
http_get_json in support.js uses AJAX if this is the case, and falls back to
JSONP otherwise.
2010-09-10 08:38:11 +00:00
hallgren c662d116f6 Minibar: PGF server API: pass callback functions directly instead of passing function names as strings. 2010-09-05 18:06:45 +00:00
hallgren b14592b0d3 minibar: fix broken link to brushed-metal background
Solution: include a local copy of brushed-metal.png
2010-09-05 18:01:44 +00:00
hallgren cff7dfcf7b pgf-server HTTP mode: workaround for bugs in the httpd-shed package that prevented the fridge and translate web apps from working
queryToArguments "?&input=bla+bla"
           returns [("&input","bla+bla")]
 but should return [("input","bla bla")]
2010-09-03 13:12:08 +00:00
hallgren c5f0b31dbe pgf-server HTTP mode feature: return the contents of index.html when the URL refers to a directory 2010-09-02 14:10:07 +00:00
hallgren c234222cd9 Bug fix: add missing error handler for statically served files in pgf-server HTTP mode 2010-09-02 13:54:16 +00:00
hallgren ea67281820 Standalone HTTP version of pgf-server
pgf-server can now act as a standalone HTTP server. To activate this mode,
start it with

	pfg-server http

to use the default port number (41296), or give an explicit port number, e.g.,

	pgf-server http 8080

The HTTP server serves PGF files in the same way as the old FastCGI interface.
In addition, it also serves static files. The document root for static files
is the www subdirectory of the current directory where pgf-server is started.

In spite of these addition, backwards compatibility is maintaned. The old
FastCGI interface continues to work as before. (It is activated when
pgf-server is started without arguments.)
2010-09-01 14:08:52 +00:00
hallgren 3a120aaf17 Adapt minibar.js to the current GF web service API
Quick fix. More work needed for correct behaviour when multiple words are
entered at once.
2010-08-27 16:46:14 +00:00
hallgren c9cca8a77e Add missing <td> tags in the HTML constructed by functio show_groupedtranslations 2010-07-13 11:54:42 +00:00
hallgren 032cd65f8f Bug fix in minibar.js: no translations where shown when using option show_grouped_translations: false
This affected minibar.html but not phrasebook.html and was
caused by accidental shadowing of function tr in function show_translations.
2010-07-13 11:35:28 +00:00
hallgren 866ef5ead0 Make minibar.js work again after backwards incompatible changes to the data structures output by pgf-server.
The canParse field was removed without notice.
2010-07-13 10:22:03 +00:00
hallgren a74e3f963a Access keys for input fields in minibar and feedback form 2010-07-06 13:36:42 +00:00
hallgren f575ea2264 minibar feedback: save user_agent, simple feedback viewer 2010-06-02 16:23:52 +00:00
hallgren e29fe45d0a Feedback form for phrasebook/minibar 2010-06-02 14:36:09 +00:00
hallgren 47285fe880 New minibar option: default_source_language 2010-06-02 13:59:38 +00:00
hallgren b981996783 Some minibar/phrasebook button and style changes
* Add help button at top of page.
* Change style of word buttons to look like fridge magnets again.
* New options to specify locations of other pages: feedback_url, help_url. If
  they are left undefined, no Help/Feedback buttons will be created.
* Shorter test in Google Translate button.
2010-06-02 13:40:41 +00:00
hallgren d71d700615 Improved Goolge Translate button 2010-06-02 10:39:25 +00:00
hallgren ceb30f7e0d Work on the feedback button for the minibar 2010-06-01 20:20:17 +00:00
hallgren cad022019a Always show link to Google Translate, and open it in a new window. 2010-05-29 15:42:27 +00:00
hallgren f234806aab updated documentation 2010-05-28 16:19:06 +00:00
hallgren 9744d6b6aa Add link to Google Translate 2010-05-28 16:17:54 +00:00
hallgren 52d6ee6f7e Changes for publication of SALDO demo web apps
Published at http://spraakbanken.gu.se/swe/forskning/saldo/ordspel
2010-05-28 14:47:38 +00:00
hallgren 1fd4ed7421 support.js: new function span_id, bug fix in function sort 2010-05-28 14:41:30 +00:00
hallgren 77d464951e Add meta tag to avoid horizontal scrolling in Mobile Safari
With thanks to codinggeekette,
http://www.codinggeekette.com/post/Mobile-Safari-40-2b-Horizontal-Scrolling-3d-SUX.aspx
2010-05-26 21:03:57 +00:00
hallgren 928c80e8a0 Improved keyboard input handling in minibar/phrasebook
1. The text input field is shown form the start, no need to click.
2. The text input field is removed when no more words can be added to the
   sentence.
3. When you press Enter, a word is added to the sentence (1) if there is only
   one possible completion left (e.g. if you typed "airp" and the only
   completion is "airport"), or (2) if what you typed exactly matches one
   of the completions (e.g. if you typed "the" and the completions are
   "the", "theatre" and "these").
2010-05-26 15:49:08 +00:00
hallgren 6d730943a3 Enable display of abstract syntax in minibar 2010-05-26 15:48:06 +00:00
hallgren 1ff6d92b17 Use <input type=button ...> instead of <div ...> tags for the word magnets. This should make them clickable in more browsers and could improve layout. 2010-05-26 11:47:15 +00:00
hallgren 2b6d0ca25e Change server to http://www.grammaticalframework.org:41296 2010-05-26 11:46:25 +00:00
hallgren 76ee1a9f67 hide the language code if translating to only one target language 2010-05-21 10:43:19 +00:00
hallgren ec76b02be1 smaller input field 2010-05-21 10:42:30 +00:00
hallgren 7dadaf0b3a Putting automatically generated files in the *source* repository is a bad idea... 2010-05-21 10:34:17 +00:00
hallgren 6402552510 make upload 2010-05-21 10:29:11 +00:00
hallgren 87cc4d7624 Merge phrasebook.js into minibar.js 2010-04-30 14:55:56 +00:00
hallgren 4fd94cc5c1 Some work on the Saldo game 2010-04-28 12:58:17 +00:00
hallgren ee9acfc772 Update version numbers for build-depends in gf-server.cabal 2010-04-22 14:22:55 +00:00
hallgren e2a8d4cf9e Require GHC >=6.12, and add a homepage field in GF.cabal
I assume checking for base>=4.2 is a good way to test for the presence of the
new Unicode-aware I/O libraries (first shipped with GHC 6.12) that GF now
relies on.
2010-04-22 13:09:27 +00:00
hallgren 4c757f4683 Changes to lighttpd.conf to allow grammars.cgi to work 2010-04-20 14:46:36 +00:00
hallgren 7f9fc7f095 Commented out faulty coding flag
FoodsIce.gf contained coding=utf8, but the file is in the latin1 encoding. This
confused GF.
2010-04-20 13:54:10 +00:00
hallgren 14a053a81b Some work on minibar:
1. Menu for choosing target language.
2. Pass options when calling start_minibar.
See about.html for more details.
2010-04-19 16:48:26 +00:00
hallgren be045d40fa Work in progress on keyboard input in minibar 2010-04-15 15:42:18 +00:00
hallgren 6e24b79dcd Code simplification 2010-04-15 15:41:30 +00:00
hallgren 603536a2f2 Omit redundant trailing "&" in jsonp url 2010-04-15 13:48:28 +00:00
hallgren 0b1a2bb20b Fix bug in get_grammarlist. Some code simplificaiton. 2010-04-15 13:33:21 +00:00
hallgren b3c8cf315a Some documentation 2010-04-09 14:04:18 +00:00
hallgren 1b4dd1df71 Abstract out grammar access method 2010-04-09 14:00:38 +00:00
hallgren df6ab55915 Adding the Minibar files to the darcs repository. 2010-04-09 13:51:34 +00:00
hallgren e239e3331a Quick fix to adapt to new version of the PGF library. 2010-03-04 18:46:18 +00:00
hallgren b318698372 Use build-type: Custom, so that cabal install calls Setup.hs. 2010-01-13 16:40:15 +00:00
hallgren de7aadaf59 Makefile for Foods.pgf (machine readable version of README) 2010-01-12 15:25:56 +00:00