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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>You might find this useful?</p><aside class="quote quote-modified" data-post="1" data-topic="54155">
  <div class="title">
    <div class="quote-controls"></div>
    <img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sodapopcan/48/34668_2.png" class="avatar">
    <div class="quote-title__text-content">
      <a href="https://forum.elixirforum.com/t/request-for-feedback-on-vials-wrappers-for-mix-tasks/54155" rel="nofollow">Request for feedback on Vials (wrappers for mix tasks)</a> <a class="badge-category__wrapper " href="/c/news/rfcs/161" rel="nofollow"><span data-category-id="161" style="--category-badge-color: #d2407f; --category-badge-text-color: #FFFFFF; --parent-category-badge-color: #d2407f;" data-parent-category-id="158" data-drop-close="true" class="badge-category --style-square --has-parent"><span class="badge-category__name">RFCs</span></span></a>
    </div>
  </div>
  <blockquote>
    EDIT: I forgot to link the repo, ha: <a href="https://github.com/sodapopcan/vials" class="inline-onebox-loading" rel="noopener nofollow ugc">https://github.com/sodapopcan/vials</a> 
This project is not quite ready for prime-time but I wanted to solicit some early feedback to see if it’s something people would want to use. 
This started out with the idea of being able to manipulate the output of phx_new but I ended up making it a more general wrapper around mix tasks. 
A “vial” is a file that is named after a mix task and saved in ~/vials (this is configurable). 
Here is one for mix phx.new: 
# ~/vials…
  </blockquote>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="281027" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/62">Post #61</a>
	                </div>
	            </div>
              <div id="likers-container-281027" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="281027"
                     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 #61"></div>
  </section>
</div>
    <div class="postbit" id="304884" data-post-id="304884">
  <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
                    <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>I’d like to ask the community how useful people think a generator-based admin/CRUD system would be, and how likely they would use it in their projects. Mandarin and forage aren’t going anywhere because I’m using them myself, but I wonder if I should spend any efort to adapt it in order to beidiomatic for Phoenix 1.7. The hardest part is of course the adaptation of the Auth system, which is <em>very complex</em>, and a translation into the new “vertical layout” isn’t easy at all. Also, with the new liveview-based generators, the layout is already “more vertical” than it is with the default MVC file layout. Still, not vertical enough for me, as too many unrelated files are dumped in the same directory.</p>
<p>I also have a number of gripes against the new generators, idiom changes and the new liveview-based crud.</p>
<p>I have been dissatisfied with the liveview-based generators in general, especially the decision to have the form appear in a modal on top of the items list. I think that decision brings too much additional complexity in terms of JS and CSS and is not useful to my use cases. Although I understand that it might be useful in other cases, it seems like too much complexity to bundle by default.</p>
<p>The CoreComponents file is a good idea, and I could make forage work with something like a CoreComponents file, but that would require the CoreComponents file to implement a behaviour ti ensure it had all of the required functions.</p>
<p>I also don’t like much how Tailwind is now proposed as gold standard way of styling your application, and the way the generators seem to have been created with tailwind in mind. I spent a long amount of time writing a CoreComponents file based on bootstrap with vanilla CSS (not tailwind) and it wasn’t easy at all. And worse of all, the way that local validation (before contact with the server) works required me to “manually” (actually programatically with a script) edit the bootstrap CSS files to add some classes.</p>
<p>These changes make me somwhat unwilling to rewrite the Mandarin generators again for 1.7, unless there is some actual demand for Mandarin-like functionality for Phoenix 1.7. Of course the pages generated by Mandarin do work (phoenix is backward-compatible between 1.6 and 1.7), the “problem” is that the layout and conventions would clash with the new conventions.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="304884" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/63">Post #62</a>
	                </div>
	            </div>
              <div id="likers-container-304884" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="304884"
                     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 #62"></div>
  </section>
</div>
    <div class="postbit" id="304890" data-post-id="304890">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I had a phase during which I loved such libraries / frameworks but quickly found out that the generated code bit-rots, a lot, and quite quickly too (as you yourself also found out).</p>
<p>This outlines one general gripe with programming tools that I have for a long time: they can generate code but they cannot edit it. <img src="https://forum.elixirforum.com/images/emoji/apple/confused.png?v=15" title=":confused:" class="emoji" alt=":confused:" loading="lazy" width="20" height="20"></p>
<p>Still, I would love for Elixir to have one proper CMS / “backend” solution (in business terms this means the “under the hood” dashboards where they can control how the customer-facing parts of the app work). It would build extra goodwill towards Elixir so TL;DR if you are willing to invest in this, do it mostly for marketing purposes.</p>
<p>…Or luck out and land a lucrative contract with a company that’s stuck with one of them and you will maintain and extend it for a hefty sum. <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"></p>
<p>But my vote goes to “yes”: IMO pick one of both and modernize it.</p>
<p>EDIT: As for Tailwind, I get your point that not everyone is willing to use it but if I remember correctly it was mostly picked up for the ability to rid us of using <code>webpack</code> (hope I am not unwillingly lying here) and maybe because it requires less class decorations (unsure on that one, it was months since the last time I touched frontend code). Again I get if you don’t like it but I am not sure there’s something much that can be done except just use Bootstrap and <code>webpack</code> yourself; Phoenix is not stopping you.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="304890" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/64">Post #63</a>
	                </div>
	            </div>
              <div id="likers-container-304890" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="304890"
                     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 #63"></div>
  </section>
</div>
    <div class="postbit" id="304892" data-post-id="304892">
  <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
                    <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">
								<aside class="quote no-group" data-username="dimitarvp" data-post="64" data-topic="18211">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>This outlines one general gripe with programming tools that I have for a long time: they can generate code but they cannot edit it. <img src="https://forum.elixirforum.com/images/emoji/apple/confused.png?v=15" title=":confused:" class="emoji" alt=":confused:" loading="lazy" width="20" height="20"></p>
</blockquote>
</aside>
<p>One of the things I love the most about such tools for Elixir is that the new source manipulation features allow for limited changes to AST and source code (and sometimes pretty complex changes!).</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="64" data-topic="18211">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>quickly found out that the generated code bit-rots, a lot, and quite quickly too (as you yourself also found out).</p>
</blockquote>
</aside>
<p>I have tried to develop a solution for that: <a href="https://forum.elixirforum.com/t/codegen-simple-succint-and-customizable-code-generation-for-your-libraries/54521" class="inline-onebox" rel="nofollow">CodeGen - simple, succint and customizable code generation for your libraries</a>. This library should only generate the code you ask it to generate, and keep the rest as a hidden AST. You can dynamically ask the library to dump the source code of a given group of functions in the module’s source code. I believe it would be interesting to convert Mandarin into something that uses this.</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="64" data-topic="18211">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>Again I get if you don’t like it but I am not sure there’s something much that can be done except just use Bootstrap and <code>webpack</code> yourself; Phoenix is not stopping you.</p>
</blockquote>
</aside>
<p>Oh, but I am not using webpack at all! I am using a much more “interesting” solution. I’ve written a script that downloads the bootstrap theme and the “standard” bootswatch themes (which work well with default bootstrap classes without any customizations and can be swapped with each other) and after downloading the files uses  Regexs to “parse” critical parts of the CSS file contents, namely the highlight colors. Then, using the colors it has extracted from the file I build a new CSS class for validated/unvalidated forms and insert it into the minified CSS. Everything is done in Elixir, of course. The generated CSS files modified in such a way are then shipped by the library and can be served directly as static assets. This is either very cool or totally horrifying, but I prefer the first interpretation.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="304892" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/65">Post #64</a>
	                </div>
	            </div>
              <div id="likers-container-304892" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="304892"
                     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 #64"></div>
  </section>
</div>
    <div class="postbit" id="355685" data-post-id="355685">
  <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
                    <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>I have began working on Mandarin again, and I’ve decided to go all in on LiveView. Everything (show, edit, browse, delete) is a LiveView, and I use the PubSub to send events from one LiveView to the other so that people can work concurrently and be notified of changes that happen on other sessions.</p>
<p>As an example of what’s possible, here is a screencast of two windows where the edits made in one window are propagated to the other window.</p>
<p>This is mostly done using generators, so that the code can be easily customized. If such granular notifications are not required, it’s easy to delete them from the code. Video here: <a href="https://imgur.com/a/8YhAfbR" rel="noopener nofollow ugc">https://imgur.com/a/8YhAfbR</a></p>
<p>The only thing left is handling some problems with the pagination widget I’m using.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="355685" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/66">Post #65</a>
	                </div>
	            </div>
              <div id="likers-container-355685" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="355685"
                     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 #65"></div>
  </section>
</div>
    <div class="postbit" id="355686" data-post-id="355686">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Know that the LiveView generators will change in the next release. Can’t link to the diff as GitHub is having problems in my region.</p>
<p>I do know the modals are gone (even from core_components)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="355686" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/67">Post #66</a>
	                </div>
	            </div>
              <div id="likers-container-355686" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="355686"
                     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 #66"></div>
  </section>
</div>
    <div class="postbit" id="355687" data-post-id="355687">
  <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
                    <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>I had no idea, but I have long quit trying to match the enormous amount of churn in the default Phoenix components. My components and generators are now my own thing, and they share no actual code with the Phoenix generators themselves. I don’t reuse any actual Phoenix code. Everything is set up so that it can work independently of what Phoenix does to its generators.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="355687" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/68">Post #67</a>
	                </div>
	            </div>
              <div id="likers-container-355687" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="355687"
                     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 #67"></div>
  </section>
</div>
    <div class="postbit" id="355689" data-post-id="355689">
  <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
                    <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">
								<aside class="quote no-group" data-username="BartOtten" data-post="67" data-topic="18211">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/bartotten/48/25440_2.png" class="avatar"> BartOtten:</div>
<blockquote>
<p>I do know the modals are gone (even from core_components)</p>
</blockquote>
</aside>
<p>BTW, if you’re talking about removing the thing where you were supposed to edit forms from the “index view” in the shape of a modal, then I’m all for it! I’ve always thought that to be very awkward from a UI point of view.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="355689" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/69">Post #68</a>
	                </div>
	            </div>
              <div id="likers-container-355689" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="355689"
                     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 #68"></div>
  </section>
</div>
    <div class="postbit" id="356083" data-post-id="356083">
  <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
                    <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">
								<aside class="quote no-group" data-username="tmbb" data-post="68" data-topic="18211">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/t/77aa72/48.png" class="avatar"> tmbb:</div>
<blockquote>
<p>I had no idea, but I have long quit trying to match the enormous amount of churn in the default Phoenix components.</p>
</blockquote>
</aside>
<p>Just to bem a litte clearer: initially, I’ve tried to match the Phoenix generators pretty closely, and I’ve even wrote a script to <code>git pull</code> the source from the Phoenix repo and replace the namespace to put ir into my own project, with the idea of occasionally adding what few changes new Phoenix releases wetre to introduce.</p>
<p>But then I’ve seen the switch from bootstrap, to milligram.css, to tailwind and then the CoreComponents module (as well as the <code>phx.gen.auth</code> generators, but that one was actually great!) and decides I’d just stop keeping up with it. Developing generators os extremely hard because they are so hard to test: you basically have to run then on a different project and ser if they work, and you have to write a weird form of “meta-elixir” which os actually elixir with some parts replace by eex tags</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="356083" 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/mandarin-forage-an-admin-tool-for-phoenix/18211/70">Post #69</a>
	                </div>
	            </div>
              <div id="likers-container-356083" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="356083"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></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>