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


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="tmbb" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  tmbb
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>From what I understand, Elixirscript compiles Elixir to erlang and then converts erlang to Javascript, right?<br>
This means that I can’t convert isolated elixir expressions into Javascript expressions based on the AST of Elixir and not the compiled output. I was thinking of something like <code>f(x, 1, %{a: 1, b: 2})</code> bring converted into <code>f(x, 1, {a: 1, b: 3})</code>.</p>
<p>Is there anything in Elixirscript that can help me do this, or my best bet is to write a custom solution myself?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="56374" 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/elixirscript-converts-elixir-to-javascript/2409/32">Post #31</a>
	                </div>
	            </div>
              <div id="likers-container-56374" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="56374"
                     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 #31"></div>
  </section>
</div>
    <div class="postbit" id="56385" data-post-id="56385">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I don’t think elixirscript runs on erlang bytecode. From the readme:</p>
<blockquote>
<p>This is done by taking the Elixir AST and converting it into JavaScript AST and then to JavaScript code. This is done using the Elixir-ESTree library.</p>
</blockquote> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="56385" 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/elixirscript-converts-elixir-to-javascript/2409/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-56385" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="56385"
                     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 #32"></div>
  </section>
</div>
    <div class="postbit" id="56689" data-post-id="56689">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="tmbb" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  tmbb
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I haven’t looked at the source, but from the blog:</p>
<blockquote>
<p>Calls to Erlang functions that the Elixir standard library make have to be reimplemented in JavaScript. There are many that are implemented, but there are more that need to be. This effects the availability of some Elixir standard library calls. A major contribution to ElixirScript would be to help with an implementation of an Erlang function that is blocking the use of an Elixir function you want to use!</p>
</blockquote> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="56689" 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/elixirscript-converts-elixir-to-javascript/2409/34">Post #33</a>
	                </div>
	            </div>
              <div id="likers-container-56689" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="56689"
                     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 #33"></div>
  </section>
</div>
    <div class="postbit" id="56696" data-post-id="56696">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Any usage examples / use cases mates?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="56696" 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/elixirscript-converts-elixir-to-javascript/2409/35">Post #34</a>
	                </div>
	            </div>
              <div id="likers-container-56696" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="56696"
                     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 #34"></div>
  </section>
</div>
    <div class="postbit" id="91310" data-post-id="91310">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I wanted to offer some feedback:</p>
<p>I am glad you have been working on compiling Elixir to JS. But what I’d really like to see is a ReactJS-like experience on the frontend. What I mean by that is:</p>
<ul>
<li>
<p>keep the modules structure of Elixir, where anything in the project can be accessed without needing to know the specific file path or explicitly export anything</p>
</li>
<li>
<p>keep the ability for Elixir syntax to be transpiled to JavaScript</p>
</li>
</ul>
<ul>
<li>otherwise, remove the quirks and follow the structure of React</li>
</ul>
<p>I’ll elaborate on the third point.</p>
<p>My main beef with JavaScript is the syntax includes meaningless, “boilerplate” characters. Conversely, <a href="https://medium.freecodecamp.org/react-s-jsx-the-other-side-of-the-coin-2ace7ab62b98" rel="noopener nofollow ugc">I really like JSX</a>. While it’s already too late and doesn’t mean much coming from a stranger, I think you went in the wrong direction with a DSL different from JSX.</p>
<p>I wish I could write a file like this:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir"># App.ex

defmodule ProjectName.App do
  use React # EX
  import ReactNativeWeb
  alias ProjectName.ErrorBoundary

  def mount,
    do: IO.inspect "Mounted!"

  def render(props, state) do
</code></pre>
<pre data-code-wrap="javascript"><code class="lang-javascript">    &lt;ErrorBoundary&gt;
      &lt;Text elixir={
</code></pre>
<pre data-code-wrap="elixir"><code class="lang-elixir">        if Platform.OS == "web", do: "web", else: "screen"
</code></pre>
<pre data-code-wrap="javascript"><code class="lang-javascript">      }/&gt;
    &lt;/ErrorBoundary&gt;
</code></pre>
<pre data-code-wrap="elixir"><code class="lang-elixir">  end
end
</code></pre>
<p>This would render the text <code>web</code> on your computer or <code>screen</code> on your phone.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="91310" 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/elixirscript-converts-elixir-to-javascript/2409/36">Post #35</a>
	                </div>
	            </div>
              <div id="likers-container-91310" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="91310"
                     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 #35"></div>
  </section>
</div>
    <div class="postbit" id="91312" data-post-id="91312">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>In the JSX article, there is a quote:</p>
<blockquote>
<p>Angular, Ember and Knockout put “JS” in your HTML.<br>
React puts “HTML” in your JS.</p>
</blockquote>
<p>The analogy here is:</p>
<blockquote>
<p>ElixirScript puts “JS” in your Elixir.<br>
What I have proposed puts “Elixir” in your JSX.</p>
</blockquote>
<p>I.e. Yes, Elixir is more powerful than JS–that’s why we’re replacing it. But, I hope you’d agree that JSX is a better DSL for the frontend.</p>
<p>From an implementation standpoint, this may mean creating a <a href="https://facebook.github.io/jsx/" rel="noopener nofollow ugc">JSX DSL</a> for Elixir (like Phoenix’s Ecto is for SQL queries).</p>
<p>I.e. Keep React’s design patterns and JSX. Replace JavaScript’s syntax with Elixir’s.</p>
<hr>
<p>Actually, you don’t even need to handroll the DSL. You can just have a special <code>render</code> macro which accepts a <code>do:</code> block with JSX as its last argument.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="91312" 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/elixirscript-converts-elixir-to-javascript/2409/37">Post #36</a>
	                </div>
	            </div>
              <div id="likers-container-91312" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="91312"
                     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 #36"></div>
  </section>
</div>
    <div class="postbit" id="91332" data-post-id="91332">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="tme_317" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  tme_317
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I know this isn’t exactly what you are envisioning embedded directly into Elixir but have you looked at <a href="https://reasonml.github.io" rel="noopener nofollow ugc">ReasonML</a> with <a href="https://reasonml.github.io/reason-react/" rel="noopener nofollow ugc">ReasonReact</a>?</p>
<p>That’s what I am happily using to get JSX with elixir style “module”/component structure you are talking about (no explicit importing/exporting) and great type inference.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="91332" 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/elixirscript-converts-elixir-to-javascript/2409/38">Post #37</a>
	                </div>
	            </div>
              <div id="likers-container-91332" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="91332"
                     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 #37"></div>
  </section>
</div>
    <div class="postbit" id="91334" data-post-id="91334">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="bryanjos" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/bryanjos/120/1035_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  bryanjos
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>ElixirScript works at a level where if you can do what you defined in standard Elixir, it’s work in ElixirScript. I’d be interested if anyone did what you prescribed. There was an ElixirScript issue open for almost a year about JSX but nothing really came about from it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="91334" 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/elixirscript-converts-elixir-to-javascript/2409/39">Post #38</a>
	                </div>
	            </div>
              <div id="likers-container-91334" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="91334"
                     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 #38"></div>
  </section>
</div>
    <div class="postbit" id="91340" data-post-id="91340">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="bryanjos" data-post="39" data-topic="2409">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/bryanjos/48/1035_2.png" class="avatar"> bryanjos:</div>
<blockquote>
<p><a href="https://github.com/elixirscript/elixirscript/issues/153" rel="noopener nofollow ugc">There was an ElixirScript issue open for almost a year about JSX</a></p>
</blockquote>
</aside>
<p>Googling, JSX has not yet come to Elixir… <em>Anyone know off the top of one’s head about other languages that have implemented it?</em></p>
<p><a href="https://medium.com/@deathmood/how-to-write-your-own-virtual-dom-ee74acc13060" rel="noopener nofollow ugc">I found this article</a>. In a nutshell, JSX syntax is merely syntactic sugar for an AST of <code>React.createElement</code> calls.</p>
<p>If you’ve seen the library <a href="https://hexdocs.pm/shorthand/Shorthand.html" rel="noopener nofollow ugc"><code>Shorthand</code></a>, it allows one to create maps with JS-like behavior: <code>m(item) =&gt; %{item: item}</code>. For ElixirScript, you could simply have a function <code>jsx(type, props, children)</code> that evaluates to the JS equivalent.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="91340" 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/elixirscript-converts-elixir-to-javascript/2409/40">Post #39</a>
	                </div>
	            </div>
              <div id="likers-container-91340" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="91340"
                     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 #39"></div>
  </section>
</div>
    <div class="postbit" id="91341" data-post-id="91341">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>That said, in all honesty, I would advocate for a redesign.</p>
<p>The concept to keep in mind is to <a href="https://codeburst.io/the-future-of-javascript-will-be-less-javascript-cea373eb57fd" rel="noopener nofollow ugc">think of JavaScript as a virtual machine for the browser</a>. Then, ElixirScript should build on top of JavaScript in the way Elixir builds upon Erlang. This means that if I put JS in an EXJS file, the JS will work <em>(interoperability)</em>. So ElixirScript is just the building block that converts Elixir to JavaScript. It shouldn’t have opinions.</p>
<p>Next, we use <a href="https://reactjs.org/docs/implementation-notes.html" rel="noopener nofollow ugc">React</a> as the structure for our JSX. React should be implemented as a behaviour. It should require a <code>@spec render(props :: map, state :: map | pid)</code> function or macro that accepts a <code>do:</code> block with JSX. If implemented as a string, there is already the syntax to interpolate Elixir code. Then the string can be converted to JS, which can handle the parsing. It would be nice to have a JSX linter for <code>.ex</code> files though.</p>
<p>Beyond that, the <code>React</code> behaviour should allow for optional lifecycle methods (e.g. <code>mount</code>, <code>unmount</code>), a constructor (maybe call it <code>init</code> to follow Elixir convention), and I’d argue for an optional <code>data</code> method, <a href="https://facebook.github.io/relay/docs/en/quick-start-guide.html#using-fragments" rel="noopener nofollow ugc">ideally modeled after Relay…</a></p>
<p>Last, I would suggest a documentation revamp.</p>
<p>A great starting point for using plain ElixirScript would be a <code>socket.ex</code> in a Phoenix project. I’d love to see an example of this, or receive enough instruction from the documentation that I would know how to set this up for myself.</p>
<hr>
<p><em>And a final note:</em> <a href="https://github.com/elixirscript/todo-elixirscript/blob/master/lib/todo_frontend/main.ex#L23" rel="noopener nofollow ugc">I really like your implementation of state inside of a process.</a> I think this is really powerful because then the backend and frontend can now <a href="https://pragprog.com/book/lhelph/functional-web-development-with-elixir-otp-and-phoenix" rel="noopener nofollow ugc">share the same state <strong>(SEE: <em>“Functional Web Development with Elixir”</em> re: stateful servers)</strong></a>. Add in <a href="http://erlang.org/doc/apps/mnesia/Mnesia_chap1.html" rel="nofollow">Mnesia (in-memory database)</a> and your <a href="https://github.com/necolas/react-native-web/blob/master/packages/website/guides/getting-started.md#starter-kits" rel="noopener nofollow ugc">React/React Native app</a> will be faster than anything out there.</p>
<hr>
<p>Reviewing <a href="https://reactjs.org/docs/implementation-notes.html" rel="noopener nofollow ugc">React’s implementation notes</a>, I definitely think the role of ElixirScript should simply be to convert Elixir to JavaScript. Likewise, React.EX should simply convert to React components.</p>
<p>I think you’ve already built those parts. I just want to see them refactored to be closer to the React experience.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="91341" 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/elixirscript-converts-elixir-to-javascript/2409/41">Post #40</a>
	                </div>
	            </div>
              <div id="likers-container-91341" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="91341"
                     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 #40"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/2409/load_more?page=5">Load more posts (2 remaining)</a>
</div></template></turbo-stream>