inweb-bootstrap/docs/inweb/index.html

258 lines
12 KiB
HTML
Raw Normal View History

2019-02-04 22:26:45 +00:00
<html>
<head>
2020-03-23 15:04:43 +00:00
<title>inweb</title>
<meta name="viewport" content="width=device-width initial-scale=1">
2019-02-04 22:26:45 +00:00
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-gb">
<link href="../inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
2020-04-12 16:24:23 +00:00
2019-02-04 22:26:45 +00:00
</head>
<body>
<nav role="navigation">
2020-04-13 16:06:45 +00:00
<h1><a href="../index.html">
<img src="../..//docs/docs-src/Figures/Octagram184x184.png" width=72 height=72">
</a></h1>
<ul><li><span class="unlink">inweb</span></li>
</ul><h2>Foundation Module</h2><ul>
<li><a href="../foundation-module/index.html">foundation</a></li>
<li><a href="../foundation-test/index.html">foundation-test</a></li>
2020-04-13 16:06:45 +00:00
</ul><h2>Example Webs</h2><ul>
2020-04-12 16:24:23 +00:00
<li><a href="../goldbach/index.html">goldbach</a></li>
<li><a href="../twinprimes/twinprimes.html">twinprimes</a></li>
2020-04-13 16:06:45 +00:00
</ul><h2>External</h2><ul>
<li><a href="https://github.com/ganelson/inweb">github</a></li>
2020-04-13 16:06:45 +00:00
</ul>
</nav>
<main role="main">
2020-04-13 16:06:45 +00:00
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><b>inweb</b></li></ul>
2020-03-23 15:04:43 +00:00
<p class="purpose">A modern system for literate programming. This is version 7.</p>
2019-02-04 22:26:45 +00:00
<hr>
<ul class="chapterlist">
<li>
2020-03-22 11:24:10 +00:00
<p><a name="M"></a><spon class="chaptertitle">Manual</span></p>
<p><span class="purpose"></span></p>
2019-02-04 22:26:45 +00:00
<ul class="sectionlist">
<li>
2020-03-22 11:24:10 +00:00
<p><a href="M-iti.html"><spon class="sectiontitle">Introduction to Inweb</span></a> -
2019-02-04 22:26:45 +00:00
<span class="purpose">What Inweb is, and why it is not CWEB.</span></p>
</li>
<li>
2020-03-22 11:24:10 +00:00
<p><a href="M-wtaw.html"><spon class="sectiontitle">Webs, Tangling and Weaving</span></a> -
2019-02-04 22:26:45 +00:00
<span class="purpose">How to use Inweb to weave or tangle a web already written.</span></p>
</li>
<li>
2020-03-22 11:24:10 +00:00
<p><a href="M-htwaw.html"><spon class="sectiontitle">How to Write a Web</span></a> -
2019-02-04 22:26:45 +00:00
<span class="purpose">How to mark up code for literate programming.</span></p>
</li>
<li>
2020-04-13 16:06:45 +00:00
<p><a href="M-mwiw.html"><spon class="sectiontitle">Making Weaves into Websites</span></a> -
<span class="purpose">How to present one or more weaves on a shared website, for example using GitHub Pages.</span></p>
2019-02-04 22:26:45 +00:00
</li>
<li>
2020-03-22 11:24:10 +00:00
<p><a href="M-awwp.html"><spon class="sectiontitle">Advanced Weaving with Patterns</span></a> -
2019-02-04 22:26:45 +00:00
<span class="purpose">Customise the booklets woven from a web.</span></p>
</li>
2020-04-05 17:37:43 +00:00
<li>
<p><a href="M-spl.html"><spon class="sectiontitle">Supporting Programming Languages</span></a> -
<span class="purpose">How to work with a programming language not yet supported by Inweb.</span></p>
</li>
2020-04-13 16:06:45 +00:00
<li>
<p><a href="M-tid.html"><spon class="sectiontitle">The InC Dialect</span></a> -
<span class="purpose">A modest extension of C used by the Inform project.</span></p>
</li>
2020-03-26 23:01:14 +00:00
<li>
<p><a href="M-rc.html"><spon class="sectiontitle">Reference Card</span></a> -
<span class="purpose">The current help information as it would be printed at the command line.</span></p>
</li>
2019-02-04 22:26:45 +00:00
</ul>
</li>
2020-04-12 16:24:23 +00:00
<li>
<p><a name="P"></a><spon class="chaptertitle">Preliminaries</span></p>
<p><span class="purpose"></span></p>
<ul class="sectionlist">
<li>
<p><a href="P-htpw.html"><spon class="sectiontitle">How This Program Works</span></a> -
<span class="purpose">An overview of how Inweb works, with links to all of its important functions.</span></p>
</li>
</ul>
</li>
2019-02-04 22:26:45 +00:00
<li>
<p><a name="1"></a><spon class="chaptertitle">Chapter 1: Top Level</span></p>
<p><span class="purpose">Dealing with the user, and deciding what is to be done.</span></p>
<ul class="sectionlist">
<li>
<p><a href="1-bsc.html"><spon class="sectiontitle">Basics</span></a> -
<span class="purpose">Some fundamental definitions, mostly setting up for the Foundation module to manage memory for us.</span></p>
</li>
<li>
<p><a href="1-pc.html"><spon class="sectiontitle">Program Control</span></a> -
<span class="purpose">The top level, which decides what is to be done and then carries this plan out.</span></p>
</li>
<li>
<p><a href="1-cnf.html"><spon class="sectiontitle">Configuration</span></a> -
<span class="purpose">To parse the command line arguments with which inweb was called, and to handle any errors it needs to issue.</span></p>
</li>
<li>
<p><a href="1-ptt.html"><spon class="sectiontitle">Patterns</span></a> -
<span class="purpose">Managing weave patterns, which are bundled configuration settings for weaving.</span></p>
</li>
</ul>
</li>
<li>
<p><a name="2"></a><spon class="chaptertitle">Chapter 2: Parsing a Web</span></p>
<p><span class="purpose">Reading in the entire text of the web, parsing its structure and looking for identifier names within it.</span></p>
<ul class="sectionlist">
<li>
<p><a href="2-tr.html"><spon class="sectiontitle">The Reader</span></a> -
<span class="purpose">To read the Contents section of the web, and through that each of the other sections in turn, and to collate all of this material.</span></p>
</li>
<li>
<p><a href="2-lc.html"><spon class="sectiontitle">Line Categories</span></a> -
<span class="purpose">To store individual lines from webs, and to categorise them according to their meaning.</span></p>
</li>
<li>
<p><a href="2-tp.html"><spon class="sectiontitle">The Parser</span></a> -
<span class="purpose">To work through the program read in, assigning each line its category, and noting down other useful information as we go.</span></p>
</li>
<li>
<p><a href="2-pm.html"><spon class="sectiontitle">Paragraph Macros</span></a> -
<span class="purpose">To manage the set of named paragraph macros in a section.</span></p>
</li>
<li>
<p><a href="2-tgs.html"><spon class="sectiontitle">Tags</span></a> -
<span class="purpose">Thematic tags can be attached to certain paragraphs, some automatically by Inweb, others manually by the author.</span></p>
</li>
<li>
<p><a href="2-ec.html"><spon class="sectiontitle">Enumerated Constants</span></a> -
<span class="purpose">To define sequentially numbered values for families of constants.</span></p>
</li>
<li>
<p><a href="2-pn.html"><spon class="sectiontitle">Paragraph Numbering</span></a> -
<span class="purpose">To work out paragraph numbers within each section.</span></p>
</li>
</ul>
</li>
<li>
<p><a name="3"></a><spon class="chaptertitle">Chapter 3: Outputs</span></p>
<p><span class="purpose">Either weaving part or all of the web into a typeset form for human eyes (or a swarm of many such parts), or tangling the web into an executable program, or analysing the web to provide diagnostics on it.</span></p>
<ul class="sectionlist">
<li>
<p><a href="3-ta.html"><spon class="sectiontitle">The Analyser</span></a> -
<span class="purpose">Here we analyse the code in the web, enabling us to see how functions and data structures are used within the program.</span></p>
</li>
<li>
<p><a href="3-ts.html"><spon class="sectiontitle">The Swarm</span></a> -
<span class="purpose">To feed multiple output requests to the weaver, and to present weaver results, and update indexes or contents pages.</span></p>
</li>
<li>
<p><a href="3-ti.html"><spon class="sectiontitle">The Indexer</span></a> -
<span class="purpose">To construct indexes of the material woven, following a template.</span></p>
</li>
<li>
<p><a href="3-tw.html"><spon class="sectiontitle">The Weaver</span></a> -
<span class="purpose">To weave a portion of the code into instructions for TeX.</span></p>
</li>
<li>
<p><a href="3-tt.html"><spon class="sectiontitle">The Tangler</span></a> -
<span class="purpose">To transcribe a version of the text in the web into a form which can be compiled as a program.</span></p>
</li>
</ul>
</li>
<li>
<p><a name="4"></a><spon class="chaptertitle">Chapter 4: Languages</span></p>
<p><span class="purpose">Providing support for syntax-colouring and for better organisation of code in different programming languages.</span></p>
<ul class="sectionlist">
<li>
<p><a href="4-pl.html"><spon class="sectiontitle">Programming Languages</span></a> -
2020-04-04 19:46:43 +00:00
<span class="purpose">Defining the programming languages supported by Inweb, loading in their definitions from files.</span></p>
</li>
2020-04-10 08:11:09 +00:00
<li>
<p><a href="4-taf.html"><spon class="sectiontitle">Types and Functions</span></a> -
2020-04-10 08:11:09 +00:00
<span class="purpose">Basic support for languages to recognise structure and function declarations.</span></p>
</li>
2020-04-04 19:46:43 +00:00
<li>
<p><a href="4-lm.html"><spon class="sectiontitle">Language Methods</span></a> -
2019-02-04 22:26:45 +00:00
<span class="purpose">To characterise the relevant differences in behaviour between the various programming languages supported.</span></p>
</li>
2020-04-04 19:46:43 +00:00
<li>
<p><a href="4-as.html"><spon class="sectiontitle">ACME Support</span></a> -
<span class="purpose">For generic programming languages by the ACME corporation.</span></p>
</li>
2020-04-05 17:37:43 +00:00
<li>
<p><a href="4-tp.html"><spon class="sectiontitle">The Painter</span></a> -
<span class="purpose">A simple syntax-colouring engine.</span></p>
</li>
2019-02-04 22:26:45 +00:00
<li>
<p><a href="4-cl.html"><spon class="sectiontitle">C-Like Languages</span></a> -
<span class="purpose">To provide special features for the whole C family of languages.</span></p>
</li>
<li>
<p><a href="4-is.html"><spon class="sectiontitle">InC Support</span></a> -
<span class="purpose">To support a modest extension of C called InC.</span></p>
</li>
</ul>
</li>
<li>
<p><a name="5"></a><spon class="chaptertitle">Chapter 5: Formats</span></p>
<p><span class="purpose">Weaving to a variety of different human-readable formats.</span></p>
<ul class="sectionlist">
<li>
2020-04-09 17:32:37 +00:00
<p><a href="5-fm.html"><spon class="sectiontitle">Format Methods</span></a> -
<span class="purpose">To characterise the relevant differences in behaviour between the various weaving formats offered, such as HTML, ePub, or TeX.</span></p>
2019-02-04 22:26:45 +00:00
</li>
<li>
<p><a href="5-ptf.html"><spon class="sectiontitle">Plain Text Format</span></a> -
<span class="purpose">To provide for weaving in plain text format, which is not very interesting, but ought to be available.</span></p>
</li>
<li>
<p><a href="5-tf.html"><spon class="sectiontitle">TeX Format</span></a> -
<span class="purpose">To provide for weaving in the standard maths and science typesetting software, TeX.</span></p>
</li>
<li>
<p><a href="5-hf.html"><spon class="sectiontitle">HTML Formats</span></a> -
<span class="purpose">To provide for weaving into HTML and into EPUB books.</span></p>
</li>
2020-04-10 20:29:28 +00:00
<li>
<p><a href="5-wp.html"><spon class="sectiontitle">Weave Plugins</span></a> -
<span class="purpose">Mainly for HTML, to add the necessary JavaScript for unusual requirements such as equations or footnotes.</span></p>
</li>
2019-02-04 22:26:45 +00:00
<li>
<p><a href="5-rtt.html"><spon class="sectiontitle">Running Through TeX</span></a> -
<span class="purpose">To post-process a weave by running it through TeX, or one of its variant typesetting programs.</span></p>
</li>
</ul>
</li>
<li>
<p><a name="6"></a><spon class="chaptertitle">Chapter 6: Extras</span></p>
<p><span class="purpose">Additional features for turning webs into open-source projects.</span></p>
<ul class="sectionlist">
<li>
<p><a href="6-mkf.html"><spon class="sectiontitle">Makefiles</span></a> -
<span class="purpose">Constructing a suitable makefile for a simple inweb project.</span></p>
</li>
<li>
<p><a href="6-gs.html"><spon class="sectiontitle">Git Support</span></a> -
<span class="purpose">Constructing a suitable gitignore file for a simple inweb project.</span></p>
</li>
2020-03-23 21:39:27 +00:00
<li>
<p><a href="6-rw.html"><spon class="sectiontitle">Readme Writeme</span></a> -
<span class="purpose">To construct Readme and similar files.</span></p>
</li>
2020-04-12 16:24:23 +00:00
<li>
<p><a href="6-cln.html"><spon class="sectiontitle">Colonies</span></a> -
<span class="purpose">Cross-referencing multiple webs gathered together.</span></p>
</li>
2019-02-04 22:26:45 +00:00
</ul>
</li>
</ul>
<hr>
<p class="purpose">Together with the following imported module:
<ul class="chapterlist">
<li><p>foundation - A library of common code used by all of the Inform tools.</p></li></ul>
</main>
2019-02-04 22:26:45 +00:00
</body>
</html>