Skip to content

Commit

Permalink
Do not fully replace host svg
Browse files Browse the repository at this point in the history
  • Loading branch information
ddamato committed Jun 19, 2020
1 parent 8237244 commit 18908c8
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 890 deletions.
3 changes: 3 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
<span class="token keyword">const</span> savager <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Savager</span><span class="token punctuation">(</span>symbols<span class="token punctuation">,</span> <span class="token punctuation">{</span> attemptInject<span class="token operator">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> assets<span class="token punctuation">,</span> inject <span class="token punctuation">}</span> <span class="token operator">=</span> savager<span class="token punctuation">.</span><span class="token function">prepareAssets</span><span class="token punctuation">(</span><span class="token string">'balloon'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><p>If you need the <code>inject</code> function in a different context from where you prepare assets, you can export it directly from the package. Be sure that when preparing assets, that <code>attemptInject</code> option was set to <code>true</code>. Otherwise, executing the function will do nothing.</p><pre class="language-js"><code class="language-js"><span class="token keyword">import</span> <span class="token punctuation">{</span> injectionInit <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'savager'</span><span class="token punctuation">;</span>
</code></pre><p>You can also make this into an <a href="https://medium.com/javascript-in-plain-english/https-medium-com-javascript-in-plain-english-stop-feeling-iffy-about-using-an-iife-7b0292aba174">IIFE</a> by stringifying the function to be put on the page. This might be helpful for use in templating frameworks.</p><pre class="language-js"><code class="language-js"><span class="token keyword">import</span> <span class="token punctuation">{</span> injectionInit <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'savager'</span><span class="token punctuation">;</span>

<span class="token keyword">const</span> iife <span class="token operator">=</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">(</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>injectionInit<span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">)()</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">;</span>
</code></pre><h2 id="organization">Organization</h2><p>One method of organizing is to create a <code>savager.config.js</code> which you may maintain as your source of truth for SVG assets.</p><pre class="language-js"><code class="language-js"><span class="token comment">// savager.config.js</span>
<span class="token keyword">import</span> Savager <span class="token keyword">from</span> <span class="token string">'savager'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> symbols <span class="token keyword">from</span> <span class="token string">'./manifest.js'</span><span class="token punctuation">;</span>
Expand Down
2 changes: 1 addition & 1 deletion docs/savager/injectionManager.iife.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 18908c8

Please sign in to comment.