- Home
- inweb
A modern system for literate programming. This is version 7.2.1.
-
-
Introduction to Inweb - What Inweb is, and why it is not CWEB. -
Webs, Tangling and Weaving - How to use Inweb to weave or tangle a web already written. -
How to Write a Web - How to mark up code for literate programming. -
Making Weaves into Websites - How to present one or more weaves on a shared website, for example using GitHub Pages. -
Advanced Weaving with Patterns - Customise your weave by creating a new pattern. -
Supporting Programming Languages - How to work with a programming language not yet supported by Inweb. -
The InC Dialect - A modest extension of C used by the Inform project. -
Reference Card - The current help information as it would be printed at the command line.
-
-
-
How This Program Works - An overview of how Inweb works, with links to all of its important functions.
-
-
Dealing with the user, and deciding what is to be done.
-
Basics - Some fundamental definitions, mostly declaring object types to the Foundation module. -
Program Control - The top level, which decides what is to be done and then carries this plan out. -
Configuration - To parse the command line arguments with which inweb was called, and to handle any errors it needs to issue. -
The Swarm - To feed multiple output requests to the weaver, and to present weaver results, and update indexes or contents pages. -
Patterns - Managing weave patterns, which are bundled configuration settings for weaving. -
Assets, Plugins and Colour Schemes - Mainly for HTML, to add the necessary JavaScript for unusual requirements such as equations or footnotes.
-
-
Reading in the entire text of the web, parsing its structure and looking for identifier names within it.
-
The Reader - 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. -
Line Categories - To store individual lines from webs, and to categorise them according to their meaning. -
The Parser - To work through the program read in, assigning each line its category, and noting down other useful information as we go. -
Paragraph Macros - To manage the set of named paragraph macros in a section. -
Tags - Thematic tags can be attached to certain paragraphs, some automatically by Inweb, others manually by the author. -
Enumerated Constants - To define sequentially numbered values for families of constants. -
Paragraph Numbering - To work out paragraph numbers within each section.
-
-
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.
-
The Analyser - Here we analyse the code in the web, enabling us to see how functions and data structures are used within the program. -
The Collater - To collate material generated by the weaver into finished, fully-woven files. -
The Weaver - To weave a portion of the code into instructions for TeX. -
The Weaver of Text - To manage the weaving of commentary or source code text. -
The Tangler - To transcribe a version of the text in the web into a form which can be compiled as a program.
-
-
Providing support for syntax-colouring and for better organisation of code in different programming languages.
-
Types and Functions - Basic support for languages to recognise structure and function declarations. -
Language Methods - To characterise the relevant differences in behaviour between the various programming languages supported. -
ACME Support - For generic programming languages by the ACME corporation. -
C-Like Languages - To provide special features for the whole C family of languages. -
InC Support - To support a modest extension of C called InC.
-
-
Weaving to a variety of different human-readable formats.
-
Weave Tree - An abstraction of the weaver output. -
Format Methods - To characterise the relevant differences in behaviour between the various weaving formats offered, such as HTML, ePub, or TeX. -
Plain Text Format - To provide for weaving in plain text format, which is not very interesting, but ought to be available. -
TeX Format - To provide for weaving in the standard maths and science typesetting software, TeX. -
HTML Formats - To provide for weaving into HTML and into EPUB books. -
Debugging Format - A format which renders as a plain-text serialisation of the Inweb weave tree, useful only for testing the weaver. -
TeX Utilities - A few conveniences for using Inweb with TeX.
-
-
Additional features for turning webs into open-source projects.
-
Makefiles - Constructing a suitable makefile for a simple inweb project. -
Git Support - Constructing a suitable gitignore file for a simple inweb project. -
Ctags Support - Constructing a suitable ctags file for a web. -
Readme Writeme - To construct Readme and similar files. -
Colonies - Cross-referencing multiple webs gathered together.
-
This program also incorporates the following web(s) as module(s):
-
foundation - A library of utility functions for command-line tools.
Powered by Inweb.