| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .. | ||
| .gitignore | ||
| common.css | ||
| common.html | ||
| common.xsl | ||
| components.css | ||
| components.xsl | ||
| dictionary.txt | ||
| document.css | ||
| document.xsl | ||
| entities.dtd | ||
| machine.xsl | ||
| manifest.xsl | ||
| outline.xsl | ||
| pdf.html | ||
| README.md | ||
Shared Templates
Template folders contain a variety of XML and HTML templates and supporting files, including:
- DTD files (Document Type Definitions)
- XSD files (XML schemas -- eventually)
- XSL files (XML stylesheets)
- CSS files (stylesheets that the XSL files rely upon)
- HTML files (HTML fragments used to generate part or all of a web page)
common.html is the HTML template file used by the HTMLOut module to generate a default HTML file ("index.html") for any folder that only has a "README.md", or a "machine.xml", or none of the above.
common.xsl is a collection of XSL templates used by machine.xsl (and deprecated outline.xsl) files.
components.xsl transforms all the elements of a machine XML file into an HTML fragment that includes a series of DIV tags with corresponding id and data-value attributes that allow our JavaScript components to bind themselves to visual elements (eg, virtual screen, virtual keyboard, control panel) on a web page.
machine.xsl is an XML stylesheet that takes things a step further and transforms a machine XML into a stand-alone HTML document, which also includes all necessary compiled scripts (eg, c1p.js, c1p-dbg.js, pcx86.js or pcx86-dbg.js). Most machine XML files explicitly link to this stylesheet, so that simply loading the XML file in your web browser creates a working virtual machine.
manifest.xsl is an XML stylesheet that renders a software manifest XML file into a standalone document; it may even contain a reference to a machine XML file.
document.xsl is a collection of XSL templates used exclusively by outline.xsl, which is a more grandiose version of machine.xsl, designed to support XML-based documentation that could also contain embedded machine XML files. However, I've since moved away from that approach, in favor of simple README.md files that are more flexible and work nicely with GitHub. Also, by rendering them with our own minimalistic Markdown converter, MarkOut, it's also very easy to embed virtual machines in a README.md document.
Since the XML document syntax that outline.xsl supports was never very well documented, I'm tempted to deprecate it and port any XML documents that still rely on it (mostly the older IAS Electronic Computer Project documents) to Markdown files.