<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="349703" data-post-id="349703">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="frankdugan3" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/frankdugan3/120/39210_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  frankdugan3
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m very interested in all of that, but particularly what happens inside the <code>register_hook</code> component. Care to share?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="349703" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-349703" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="349703"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="349713" data-post-id="349713">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Lucassifoni" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Lucassifoni/120/39057_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Lucassifoni
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m a bit hesitant because it’s going quite against the flow… but hey, why not.</p>
<p>Here’s a simplified version :<br>
JS side, there is a function allowing to register a dynamic hook, and a record holding them.<br>
Sorry if there are syntax errors, I do not have the project on hand.</p>
<pre data-code-wrap="ts"><code class="lang-ts">declare global {
  interface Window {
    __liveutils: {
       registerHook: (name: string, cb: () =&gt; void) =&gt; void,
       dynamicHooks: Record&lt;string, Hook&gt;
    }
  }
}
</code></pre>
<p>The register-hook component calls this registerHook function by just rendering the script. Note that inline scripts need special care to work with CSP headers : <a href="https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Content-Security-Policy/script-src" class="inline-onebox" rel="noopener nofollow ugc">Content-Security-Policy : directive script-src - HTTP | MDN</a></p>
<pre data-code-wrap="elixir"><code class="lang-elixir">&lt;script phx-update="ignore" id={@name}&gt;
__liveutils.registerHook('{ @name }', (&lt;%= @bind %&gt;) =&gt; &lt;%="{"%&gt; 
        &lt;%= Phoenix.HTML.raw(assigns[:script] || "") %&gt;
&lt;%="}"%&gt;);
&lt;/script&gt;
</code></pre>
<p>The bundled app.js needs to have a hook dedicated to handle those runtime-registered hooks :</p>
<pre data-code-wrap="js"><code class="lang-js">let liveSocket = new LiveSocket("/live", Socket, {
  params: ...,
  hooks: {
   dynamic_hook: {
     mounted() {
       const hook = this.el.getAttribute("data-hook");
       if (window.__liveutils.dynamicHooks[hook]) {
         window.__liveutils.dynamicHooks[hook].mounted(this, this.el);
       }
      },
      ... rest of lifecycle
    }
  }
};
</code></pre>
<p>And a basic registerHook function would be as simple as this :</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">registerHook = function (key, fn) {
    window.__liveuitls.dynamicHooks[key] = {mounted: fn};
};
</code></pre>
<p>Then, the LiveSocket object is only aware of a <code>dynamic_hook</code> hook that could be used like that :</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">&lt;div phx-hook="dynamic_hook" data-hook="act_on_coordinates" data-foo="bar"&gt;...&lt;/div&gt;
</code></pre>
<p>So, there’s somewhere a map of callbacks, a function to register them, and they are looked up when an element with phx-hook=“dynamic_hook” is rendered.</p>
<p>But I’m not advocating for that too much. My use case is very small, one-purpose independent liveviews that might or might not be loaded into a main app. The app itself has a “real” frontend with a build system for libraries and compile-time liveviews..</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="349713" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-349713" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="349713"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="352963" data-post-id="352963">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="frankdugan3" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/frankdugan3/120/39210_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  frankdugan3
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I just read <a href="https://lucassifoni.info/blog/lang-x-from-elixir/" rel="noopener nofollow ugc">your recent article</a>, loved it! Did you ever implement syntax highlighting for sigils? I’m doing some experiments with component tooling around CSS and JS sigils, syntax highlighting would be icing on the cake.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="352963" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-352963" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="352963"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="352966" data-post-id="352966">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="LostKobrakai" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/LostKobrakai/120/3072_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  LostKobrakai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Syntax highlighting is an editor feature. See <a href="https://github.com/phoenixframework/vscode-phoenix" class="inline-onebox" rel="nofollow">GitHub - phoenixframework/vscode-phoenix: Syntax highlighting support for Phoenix templates in Visual Studio Code. · GitHub</a> / <a href="https://github.com/phoenixframework/tree-sitter-heex" class="inline-onebox" rel="nofollow">GitHub - phoenixframework/tree-sitter-heex: HEEx grammer for Tree-sitter · GitHub</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="352966" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-352966" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="352966"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="352974" data-post-id="352974">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="frankdugan3" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/frankdugan3/120/39210_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  frankdugan3
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Of course, but it was mentioned in the post it was being worked on. I have looked into adding generic support for various languages in treesitter, which is non-trivial (for me) to jump in and implement, especially since I want highlighting for the embedded language and EEx templating. So, I was hoping for an example to draw from for JS in particular. <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="352974" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-352974" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="352974"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="352979" data-post-id="352979">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Lucassifoni" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Lucassifoni/120/39057_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Lucassifoni
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello Frank,<br>
I did not yet get to it but it’s on my very near todolist because It looks like I’m not done with code-in-code approaches.<br>
I’ll post an update but since the way is to scaffold an editor plugin, I’ll only be able to provide samples for Code and Zed.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="352979" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-352979" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="352979"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="352987" data-post-id="352987">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Lucassifoni" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Lucassifoni/120/39057_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Lucassifoni
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Whew ! That was quite a rabbit hole <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20"> .</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/6/c/6c712c941a9e27e35199c56fc91f6a04d8391790.png" data-download-href="https://forum.elixirforum.com/uploads/default/6c712c941a9e27e35199c56fc91f6a04d8391790" title="Capture d’écran 2025-01-15 à 19.50.19" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/6/c/6c712c941a9e27e35199c56fc91f6a04d8391790_2_690x381.png" alt="Capture d’écran 2025-01-15 à 19.50.19" data-base62-sha1="ftk2yENEagFuEg7DWO8XlCcY4DK" width="690" height="381" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/6/c/6c712c941a9e27e35199c56fc91f6a04d8391790_2_690x381.png, https://forum.elixirforum.com/uploads/default/original/3X/6/c/6c712c941a9e27e35199c56fc91f6a04d8391790.png 1.5x, https://forum.elixirforum.com/uploads/default/original/3X/6/c/6c712c941a9e27e35199c56fc91f6a04d8391790.png 2x" data-dominant-color="F7F7F9"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">Capture d’écran 2025-01-15 à 19.50.19</span><span class="informations">976×540 36.1 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<p>I need to clean up the VSCode extension project and I’ll upload it to github.<br>
I used an LLM and VSCode docs and bits of syntax highlighter plugins to guide me.</p>
<p>Highlighting JS is a bit different (in an easier way) than the official HEEX support because HEEX isn’t quite HTML. In short, you “just” have to tell tree-sitter to consider the inside of ~SIGIL"“” / “”" as another language that is already supported.</p>
<p>So highlighting CSS (or even Zigler NIFs!) shouldn’t be too hard to add to that kind of plugin.</p>
<p>I’ll provide the vscode/zed extensions code but will not package them, because I’m not in a position to take maintenance of a “public” plug-in today.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="352987" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-352987" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="352987"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="353003" data-post-id="353003">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="frankdugan3" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/frankdugan3/120/39210_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  frankdugan3
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Oh wow, this was waaaay easier than I thought with Neovim!</p>
<pre data-code-wrap="scheme"><code class="lang-scheme">; ~/.config/nvim/queries/elixir/injections.scm
;; extends
(sigil
  (sigil_name) @_sigil_name
  (quoted_content) @injection.content
  (#any-of? @_sigil_name "JS")
  (#set! injection.language "javascript"))
</code></pre>
<p><img src="https://forum.elixirforum.com/uploads/default/original/3X/b/d/bd39b133ae05c079f5d6c05153629cc3055f39ba.png" alt="2025-01-15T14:33:17,502228073-06:00" data-base62-sha1="qZXQvnmoi4lJfhIdiNgt5B4dv5g" width="287" height="75"></p>
<p>Thanks for pointing me in the right direction.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="353003" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-353003" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="353003"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="353032" data-post-id="353032">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Lucassifoni" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Lucassifoni/120/39057_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Lucassifoni
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>If someone has a similar need someday, here’s the VSCode extension POC repository :</p>
<p><a href="https://github.com/alzo-archi/vscode-sigil-js-highlighting-sample" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/alzo-archi/vscode-sigil-js-highlighting-sample</a></p>
<p>Zed looks a lot leaner on ceremony but Neovim seems to take the crown here ! <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>I’ve also linked to this discussion in my blog post. Thanks for giving me the necessary push !</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="353032" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-353032" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="353032"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="359927" data-post-id="359927">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Lucassifoni" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Lucassifoni/120/39057_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Lucassifoni
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m bumping this as I see that Colocated hooks are in the works : <a href="https://github.com/phoenixframework/phoenix_live_view/pull/3705" class="inline-onebox" rel="noopener nofollow ugc">Colocated Hooks by SteffenDE · Pull Request #3705 · phoenixframework/phoenix_live_view · GitHub</a></p>
<p>The fact that there will be a bundling/runtime distinction seems perfect to me and covers my use cases well. This would enable loading Liveview apps at runtime without hacks.</p>
<p>Huge thanks to SteffenD and the Phoenix team, this will be a real enabler.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="359927" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/script-tags-in-heex-and-app-js/67992/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-359927" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="359927"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-most-liked cat-most-liked" title="One of the top 3 liked posts in this thread!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>