Deploying to gh-pages from @ harttle/liquidjs@1380ac931a 🚀

This commit is contained in:
harttle
2022-11-27 09:47:35 +00:00
parent f2f93a4d4f
commit 214488cc9b
646 changed files with 24477 additions and 12764 deletions
+1 -1
View File
@@ -115,7 +115,7 @@ engine<span class="token punctuation">.</span><span class="token function">regis
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.717Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="register-filters-tags.html" class="article-footer-prev" title="Register Filters/Tags"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="parse-parameters.html" class="article-footer-next" title="Parse Parameters"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -124,7 +124,7 @@ engine<span class="token punctuation">.</span><span class="token function">rende
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.717Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="use-in-expressjs.html" class="article-footer-prev" title="Use in Express.js"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="register-filters-tags.html" class="article-footer-next" title="Register Filters/Tags"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -110,7 +110,7 @@
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.717Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="differences.html" class="article-footer-prev" title="Differences with Shopify/liquid"><i class="icon-chevron-left"></i><span>Prev</span></a>
</footer>
</div>
+1 -1
View File
@@ -121,7 +121,7 @@
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.717Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="changelog.html" class="article-footer-prev" title="Changelog"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="contribution-guidelines.html" class="article-footer-next" title="Contribution Guidelines"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -126,7 +126,7 @@
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="setup.html" class="article-footer-next" title="Setup"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -117,7 +117,7 @@
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="truthy-and-falsy.html" class="article-footer-prev" title="Truthy and Falsy"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="changelog.html" class="article-footer-next" title="Changelog"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -107,7 +107,7 @@
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="plugins.html" class="article-footer-prev" title="Plugins"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="truthy-and-falsy.html" class="article-footer-next" title="Truthy and Falsy"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -167,7 +167,7 @@
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="setup.html" class="article-footer-prev" title="Setup"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="render-file.html" class="article-footer-next" title="Render Files"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -162,7 +162,7 @@ engine<span class="token punctuation">.</span><span class="token function">regis
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="access-scope-in-filters.html" class="article-footer-prev" title="Access Scope in Filters"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="render-tag-content.html" class="article-footer-next" title="Render Tag Content"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -131,7 +131,7 @@ Footer<span aria-hidden="true" class="line-numbers-rows"><span></span><span></sp
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="render-file.html" class="article-footer-prev" title="Render Files"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="use-in-expressjs.html" class="article-footer-next" title="Use in Express.js"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -122,7 +122,7 @@ engine
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="whitespace-control.html" class="article-footer-prev" title="Whitespace Control"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="operators.html" class="article-footer-next" title="Operators"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+19 -3
View File
@@ -100,8 +100,8 @@ engine<span class="token punctuation">.</span><span class="token function">regis
<span class="token function-variable function">parse</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span>tagToken<span class="token operator">:</span> TagToken<span class="token punctuation">,</span> remainTokens<span class="token operator">:</span> TopLevelToken<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token punctuation">&#123;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>str <span class="token operator">=</span> tagToken<span class="token punctuation">.</span>args<span class="token punctuation">;</span> <span class="token comment">// name</span>
<span class="token punctuation">&#125;</span><span class="token punctuation">,</span>
<span class="token function-variable function">render</span><span class="token operator">:</span> <span class="token keyword">async</span> <span class="token keyword">function</span><span class="token punctuation">(</span>ctx<span class="token operator">:</span> Context<span class="token punctuation">)</span> <span class="token punctuation">&#123;</span>
<span class="token keyword">var</span> str <span class="token operator">=</span> <span class="token keyword">await</span> <span class="token keyword">this</span><span class="token punctuation">.</span>liquid<span class="token punctuation">.</span><span class="token function">evalValue</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">.</span>str<span class="token punctuation">,</span> ctx<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 'alice'</span>
<span class="token function-variable function">render</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token operator">*</span><span class="token punctuation">(</span>ctx<span class="token operator">:</span> Context<span class="token punctuation">)</span> <span class="token punctuation">&#123;</span>
<span class="token keyword">const</span> str <span class="token operator">=</span> <span class="token keyword">yield</span> <span class="token keyword">this</span><span class="token punctuation">.</span>liquid<span class="token punctuation">.</span><span class="token function">evalValue</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">.</span>str<span class="token punctuation">,</span> ctx<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 'alice'</span>
<span class="token keyword">return</span> str<span class="token punctuation">.</span><span class="token function">toUpperCase</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">// 'ALICE'</span>
<span class="token punctuation">&#125;</span>
<span class="token punctuation">&#125;</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>
@@ -110,6 +110,22 @@ engine<span class="token punctuation">.</span><span class="token function">regis
<li><code>parse</code>: Read tokens from <code>remainTokens</code> until your end token.</li>
<li><code>render</code>: Combine scope data with your parsed tokens into HTML string.</li>
</ul>
<p>For complex tag implementation, you can also provide a tag class:</p>
<pre class="line-numbers language-typescript" data-language="typescript"><code class="language-typescript"><span class="token comment">// Usage: &#123;% upper name:"alice" %&#125;</span>
<span class="token keyword">import</span> <span class="token punctuation">&#123;</span> Hash<span class="token punctuation">,</span> Tag<span class="token punctuation">,</span> TagToken<span class="token punctuation">,</span> Context<span class="token punctuation">,</span> Emitter<span class="token punctuation">,</span> TopLevelToken<span class="token punctuation">,</span> Liquid <span class="token punctuation">&#125;</span> <span class="token keyword">from</span> <span class="token string">'liquidjs'</span>
engine<span class="token punctuation">.</span><span class="token function">registerTag</span><span class="token punctuation">(</span><span class="token string">'upper'</span><span class="token punctuation">,</span> <span class="token keyword">class</span> <span class="token class-name">UpperTag</span> <span class="token keyword">extends</span> <span class="token class-name">Tag</span> <span class="token punctuation">&#123;</span>
<span class="token keyword">private</span> hash<span class="token operator">:</span> Hash
<span class="token function">constructor</span><span class="token punctuation">(</span>tagToken<span class="token operator">:</span> TagToken<span class="token punctuation">,</span> remainTokens<span class="token operator">:</span> TopLevelToken<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> liquid<span class="token operator">:</span> Liquid<span class="token punctuation">)</span> <span class="token punctuation">&#123;</span>
<span class="token keyword">super</span><span class="token punctuation">(</span>tagToken<span class="token punctuation">,</span> remainTokens<span class="token punctuation">,</span> liquid<span class="token punctuation">)</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>hash <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Hash</span><span class="token punctuation">(</span>tagToken<span class="token punctuation">.</span>args<span class="token punctuation">)</span>
<span class="token punctuation">&#125;</span>
<span class="token operator">*</span> <span class="token function">render</span><span class="token punctuation">(</span>ctx<span class="token operator">:</span> Context<span class="token punctuation">)</span> <span class="token punctuation">&#123;</span>
<span class="token keyword">const</span> hash <span class="token operator">=</span> <span class="token keyword">yield</span> <span class="token keyword">this</span><span class="token punctuation">.</span>hash<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> hash<span class="token punctuation">.</span>name<span class="token punctuation">.</span><span class="token function">toUpperCase</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">// 'ALICE'</span>
<span class="token punctuation">&#125;</span>
<span class="token punctuation">&#125;</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>
<p>See existing tag implementations here: <a target="_blank" rel="noopener external nofollow noreferrer" href="https://github.com/harttle/liquidjs/tree/master/src/builtin/tags">https://github.com/harttle/liquidjs/tree/master/src/builtin/tags</a><br>See demo example here: <a target="_blank" rel="noopener external nofollow noreferrer" href="https://github.com/harttle/liquidjs/blob/master/demo/typescript/index.ts">https://github.com/harttle/liquidjs/blob/master/demo/typescript/index.ts</a></p>
<h2 id="Register-Filters" class="article-heading"><a href="#Register-Filters" class="headerlink" title="Register Filters"></a>Register Filters<a class="article-anchor" href="#Register-Filters" aria-hidden="true"></a></h2><pre class="line-numbers language-javascript" data-language="javascript"><code class="language-javascript"><span class="token comment">// Usage: &#123;&#123; name | upper &#125;&#125;</span>
engine<span class="token punctuation">.</span><span class="token function">registerFilter</span><span class="token punctuation">(</span><span class="token string">'upper'</span><span class="token punctuation">,</span> <span class="token parameter">v</span> <span class="token operator">=></span> v<span class="token punctuation">.</span><span class="token function">toUpperCase</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre>
@@ -137,7 +153,7 @@ engine<span class="token punctuation">.</span><span class="token function">regis
engine<span class="token punctuation">.</span><span class="token function">registerFilter</span><span class="token punctuation">(</span><span class="token string">'plus'</span><span class="token punctuation">,</span> <span class="token function">disabledFilter</span><span class="token punctuation">(</span><span class="token string">'plus'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="caching.html" class="article-footer-prev" title="Caching"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="access-scope-in-filters.html" class="article-footer-next" title="Access Scope in Filters"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -167,7 +167,7 @@ name: alice<span aria-hidden="true" class="line-numbers-rows"><span></span><span
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="options.html" class="article-footer-prev" title="Options"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="partials-and-layouts.html" class="article-footer-next" title="Includes and Layouts"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -189,7 +189,7 @@
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="parse-parameters.html" class="article-footer-prev" title="Parse Parameters"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="sync-and-async.html" class="article-footer-next" title="Sync and Async"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -140,7 +140,7 @@ engine
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="intro-to-liquid.html" class="article-footer-prev" title="Intro to Liquid"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="options.html" class="article-footer-next" title="Options"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -159,7 +159,7 @@ engine<span class="token punctuation">.</span><span class="token function">regis
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="render-tag-content.html" class="article-footer-prev" title="Render Tag Content"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="whitespace-control.html" class="article-footer-next" title="Whitespace Control"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -227,7 +227,7 @@
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="operators.html" class="article-footer-prev" title="Operators"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="migrate-to-9.html" class="article-footer-next" title="Migrate to LiquidJS 9"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -135,7 +135,7 @@ res<span class="token punctuation">.</span><span class="token function">render</
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="partials-and-layouts.html" class="article-footer-prev" title="Includes and Layouts"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="caching.html" class="article-footer-next" title="Caching"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>
+1 -1
View File
@@ -122,7 +122,7 @@ harttle<span aria-hidden="true" class="line-numbers-rows"><span></span><span></s
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2022-11-27T05:48:14.247Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<time class="article-footer-updated" datetime="2022-11-27T09:46:48.721Z" itemprop="dateModified">Last updated: 2022-11-27</time>
<a href="sync-and-async.html" class="article-footer-prev" title="Sync and Async"><i class="icon-chevron-left"></i><span>Prev</span></a><a href="plugins.html" class="article-footer-next" title="Plugins"><span>Next</span><i class="icon-chevron-right"></i></a>
</footer>
</div>