Apposite
Conditionally compose document subsections.
Intro
Apposite lets you build a source document into multiple output targets with subsets of the source content. It’s particularly useful with Markdown but works with any text content.
Subsections are marked with @@@ [target] @@@
on the preceding line. Subsections end when a new section begins or at the end of the document. @@@ * @@@
applies to all targets.
Use
The render
function takes a string input and will compose a document including only subsections that apply to all targets.
apposite;
If you specify a target, render
will compose a document consisting of subsections that apply to that target and subsections that apply to all targets.
apposite;
You can optionally specify a custom marker. The default marker is @@@
.
apposite;
Example
input
:
@@@ \* @@@ # Document Title Subsections marked with an asterisk will apply to all output targets. @@@ targetA @@@This section will only apply to targetA. @@@ targetB @@@This section will only apply to targetB. @@@ targetA targetB @@@This section will apply to targetA and targetB.
apposite.render(input, "targetA");
:
# Document Title Subsections marked with an asterisk will apply to all output targets. This section will only apply to targetA. This section will apply to targetA and targetB.
apposite.render(input, "targetB");
:
# Document Title Subsections marked with an asterisk will apply to all output targets. This section will only apply to targetB. This section will apply to targetA and targetB.