Processing instructions are a special way to tell the compiler things. They do not show up in your presentation, or notes. They can change the way the compiler works, and what state you are in.

In XML processing instructions are given using the following format:

<?target ... ?>
So, we use it as follows:
<?slyde ... ?>

Here follows a list off all possible instructions:

  • markup: change the active markup renderer
  • engine: checks if the compiler uses the same version for slyde.
  • include: include files in the final build.

Change Markup Renderer

You can change the markup render to XYZ using:

<?slyde markup="XYZ"?>

For example, you can use it to turn off markup rendering:

<text>
  **This text will be bold**
</text>
<?slyde markup="plain"?>
<text>
  **This text will NOT be bold**
</text>

Engine

Require a certain version for slyde to be. Works using semantic versioning. See the semver NPM package for their API. This allows you to assert a warning

Include everything that does not increment the first non-zero portion of semver. Use the caret (aka hat) symbol: ^.

<?slyde engine="^2.2.1" ?>
<?slyde engine="^0.1.0" ?>
<?slyde engine="^0.0.3" ?>

Include everything greater than a particular version in the same minor range. Use the tilde symbol: ~.

<?slyde engine="^~2.2.0" ?>
<?slyde engine="^~2.2.0" ?>
<?slyde engine="^~2.2.0" ?>

Specify a range of stable versions. Use >, <, =, >= or <= for comparisons, or - to specify an inclusive range.

<?slyde engine=">2.1" ?>
<?slyde engine="1.0.0 - 1.2.0" ?>

Include pre-release versions like alpha and beta. Use the pre-release tag

<?slyde engine="1.0.0-rc.1" ?>

Specify a range of pre-release versions. Use comparisons like > with a pre-release tag.

<?slyde engine=">1.0.0-alpha" ?>
<?slyde engine=">=1.0.0-rc.0 <1.0.1" ?>

Include multiple sets of versions. Use || to combine.

<?slyde engine="^2 <2.2 || > 2.3" ?>

Include (concept)

Note

For now this is just a concept, I am not sure if it will make it into the final version.

You can include different files inside the final result. The parser is smart enough to know what type of content it is, and where to put it.

<?slyde include="http://example.com/script.js"?>
<?slyde include="./path/to/script.js"?>
<?slyde include="http://example.com/style.css"?>
<?slyde include="./path/to/style.css"?>