2019-02-04 22:26:45 +00:00
< html >
< head >
2020-03-23 15:04:43 +00:00
< title > inweb< / title >
2020-04-20 22:26:08 +00:00
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-03-19 00:03:04 +00:00
< 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" >
2020-04-20 22:26:08 +00:00
2020-05-02 22:50:23 +00:00
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-04-30 22:36:38 +00:00
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-04-25 10:33:39 +00:00
< 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" >
2020-04-20 22:26:08 +00:00
< link href = "../docs-assets/Base.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 >
2020-04-25 10:33:39 +00:00
< body class = "commentary-font" >
2020-03-19 00:03:04 +00:00
< nav role = "navigation" >
2020-04-13 16:06:45 +00:00
< h1 > < a href = "../index.html" >
2020-04-20 22:26:08 +00:00
< img src = "../docs-assets/Octagram.png" width = 72 height = 72" >
2020-04-13 16:06:45 +00:00
< / 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 >
2020-03-19 00:03:04 +00:00
< 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-15 22:45:08 +00:00
< li > < a href = "../eastertide/index.html" > eastertide< / a > < / li >
2020-04-14 17:36:42 +00:00
< / ul > < h2 > Repository< / h2 > < ul >
2020-04-20 22:34:44 +00:00
< li > < a href = "https://github.com/ganelson/inweb" > < img src = "../docs-assets/github.png" height = 18 > github< / a > < / li >
2020-04-14 17:36:42 +00:00
< / ul > < h2 > Related Projects< / h2 > < ul >
< li > < a href = "../../../inform/docs/index.html" > inform< / a > < / li >
< li > < a href = "../../../intest/docs/index.html" > intest< / a > < / li >
2020-03-19 00:03:04 +00:00
2020-04-13 16:06:45 +00:00
< / ul >
2020-03-19 00:03:04 +00:00
< / 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 >
2020-05-02 22:50:23 +00:00
< div class = "contentspage" >
< ul class = "chapterlist" >
< li >
< p class = "chapterentry" > < a name = "M" > < / a >
< span class = "chaptertitle" > Manual< / span > < / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "M-iti.html" >
< spon class = "sectiontitle" > Introduction to Inweb< / span > < / a > -
< span class = "sectionpurpose" > What Inweb is, and why it is not CWEB.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "M-wtaw.html" >
< spon class = "sectiontitle" > Webs, Tangling and Weaving< / span > < / a > -
< span class = "sectionpurpose" > How to use Inweb to weave or tangle a web already written.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "M-htwaw.html" >
< spon class = "sectiontitle" > How to Write a Web< / span > < / a > -
< span class = "sectionpurpose" > How to mark up code for literate programming.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "M-mwiw.html" >
< spon class = "sectiontitle" > Making Weaves into Websites< / span > < / a > -
< span class = "sectionpurpose" > How to present one or more weaves on a shared website, for example using GitHub Pages.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "M-awwp.html" >
< spon class = "sectiontitle" > Advanced Weaving with Patterns< / span > < / a > -
< span class = "sectionpurpose" > Customise your weave by creating a new pattern.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "M-spl.html" >
< spon class = "sectiontitle" > Supporting Programming Languages< / span > < / a > -
< span class = "sectionpurpose" > How to work with a programming language not yet supported by Inweb.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "M-tid.html" >
< spon class = "sectiontitle" > The InC Dialect< / span > < / a > -
< span class = "sectionpurpose" > A modest extension of C used by the Inform project.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "M-rc.html" >
< spon class = "sectiontitle" > Reference Card< / span > < / a > -
< span class = "sectionpurpose" > The current help information as it would be printed at the command line.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "P" > < / a >
< span class = "chaptertitle" > Preliminaries< / span > < / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "P-htpw.html" >
< spon class = "sectiontitle" > How This Program Works< / span > < / a > -
< span class = "sectionpurpose" > An overview of how Inweb works, with links to all of its important functions.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "1" > < / a >
< span class = "chaptertitle" > Chapter 1: Top Level< / span > < / p >
< p class = "chapterpurpose" > Dealing with the user, and deciding what is to be done.< / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "1-bsc.html" >
< spon class = "sectiontitle" > Basics< / span > < / a > -
< span class = "sectionpurpose" > Some fundamental definitions, mostly declaring object types to the Foundation module.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "1-pc.html" >
< spon class = "sectiontitle" > Program Control< / span > < / a > -
< span class = "sectionpurpose" > The top level, which decides what is to be done and then carries this plan out.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "1-cnf.html" >
< spon class = "sectiontitle" > Configuration< / span > < / a > -
< span class = "sectionpurpose" > 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 class = "sectionentry" > < a href = "1-ts.html" >
< spon class = "sectiontitle" > The Swarm< / span > < / a > -
< span class = "sectionpurpose" > To feed multiple output requests to the weaver, and to present weaver results, and update indexes or contents pages.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "1-ptt.html" >
< spon class = "sectiontitle" > Patterns< / span > < / a > -
< span class = "sectionpurpose" > Managing weave patterns, which are bundled configuration settings for weaving.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "1-apacs.html" >
< spon class = "sectiontitle" > Assets, Plugins and Colour Schemes< / span > < / a > -
< span class = "sectionpurpose" > Mainly for HTML, to add the necessary JavaScript for unusual requirements such as equations or footnotes.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "2" > < / a >
< span class = "chaptertitle" > Chapter 2: Parsing a Web< / span > < / p >
< p class = "chapterpurpose" > Reading in the entire text of the web, parsing its structure and looking for identifier names within it.< / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "2-tr.html" >
< spon class = "sectiontitle" > The Reader< / span > < / a > -
< span class = "sectionpurpose" > 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 class = "sectionentry" > < a href = "2-lc.html" >
< spon class = "sectiontitle" > Line Categories< / span > < / a > -
< span class = "sectionpurpose" > To store individual lines from webs, and to categorise them according to their meaning.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "2-tp.html" >
< spon class = "sectiontitle" > The Parser< / span > < / a > -
< span class = "sectionpurpose" > 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 class = "sectionentry" > < a href = "2-pm.html" >
< spon class = "sectiontitle" > Paragraph Macros< / span > < / a > -
< span class = "sectionpurpose" > To manage the set of named paragraph macros in a section.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "2-tgs.html" >
< spon class = "sectiontitle" > Tags< / span > < / a > -
< span class = "sectionpurpose" > Thematic tags can be attached to certain paragraphs, some automatically by Inweb, others manually by the author.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "2-ec.html" >
< spon class = "sectiontitle" > Enumerated Constants< / span > < / a > -
< span class = "sectionpurpose" > To define sequentially numbered values for families of constants.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "2-pn.html" >
< spon class = "sectiontitle" > Paragraph Numbering< / span > < / a > -
< span class = "sectionpurpose" > To work out paragraph numbers within each section.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "3" > < / a >
< span class = "chaptertitle" > Chapter 3: Outputs< / span > < / p >
< p class = "chapterpurpose" > 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.< / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "3-ta.html" >
< spon class = "sectiontitle" > The Analyser< / span > < / a > -
< span class = "sectionpurpose" > 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 class = "sectionentry" > < a href = "3-tc.html" >
< spon class = "sectiontitle" > The Collater< / span > < / a > -
< span class = "sectionpurpose" > To collate material generated by the weaver into finished, fully-woven files.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "3-tw.html" >
< spon class = "sectiontitle" > The Weaver< / span > < / a > -
< span class = "sectionpurpose" > To weave a portion of the code into instructions for TeX.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "3-twot.html" >
< spon class = "sectiontitle" > The Weaver of Text< / span > < / a > -
< span class = "sectionpurpose" > To manage the weaving of commentary or source code text.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "3-tt.html" >
< spon class = "sectiontitle" > The Tangler< / span > < / a > -
< span class = "sectionpurpose" > 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 class = "chapterentry" > < a name = "4" > < / a >
< span class = "chaptertitle" > Chapter 4: Languages< / span > < / p >
< p class = "chapterpurpose" > Providing support for syntax-colouring and for better organisation of code in different programming languages.< / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "4-pl.html" >
< spon class = "sectiontitle" > Programming Languages< / span > < / a > -
< span class = "sectionpurpose" > Defining the programming languages supported by Inweb, loading in their definitions from files.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-taf.html" >
< spon class = "sectiontitle" > Types and Functions< / span > < / a > -
< span class = "sectionpurpose" > Basic support for languages to recognise structure and function declarations.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-lm.html" >
< spon class = "sectiontitle" > Language Methods< / span > < / a > -
< span class = "sectionpurpose" > To characterise the relevant differences in behaviour between the various programming languages supported.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-as.html" >
< spon class = "sectiontitle" > ACME Support< / span > < / a > -
< span class = "sectionpurpose" > For generic programming languages by the ACME corporation.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-tp.html" >
< spon class = "sectiontitle" > The Painter< / span > < / a > -
< span class = "sectionpurpose" > A simple syntax-colouring engine.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-cl.html" >
< spon class = "sectiontitle" > C-Like Languages< / span > < / a > -
< span class = "sectionpurpose" > To provide special features for the whole C family of languages.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "4-is.html" >
< spon class = "sectiontitle" > InC Support< / span > < / a > -
< span class = "sectionpurpose" > To support a modest extension of C called InC.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "5" > < / a >
< span class = "chaptertitle" > Chapter 5: Formats< / span > < / p >
< p class = "chapterpurpose" > Weaving to a variety of different human-readable formats.< / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "5-wt.html" >
< spon class = "sectiontitle" > Weave Tree< / span > < / a > -
< span class = "sectionpurpose" > An abstraction of the weaver output.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "5-fm.html" >
< spon class = "sectiontitle" > Format Methods< / span > < / a > -
< span class = "sectionpurpose" > To characterise the relevant differences in behaviour between the various weaving formats offered, such as HTML, ePub, or TeX.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "5-ptf.html" >
< spon class = "sectiontitle" > Plain Text Format< / span > < / a > -
< span class = "sectionpurpose" > To provide for weaving in plain text format, which is not very interesting, but ought to be available.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "5-tf.html" >
< spon class = "sectiontitle" > TeX Format< / span > < / a > -
< span class = "sectionpurpose" > To provide for weaving in the standard maths and science typesetting software, TeX.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "5-hf.html" >
< spon class = "sectiontitle" > HTML Formats< / span > < / a > -
< span class = "sectionpurpose" > To provide for weaving into HTML and into EPUB books.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "5-df.html" >
< spon class = "sectiontitle" > Debugging Format< / span > < / a > -
< span class = "sectionpurpose" > A format which renders as a plain-text serialisation of the Inweb weave tree, useful only for testing the weaver.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "5-tu.html" >
< spon class = "sectiontitle" > TeX Utilities< / span > < / a > -
< span class = "sectionpurpose" > A few conveniences for using Inweb with TeX.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "6" > < / a >
< span class = "chaptertitle" > Chapter 6: Extras< / span > < / p >
< p class = "chapterpurpose" > Additional features for turning webs into open-source projects.< / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "6-mkf.html" >
< spon class = "sectiontitle" > Makefiles< / span > < / a > -
< span class = "sectionpurpose" > Constructing a suitable makefile for a simple inweb project.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "6-gs.html" >
< spon class = "sectiontitle" > Git Support< / span > < / a > -
< span class = "sectionpurpose" > Constructing a suitable gitignore file for a simple inweb project.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "6-rw.html" >
< spon class = "sectiontitle" > Readme Writeme< / span > < / a > -
< span class = "sectionpurpose" > To construct Readme and similar files.< / span > < / p >
< / li >
< li >
< p class = "sectionentry" > < a href = "6-cln.html" >
< spon class = "sectiontitle" > Colonies< / span > < / a > -
< span class = "sectionpurpose" > Cross-referencing multiple webs gathered together.< / span > < / p >
< / li >
< / ul >
< / li >
< / ul >
< hr >
2020-05-03 16:12:45 +00:00
< p class = "purpose" > This program also incorporates the following web(s) as module(s):< / p >
2019-02-04 22:26:45 +00:00
< ul class = "chapterlist" >
< li >
2020-05-03 16:12:45 +00:00
< p class = "moduleentry" >
2020-05-02 23:22:24 +00:00
< a href = "../foundation-module/index.html" > < spon class = "sectiontitle" > foundation< / span > < / a >
2020-05-03 16:12:45 +00:00
- < span class = "sectionpurpose" > A library of utility functions for command-line tools.< / span > < / p >
2019-02-04 22:26:45 +00:00
< / li >
< / ul >
2020-05-02 22:50:23 +00:00
< / div >
2019-02-04 22:26:45 +00:00
< hr >
2020-05-02 22:50:23 +00:00
< p class = "purpose" > Powered by < a href = "https://github.com/ganelson/inweb" > Inweb< / a > .< / p >
2020-03-19 00:03:04 +00:00
< / main >
2019-02-04 22:26:45 +00:00
< / body >
< / html >