X-Git-Url: https://git.ladys.computer/Shushe/blobdiff_plain/2024d501192c7399c0791dec5ba0d3004613aefc..a4459459f357778fc2a7e4204b4d959fb1d0a659:/README.markdown?ds=inline diff --git a/README.markdown b/README.markdown index 1973e02..55d6f8f 100644 --- a/README.markdown +++ b/README.markdown @@ -73,9 +73,13 @@ Compilation involves the following steps :⁠— 5. ⛩️📰 书社 uses the dependency tree to establish prerequisites for each output file. -6. ⛩️📰 书社 compiles each output file to `build/public`. +6. ⛩️📰 书社 compiles each output file to `build/result`. -7. ⛩️📰 书社 copies the output files to `public`. +7. ⛩️📰 书社 symlinks most output files from `build/result` to + `build/public`, but it does some additional processing instead on + those which indicate a non‐X·M·L desired final output form. + +8. ⛩️📰 书社 copies the final resulting files to `public`. You can use `make list` to list each identified source file or include alongside its computed type and dependencies. @@ -117,6 +121,7 @@ In every case, you may supply your own implementation by overriding the - `mkdir` (requires support for `-p`) - `mv` - `od` (requires support for `-t x1`) +- `pax` (only when generating archives) - `printf` - `rm` - `sed` @@ -126,6 +131,7 @@ In every case, you may supply your own implementation by overriding the - `touch` - `tr` (requires support for `-d`) - `uuencode` (requires support for `-m` and `-r`) +- `uudecode` (requires support for `-m` and `-r`) - `xargs` (requires support for `-0`) - `xmlcatalog` (provided by `libxml2`) - `xmllint` (provided by `libxml2`) @@ -522,8 +528,9 @@ This mechanism can be used to allow transforms to insert content Output wrapping can be entirely disabled by adding a `@书社:disable-output-wrapping` attribute to the top‐level element in the result tree. -This attribute will also prevent wrapping non‐H·T·M·L embeds with an - ``. +It will not be performed on outputs whose root elements are + `<书社:archive>`, `<书社:base64-binary>`, or `<书社:raw-text>` + (described below). ## Applying Attributes @@ -546,6 +553,31 @@ Both elements ignore attributes in the `xml:` namespace, except for On H·T·M·L and S·V·G elements, `@lang` has the same behaviour as `@xml:lang`. +## Other Kinds of Output + +There are a few special elements in the `书社:` namespace which, if + they appear as the toplevel element in a transformation result, cause + ⛩️📰 书社 to produce something other than an X·M·L file. +They are :⁠— + +- **`<书社:archive>`:** + Each child element with a `@书社:archived-as` attribute will be + archived as a separate file in a resulting tarball (this attribute + gives the file name). + These elements will be processed the same as the root elements of any + other file (e·g, they will be wrapped; they can themselves specify + non X·M·L output types, ⁊·c). + Other child elements will be ignored. + +- **`<书社:base64-binary>`:** + The text nodes in the transformation result will, after removing all + Ascii whitespace, be treated as a Base·64 string, which is then + decoded. + +- **`<书社:raw-text>`:** + A plaintext (U·T·F‐8) file will be produced from the text nodes in + the transformation result. + ## License This repository conforms to [REUSE][].