Writerside Help

Semantic markup reference

This is a full reference of all XML markup elements available in Writerside topic files.

<a>

Add a hyperlink to another topic or an arbitrary URL. The link can be plain text, an image, a shortcut, or a property value.

Link to a topic and render the topic title as the text of the link:

<a href="my-topic.topic"/>

Link to a topic and specify the text of the link:

<a href="my-topic.topic">Link text</a>

Link to a specific anchor in the target topic:

<a href="my-topic.topic" anchor="intro">Link to anchor</a>

An anchor can be any element's id attribute or an explicit <anchor> element with a name.

You can omit the href attribute when linking to an anchor inside the same topic.

Set nullable="true" to render just the link text without the actual hyperlink if the target topic is not available when building your help. Otherwise, the target topic must exist to avoid build failures.

To add an external hyperlink, specify the full target URL in the href attribute:

<a href="https://www.jetbrains.com">Link to the JetBrains website</a>
Parent elements

<category> <chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

Child elements

<icon> <img>

Attributes:

anchor

Specify the ID of an element from the target topic. For example, if you want to link to a specific chapter. You can also use standard URL notation for anchors:

<a href="some.topic#this_chapter"/>
filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

href

Specify the link target: either a topic file name or an external URL.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
nullable

Render just the link text without the actual hyperlink if the target topic is not available when building your help. For example, if a referenced topic is included only in one help instance, then you do not want a non-working link for the other help instance.

origin

If you want to reference a topic from another help module, explicitly specify the origin module to avoid potential conflicts, because topics from different modules may have the same name.

summary

Override the link summary. By default, when you hover over an internal link, Writerside shows a popup with the first paragraph of the target topic or chapter. You can also use the <link-summary> element inside the topic or chapter to define a different link summary. This attribute will override everything for this specific link.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

target-switcher-key

Specify the switcher-key from the target topic, if you want the link to open with a non-default switcher value.

<anchor>

DEPRECATED: use the id attribute on the relevant element instead.

Add an anchor to which you can create a hyperlink.

Parent elements

<chapter> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

Attributes:

name

DEPRECATED: use the id attribute on the relevant element instead.

<annotations>

Add an annotation to the topic or a chapter

Parent elements

<chapter> <if> <snippet> <topic>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>

<api-doc>

Generate API reference from an OpenAPI specification file. You can generate a full reference or only the operations marked with a specific tag.

Here is how to generate the full API reference:

<api-doc openapi-path="path/to/file.yaml"/>

Here is how to generate a reference of operations marked with the User tag:

<api-doc openapi-path="path/to/file.yaml" tag="User"/>
Parent elements

<chapter> <topic>

Child elements

<api-endpoint>

Attributes:

depth

Specify the maximum header level allowed in the topic navigation component.

generate-samples

Generate request samples automatically.

openapi-path

Specify the path to the OpenAPI specification.

tag

Generate API reference only for operations marked with this tag.

<api-endpoint>

Generate a reference for a single API endpoint and its HTTP method (operation).

<api-endpoint openapi-path="path/to/file.yaml" endpoint="/users" method="GET"/>

You can generate a reference for several endpoints and methods. In this case, put them inside the <api-doc> element to define the path to the spec only once:

<api-doc openapi-path="path/to/file.yaml"> <api-endpoint endpoint="/users" method="GET"/> <api-endpoint endpoint="/users" method="POST"/> </api-doc>

By default, Writerside generates request and response samples from the spec. You can provide custom samples inside the <api-endpoint> tag using <request> and <response> tags. To prevent generating samples without the need to provide custom ones, set the generate-samples attribute to none:

<api-endpoint endpoint="/users" method="GET" generate-samples="none"/>

You can also one of the following values:

  • ALL (default) - generate samples for all requests and responses

  • REQUEST - generate samples for requests only

  • RESPONSE - generate samples for responses only

  • NONE - do not generate samples

<api-endpoint endpoint="/users" method="GET" generate-samples="request"/>

You can also specify the depth of the generated reference using the depth attribute. The depth defines how many levels of nested objects to include in the reference. The default value is null (all levels).

<api-endpoint endpoint="/users" method="GET" depth="null"/>
Parent elements

<api-doc> <chapter> <topic>

Child elements

<request> <response>

Attributes:

depth

Specify the maximum header level allowed in the topic navigation component.

endpoint

Specify the endpoint for which you want to generate reference.

generate-samples

Generate samples of requests and responses from the specification.

method

Specify the method for which you want to generate reference.

openapi-path

Specify the path to the OpenAPI specification.

<api-schema>

Define data objects or schemas within your API documentation. This tag is particularly useful for documenting the structure and details of nested data objects.

The <api-schema> tag accepts several attributes to provide context and reference to external specifications:

  • openapi-path: specifies the path to an OpenAPI file with schema definitions.

  • name: defines the schema name as it is defined in components.schemas (for openAPI 3.0) or definitions (for swagger 2.0).

<api-schema openapi-path="path/to/spec.yaml" name="User"/>

The previous example will generate a reference for the User object.

Parent elements

<chapter> <topic>

Attributes:

depth

Specify the maximum header level allowed in the topic navigation component.

name

Specify the schema name as it is defined in components.schemas (for openAPI 3.0) or definitions (for swagger 2.0).

openapi-path

Specify the path to the OpenAPI specification with schema definitions.

<available-only-for>

Specify the product edition to which the topic or chapter applies. This should be a child of the <topic> or <chapter> element.

<available-only-for instance="ij">Ultimate</available-only-for>
Parent elements

<chapter> <topic>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>

<br>

NO DESCRIPTION

Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

<card-summary>

Add a summary of the topic that will be displayed for cards in a <section-starting-page>. By default, it will render the first paragraph of a topic. However, if you want to override it, define a <card-summary>.

<topic title="Foo" id="foo"> <card-summary> This topic is about Foo. This text will not render in the topic. It is used only in the link popup. </card-summary> ... </topic>

You can use an existing element with an id as a summary (for example, any paragraph). To do this, refer to the id using the rel attribute in <card-summary>:

<topic title="Foo" id="foo"> <p id="intro"> This topic is about Foo. This text will render as a regular paragraph. </p> <card-summary rel="intro"/> </topic>
Parent elements

<if> <snippet> <topic>

Child elements

<if> <include> <snippet> <use-bundle> <var>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
rel

Specify an ID of a paragraph to use as a <link-summary>, <card-summary>, or <web-summary> instead of the default first paragraph.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<cards>

Add a custom group of links to topics that you would additionally like to list on the starting page of the section. This is a child of the <misc> element in a <section-starting-page>. A group of cards must have a <title> and may have any number of links, but preferably keep them between 2 and 6.

<misc> <cards narrow="false"> <title>Other tools</title> <a href="copy_cat.topic" description="Copy any text from any document.">Copy Cat</a> <a href="paste_dog.topic" description="Paste anything from the clipboard history.">Paste Dog</a> ... </cards> </misc>

You can set narrow="true" to render three cards in a row.

If you don't provide the description attribute, it will render the first paragraph of the referenced topic as a summary, unless the topic has a <card-summary> element defined.

Parent elements

<misc>

Attributes:

narrow

Use three narrow columns for links instead of the default two wide columns.

<category>

Specify the category for a group of links in the <seealso> section.

Parent elements

<if> <seealso> <snippet>

Child elements

<a> <include> <resource> <snippet>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
ref

Reference the category by its ID.

sorted

Automatically sort items in a list or table when building your help instance.

<chapter>

Add a chapter with a title and an identifier.

<chapter title="Do a barrel roll" id="barrel-roll"> <p>Whenever you are not sure what to do, try a barrel roll first, then ask for help.</p> ... </chapter>

You can set the title as a child element <title>, for example, if you want to have a custom chapter title depending on the product:

<chapter title="Do a barrel roll" id="barrel-roll"> <title instance="anotherApp">Do another barrel roll</title> <p>Whenever you are not sure what to do, try a barrel roll first, then ask for help.</p> ... </chapter>

You can add subchapters inside chapters. The header level of the chapter depends on the chapter level.

To collapse a chapter by default, set default-state="collapsed". To make an expanded chapter collapsible, set default-state="expanded".

Parent elements

<chapter> <if> <snippet> <tab> <topic>

Child elements

<a> <anchor> <annotations> <api-doc> <api-endpoint> <api-schema> <available-only-for> <br> <chapter> <code> <code-block> <compare> <control> <deflist> <emphasis> <format> <help-id> <icon> <if> <img> <include> <label> <link-summary> <list> <note> <p> <path> <procedure> <property> <resource> <shortcut> <snippet> <table> <tabs> <tip> <title> <tldr> <tooltip> <ui-path> <use-bundle> <var> <video> <warning>

Attributes:

annotations

NO DESCRIPTION

caps

Specify the capitalization style. The builder will automatically apply the style to make this title, for example, sentence case or all upper case.

collapsible

Make the chapter, procedure, or deflist collapsible. By default, the element will appear collapsed with an icon to expand it.

default-state

By default, all items of a collapsible definition list are collapsed. Override this if you want some items to be expanded by default.

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

help-id

Specify the ID for redirects from your product to specific topics and chapters in your help instance.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
label

NO DESCRIPTION

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

title

Specify the title.

<code>

Format inline code fragments. Use it to format names of keywords, variables, functions, methods, classes, properties, commands, and so on.

<p>Use the <code>foo()<code> method to do something cool.</p>
Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

<code-block>

Add a code fragment as a block of code. Use the lang attribute to define the language of the code block:

<code-block lang="java"> public class Main { public static void main() { System.out.println("Here is some sample Java code."); } } </code-block>

This will inject the code block adding code highlighting, formatting, and any other available language-specific coding assitance. It will also let the build engine know how to highlight this block in the output. If you want a plain-text block, set lang="plain text". If you don't want to inject the code in the editor (for example, it's not a complete piece of code, which produces syntax errors), but still want to have proper highlighting for the specified language in the output, set noinject="true".

Parent elements

<chapter> <compare> <def> <if> <li> <procedure> <snippet> <step> <tab> <tabs> <td> <topic>

Attributes:

collapsed-title

Specify text to display when the code block is collapsed.

collapsed-title-line-number

Specify the line number with text to display when the code block is collapsed.

collapsible

Make the chapter, procedure, or deflist collapsible. By default, the element will appear collapsed with an icon to expand it.

default-state

By default, all items of a collapsible definition list are collapsed. Override this if you want some items to be expanded by default.

Do not treat triple square brackets as links [[[JetBrains website|https://www.jetbrains.com]]].

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
ignore-vars

Do not treat two percent characters with text between them %foo% as Writerside variables.

include-lines

Specify line numbers from the source file to include in the code block.

include-symbol

Specify a class, method, or another symbol from the source file to include in the code block.

instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
lang

Specify the language for highlighting in this sample.

noinject

Do not inject the code. By default, Writerside injects the code to highlight, validate, and provide various assistance features relevant for the specified language. If the code sample is not complete and valid, it will show a syntax error. To avoid this, do not inject incomplete code samples.

prompt

Specify an unselectable prompt for the code block. For example, if the code block shows interaction with the command line, specify a prompt that indicates the operating system or interpreter language. You can also indicate the current expected location context, such as the host name and directory. Users will not be able to select and copy the prompt, only the actual content of the code block.

show-white-spaces

Show spaces and tabs in the code block.

src

Specify the source file with code that you want to include in the code block.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

validate

Validate the code block when building the help instance.

<compare>

Display two code blocks next to each other for comparison:

<compare> <code-block lang="java"> public static void main(String[] args) { System.out.println("Hi!"); } </code-block> <code-block lang="kotlin"> @JvmStatic fun main(args: Array<String>) { println("Hi!") } </code-block> </compare>

By default, this displays the two code blocks side-by-side with the first one titled "Before" and the second one titled "After". Use the type attribute to change the arrangement to top-bottom. Use the first-title and second-title attributes to change the titles.

<compare type="top-bottom" title-before="Java" title-after="Kotlin"> <code-block lang="java"> public static void main(String[] args) { System.out.println("Hi!"); } </code-block> <code-block" lang="kotlin"> @JvmStatic fun main(args: Array<String>) { println("Hi!") } </code-block> </compare>
Parent elements

<chapter> <if> <li> <snippet> <step> <tab> <td> <topic>

Child elements

<code-block>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

first-title

Specify the title for the first code block in the comparison.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
second-title

Specify the title for the second code block in the comparison.

style

DEPRECATED: Use type instead.

Specify the layout of the comparison block: left-right or top-down.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

type

Specify the layout of the comparison block: left-right or top-down.

<control>

Add a GUI element label, such as a button, a checkbox, or a dialog title.

<p>To show the recipe, select <control>Show recipe</control> and click <control>OK</control>.</p>
Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

<def>

Add a definition entry in a <deflist> with a mandatory title attribute (the name of the term).

<deflist> <def title="Foo">Description of "Foo"</def> <def title="Bar">Description of "Bar"</def> <def title="Baz">Description of "Baz"</def> </deflist>
Parent elements

<deflist> <if> <snippet>

Child elements

<a> <br> <code> <code-block> <control> <deflist> <emphasis> <format> <if> <img> <include> <list> <note> <p> <path> <property> <resource> <shortcut> <snippet> <table> <tabs> <tip> <title> <tooltip> <ui-path> <use-bundle> <var> <video> <warning>

Attributes:

collapsible

Make the chapter, procedure, or deflist collapsible. By default, the element will appear collapsed with an icon to expand it.

default-state

By default, all items of a collapsible definition list are collapsed. Override this if you want some items to be expanded by default.

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

title

Specify the title.

<deflist>

Add a list of terms with their corresponding definitions (descriptions):

<deflist> <def title="Foo">Description of "Foo"</def> <def title="Bar">Description of "Bar"</def> <def title="Baz">Description of "Baz"</def> </deflist>

A definition list is preferable to a table with two columns (name and description) or a simple unordered list of terms and descriptions.

Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

Child elements

<def> <if> <include> <snippet> <title> <use-bundle> <var>

Attributes:

collapsible

Make the chapter, procedure, or deflist collapsible. By default, the element will appear collapsed with an icon to expand it.

default-state

By default, all items of a collapsible definition list are collapsed. Override this if you want some items to be expanded by default.

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
sorted

Automatically sort items in a list or table when building your help instance.

style

DEPRECATED: Use type instead.

Specify the ratio of the definition and description widths.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

type

Specify the ratio of the definition and description widths.

<description>

Add a description for the starting page of a section.

Parent elements

<section-starting-page>

Child elements

<if> <include> <snippet> <use-bundle> <var>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<emphasis>

Mark emphasized text to display it in italic and pronounce it with an emphasis by a screen reader. Use it to stress out a certain word or phrase, or introduce new terms, names, concepts, and so on.

Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

<format>

Change the font style and color of text. It is not recommended to format text directly. Use semantic markup elements, such as <control> for UI controls, <code> for inline pieces of code, and <path> for paths and file names.

However, you can do it if necessary. Examples:

<format style="bold,italic" color="RosyBrown">Hello, world!</format>
<format style="subscript" color="Red">Hello, world!</format>
Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

<group>

Add custom groups of links to topics that you would additionally like to list on the starting page of the section. This is a child of the <links> element.

<links> <group> <title>Frameworks</title> <a href="some_topic.topic" description="First topic description.">Some topic</a> <a href="some_other_topic.topic" description="Second topic description.">Some other topic</a> ... </group> ... </links>

If you don't provide the description attribute, it will render the first paragraph of the referenced topic as a summary, unless the topic has a <link-summary> element defined.

Parent elements

<links>

<help-id>

Specify a unique context help identifier to reference this topic from a related dialog in the product. The same identifier must be assigned to the corresponding interface in the product's sources. This will generate a redirect in the output pointing from this help ID to the element where you specified it.

<help-id>some.help.id</help-id>
Parent elements

<chapter> <if> <procedure> <snippet> <topic>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<icon>

Insert an icon from the designated directory for icons defined in buildprofiles.xml.

Parent elements

<a> <chapter> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title>

Attributes:

alt

Specify the alternate text for the icon.

dark-src

NO DESCRIPTION

height

Specify the height of the icon.

src

Specify the icon file.

width

Specify the width of the icon.

<if>

Filter out content based on product, platform, or a custom filter.

<p> This <if instance="SimpleApp">word</for><if instance="OtherApp">weird phrase</for> will be different depending on the instance. </p>

You can wrap any elements inside <if>. For example, in a <snippet>, you can use <if> for filtering:

<if filter="advanced"> <p>For example:</p> <list> <li>Like</li> <li>this</li> </list> </if>
Parent elements

<card-summary> <chapter> <def> <deflist> <description> <if> <include> <li> <link-summary> <list> <p> <procedure> <seealso> <snippet> <step> <tab> <table> <tabs> <td> <tldr> <topic> <tr> <web-summary>

Child elements

<a> <anchor> <annotations> <br> <card-summary> <category> <chapter> <code> <code-block> <compare> <control> <def> <deflist> <emphasis> <format> <help-id> <icon> <if> <img> <include> <label> <li> <link-summary> <list> <note> <p> <path> <procedure> <property> <resource> <seealso> <shortcut> <snippet> <step> <table> <tabs> <td> <tip> <title> <tldr> <tooltip> <tr> <ui-path> <var> <video> <warning> <web-summary>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<img>

Add an image, for example: a screenshot, an icon, or a diagram. Use the src attribute to specify the name of the image file. Use the alt attribute to describe the image: this makes your documentation more accessible for users of screen readers and provides additional information about your content for search engines.

<img src="screenshot.png" alt="A screenshot of the Add dialog."/>

Use the width attribute to resize the rendered image if necessary. By default, it will resize the height proportionally, but you can explicitly set the height using the height attribute.

Inline vs block images

Any small image (16 pixels or less) is considered an inline icon that should go into a paragraph. If you put it outside of a paragraph, you will get a warning. To insert a small image as a separate block element, set type="block" for it.

Images larger than 16 pixels are considered separate block elements by default. If you try to inline it into a paragraph, you will get a warning. To insert a large image into a paragraph, set type="inline" for it.

Thumbnails

If you have a very large image with a lot of details, by default, it will be scaled down to fit the viewport (706 pixels). To avoid this, set thumbnail="true", which will generate and insert a small thumbnail of the image that the reader can click to expand and view at full size.

Alternatively, you can specify a custom preview image instead of the automatically generated small thumbnail using the preview-src attribute.

Animated GIFs

Writerside will automatically detect an animated GIF and insert the first frame that the user can click to run the animation. Instead of the first frame, you can specify a custom preview image using the preview-src attribute.

Parent elements

<a> <chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <topic>

Attributes:

alt

Specify the alternate text for an image.

border-effect

Specify the border effect to render around the image.

height

Set the height for the image.

preview-src

Specify the initial image to show for an expandable image.

scale

Set the scale ratio for this image..

src

Specify the image file.

style

Force the image to be render inline or as a separate block element.

theme

Specify the theme in which to display the image.

thumbnail

Make this image expandable.

width

Set the width for the image.

<include>

Reuse an element by its identifier.

<p id=intro>This is an intro and I want to repeat it below.</p> <include element-id="intro"/>

Usually, you insert content from another topic, preferably a library of <snippet> elements. In this case, specify the source file with the from attribute.

<include from="myLib.topic" element-id="open-settings"/>
Parent elements

<card-summary> <category> <chapter> <def> <deflist> <description> <if> <include> <li> <link-summary> <list> <p> <procedure> <seealso> <snippet> <step> <tab> <table> <tabs> <td> <tldr> <topic> <tr> <web-summary>

Child elements

<if> <include> <snippet> <use-bundle> <var>

Attributes:

element-id

Specify the element ID.

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

from

Specify the topic from which you want to include content.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
nullable

Do not include anything if the source topic is not available in the current context.

origin

If you want to include something from a topic in another help module, specify it as the origin.

use-filter

Insert content with conditions: only content marked by the specified custom filters, separated with commas.

<label>

Add a label to the topic or a chapter

Parent elements

<chapter> <if> <snippet> <topic>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>

<li>

Add a list item.

Do not leave any dangling text inside list items: wrap it with <p> elements to distinguish paragraphs.

Parent elements

<if> <list> <snippet>

Child elements

<a> <anchor> <br> <code> <code-block> <compare> <control> <deflist> <emphasis> <format> <icon> <if> <img> <include> <list> <note> <p> <path> <property> <resource> <shortcut> <snippet> <table> <tabs> <tip> <tooltip> <ui-path> <use-bundle> <var> <video> <warning>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

help-id

Specify the ID for redirects from your product to specific topics and chapters in your help instance.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

Provide some text to display as a topic or chapter summary inside a link popup that shows on mouse hover. The popup renders as plain text, so formatting is not allowed inside <link-summary>.

By default, the popup on a link renders the first paragraph of a topic. However, if you want to override it, define a <link-summary>.

<topic title="Foo" id="foo"> <link-summary> This topic is about Foo. This text will not render in the topic. It is used only in the link popup. </link-summary> </topic>

You can use an existing element with an id as a summary (for example, any paragraph). To do this, refer to the id using the rel attribute in <link-summary>:

<topic title="Foo" id="foo"> <p id="intro"> This topic is about Foo. This text will render as a regular paragraph. </p> <link-summary rel="intro"/> </topic>

<chapter> <if> <snippet> <topic>

<if> <include> <snippet> <use-bundle> <var>

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>

Specify an ID of a paragraph to use as a <link-summary>, <card-summary>, or <web-summary> instead of the default first paragraph.

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

Add one or more custom groups of links to topics that you would additionally like to list on the starting page of the section. This is a child of the <misc> element in a <section-starting-page>.

Use the <group> element to group separate link collections with a <title> and any number of links in each group, but preferably keep them between 2 and 4 in each collection.

You can set narrow="true" to render the links in three columns (groups).

<misc> <links narrow="true"> <group> <title>Frameworks</title> <a href="tupleconverter.topic" description="Everything you need to convert tuples.">TupleConverter</a> <a href="img_edit.topic" description="Automate your image editing needs.">ImgEdit</a> ... </group> ... </links> </misc>

If you don't provide the description attribute, it will render the first paragraph of the referenced topic as a summary in a popup when you hover over the link, unless the topic has a <link-summary> element defined.

<misc>

<group>

Use three narrow columns for cards instead of the default two wide columns.

<list>

Add a list of items. By default, lists are unordered and rendered in one column.

<list> <li>List item</li> <li>Another list item</li> <li>One more list item</li> </list>

Use the type attribute to create a numbered list designated with numeric values (1, 2, 3, ...) or letters (a, b, c, ...). For example, if you need to describe numbered annotations on a screenshot that mark various UI elements:

<list type="decimal"> <li>Editor</li> <li>File tree</li> <li>Status bar</li> </list>

However, if you are documenting an ordered sequence of steps (actions) to perform some task, use the <procedure> element, not an ordered list.

If you have a long list of relatively short items, you can render the list in several columns by setting the number of columns in the columns attribute (it is not recommended to use more than four columns).

<list columns="3"> <li>this</li> <li>is a</li> <li>list</li> <li>with</li> <li>many</li> <li>short</li> <li>items</li> <li>they</li> <li>will be</li> <li>rendered</li> <li>in three</li> <li>columns</li> </list>

Use the sorted attribute to sort the list items alphabetically (either ascending or descending).

Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

Child elements

<if> <include> <li> <snippet> <use-bundle> <var>

Attributes:

columns

Render the list in multiple columns.

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
sorted

Automatically sort items in a list or table when building your help instance.

start

Specify the first item number in a numbered list.

style

DEPRECATED: Use type instead.

Specify whether this list should be numbered or bulleted.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

type

Specify whether this list should be numbered or bulleted.

<misc>

Add custom groups of cards and links to topics that you would additionally like to list on the starting page of the section. This is a child of the <section-starting-page> element.

<misc> <cards narrow="false"> <title>Other tools</title> <a href="some_topic.topic" description="First topic description.">Some topic</a> <a href="some_other_topic.topic" description="Second topic description.">Some other topic</a> ... </cards> <links narrow="true"> <group> <title>Frameworks</title> <a href="some_topic.topic" description="First topic description.">Some topic</a> <a href="some_other_topic.topic" description="Second topic description.">Some other topic</a> ... </group> ... </links> </misc>

If you don't provide the description attribute, it will render the first paragraph of the referenced topic as a summary on the card or a popup on the link, unless the topic has a <card-summary> and <link-summary> elements defined.

Parent elements

<section-starting-page>

Child elements

<cards> <links>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>

<note>

Add a note with important information (restrictions, prerequisites, and possible problems that you think the user should be aware of).

<note>Only users with administrator privileges can perform this operation.</note>
Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

<p>

Add a paragraph.

Although the builder will add the necessary paragraphs, it is recommended to always clearly distinguish paragraphs from other elements: images, lists, and so on. Don't leave text dangling outside of <p> tags. Don't use </br> to break content. Separate content into paragraphs in chapters, tables, list items, definition list items, procedure steps, tips, notes, and warnings.

To reference a paragraph with a link, as with any other element, you can add the id attribute to it.

<p id="intro"> This is an introductory paragraph. </p>

You can add links to any element with an ID: <a anchor="intro"/>.

Or include it: <include from="some.topic" element-id="intro"/>.

Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <tldr> <topic>

Child elements

<a> <br> <code> <control> <emphasis> <format> <icon> <if> <img> <include> <path> <property> <resource> <shortcut> <snippet> <tooltip> <ui-path> <use-bundle> <var>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<path>

Mark text as a file name or a path in the file system.

<p>Specify the configuration file: <path>path/to/config</path></p>
Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

<primary>

Add a group of cards with links to the most important topics in the section. This is a child of the <section-starting-page> element. Add a <title> and any number of links, but preferably keep them between 4 and 8.

<primary> <title>Quick start</title> <a href="Hello_World.topic" description="Write your first Hello World program.">Hello, World!</a> <a href="Barrel_Roll.topic" description="Learn how to do a barrel roll properly.">Do a barrel roll</a> ... </primary>

If you don't provide the description attribute, it will render the first paragraph of the referenced topic as a summary, unless the topic has a <card-summary> element defined.

Parent elements

<section-starting-page>

<procedure>

Add an ordered list of steps describing how to perform a task.

<procedure title="Become a professional"> <step>Learn something</step> <step>Get paid for doing it</step> <step>(Optional) Do a barrel roll</step> </procedure>

The title attribute is optional if the title of the procedure is obvious from the containing topic or chapter title. Procedures that don't have titles don't produce anchors and cannot be reflected in the in-topic table of contents.

You can add paragraphs to the procedure if you need to describe prerequisites, consequences, expected output, and any other useful information that is not part of the actual steps.

Use the default-state attribute to make the procedure collapsible and specify if it should initially be rendered as collapsed or expanded.

If there is only one step in the procedure, it will be rendered with a bullet point instead of a numeric value.

If the procedure is a choice between several steps, set type="choices". Then all steps will be rendered as an unordered list with bullets.

Parent elements

<chapter> <if> <snippet> <tab> <topic>

Child elements

<a> <anchor> <br> <code> <code-block> <control> <deflist> <emphasis> <format> <help-id> <icon> <if> <img> <include> <list> <note> <p> <path> <property> <resource> <shortcut> <snippet> <step> <table> <tabs> <tip> <title> <tooltip> <ui-path> <use-bundle> <var> <video> <warning>

Attributes:

caps

Specify the capitalization style. The builder will automatically apply the style to make this title, for example, sentence case or all upper case.

collapsible

Make the chapter, procedure, or deflist collapsible. By default, the element will appear collapsed with an icon to expand it.

default-state

By default, all items of a collapsible definition list are collapsed. Override this if you want some items to be expanded by default.

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

help-id

Specify the ID for redirects from your product to specific topics and chapters in your help instance.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
style

DEPRECATED: Use type instead.

Specify whether this procedure should be a sequence of steps or a choice.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

title

Specify the title.

type

Specify whether this procedure should be a sequence of steps or a choice.

<property>

Specify the property key from a specific resource bundle:

<property bundle="FooBundle" key="some.property.string"/>

This will render the relevant key value, which is helpful for UI strings extracted from your product.

If the property contains variables, you can pass their values using the args attribute.

If you need to specify a property from a resource bundle for a specific product, use the from-product attribute.

Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

Attributes:

args

For properties with variables ({0}, {1}, and so on), specify a comma-separated list of values.

bundle

Specify the property bundle name.

cleanup-mode

Specify the mode for cleaning up property values if they contain some special characters.

cleanup-pattern

Specify a regex pattern to clean up from property values, for example, […_] to match all ellipsis and underscore characters.

from-product

Specify the product to force for choosing the property bundle.

key

Specify the property key from the bundle.

<request>

Specify request information within an <api-endpoint> tag to provide developers with a clear understanding of the expected input and structure when making requests to an API endpoint.

The <request> tag is exclusively used within the context of an <api-endpoint> to describe the expected request structure. It can contain one or more <sample> tags to illustrate various request examples for different languages.

Here's an example of how to use the <request> tag within an <api-endpoint>:

<api-endpoint endpoint="/users" method="POST"> <request> <sample lang="JSON" title="Payload"> { "id": 123, "name": "John Doe", "email": "john.doe@example.com" } </sample> <sample lang="javascript" title="JavaScript"> const data = { id: 123, name: "John Doe", email: "john.doe@example.com" }; </sample> </request> </api-endpoint>

This example defines two request samples: JSON and JavaScript.

Parent elements

<api-endpoint>

Child elements

<sample>

<resource>

Add a link to a file that the reader can download.

Parent elements

<category> <chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
src

Specify the name of the file from the resources directory.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<response>

Specify response information for an API endpoint. This tag must define a required attribute type to specify the response code (e.g., default, 1XX, 2XX, 4XX, 5XX).

You can include a <sample> tag to provide sample response data. Here's an example of how to use this tag:

<api-endpoint endpoint="/users/{id}" method="GET"> <response type="200"> <sample> { "id": 123, "name": "John Doe", "email": "john.doe@example.com" } </sample> </response> <response type="400"> <sample> { "error": "text" } </sample> </response> </api-endpoint>

This example defines an <api-endpoint> for retrieving user details by ID. There are two <response> tags to describe potential responses: one for a successful response with the status code of 200 and another for an error response with the status code 400.

Parent elements

<api-endpoint>

Child elements

<sample>

Attributes:

type

Specify the response code.

<sample>

Define a custom request or response example to help developers understand the expected input and output of an API endpoint.

Use the <sample> tag inside a <request> or a <response> tag.

For request samples, use the optional lang attribute for code highlighting and title as the name of the tab with the sample. Here is a JavaScript request code sample:

<request> <sample lang="javascript" title="JavaScript"> const data = { id: 123, name: "John Doe", email: "john.doe@example.com" }; </sample> </request>

If you store samples in a separate file you can specify it in the src and even reference specific lines from it using the include-lines attribute.

<response> <sample src="example.js" include-lines="5-10"/> </response>
Parent elements

<request> <response>

Attributes:

include-lines

Specify line numbers from the source file to include in the sample.

lang

Specify the language for highlighting in this sample.

src

Specify the source file with code that you want to include as a sample.

title

NO DESCRIPTION

<secondary>

Add a group of cards with links to topics in this section that you would like to highlight. This is a child of the <section-starting-page> element. Add a <title> and any number of links, but preferably keep them between 2 and 4.

<secondary> <title>Migration guides</title> <a href="migrate_from_foo.topic" description="Switch from FooApp to our awesome product.">Migrate from FooApp</a> <a href="migrate_from_bar.topic" description="Switch from BarApp to our awesome product.">Migrate from BarApp</a> ... </secondary>

If you don't provide the description attribute, it will render the first paragraph of the referenced topic as a summary, unless the topic has a <card-summary> element defined.

Parent elements

<section-starting-page>

<section-starting-page>

Add a starting page for a section of topics. Mandatory child elements are:

  • <title> is the title of the section starting page

  • <description> is a paragraph that briefly introduces the section

  • <spotlight> defines two featured topics

  • <primary> defines more topics that are important to read in this section

  • <secondary> defines several more topics that you would like to highlight in a separate group

You can also add the <misc> element to add any number of additional topic groups.

<section-starting-page> <title>This is the title</title> <description>Description of the starting page</description> <spotlight> <a href="some_topic.topic" description="First topic description.">Some topic</a> <a href="some_other_topic.topic" description="Second topic description.">Some other topic</a> </spotlight> <primary> <title>Main group title</title> <a href="some_topic.topic" description="First topic description.">Some topic</a> <a href="some_other_topic.topic" description="Second topic description.">Some other topic</a> ... </primary> <secondary> <title>highlighted group title</title> <a href="some_topic.topic" description="First topic description.">Some topic</a> <a href="some_other_topic.topic" description="Second topic description.">Some other topic</a> ... </secondary> <misc> <cards narrow="false"> <title>Other tools</title> <a href="some_topic.topic" description="First topic description.">Some topic</a> <a href="some_other_topic.topic" description="Second topic description.">Some other topic</a> ... </cards> <links narrow="true"> <group> <title>Frameworks</title> <a href="some_topic.topic" description="First topic description.">Some topic</a> <a href="some_other_topic.topic" description="Second topic description.">Some other topic</a> ... </group> ... </links> </misc> </section-starting-page>
Parent elements

<topic>

Child elements

<description> <misc> <primary> <secondary> <spotlight> <title>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>

<seealso>

Add links to topics and external resources that may be relevant to the current topic.

<seealso> <category ref="settings"> <a href="drum_settings.topic"/> </category> <category ref="external"> <a href="https://blog.post.com/drums-are-cool">Why drums are cool</a> </category> </seealso>

Separate links into categories defined in the c.list file.

Parent elements

<if> <snippet> <topic>

Child elements

<category> <if> <include> <snippet> <use-bundle> <var>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
style

Render this seealso block as a list of links or as cards with a title and summary.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<shortcut>

Add a shortcut by an identifier from a keymap file or hardcoded.

<p>To copy the selected text, press <shortcut key="$Copy"/>.</p>
<p>To copy the selected text, press <shortcut>Ctrl+C</shortcut>.</p>

If you have multiple keymap files, there will be a switcher with available keymaps at the top of the page. Shortcuts added via identifier keys will dynamically render from the selected keymap. Hardcoded shortcuts will stay the same regardless of the selected keymap.

Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

force-layout

Render the shortcut from the specified layout regardless of what the reader selects in the shortcut switcher.

from-keymap-of

Use a shortcut defined in a keymap for another help instance.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
key

Specify the key of the action from the keymap definition file.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<show-structure>

Configure the navigation component inside the topic. By default, Writerside renders links to first-level chapters on the right side of the topic page. If you want to have both chapter and procedure titles up to level 2, add this:

<show-structure for="chapter,procedure" depth="2"/>
Parent elements

<topic>

Attributes:

depth

Specify the maximum header level allowed in the topic navigation component.

for

Specify the elements allowed in the topic navigation component: chapters, procedures, or both.

<snippet>

Define a chunk of content with more than one element to insert using the <include> element.

<snippet id="settings"> <p>You can change the following settings:</p> <list> <li>Volume</li> <li>Brightness</li> <li>Dimensions</li> </list> </snippet>

This chunk should reside in a library topic that you reference with the from attribute:

<include from="myLib.topic" element-id="settings"/>
Parent elements

<card-summary> <category> <chapter> <def> <deflist> <description> <if> <include> <li> <link-summary> <list> <p> <procedure> <seealso> <snippet> <step> <tab> <table> <tabs> <td> <tldr> <topic> <tr> <web-summary>

Child elements

<a> <anchor> <annotations> <br> <card-summary> <category> <chapter> <code> <code-block> <compare> <control> <def> <deflist> <emphasis> <format> <help-id> <icon> <if> <img> <include> <label> <li> <link-summary> <list> <note> <p> <path> <procedure> <property> <resource> <seealso> <shortcut> <snippet> <step> <table> <tabs> <td> <tip> <title> <tldr> <tooltip> <tr> <ui-path> <var> <video> <warning> <web-summary>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<spotlight>

Add a group of exactly two cards with links to featured topics in the section. This is a child of the <section-starting-page> element.

<spotlight> <a href="Try_This.topic" description="If you haven't already, you should try it.">Try this</a> <a href="Important_Stuff.topic" description="Learn what is most important when you begin.">Important stuff</a> </spotlight>

If you don't provide the description attribute, it will render the first paragraph of the referenced topic as a summary, unless the topic has a <card-summary> element defined.

Parent elements

<section-starting-page>

<step>

Add a step to a procedure.

Parent elements

<if> <procedure> <snippet>

Child elements

<a> <anchor> <br> <code> <code-block> <compare> <control> <deflist> <emphasis> <format> <icon> <if> <img> <include> <list> <note> <p> <path> <property> <resource> <shortcut> <snippet> <table> <tabs> <tip> <tooltip> <ui-path> <use-bundle> <var> <video> <warning>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

help-id

Specify the ID for redirects from your product to specific topics and chapters in your help instance.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<tab>

Define at least two tabs inside the <tabs> element, each with a unique title attribute:

<tabs> <tab title="Foo">Content of tab Foo</tab> <tab title="Bar">Content of tab Bar</tab> </tabs>
Parent elements

<tabs>

Child elements

<a> <anchor> <br> <chapter> <code> <code-block> <compare> <control> <deflist> <emphasis> <format> <icon> <if> <img> <include> <list> <note> <p> <path> <procedure> <property> <resource> <shortcut> <snippet> <table> <tabs> <tip> <title> <tooltip> <ui-path> <use-bundle> <var> <video> <warning>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

group-key

Specify the key within the synchronization group. When your reader opens this tab, it will also open all tabs marked by this key in the same synchronization group.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

title

Specify the title.

<table>

Add a table with rows <tr> and cells <td>.

<table> <tr> <td>First cell in the first row</td> <td>Second cell in the first row</td> <td>Third cell in the first row</td> </tr> </table>

By default, the table dynamically adjusts the widths for columns depending on the content. To define fixed widths, set the widths for the first cell in each column:

<table> <tr> <td width="100">First cell in the first row</td> <td width="200">Second cell in the first row</td> <td width="300">Third cell in the first row</td> </tr> </table>

Use the header-style attribute to specify header rows and columns:

  • top: Use the first row as column headers (default)

  • left: Use the first column as row headers

  • both: Use both the first row and first column as headers

  • none: Do not highlight header rows or columns

Use the cellpadding attribute to specify the space between the border of table cells and their content.

Use the cellspacing attribute to specify the space between table cells.

Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

Child elements

<if> <include> <snippet> <tr> <use-bundle> <var>

Attributes:

column-width

NO DESCRIPTION

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
style

Specify the header cells for this table: first row, first column, both, or none.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<tabs>

Separate related groups of content into switchable tabs. For example, instructions for different operating systems, languages, roles, and so on.

The <tabs> element must contain at least two <tab> elements, each with a title attribute:

<tabs> <tab title="Foo">Content of tab Foo</tab> <tab title="Bar">Content of tab Bar</tab> </tabs>

Alternatively, you can use <code-block> elements instead of <tab> elements to show code blocks separated into tabs by language name. In this case, make sure that all <code-block> elements define their lang attribute, and that languages do not repeat:

<tabs> <code-block lang="java">Java code</code> <code-block lang="groovy">Groovy code</code> </tabs>
Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

Child elements

<code-block> <if> <include> <snippet> <tab> <use-bundle> <var>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

group

Specify the synchronization group to which these tabs should belong.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<td>

Add a cell to a table row <tr>.

<table> <tr> <td>First cell in the first row</td> <td>Second cell in the first row</td> <td>Third cell in the first row</td> </tr> </table>

Use the colspan and rowspan attributes to merge neighbouring cells in the corresponding column or row.

Use the width attribute in the top cell of any column to define the width for the whole column.

Parent elements

<if> <snippet> <tr>

Child elements

<a> <anchor> <br> <code> <code-block> <compare> <control> <deflist> <emphasis> <format> <icon> <if> <img> <include> <list> <note> <p> <path> <property> <resource> <shortcut> <snippet> <table> <tabs> <tip> <tooltip> <ui-path> <use-bundle> <var> <video> <warning>

Attributes:

colspan

Span this cell accross multiple columns.

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

help-id

Specify the ID for redirects from your product to specific topics and chapters in your help instance.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
rowspan

Span this cell accross multiple rows.

sorted

Automatically sort items in a list or table when building your help instance.

width

Set the width for the column with this cell.

<tip>

Add a tip with additional information (alternatives, hints, and suggestions that may be helpful but not important for the task).

<tip>Alternatively, you can change the settings directly in the configuration file.</tip>
Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

<title>

Override the title of a topic, chapter, procedure, or any other element that can have a title. In general, you define the title as an attribute for the corresponding element. However, if you need different titles for different products, platforms, or sections, use the <title> element as a child.

<chapter title="How to play drums" id="play_drums"> <title instance="app">How to play drums like a pro</title> <p> This topic will render with the title "How to play drums" for all instances except `app`, where the title will be "How to play drums like a pro". </p> </chapter>
Parent elements

<chapter> <def> <deflist> <if> <procedure> <section-starting-page> <snippet> <tab> <topic>

Child elements

<a> <br> <code> <control> <emphasis> <format> <icon> <path> <property> <resource> <shortcut> <tooltip> <ui-path>

Attributes:

caps

Specify the capitalization style. The builder will automatically apply the style to make this title, for example, sentence case or all upper case.

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>

<tldr>

Document the most important simple "facts" about the subject of the topic or chapter: the shortcut to use the described feature, path to the relevant settings, critical prerequisites, an illustrative example, and so on.

Each "fact" is formatted as a separate paragraph inside a <p> element. Keep them simple, short, and concise. They are not meant for explaining complex concepts, but rather to give the user quick guidance for exploring the feature themselves.

This block will be rendered at the very beginning of the topic or chapter, directly below the title.

<tldr> <p><ui-menu>File | Save</ui-menu> or <shortcut>Ctrl + S</shortcut></p> <p>You can't save if the file is open in another application</p> </tldr>
Parent elements

<chapter> <if> <snippet> <topic>

Child elements

<if> <include> <p> <snippet> <use-bundle> <var>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<tooltip>

Show a tooltip with the definition of a term from the glossary on mouse hover.

<p>Choose your <tooltip term="OS">OS</tooltip>.</p>

If you have the <term name="OS"> defined in glossary.xml, the definition will pop up when you hover the mouse pointer over OS in the mentioned paragraph.

Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

Attributes:

term

Specify the term from the glossary.

<topic>

Wrap all topics with this top-level element that defines important topic attributes:

  • title specifies the title of the topic

  • id specifies a unique identifier for the topic

  • help-id specifies an additional context help identifier to reference this topic from a related UI in the product

  • switcher-label specifies the label for the <switcher-key> (by default, it is labeled as "Section")

  • is-library specifies whether this is a library of content snippets (by default, set to false)

  • xsi:noNamespaceSchemaLocation specifies the location of the XML schema

Example:

<topic xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/topic.v2.xsd" title="How to play the drums" id="drum-guide" help-id="drums.dialog" switcher-label="Level"> <p>Hit the drums with sticks.</p> ... </topic>
Child elements

<a> <anchor> <annotations> <api-doc> <api-endpoint> <api-schema> <available-only-for> <br> <card-summary> <chapter> <code> <code-block> <compare> <control> <deflist> <emphasis> <format> <help-id> <if> <img> <include> <label> <link-summary> <list> <note> <p> <path> <procedure> <property> <resource> <section-starting-page> <seealso> <shortcut> <show-structure> <snippet> <table> <tabs> <tip> <title> <tldr> <tooltip> <ui-path> <use-bundle> <var> <video> <warning> <web-file-name> <web-summary>

Attributes:

annotations

NO DESCRIPTION

help-id

Specify the ID for redirects from your product to specific topics and chapters in your help instance.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
is-library

Mark this topic as a library of reusable snippets, not used as an actual topic in any help instance.

label

NO DESCRIPTION

switcher-label

Specify a label for the custom content switcher in the header.

title

Specify the title.

<tr>

Add a row to a <table>.

<table> <tr> <td>First cell in the first row</td> <td>Second cell in the first row</td> <td>Third cell in the first row</td> </tr> </table>
Parent elements

<if> <snippet> <table>

Child elements

<if> <include> <snippet> <td> <use-bundle> <var>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

<ui-path>

Add a sequence of menu items.

<p>From the main menu, select <ui-path>File | New | Project</ui-path>.</p>
Parent elements

<chapter> <def> <if> <li> <p> <procedure> <snippet> <step> <tab> <td> <title> <topic>

<use-bundle>

Set the name of the resource bundle to use for completion in <property> elements throughout the topic:

<use-bundle name="FooBundle"/>
Parent elements

<card-summary> <chapter> <def> <deflist> <description> <include> <li> <link-summary> <list> <p> <procedure> <seealso> <step> <tab> <table> <tabs> <td> <tldr> <topic> <tr> <web-summary>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
name

Specify the name of the property bundle to use in the current scope for <property> keys.

<value>

Specify the value of a variable. For a single value, you can use the value attribute in <var>. However, if you need to conditionalize values, add them as child elements:

<var name="my_var"> <value instance="foo">value for foo</value> <value instance="bar">value for bar</value> </var>
Parent elements

<var>

<var>

Define a variable anywhere inside a topic by specifying its name and value:

<var name="myvar" value="Hello"/>

You can refer to this variable throughout the topic as %myvar%. If you define the same variable's value multiple times, it will use the last defined value.

Use variables to render repeating elements, such as the name of your product or a directory path. You can filter the variable by products:

<var name="product" value="Foo Sprinkler" instance="FooApp"/> <var name="product" value="Bar Annotator" instance="BarApp"/>
Parent elements

<card-summary> <chapter> <def> <deflist> <description> <if> <include> <li> <link-summary> <list> <p> <procedure> <seealso> <snippet> <step> <tab> <table> <tabs> <td> <tldr> <topic> <tr> <web-summary>

Child elements

<value>

Attributes:

default

Specify an optional default value for this variable.

name

Specify the name of this variable.

value

Specify the value of this variable.

<video>

Add a video in a topic for illustrating a process.

To embed a video from YouTube, specify a link to it in the src attribute:

<video src="https://youtu.be/R8QW8s4Ibio"/>

To add a video stored in the project files, specify the file name in the src attribute:

<video src="titanic_rip.mp4"/>

The file must be stored in the images directory along with a preview image of the same name. For example, titanic_rip.mp4 and titanic_rip.png.

Use the width and height attributes to change the size of the player. If you set only one of the dimensions, the proportions are preserved.

Use the mini-player attribute to hide all video controls except the Play and Pause buttons.

Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

Attributes:

height

Set the height for the video.

mini-player

Use a minimalistic player for the video.

preview-src

Specify the initial image to show before the reader starts the video.

src

Specify the video file.

width

Set the width for the video.

<warning>

Add a warning with critical information about possible data loss, physical, financial, or other kind of damage.

<warning>If you delete a user, all their transactions will also be erased from the database.</warning>
Parent elements

<chapter> <def> <if> <li> <procedure> <snippet> <step> <tab> <td> <topic>

<web-file-name>

Specify the exact name for the web file that will be produced from this topic. By default, Writerside takes the topic file name, converts all letters to lower case and all special characters to dashes, so My_Topic.topic becomes my-topic.html. If you want it to be My_Topic.html, add this:

<web-file-name>My_Topic.html</web-file-name>
Parent elements

<topic>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>

<web-summary>

Add a web description for the topic that will be used by search engines. By default, search engines will display the first paragraph of a topic. However, if you want to override it, define a <web-summary>.

<topic title="Foo" id="foo"> <web-summary> This topic is about Foo. This text will not render in the topic. It is used only in the link popup. </web-summary> ... </topic>

You can use an existing element with an id as a summary (for example, any paragraph). To do this, refer to the id using the rel attribute in <web-summary>:

<topic title="Foo" id="foo"> <p id="intro"> This topic is about Foo. This text will render as a regular paragraph. </p> <web-summary rel="intro"/> </topic>
Parent elements

<if> <snippet> <topic>

Child elements

<if> <include> <snippet> <use-bundle> <var>

Attributes:

filter

Specify a custom filter for an element. When defining a <snippet>, filter out content according to some criteria, and then specify the use-filter attribute on an <include> to reuse this snippet in different contexts.

id

Specify an identifier for an element:

<p id="intro">This is an introduction.</p>

You can use this identifier as an anchor for a link:

<a href="topic.topic" anchor="intro">Link to intro</a>

You can also include the whole element via its identifier:

<include from="topic.topic" element-id="intro"/>
instance

Specify the conditions for an element. For example, you can define the help instances to which this element applies, and then it will not be present for other help instances. Or you can negate with ! to specify help instances from which to exclude this element. For example:

<p instance="!foo,bar">This paragraph is for any help instance except "foo" and "bar".</p>
rel

Specify an ID of a paragraph to use as a <link-summary>, <card-summary>, or <web-summary> instead of the default first paragraph.

switcher-key

Specify the switcher key to which an element should apply. Writerside renders a switcher in the header to dynamically switch content depending on the user's environment, for example.

Last modified: 03 May 2024