Skip to content

Commit 6e07dc1

Browse files
1 parent 8818243 commit 6e07dc1

2 files changed

Lines changed: 15 additions & 25 deletions

File tree

guides/templates/index.html

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2164,25 +2164,15 @@ <h1 id="templates">Templates<a class="headerlink" href="#templates" title="Perma
21642164
<h2 id="walkthrough">Walkthrough<a class="headerlink" href="#walkthrough" title="Permanent link">&para;</a></h2>
21652165
<h3 id="1-your-first-template">1. Your First Template<a class="headerlink" href="#1-your-first-template" title="Permanent link">&para;</a></h3>
21662166
<p>The simplest template maps each collector type to a separate placeholder in the expected order:</p>
2167-
<div class="highlight"><span class="filename">MyModule.psm1.template</span><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="c">#region Using Statements</span>
2168-
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="p">{{</span><span class="n">UsingStatements</span><span class="p">}}</span>
2169-
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="c">#endregion Using Statements</span>
2167+
<div class="highlight"><span class="filename">MyModule.psm1.template</span><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="p">{{</span><span class="n">USING_STATEMENTS</span><span class="p">}}</span>
2168+
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>
2169+
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="p">{{</span><span class="n">ENUM_DEFINITIONS</span><span class="p">}}</span>
21702170
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>
2171-
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="c">#region Enums</span>
2172-
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="p">{{</span><span class="n">EnumDefinitions</span><span class="p">}}</span>
2173-
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="c">#endregion Enums</span>
2171+
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="p">{{</span><span class="n">CLASS_DEFINITIONS</span><span class="p">}}</span>
2172+
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a>
2173+
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="p">{{</span><span class="n">FUNCTION_DEFINITIONS</span><span class="p">}}</span>
21742174
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a>
2175-
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="c">#region Classes</span>
2176-
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="p">{{</span><span class="n">ClassDefinitions</span><span class="p">}}</span>
2177-
<a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="c">#endregion Classes</span>
2178-
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a>
2179-
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="c">#region Functions</span>
2180-
<a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="p">{{</span><span class="n">FunctionDefinitions</span><span class="p">}}</span>
2181-
<a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="c">#endregion Functions</span>
2182-
<a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a>
2183-
<a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a><span class="c">#region Files</span>
2184-
<a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a><span class="p">{{</span><span class="n">FileContents</span><span class="p">}}</span>
2185-
<a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a><span class="c">#endregion Files</span>
2175+
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="p">{{</span><span class="n">FILE_CONTENTS</span><span class="p">}}</span>
21862176
</code></pre></div>
21872177
<p>Each placeholder is replaced with the correctly ordered source code collected by the
21882178
corresponding collector. The token names match the default <code>CollectionKey</code> for each collector
@@ -2226,7 +2216,7 @@ <h3 id="4-ordered-mode-and-hybrid-mode">4. Ordered Mode and Hybrid Mode<a class=
22262216
that require them to be interleaved. <strong>Hybrid Mode</strong> is activated manually — by placing the
22272217
ordered components placeholder (default: <code>{{ORDERED_COMPONENTS}}</code>) in a template whose code
22282218
has no cross-dependencies. Both modes use the same template structure and validation rules:</p>
2229-
<div class="highlight"><span class="filename">Ordered / Hybrid Mode template</span><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="p">{{</span><span class="n">UsingStatements</span><span class="p">}}</span>
2219+
<div class="highlight"><span class="filename">Ordered / Hybrid Mode template</span><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="p">{{</span><span class="n">USING_STATEMENTS</span><span class="p">}}</span>
22302220
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="p">{{</span><span class="n">ORDERED_COMPONENTS</span><span class="p">}}</span>
22312221
</code></pre></div>
22322222
<p>All Enum, Class, and Function components are emitted in a single topologically ordered block
@@ -2265,9 +2255,9 @@ <h3 id="5-combining-with-release-management-tokens">5. Combining with Release Ma
22652255
This allows release metadata — version numbers, build timestamps, Git commit hashes — to be
22662256
injected directly into the template using the same <code>{{Token}}</code> syntax:</p>
22672257
<div class="highlight"><span class="filename">Template with release tokens</span><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="c"># Version {{VERSION}} — built {{BUILD_DATE}}</span>
2268-
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="p">{{</span><span class="n">UsingStatements</span><span class="p">}}</span>
2269-
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="p">{{</span><span class="n">ClassDefinitions</span><span class="p">}}</span>
2270-
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="p">{{</span><span class="n">FunctionDefinitions</span><span class="p">}}</span>
2258+
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="p">{{</span><span class="n">USING_STATEMENTS</span><span class="p">}}</span>
2259+
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="p">{{</span><span class="n">CLASS_DEFINITIONS</span><span class="p">}}</span>
2260+
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="p">{{</span><span class="n">FUNCTION_DEFINITIONS</span><span class="p">}}</span>
22712261
</code></pre></div>
22722262
<div class="highlight"><span class="filename">psscriptbuilder.bumpconfig.json (excerpt)</span><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="p">{</span>
22732263
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="w"> </span><span class="nt">&quot;bumpFiles&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
@@ -2377,7 +2367,7 @@ <h3 id="validation-error-reference">Validation Error Reference<a class="headerli
23772367
</tr>
23782368
<tr>
23792369
<td>Forbidden placeholder in Ordered/Hybrid mode</td>
2380-
<td><code>{{ClassDefinitions}}</code> etc. present when the ordered components placeholder is used</td>
2370+
<td><code>{{CLASS_DEFINITIONS}}</code> etc. present when the ordered components placeholder is used</td>
23812371
<td>Remove per-type placeholders; use only the ordered components placeholder</td>
23822372
</tr>
23832373
<tr>
@@ -2387,12 +2377,12 @@ <h3 id="validation-error-reference">Validation Error Reference<a class="headerli
23872377
</tr>
23882378
<tr>
23892379
<td>Wrong placeholder order (Using)</td>
2390-
<td>A non-<code>Using</code> placeholder appears before <code>{{UsingStatements}}</code></td>
2380+
<td>A non-<code>Using</code> placeholder appears before <code>{{USING_STATEMENTS}}</code></td>
23912381
<td>Move <code>Using</code> placeholders before all others</td>
23922382
</tr>
23932383
<tr>
23942384
<td>Wrong placeholder order (Enum)</td>
2395-
<td>A <code>Class</code> or <code>Function</code> placeholder appears before <code>{{EnumDefinitions}}</code></td>
2385+
<td>A <code>Class</code> or <code>Function</code> placeholder appears before <code>{{ENUM_DEFINITIONS}}</code></td>
23962386
<td>Move <code>Enum</code> placeholders before all <code>Class</code> and <code>Function</code> placeholders</td>
23972387
</tr>
23982388
<tr>

search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)