Template Process

Template Process
Public Direct / generic Everyone View only

QR code (opens latest published SOP)
QR code for SOP

Steps

  1. Processes – {{PROCESS_TITLE}}
    <!--
    PROCESS TEMPLATE (GUIDELINE)

    This template is a guide, not a rigid schema.
    However, a valid process will contain the following Mandatory elements:
    - ONE_PARAGRAPH_SUMMARY
    - Target time
    - Method
    - Completion Criteria

    Hence An actual process will include a SUBSET of the sections below this comment.
    Optional sections should be included only if they add clarity.
    -->
    <!-- MANDATORY -->
    {{ONE_PARAGRAPH_SUMMARY}}
    <!-- OPTIONAL -->
    {{OPTIONAL_CONTEXT_OR_TRIGGER_NOTE}}

    <!-- MANDATORY -->
    {{TARGET_TIME}}
  2. Background information
    <!-- OPTIONAL -->
    <!-- Use for static context: credentials, portals, constraints, identifiers.
    Do NOT include procedural steps here. -->
    {{BACKGROUND_OVERVIEW}}

    {{BACKGROUND_CONTENT_1}}
  3. {{BACKGROUND_SUBSECTION_TITLE_2}}
    {{BACKGROUND_CONTENT_2}}
  4. Equipment and materials
    <!-- OPTIONAL -->
    • {{EQUIPMENT_ITEM_1}}
    • {{EQUIPMENT_ITEM_2}}
    • {{EQUIPMENT_ITEM_3}}
  5. Method
    <!-- MANDATORY -->

    1. {{STEP_1}}
    • {{SUBSTEP_1A}}
    1. {{STEP_2}}
  6. {{STEP_SECTION_TITLE_2}}
    1. {{STEP_1}}
    2. {{STEP_2}}
  7. {{METHOD_GROUP_TITLE_2}}
    1. {{STEP_1}}
    2. {{STEP_2}}
  8. Completion Criteria
    <!-- MANDATORY -->
    <!-- Define how you know the process is finished.
    Outcomes, states, artefacts, confirmations. -->
    • {{COMPLETION_CRITERION_1}}
    • {{COMPLETION_CRITERION_2}}
  9. Troubleshooting and exceptions
    <!-- OPTIONAL -->
    • {{ISSUE_1}}: {{RESOLUTION_1}}
    • {{ISSUE_2}}: {{RESOLUTION_2}}
    {{ESCALATION_NOTE}}
    <!--
    HTML CONVERSION + SPACING RULES (NORMATIVE SPEC)

    Purpose
    -------
    Define a deterministic, mechanically implementable conversion from Process
    Markdown (.md) to Process HTML (.html), using the existing agreed HTML template
    and CSS, WITHOUT adding any sections or structure that do not exist in the .md.

    The intent is to produce minimal, predictable HTML with no wasted vertical
    space, no inference-based spacing, and no ambiguity between inline and block
    content.

    ----------------------------------------------------------------------
    A. Template usage
    ----------------------------------------------------------------------
    1) Use the existing agreed HTML template as the container (head, CSS link,
    and page frame).
    2) The HTML BODY contains exactly ONE outer root <details> block representing
    the document as a whole.
    3) Replace the template’s placeholder body content entirely with converted
    content from the .md.
    4) DO NOT keep, append, or invent any template sections or placeholders that
    are not present in the .md. The output must be a pure conversion of the .md.

    ----------------------------------------------------------------------
    B. Heading → <details>/<summary> mapping (canonical structure)
    ----------------------------------------------------------------------
    Conceptual rule:
    HTML <details> “levels” correspond directly to Markdown heading levels.

    1) # (H1) → ROOT DOCUMENT WRAPPER
    The entire document is wrapped in exactly one:
    <details class="details-level-1" open>
    <summary>H1 text</summary>
    <div class="details-body"> ... </div>
    </details>
    NOTE:
    - There is NO <h1> element in this system.
    - The H1 text becomes the <summary> of the root <details> block.

    2) ## (H2) →
    <details class="details-level-2" open>
    <summary>...</summary>
    <div class="details-body">...</div>
    </details>
    nested inside the parent details-body.

    3) ### (H3) →
    <details class="details-level-3" open>
    ...
    </details>

    4) #### (H4) →
    <details class="details-level-4" open>
    ...
    </details>

    All nesting is driven strictly by heading hierarchy.

    ----------------------------------------------------------------------
    C. Wrapping rule (structural invariant)
    ----------------------------------------------------------------------
    Goal: eliminate all inline-vs-block ambiguity.

    1) Inside every <div class="details-body">, ALL content is treated as a
    sequence of block-level elements.
    2) ALL TEXTUAL content MUST be wrapped in a <div>...</div>.
    This includes paragraphs, prose, notes, explanatory text, and comments.
    3) Content that is already a block in its own right MAY appear directly,
    without an additional wrapper, including:
    - <details>...</details>
    - <ul> / <ol>
    - <table>
    4) Raw text MUST NOT appear directly inside a details-body unless it is
    wrapped in a <div> or contained within one of the block elements above.

    ----------------------------------------------------------------------
    D. Text blocks and internal line breaks
    ----------------------------------------------------------------------
    Definition:
    A TEXT BLOCK is a <div>...</div> that contains textual content.

    Rules:
    1) Within TEXTUAL content, <br/> is used to reflect the line-break structure
    of the source text.
    2) Consecutive lines in the source text (separated by newline characters)
    MUST be separated by <br/> in the rendered HTML.
    3) All such content is wrapped in a single <div>...</div> (per Section C2).
    4) To ensure correct vertical spacing:
    - The FINAL line of a text block MUST NOT be followed by a <br/> before
    the closing </div>.
    - Vertical spacing between blocks and sections is handled exclusively
    by the section-spacing rules (Section G), NOT by trailing <br/> inside
    text blocks.

    ----------------------------------------------------------------------
    E. Comment handling modes (Markdown source)
    ----------------------------------------------------------------------
    The converter MUST support two explicit conversion modes with respect to
    HTML comments (<\!-- ... \-\->) appearing in the .md source.

    1) KEEP COMMENTS mode
    - HTML comments in the .md are treated as TEXTUAL content.
    - They are preserved verbatim, including <\!-- and -\->.
    - They are wrapped in <div>...</div> and treated as TEXT BLOCKS.
    - Line breaks inside comments become <br/> per Section D.
    - They participate fully in spacing rules (Section G).

    2) DROP COMMENTS mode
    - HTML comments in the .md are ignored entirely.
    - They do NOT generate any HTML output.
    - They do NOT affect spacing, block order, or section structure.

    The chosen mode MUST be explicit; converters must not mix behaviours.

    ----------------------------------------------------------------------
    F. Paragraph tags
    ----------------------------------------------------------------------
    1) <p>...</p> MUST NOT be used anywhere (they introduce wasted space).
    2) If a converter emits <p> elements, they must be removed/flattened.

    ----------------------------------------------------------------------
    G. <code> formatting rule
    ----------------------------------------------------------------------
    1) Inline backticks in .md become <code>...</code>.
    2) In this system, CSS renders <code> as display: block.
    3) THERE MUST NOT be a <br/> immediately after </code>.
    (Any </code><br/> sequence must be removed or prevented.)

    ----------------------------------------------------------------------
    H. Vertical spacing rule for sections (CORE RULE)
    ----------------------------------------------------------------------
    Goal:
    Create exactly one blank line before a new section heading, except when that
    heading is the first block in its section.

    Rule:
    Insert ONE <br/> immediately BEFORE a <details> block
    UNLESS that <details> block is the first non-whitespace child inside its
    parent <div class="details-body">.

    Operational definition:
    1) Every <summary> is immediately followed by a <div class="details-body">.
    2) Within each details-body:
    - Identify the first non-whitespace child element.
    - Do NOT insert a <br/> before that first element.
    3) For every subsequent <details> sibling in the same container:
    - Insert EXACTLY ONE <br/> immediately before it.
    4) Do NOT apply any other heuristic or inferred spacing rules.

    This rule is valid because of the wrapping invariant (Section C):
    everything preceding a <details> is block-level.

    ----------------------------------------------------------------------
    I. Lists and tables
    ----------------------------------------------------------------------
    1) Markdown lists convert to <ul>/<ol> with nested lists for sublists.
    2) GitHub-Flavoured Markdown pipe tables convert to <table>.
    3) Lists and tables are treated as block elements for spacing purposes.

    ----------------------------------------------------------------------
    J. ‘---’ separator semantics in .md
    ----------------------------------------------------------------------
    1) '---' is an authoring-time separator marker only.
    2) It does NOT create HTML structure or spacing by itself.
    3) All HTML structure and spacing are driven exclusively by headings and
    the rules above.
    -->