mirror of
https://github.com/ganelson/inform.git
synced 2024-05-17 00:18:39 +03:00
104 lines
3.6 KiB
Plaintext
Executable file
104 lines
3.6 KiB
Plaintext
Executable file
! This the manifest file for the Parchment in-browser interpreter, and gives
|
|
! the necessary details to Inform's release component (called cBlorb) so that
|
|
! the interpreter can be bundled into a released website, all set up ready
|
|
! to play the IF story file being released.
|
|
|
|
! Manifest files have a simple format. They are allowed to set the value of
|
|
! any cBlorb placeholders that they would like to, but the ones below are the
|
|
! only ones they will likely want to set. These two are needed for the footer
|
|
! of the play page:
|
|
|
|
[INTERPRETERVERSION]
|
|
Parchment for Inform 7 (2015-09-25)
|
|
[]
|
|
|
|
[INTERPRETERURL]
|
|
https://github.com/curiousdannii/parchment
|
|
[]
|
|
|
|
! Note that we don't set [INTERPRETER]: cBlorb has already set that to the
|
|
! name of the interpreter, in this case, to "Parchment".
|
|
|
|
! This declares whether the interpreter can handle blorbed Z-machine files
|
|
! ("z"), blorbed Glulx files ("g") or both ("zg" or "gz"). No other values
|
|
! are legal; note lower case.
|
|
|
|
[INTERPRETERVM]
|
|
z
|
|
[]
|
|
|
|
! [INTERPRETERHEAD] provides code to go into the <head> ... </head> of the
|
|
! web page playing the work. (Placeholder text starts on the line after the
|
|
! name, and continues until a line reads just []. Line breaks are included
|
|
! between lines, though not at the end of the final line; white space is
|
|
! stripped out at the left and right hand edges of each line.)
|
|
|
|
! In writing the head and body, note that the structure of the site being
|
|
! constructed is:
|
|
! play.html <-- page on which the interpreter runs
|
|
! interpreter
|
|
! ...the base64-encoded story file...
|
|
! ...any files copied over according to the manifest below...
|
|
! The placeholder [ENCODEDSTORYFILE] expands to the leafname of the base64
|
|
! version of the story file, which might be (but should not be assumed
|
|
! to be) "story.zblorb.js".
|
|
|
|
[INTERPRETERHEAD]
|
|
<script src="interpreter/jquery.min.js"></script>
|
|
<script src="interpreter/parchment.min.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="interpreter/parchment.min.css">
|
|
<script>
|
|
parchment_options = {
|
|
default_story: [ "interpreter/[ENCODEDSTORYFILE]" ],
|
|
lib_path: 'interpreter/',
|
|
lock_options: 1,
|
|
lock_story: 1,
|
|
page_title: 0
|
|
};
|
|
</script>
|
|
[]
|
|
|
|
! [INTERPRETERBODY] provides the part of the page where the window
|
|
! or gadget actually appears.
|
|
|
|
[INTERPRETERBODY]
|
|
<div id="about">
|
|
<h1>Parchment</h1>
|
|
<p>is an interpreter for Interactive Fiction. <a href="http://parchment.googlecode.com">Find out more.</a></p>
|
|
<noscript><p>Parchment requires Javascript. Please enable it in your browser.</p></noscript>
|
|
</div>
|
|
<div id="parchment"></div>
|
|
[]
|
|
|
|
! The following footnote is added to the small print about how to play IF
|
|
! on the game's main page:
|
|
|
|
[INBROWSERPLAY]
|
|
Or you can play without downloading anything by following the 'Play In-Browser'
|
|
link, using the [INTERPRETER] interpreter. You'll need to have Javascript enabled
|
|
on your web browser.
|
|
[]
|
|
|
|
! cBlorb encodes the story file into base64 so that it can be loaded in
|
|
! Javascript despite being binary data. The encoding is topped and tailed
|
|
! with the following, in order to make the result a valid Javascript function
|
|
! call with a string argument:
|
|
|
|
[BASESIXTYFOURTOP]
|
|
processBase64Zcode('
|
|
[]
|
|
|
|
[BASESIXTYFOURTAIL]
|
|
')
|
|
[]
|
|
|
|
! Outside of the placeholder parts of the manifest, lines beginning '!', or
|
|
! lines which contain only white space, are thrown away; so this is a comment.
|
|
|
|
! Non-comment lines are the names of files which are copied across when the
|
|
! release is made. Anything not listed here won't be copied.
|
|
|
|
jquery.min.js
|
|
parchment.min.css
|
|
parchment.min.js
|
|
zvm.min.js |