Parchment
Parchment is the Interactive Fiction player for the web. To play a story with Parchment go to https://iplayif.com!
Parchment for Inform 7
Inform 7 includes Parchment, allowing you to produce personal websites for your stories. If you want to update the version of Parchment used by Inform 7, grab parchment-for-inform7.zip and unzip it into the Templates subfolder of your project's Materials folder.
If you would like to make a website like what Inform 7 would produce, but for a pre-existing storyfile, we recommend ifsitegen.py. You can download parchment-for-inform7.zip and pass it with the -i
option and it will use the new version instead of the old one bundled with Inform 7:
python3 ifsitegen.py -i parchment-for-inform7.zip Storyfile.ulx
Free Software
Parchment is MIT licensed, and incorporates the following upstream projects:
Name | Upstream repo | License |
---|---|---|
Bocfel | garglk/garglk | GPL-2.0/GPL-3.0 |
Emglken | curiousdannii/emglken | MIT |
Git | DavidKinder/Git | MIT |
GlkOte | erkyrath/glkote | MIT |
Glulxe | erkyrath/glulxe | MIT |
Hugo | hugoif/hugo-unix | BSD-2-Clause |
jQuery | jquery/jquery | MIT |
Quixe | erkyrath/quixe | MIT |
RemGlk | erkyrath/remglk | MIT |
Source Code Pro | adobe-fonts/source-code-pro | OFL |
TADS | tads-intfic/tads-runner | GPL-2.0 |
ZVM | curiousdannii/ifvms.js | MIT |
Building Instructions
The upstream projects are included as git submodules. You'll have to start by initializing the submodules, like this:
git submodule update --init --recursive
Then you'll need to install the npm
dependencies:
npm install
This will automatically build Parchment locally.
Then, you'll need to open index.html
on a web server. (It won't work when you run it on your filesystem as a file:///
URL.) You can launch a simple web server like this:
npm start
Then you can view Parchment at http://localhost:8080
to see your handiwork.
Each time you change code in the src
folder, the server will automatically rebuild the web code. Refresh to see your changes.
You'll find it easier to debug and hack on the code if you disable minification, by commenting out the .pipe(terser(terser_opts))
line in gulpfile.esm.js
.
You can also build your own dist/inform/parchment-for-inform7.zip
like this:
npm install
npm run inform7