2019-03-17 14:40:57 +02:00
< html >
< head >
2020-03-23 23:42:00 +02:00
< title > if< / title >
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-03-19 02:11:25 +02:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-03-17 14:40:57 +02:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-05-03 03:01:21 +03:00
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Navigation.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Fonts.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Base.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-04-14 19:56:54 +03:00
2019-03-17 14:40:57 +02:00
< / head >
2020-05-03 03:01:21 +03:00
< body class = "commentary-font" >
2020-03-19 02:11:25 +02:00
< nav role = "navigation" >
2022-04-28 19:37:28 +03:00
< h1 > < a href = "../index.html" >
2020-05-03 18:34:53 +03:00
< img src = "../docs-assets/Inform.png" height = 72" >
2020-04-14 19:56:54 +03:00
< / a > < / h1 >
2022-04-28 19:37:28 +03:00
< ul > < li > < a href = "../index.html" > home< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Compiler< / h2 > < ul >
< li > < a href = "../structure.html" > structure< / a > < / li >
< li > < a href = "../inbuildn.html" > inbuild< / a > < / li >
< li > < a href = "../inform7n.html" > inform7< / a > < / li >
< li > < a href = "../intern.html" > inter< / a > < / li >
< li > < a href = "../services.html" > services< / a > < / li >
2022-04-18 17:46:46 +03:00
< li > < a href = "../secrets.html" > secrets< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Other Tools< / h2 > < ul >
< li > < a href = "../inblorbn.html" > inblorb< / a > < / li >
< li > < a href = "../indocn.html" > indoc< / a > < / li >
< li > < a href = "../inform6.html" > inform6< / a > < / li >
< li > < a href = "../inpolicyn.html" > inpolicy< / a > < / li >
< li > < a href = "../inrtpsn.html" > inrtps< / a > < / li >
2022-04-06 13:14:15 +03:00
< / ul > < h2 > Resources< / h2 > < ul >
< li > < a href = "../extensions.html" > extensions< / a > < / li >
< li > < a href = "../kits.html" > kits< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Repository< / h2 > < ul >
< li > < a href = "https://github.com/ganelson/inform" > < img src = "../docs-assets/github.png" height = 18 > github< / a > < / li >
< / ul > < h2 > Related Projects< / h2 > < ul >
2022-04-28 19:20:06 +03:00
< li > < a href = "../../../inweb/index.html" > inweb< / a > < / li >
< li > < a href = "../../../intest/index.html" > intest< / a > < / li >
2020-03-19 02:11:25 +02:00
2020-04-14 19:56:54 +03:00
< / ul >
2020-03-19 02:11:25 +02:00
< / nav >
< main role = "main" >
2022-04-28 19:37:28 +03:00
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../inform7n.html" > Inform7< / a > < / li > < li > < b > if< / b > < / li > < / ul >
2020-03-23 23:42:00 +02:00
< p class = "purpose" > The interactive-fiction specific layer of Inform, as a module. This is version 1.< / p >
2019-03-17 14:40:57 +02:00
< hr >
2020-05-03 03:01:21 +03:00
< div class = "contentspage" >
< ul class = "chapterlist" >
2021-02-21 20:47:27 +02:00
< li >
< p class = "chapterentry" > < a name = "P" > < / a >
< span class = "chaptertitle" > Preliminaries< / span > < / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "P-wtmd.html" >
< spon class = "sectiontitle" > What This Module Does< / span > < / a > -
< span class = "sectionpurpose" > An overview of the if module's role and abilities.< / span > < / p >
< / li >
< / ul >
< / li >
2020-05-03 03:01:21 +03:00
< li >
< p class = "chapterentry" > < a name = "1" > < / a >
< span class = "chaptertitle" > Chapter 1: Starting Up< / span > < / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "1-im.html" >
< spon class = "sectiontitle" > IF Module< / span > < / a > -
< span class = "sectionpurpose" > Setting up the use of this module.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "2" > < / a >
< span class = "chaptertitle" > Chapter 2: Bibliographic Data< / span > < / p >
2021-03-14 15:42:15 +02:00
< p class = "chapterpurpose" > ISBN-like data and cataloguing information, and Release... sentences.< / p >
2020-05-03 03:01:21 +03:00
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "2-bd.html" >
< spon class = "sectiontitle" > Bibliographic Data< / span > < / a > -
< span class = "sectionpurpose" > To manage the special variables providing bibliographic data on the work of IF being generated (title, author's name and so forth), and to write the Library Card in the index.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "2-ri.html" >
< spon class = "sectiontitle" > Release Instructions< / span > < / a > -
< span class = "sectionpurpose" > To write the iFiction record for the work of IF compiled, its release instructions and its picture manifest, if any.< / span > < / p >
< / li >
2021-02-21 20:47:27 +02:00
< li >
< p class = "sectionentry" > < a href = "2-tir.html" >
< spon class = "sectiontitle" > The iFiction Record< / span > < / a > -
< span class = "sectionpurpose" > To write the iFiction record for the work of IF compiled.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "2-tbf.html" >
< spon class = "sectiontitle" > The Blurb File< / span > < / a > -
< span class = "sectionpurpose" > To write the blurb file of instructions for inblorb to release the project.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "3" > < / a >
< span class = "chaptertitle" > Chapter 3: Space and Time< / span > < / p >
2021-03-14 15:42:15 +02:00
< p class = "chapterpurpose" > A simulated world of geography, spatial containment and scenes.< / p >
2020-05-03 03:01:21 +03:00
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "3-sm.html" >
< spon class = "sectiontitle" > Spatial Model< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature which constructs the fundamental spatial model used by IF, to represent containment, support, carrying, wearing, and incorporation.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2020-08-29 11:33:21 +03:00
< li >
< p class = "sectionentry" > < a href = "3-enah.html" >
< spon class = "sectiontitle" > Everywhere, Nowhere and Here< / span > < / a > -
< span class = "sectionpurpose" > To define the unary predicates for some anaphoric location adjectives.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< li >
< p class = "sectionentry" > < a href = "3-sr.html" >
< spon class = "sectiontitle" > Spatial Relations< / span > < / a > -
2021-02-25 02:15:09 +02:00
< span class = "sectionpurpose" > Binary predicates for spatial relationships.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "3-si.html" >
< spon class = "sectiontitle" > Spatial Inferences< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > Six families of inference used by the spatial feature.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
< p class = "sectionentry" > < a href = "3-prs.html" >
< spon class = "sectiontitle" > Persons< / span > < / a > -
2023-04-21 12:52:36 +03:00
< span class = "sectionpurpose" > A feature marking instances of person as being "animate".< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
< p class = "sectionentry" > < a href = "3-tp.html" >
< spon class = "sectiontitle" > The Player< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature to give a special role to a person who is the protagonist.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
< p class = "sectionentry" > < a href = "3-dvc.html" >
< spon class = "sectiontitle" > Devices< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature giving minimal support for switchable devices.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
< p class = "sectionentry" > < a href = "3-bck.html" >
< spon class = "sectiontitle" > Backdrops< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature to provide support for backdrop objects, which are present as scenery in multiple rooms at once.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
< p class = "sectionentry" > < a href = "3-rgn.html" >
< spon class = "sectiontitle" > Regions< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature providing support for grouping rooms together into named and nestable regions.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
< p class = "sectionentry" > < a href = "3-tm.html" >
< spon class = "sectiontitle" > The Map< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature to provide a geographical model, linking rooms and doors together in oppositely-paired directions.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
< p class = "sectionentry" > < a href = "3-mcr.html" >
< spon class = "sectiontitle" > Map Connection Relations< / span > < / a > -
< span class = "sectionpurpose" > To define one binary predicate for each map direction, such as "mapped north of".< / span > < / p >
< / li >
2021-03-27 17:21:07 +02:00
< li >
< p class = "sectionentry" > < a href = "3-tr.html" >
< spon class = "sectiontitle" > Timed Rules< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature to support rules like "At 12:03AM: ...".< / span > < / p >
2021-03-27 17:21:07 +02:00
< / li >
2020-05-03 03:01:21 +03:00
< li >
< p class = "sectionentry" > < a href = "3-scn.html" >
< spon class = "sectiontitle" > Scenes< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature to support named periods of time during an interactive story.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
< p class = "sectionentry" > < a href = "3-ts.html" >
< spon class = "sectiontitle" > The Score< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature to support the score variables.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2021-06-23 02:23:35 +03:00
< li >
< p class = "sectionentry" > < a href = "3-mhr.html" >
< spon class = "sectiontitle" > Mapping Hint Requests< / span > < / a > -
< span class = "sectionpurpose" > Special sentences giving layout or design hints on how to produce the World map in the index and an EPS map.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "4" > < / a >
< span class = "chaptertitle" > Chapter 4: Actions< / span > < / p >
< p class = "chapterpurpose" > Actions are impulses to do something within the simulated world.< / p >
< ul class = "sectionlist" >
2021-02-24 02:17:14 +02:00
< li >
< p class = "sectionentry" > < a href = "4-ap.html" >
< spon class = "sectiontitle" > Actions Plugin< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature for actions, by which animate characters change the world model.< / span > < / p >
2021-02-24 02:17:14 +02:00
< / li >
2021-02-24 12:10:34 +02:00
< li >
< p class = "sectionentry" > < a href = "4-anaa.html" >
< spon class = "sectiontitle" > Actions-Only Nodes and Annotations< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > Additional syntax tree node and annotation types used by the actions feature.< / span > < / p >
2021-02-24 12:10:34 +02:00
< / li >
2021-03-06 01:36:25 +02:00
< li >
< p class = "sectionentry" > < a href = "4-ak.html" >
< spon class = "sectiontitle" > Action Kinds< / span > < / a > -
< span class = "sectionpurpose" > Three action-related kinds of value.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-ac.html" >
< spon class = "sectiontitle" > Action Conditions< / span > < / a > -
< span class = "sectionpurpose" > A special condition for testing against action patterns.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< li >
< p class = "sectionentry" > < a href = "4-act.html" >
< spon class = "sectiontitle" > Actions< / span > < / a > -
2021-02-27 02:41:51 +02:00
< span class = "sectionpurpose" > Each different sort of impulse to do something is an "action name".< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2021-02-27 18:52:18 +02:00
< li >
< p class = "sectionentry" > < a href = "4-as.html" >
< spon class = "sectiontitle" > Action Semantics< / span > < / a > -
< span class = "sectionpurpose" > Constraints on how actions may be used in the model world.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-av.html" >
< spon class = "sectiontitle" > Action Variables< / span > < / a > -
< span class = "sectionpurpose" > Variables shared by the rules of the rulebooks processing an action.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-ann.html" >
< spon class = "sectiontitle" > Action Name Names< / span > < / a > -
< span class = "sectionpurpose" > There is an annoying profusion of ways an action can have a name.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< li >
2021-02-24 02:17:14 +02:00
< p class = "sectionentry" > < a href = "4-ap2.html" >
2020-05-03 03:01:21 +03:00
< spon class = "sectiontitle" > Action Patterns< / span > < / a > -
2021-03-04 02:01:02 +02:00
< span class = "sectionpurpose" > An action pattern is a description which may match many actions or none. The text "doing something" matches every action, while "throwing something at a door in a dark room" is seldom matched.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2021-03-06 01:36:25 +02:00
< li >
2021-03-06 18:35:47 +02:00
< p class = "sectionentry" > < a href = "4-anl.html" >
< spon class = "sectiontitle" > Action Name Lists< / span > < / a > -
< span class = "sectionpurpose" > Action name lists are used in parsing action patterns, and identify which action names seem to be possible within them.< / span > < / p >
2021-03-06 01:36:25 +02:00
< / li >
2021-03-03 01:39:30 +02:00
< li >
< p class = "sectionentry" > < a href = "4-apc.html" >
< spon class = "sectiontitle" > Action Pattern Clauses< / span > < / a > -
< span class = "sectionpurpose" > Pattern-matches on individual nouns in an action are called clauses.< / span > < / p >
< / li >
2021-03-01 03:01:41 +02:00
< li >
< p class = "sectionentry" > < a href = "4-pap.html" >
< spon class = "sectiontitle" > Parse Action Patterns< / span > < / a > -
< span class = "sectionpurpose" > Turning text into APs.< / span > < / p >
< / li >
2021-03-07 23:37:59 +02:00
< li >
< p class = "sectionentry" > < a href = "4-pc.html" >
< spon class = "sectiontitle" > Parse Clauses< / span > < / a > -
< span class = "sectionpurpose" > Parsing the clauses part of an AP from source text.< / span > < / p >
< / li >
2021-03-06 18:35:47 +02:00
< li >
< p class = "sectionentry" > < a href = "4-ea.html" >
< spon class = "sectiontitle" > Explicit Actions< / span > < / a > -
< span class = "sectionpurpose" > An exactly specified action is called "explicit".< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< li >
< p class = "sectionentry" > < a href = "4-nap.html" >
< spon class = "sectiontitle" > Named Action Patterns< / span > < / a > -
2021-02-27 18:52:18 +02:00
< span class = "sectionpurpose" > A named action pattern is a categorisation of behaviour.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2021-03-13 15:00:21 +02:00
< li >
< p class = "sectionentry" > < a href = "4-gng.html" >
< spon class = "sectiontitle" > Going< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature to provide a little extra support for the "going" action.< / span > < / p >
2021-03-13 15:00:21 +02:00
< / li >
2021-03-30 00:53:01 +03:00
< li >
< p class = "sectionentry" > < a href = "4-rpoa.html" >
< spon class = "sectiontitle" > Rules Predicated on Actions< / span > < / a > -
< span class = "sectionpurpose" > Rules can be set to run only if the action matches a given pattern.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "5" > < / a >
2021-03-14 15:42:15 +02:00
< span class = "chaptertitle" > Chapter 5: Command Parser< / span > < / p >
< p class = "chapterpurpose" > Understand... sentences become a grammar for the command parser to use at run-time.< / p >
2020-05-03 03:01:21 +03:00
< ul class = "sectionlist" >
2021-02-24 02:17:14 +02:00
< li >
< p class = "sectionentry" > < a href = "5-pp.html" >
< spon class = "sectiontitle" > Parsing Plugin< / span > < / a > -
2022-09-01 02:14:18 +03:00
< span class = "sectionpurpose" > A feature for command-parser support.< / span > < / p >
2021-02-24 02:17:14 +02:00
< / li >
2020-05-03 03:01:21 +03:00
< li >
2021-03-14 15:42:15 +02:00
< p class = "sectionentry" > < a href = "5-us.html" >
< spon class = "sectiontitle" > Understand Sentences< / span > < / a > -
< span class = "sectionpurpose" > Command parser grammar is laid out in special Understand... sentences.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2021-03-14 15:42:15 +02:00
< li >
< p class = "sectionentry" > < a href = "5-cg.html" >
< spon class = "sectiontitle" > Command Grammars< / span > < / a > -
2021-03-15 11:31:16 +02:00
< span class = "sectionpurpose" > The possible command text following a command verb, or referring to a single concept or object, is gathered into a "command grammar".< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
2021-03-14 15:42:15 +02:00
< p class = "sectionentry" > < a href = "5-cgl.html" >
< spon class = "sectiontitle" > Command Grammar Lines< / span > < / a > -
2021-03-16 11:08:31 +02:00
< span class = "sectionpurpose" > A CG line is a list of CG tokens to specify a textual pattern. For example, "take [something] out" is a CG line of three tokens.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
2021-03-18 19:56:40 +02:00
< p class = "sectionentry" > < a href = "5-cgt.html" >
< spon class = "sectiontitle" > Command Grammar Tokens< / span > < / a > -
< span class = "sectionpurpose" > CGs are list of CG lines, which are lists of CG tokens.< / span > < / p >
2021-03-15 02:09:17 +02:00
< / li >
< li >
2021-03-16 02:25:37 +02:00
< p class = "sectionentry" > < a href = "5-dt.html" >
< spon class = "sectiontitle" > Determination Types< / span > < / a > -
< span class = "sectionpurpose" > Command grammars, their lines and their tokens may each "determine" up to two values, and here we provide a way to describe the range of those.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
2021-03-19 16:43:02 +02:00
< p class = "sectionentry" > < a href = "5-pv.html" >
< spon class = "sectiontitle" > Property Visibility< / span > < / a > -
< span class = "sectionpurpose" > Some properties can be referred to in the player's commands.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2021-05-22 11:49:04 +03:00
< li >
< p class = "sectionentry" > < a href = "5-ts.html" >
< spon class = "sectiontitle" > Test Scripts< / span > < / a > -
< span class = "sectionpurpose" > A rudimentary but useful testing system for runnign short sequences of commands through the command parser at runtime.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< / ul >
< / li >
2022-09-10 01:53:15 +03:00
< li >
< p class = "chapterentry" > < a name = "6" > < / a >
< span class = "chaptertitle" > Chapter 6: Dialogue< / span > < / p >
< ul class = "sectionlist" >
2022-09-12 01:33:38 +03:00
< li >
< p class = "sectionentry" > < a href = "6-dlg.html" >
< spon class = "sectiontitle" > Dialogue< / span > < / a > -
< span class = "sectionpurpose" > A nascent system for managing conversation.< / span > < / p >
< / li >
2022-09-10 01:53:15 +03:00
< li >
< p class = "sectionentry" > < a href = "6-db.html" >
< spon class = "sectiontitle" > Dialogue Beats< / span > < / a > -
< span class = "sectionpurpose" > To manage dialogue beats and to parse their cue paragraphs.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "6-dl.html" >
< spon class = "sectiontitle" > Dialogue Lines< / span > < / a > -
< span class = "sectionpurpose" > To manage dialogue lines.< / span > < / p >
< / li >
2022-09-14 13:03:49 +03:00
< li >
< p class = "sectionentry" > < a href = "6-dc.html" >
< spon class = "sectiontitle" > Dialogue Choices< / span > < / a > -
< span class = "sectionpurpose" > To manage dialogue choices.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "6-dn.html" >
< spon class = "sectiontitle" > Dialogue Nodes< / span > < / a > -
< span class = "sectionpurpose" > The structure of a dialogue beat as a tree of nodes, each of which can be either a line or a choice.< / span > < / p >
< / li >
2022-09-22 01:39:34 +03:00
< li >
< p class = "sectionentry" > < a href = "6-dr.html" >
< spon class = "sectiontitle" > Dialogue Relations< / span > < / a > -
< span class = "sectionpurpose" > Binary predicates for spatial relationships.< / span > < / p >
< / li >
2022-09-12 01:33:38 +03:00
< li >
< p class = "sectionentry" > < a href = "6-ps.html" >
< spon class = "sectiontitle" > Performance Styles< / span > < / a > -
< span class = "sectionpurpose" > Manners of speaking, used in dialogue.< / span > < / p >
< / li >
2022-09-10 01:53:15 +03:00
< / ul >
< / li >
2020-05-03 03:01:21 +03:00
< / ul >
< / div >
2019-03-17 14:40:57 +02:00
< hr >
2020-05-03 03:01:21 +03:00
< p class = "purpose" > Powered by < a href = "https://github.com/ganelson/inweb" > Inweb< / a > .< / p >
2020-03-19 02:11:25 +02:00
< / main >
2019-03-17 14:40:57 +02:00
< / body >
< / html >