PublicShow sourcepage.pl -- Provide the SWISH application as Prolog HTML component

This library provides the SWISH page and its elements as Prolog HTML grammer rules. This allows for server-side generated pages to include swish or parts of swish easily into a page.

Source swish_reply(+Options, +Request)
HTTP handler to reply the default SWISH page. Processes the following parameters:
code(Code)
Use Code as initial code. Code is either an HTTP url or
url(URL)
Download code from URL. As code(URL), but makes the browser download the source rather than the server.
background(Code)
Similar to Code, but not displayed in the editor.
examples(Code)
Provide examples. Each example starts with ?- at the beginning of a line.
q(Query)
Use Query as the initial query.
show_beware(Boolean)
Control showing the beware limited edition warning.
preserve_state(Boolean)
If true, save state on unload and restore old state on load.
Source swish_reply_resource(+Request) is semidet
Serve /swish/Resource files. In recent Bootstrap versions, the path to `fonts/` is generated that should refer to node_modules/bootstrap/dist/fonts. This could be a bug in Bootstrap or in teh CSS cleaning. For now, we hack around the issue here.
Source swish_page(+Options)//
Generate the entire SWISH default page.
Source swish_navbar(+Options)//
Generate the swish navigation bar.
 swish_config:logo(+Options)// is semidet[multifile]
Hook to include the top-left logos. The default calls pengine_logo//1 and swish_logo//1. The implementation should emit zero or more <a> elements. See config_available/branding.pl for an example.
Source pengine_logo(+Options)// is det
Source swish_logo(+Options)// is det
Emit an <a> element that provides a link to Pengines and SWISH on this server. These may be called from swish_config:logo//1 to include the default logos.
Source swish_content(+Options)//
Generate the SWISH editor, Prolog output area and query editor. Options processed:
source(HREF)
Load initial source from HREF
chat_count(Count)
Indicate the presense of Count chat messages
Source swish_resources//
Include SWISH CSS and JavaScript. This does not use html_require//1 because we need to include the JS using RequireJS, which requires a non-standard script element.

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

Source swish_css(Arg1, Arg2)
Source swish_js(Arg1, Arg2)
Source swish_logo(Arg1, Arg2, Arg3)