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


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kip" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kip/120/1440_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kip
                    <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 class="user-title">
									<span>ex_cldr Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It’s not a stupid question at all. But <a class="mention" href="/u/hauleth" rel="nofollow">@hauleth</a> is right, there are very strong solutions in the mainstream language ecosystems so there is no benefit to them. And being Elixir-only for us means we can benefit from the BEAM more too.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="386797" 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/color-a-comprehensive-color-library/74930/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-386797" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="386797"
                     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 #21"></div>
  </section>
</div>
    <div class="postbit" id="387017" data-post-id="387017">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kip" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kip/120/1440_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kip
                    <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 class="user-title">
									<span>ex_cldr Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ve just published <a href="https://hex.pm/packages/color/0.5.0" rel="nofollow">color version 0.5.0</a> which introduces <a href="https://hexdocs.pm/color/Color.Palette.html" rel="nofollow">Color.Palette</a> that provides several palette-generation algorithms:</p>
<ul>
<li><a href="https://hexdocs.pm/color/readme.html#tonal/2" rel="nofollow"><code>tonal/2</code></a> — a single tonal scale (Tailwind / Radix / Open Color style) — one seed colour, N shades from light to dark, useful for <code>bg-primary-50</code> through <code>bg-primary-950</code> design tokens.</li>
<li><a href="https://hexdocs.pm/color/readme.html#theme/2" rel="nofollow"><code>theme/2</code></a> — a complete Material Design 3 style theme from one seed: five coordinated tonal scales (primary, secondary, tertiary, neutral, neutral-variant), addressable by Material role names like <code>:on_primary</code> or <code>:surface_variant</code>.</li>
<li><a href="https://hexdocs.pm/color/readme.html#contrast/2" rel="nofollow"><code>contrast/2</code></a> — a contrast-targeted palette (Adobe Leonardo style) — shades that hit specific WCAG or APCA contrast ratios against a chosen background. Use this when you need accessibility-guaranteed component states.</li>
</ul>
<p>And what good would that be without some visualisation tool? So included in <a href="https://hexdocs.pm/color/Color.Palette.Visualizer.html" rel="nofollow">Color.Palette.Visualizer</a> that is an opt-in web-based visualizer for the palettes produced by <a href="https://hexdocs.pm/color/Color.Palette.html" rel="nofollow"><code>Color.Palette</code></a>.</p>
<p>This module is a <a href="https://hexdocs.pm/plug/1.19.1/Plug.Router.html" rel="nofollow"><code>Plug.Router</code></a> that can be mounted inside a Phoenix or Plug application, or run standalone during development via <a href="https://hexdocs.pm/color/Color.Palette.Visualizer.Standalone.html" rel="nofollow"><code>Color.Palette.Visualizer.Standalone</code></a>.</p>
<h3><a name="p-387017-standalone-visualizer-1" class="anchor" href="#p-387017-standalone-visualizer-1" aria-label="Heading link" rel="nofollow"></a>Standalone visualizer</h3>
<p>For standalone, just do</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">iex&gt; Color.Palette.Visualizer.Standalone.start(port: 4001)
# Visit http://localhost:4001
</code></pre>
<h3><a name="p-387017-screenshot-examples-2" class="anchor" href="#p-387017-screenshot-examples-2" aria-label="Heading link" rel="nofollow"></a>Screenshot examples</h3>
<p>Here are a couple of screenshots so you can see what you get for each of the algorithms:</p>
<h4><a name="p-387017-tonal-3" class="anchor" href="#p-387017-tonal-3" aria-label="Heading link" rel="nofollow"></a>Tonal</h4>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/6/2/62a7e33053c73ee926e7eabfeb340d6bce0acad3.png" data-download-href="https://forum.elixirforum.com/uploads/default/62a7e33053c73ee926e7eabfeb340d6bce0acad3" title="tonal" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/6/2/62a7e33053c73ee926e7eabfeb340d6bce0acad3_2_517x332.png" alt="tonal" data-base62-sha1="e4KukWDMDcakuzn13VN7nTQAf4v" width="517" height="332" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/6/2/62a7e33053c73ee926e7eabfeb340d6bce0acad3_2_517x332.png, https://forum.elixirforum.com/uploads/default/optimized/3X/6/2/62a7e33053c73ee926e7eabfeb340d6bce0acad3_2_775x498.png 1.5x, https://forum.elixirforum.com/uploads/default/optimized/3X/6/2/62a7e33053c73ee926e7eabfeb340d6bce0acad3_2_1034x664.png 2x" data-dominant-color="1A222E"><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">tonal</span><span class="informations">1400×900 69.2 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>
<h4><a name="p-387017-contrast-4" class="anchor" href="#p-387017-contrast-4" aria-label="Heading link" rel="nofollow"></a>Contrast</h4>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/6/c/6c16e29794e8a1e1ebe92c097addb8d61bedd015.png" data-download-href="https://forum.elixirforum.com/uploads/default/6c16e29794e8a1e1ebe92c097addb8d61bedd015" title="contrast" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/6/c/6c16e29794e8a1e1ebe92c097addb8d61bedd015_2_517x406.png" alt="contrast" data-base62-sha1="fqcB4ztP5xst6e8en2q3SPOoZWl" width="517" height="406" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/6/c/6c16e29794e8a1e1ebe92c097addb8d61bedd015_2_517x406.png, https://forum.elixirforum.com/uploads/default/optimized/3X/6/c/6c16e29794e8a1e1ebe92c097addb8d61bedd015_2_775x609.png 1.5x, https://forum.elixirforum.com/uploads/default/optimized/3X/6/c/6c16e29794e8a1e1ebe92c097addb8d61bedd015_2_1034x812.png 2x" data-dominant-color="182230"><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">contrast</span><span class="informations">1400×1100 64.6 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>
<h4><a name="p-387017-theme-5" class="anchor" href="#p-387017-theme-5" aria-label="Heading link" rel="nofollow"></a>Theme</h4>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/b/4/b487660f2189a111bd96f3e42352291de038a101.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/b487660f2189a111bd96f3e42352291de038a101" title="theme" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/b/4/b487660f2189a111bd96f3e42352291de038a101_2_525x600.jpeg" alt="theme" data-base62-sha1="pL22av5j0FyYCZH451aM9Yh1UT7" width="525" height="600" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/b/4/b487660f2189a111bd96f3e42352291de038a101_2_525x600.jpeg, https://forum.elixirforum.com/uploads/default/optimized/3X/b/4/b487660f2189a111bd96f3e42352291de038a101_2_787x900.jpeg 1.5x, https://forum.elixirforum.com/uploads/default/optimized/3X/b/4/b487660f2189a111bd96f3e42352291de038a101_2_1050x1200.jpeg 2x" data-dominant-color="2A2A3C"><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">theme</span><span class="informations">1200×1371 83.4 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>PS:<br>
We have a new logo too, generated using <code>Color.Palette</code>. There’s a <a href="https://hexdocs.pm/color/palettes.html#aside-the-library-s-own-logo" rel="nofollow">backstory</a> in the <a href="https://hexdocs.pm/color/palettes.html" rel="nofollow">Pallete Guide</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="387017" data-batch-url="/posts/batch_likers">
                        7
                      </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/color-a-comprehensive-color-library/74930/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-387017" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387017"
                     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 #22"></div>
  </section>
</div>
    <div class="postbit" id="387020" data-post-id="387020">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>You’re on fire <img src="https://forum.elixirforum.com/images/emoji/apple/fire.png?v=15" title=":fire:" class="emoji" alt=":fire:" loading="lazy" width="20" height="20">. Awesome, looking forward to trying out some of these features!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387020" 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/color-a-comprehensive-color-library/74930/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-387020" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387020"
                     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 #23"></div>
  </section>
</div>
    <div class="postbit" id="387026" data-post-id="387026">
  <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>This is an absolutely fantastic feature!</p>
<p>Would you consider changing the type of the seed input to <code>type="color"</code>?</p>
<p>I’m using <code>Color</code> in a library that will provide a framework-agnostic DSL for creating a Design spec and component definitions, leveraging <a href="https://www.designtokens.org/tr/2025.10" rel="noopener nofollow ugc">DTCG tokens</a>. It would be really cool if the palette could support exporting a token file for colors as well. Importing may be a little out of scope, and I’m pretty sure using the Palette in library mode would let me do what I need to do for starting up a custom palette.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387026" 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/color-a-comprehensive-color-library/74930/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-387026" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387026"
                     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 #24"></div>
  </section>
</div>
    <div class="postbit" id="387029" data-post-id="387029">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kip" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kip/120/1440_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kip
                    <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 class="user-title">
									<span>ex_cldr Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I don’t even know what a DTCG token is - but thats a big part of why write software, it’s how I learn. I’ll do some research (thanks for the link), and perhaps you could open a <a href="https://github.com/elixir-image/color/discussions" rel="nofollow">discussion</a> on the repo so we can collaborate on what you’re after. More than happy to give it a go!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387029" 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/color-a-comprehensive-color-library/74930/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-387029" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387029"
                     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 #25"></div>
  </section>
</div>
    <div class="postbit" id="387031" data-post-id="387031">
  <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>Yeah, I’ve only recently learned myself after researching existing solutions for portable designs. Adobe Leonardo actually has an example of what I mean. In addition to the JS/CSS exports, it also has Design tokens as an option, which is just a spec-compliant JSON export of the color palette. I’d link directly, but Leonardo doesn’t use friendly params.</p>
<p><a href="https://leonardocolor.io/theme.html" rel="noopener nofollow ugc">Create Theme</a> → Use (tab) → Design tokens (tab)</p>
<p>I will follow up on GitHub after some experimentation if I find Color is missing something I need. <img src="https://forum.elixirforum.com/images/emoji/apple/rocket.png?v=15" title=":rocket:" class="emoji" alt=":rocket:" 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="387031" 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/color-a-comprehensive-color-library/74930/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-387031" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387031"
                     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 #26"></div>
  </section>
</div>
    <div class="postbit" id="387032" data-post-id="387032">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kip" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kip/120/1440_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kip
                    <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 class="user-title">
									<span>ex_cldr Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Well, I couldn’t help myself. I looked at the spec and realised this is exactly the kind of thing LLMs are good at. So I turned Claude loose and now on the <a href="https://github.com/elixir-image/color" rel="nofollow">main branch</a> we have DTCG support. Input the seed via Color-picker or text (text because not all colours can be represented in the picker).</p>
<p>And … an export DTCG section too!  If you’re willing to take it for a spin from Github first, provide any feedback or suggestions and I’ll publish to hex when you’re ok with what it’s doing. And I enabled discussions on the repo now (sorry about that).</p>
<h3><a name="p-387032-updated-screenshots-1" class="anchor" href="#p-387032-updated-screenshots-1" aria-label="Heading link" rel="nofollow"></a>Updated screenshots</h3>
<h4><a name="p-387032-tonal-2" class="anchor" href="#p-387032-tonal-2" aria-label="Heading link" rel="nofollow"></a>Tonal</h4>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/b/7/b77b417e0eafd17e4d3291c3108ba8d9198a2c3b.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/b77b417e0eafd17e4d3291c3108ba8d9198a2c3b" title="tonal" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/b/7/b77b417e0eafd17e4d3291c3108ba8d9198a2c3b_2_690x542.jpeg" alt="tonal" data-base62-sha1="qb9rZwAh1Dn9AVD6iLluvKgGK7x" width="690" height="542" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/b/7/b77b417e0eafd17e4d3291c3108ba8d9198a2c3b_2_690x542.jpeg, https://forum.elixirforum.com/uploads/default/optimized/3X/b/7/b77b417e0eafd17e4d3291c3108ba8d9198a2c3b_2_1035x813.jpeg 1.5x, https://forum.elixirforum.com/uploads/default/original/3X/b/7/b77b417e0eafd17e4d3291c3108ba8d9198a2c3b.jpeg 2x" data-dominant-color="1A202C"><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">tonal</span><span class="informations">1200×943 57.2 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>
<h4><a name="p-387032-theme-3" class="anchor" href="#p-387032-theme-3" aria-label="Heading link" rel="nofollow"></a>Theme</h4>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/3X/0/7/074356eda94fcb1c75f4d808e1de9544e8b578a7.jpeg" data-download-href="https://forum.elixirforum.com/uploads/default/074356eda94fcb1c75f4d808e1de9544e8b578a7" title="theme" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/3X/0/7/074356eda94fcb1c75f4d808e1de9544e8b578a7_2_175x600.jpeg" alt="theme" data-base62-sha1="12fCenp2RNkNB5IXZj3A1DMgJgP" width="175" height="600" srcset="https://forum.elixirforum.com/uploads/default/optimized/3X/0/7/074356eda94fcb1c75f4d808e1de9544e8b578a7_2_175x600.jpeg, https://forum.elixirforum.com/uploads/default/optimized/3X/0/7/074356eda94fcb1c75f4d808e1de9544e8b578a7_2_262x900.jpeg 1.5x, https://forum.elixirforum.com/uploads/default/optimized/3X/0/7/074356eda94fcb1c75f4d808e1de9544e8b578a7_2_350x1200.jpeg 2x" data-dominant-color="262833"><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">theme</span><span class="informations">1200×4114 205 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> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387032" 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/color-a-comprehensive-color-library/74930/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-387032" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387032"
                     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 #27"></div>
  </section>
</div>
    <div class="postbit" id="387034" data-post-id="387034">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Very nice! Did you come across this article during your research?</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://mattstromawn.com/writing/generating-color-palettes/">
  <header class="source">
      <img src="https://mattstromawn.com/favicon.png" class="site-icon" alt="" width="32" height="32">

      <a href="https://mattstromawn.com/writing/generating-color-palettes/" target="_blank" rel="noopener nofollow ugc" title="12:00AM - 20 April 2024">Matt Ström-Awn – 20 Apr 24</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/388;"><img src="https://mattstromawn.com/images/og/og-0637fc399a-1200.jpeg" class="thumbnail" alt="" width="690" height="388"></div>

<h3><a href="https://mattstromawn.com/writing/generating-color-palettes/" target="_blank" rel="noopener nofollow ugc">How to generate color palettes for design systems</a></h3>

  <p>A guide on how to generate color palettes for design systems</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387034" 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/color-a-comprehensive-color-library/74930/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-387034" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387034"
                     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 #28"></div>
  </section>
</div>
    <div class="postbit" id="387035" data-post-id="387035">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kip" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kip/120/1440_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kip
                    <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 class="user-title">
									<span>ex_cldr Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<blockquote>
<p>Did you come across this article during your research?</p>
</blockquote>
<p>I did not. I looked at the ones below.  But I will definitely read that one too. Thanks for the link.</p>
<ul>
<li>Google (2021). <em><a href="https://m3.material.io/styles/color/system/overview" rel="nofollow">Material Design 3: Color system</a></em>. The source of the role tokens.</li>
<li>Stefanov, L. (2022). <em><a href="https://www.radix-ui.com/colors" rel="nofollow">Radix Colors</a></em>. Detailed write-up on hue drift, chroma at the extremes, and designer-curated tone curves.</li>
<li>Adobe (2021). <em><a href="https://leonardocolor.io/" rel="nofollow">Leonardo</a></em>. The original contrast-targeted palette generator.</li>
<li>Somers, A. (2024). <em><a href="https://github.com/Myndex/apca-w3" rel="nofollow">APCA contrast</a></em>. Perception-based contrast metric.</li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387035" 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/color-a-comprehensive-color-library/74930/30">Post #29</a>
	                </div>
	            </div>
              <div id="likers-container-387035" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387035"
                     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 #29"></div>
  </section>
</div>
    <div class="postbit" id="387036" data-post-id="387036">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kip" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kip/120/1440_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kip
                    <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 class="user-title">
									<span>ex_cldr Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Interesting, so a quick scan so far suggests that making the contrast between stops a structural invariant of the scale is kind of a hybrid between the current Tonal and Contrast models in <code>color</code>. Definitely worth pursuing. I’m on 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="387036" 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/color-a-comprehensive-color-library/74930/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-387036" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387036"
                     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 #30"></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/74930/load_more?page=4">Load more posts (17 remaining)</a>
</div></template></turbo-stream>