<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Posts | Olivier Goulet</title><link>http://oliviergoulet.dev/posts/</link><description>Recent content in Posts on Olivier Goulet</description><generator>Hugo</generator><language>en-ca</language><lastBuildDate>Thu, 30 Apr 2026 08:30:00 -0500</lastBuildDate><atom:link href="http://oliviergoulet.dev/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>We redesigned the documentation to our official Hugo website theme</title><link>http://oliviergoulet.dev/posts/hugo-solstice-theme-docs-redesign/</link><pubDate>Mon, 22 Jun 2026 16:00:00 -0500</pubDate><guid isPermaLink="true">http://oliviergoulet.dev/posts/hugo-solstice-theme-docs-redesign/</guid><description>We redesigned the documentation for Hugo Solstice Theme, the Eclipse
Foundation&amp;rsquo;s official theme for building websites with the Hugo static site
generator.</description><content:encoded><![CDATA[<p>We redesigned the <a href="https://webdev.eclipse.org/docs/hugo/" rel="external" target="_blank">documentation</a>
 for
Hugo Solstice Theme, the Eclipse Foundation&rsquo;s official theme for building
websites with the <a href="https://gohugo.io" rel="external" target="_blank">Hugo</a>
 static site generator. The new
documentation is more comprehensive, easier to navigate, and includes more
visual demos and code examples.</p>
<p>We decided it was time to refresh and reorganize the documentation to better
align with the 3.0.0 release, which incorporates the major Eclipse Foundation
brand refresh from last year.</p>
<h2 id="how-it-is-organized">How it is organized</h2>
<p>We have reorganized the documentation into several comprehensive sections:</p>
<ul>
<li><strong>Shortcodes</strong>: A catalog of all the shortcodes included in the theme, with
detailed documentation for each one, including usage guidelines, code
examples, and visual demos.</li>
<li><strong>Front Matter</strong>: A reference for all the front matter parameters that can be used to
customize the behavior and appearance of an individual webpage, with examples of how to use
them in your content files.</li>
<li><strong>Configuration</strong>: A reference for all the configuration options that can be used to
customize the behavior and appearance of your entire website, with examples of how to
use them in your Hugo config file.</li>
<li><strong>Examples</strong>: A collection of examples and recipes to demonstrate how to use
the theme&rsquo;s features.</li>
<li><strong>Changelog</strong>: A detailed log of all the changes, improvements, and bug fixes
made to the theme over time.</li>
</ul>
<figure>
  <img src="http://oliviergoulet.dev/posts/hugo-solstice-theme-docs-redesign/images/categories.webp" alt="Documentation categories"><figcaption><p>The categories listed on the documentation site&#39;s homepage.</p></figcaption></figure>

<p>We also added a showcase section to highlight websites built with the Hugo
Solstice Theme. This should provide inspiration and ideas for how to use the
theme in different ways.</p>
<figure>
  <img src="http://oliviergoulet.dev/posts/hugo-solstice-theme-docs-redesign/images/showcase.webp" alt="Documentation showcase"><figcaption><p>The showcase section of the documentation, highlighting websites built with the Hugo Solstice Theme.</p></figcaption></figure>

<h2 id="our-commitment-to-providing-high-quality-libraries">Our commitment to providing high-quality libraries</h2>
<p>The Hugo Solstice Theme is one of many libraries and tools we maintain to
support the Eclipse community. We are committed to delivering high-quality,
well-documented libraries that are easy to use and integrate into your
projects. We will continue investing in improved documentation, ongoing
enhancements, and user support to ensure you have the best possible experience
with our libraries and tools.</p>
<h2 id="consider-using-the-hugo-solstice-theme-for-your-next-website">Consider using the Hugo Solstice Theme for your next website</h2>
<p>If you&rsquo;re looking for a modern, flexible, and user-friendly theme for your next
website, the Hugo Solstice Theme is a great choice. It enables you to quickly
create a professional-looking site with minimal setup while offering extensive
customization options to suit your specific needs. Whether you&rsquo;re building a
project site, a Working Group website, or another type of web presence, the
Hugo Solstice Theme helps you get started quickly, delivers an excellent
experience for your visitors, and includes the Eclipse Foundation brand styling
by default.</p>
<p>Get started with Hugo Solstice Theme by bootstrapping your site using the
starter <a href="https://gitlab.eclipse.org/eclipsefdn/software-dev/frameworks-and-tools/hugo-eclipsefdn-website-boilerplate" rel="external" target="_blank">boilerplate project</a>
,
or install Hugo Solstice Theme directly from
<a href="https://www.npmjs.com/package/eclipsefdn-hugo-solstice-theme" rel="external" target="_blank">NPM</a>
.</p>
]]></content:encoded></item><item><title>Introducing Solstice Components</title><link>http://oliviergoulet.dev/posts/introducing-solstice-components/</link><pubDate>Thu, 07 May 2026 16:00:00 -0500</pubDate><guid isPermaLink="true">http://oliviergoulet.dev/posts/introducing-solstice-components/</guid><description>We’ve rebuilt our component library from the ground up to be more flexible,
more stable, and easier to use. Now, whether you’re maintaining an Eclipse
project website or a Working Group site, you can integrate these components
with minimal configuration regardless of your website’s tech stack.</description><content:encoded><![CDATA[<p>We&rsquo;ve rebuilt our component library from the ground up to be more flexible,
more stable, and easier to use. Now, whether you&rsquo;re maintaining an Eclipse
project website or a website for an Eclipse Foundation Working Group, you can
integrate these components with minimal configuration regardless of your
website&rsquo;s tech stack.</p>
<h2 id="the-old-library-served-us-well---heres-why-we-built-something-better">The old library served us well - here&rsquo;s why we built something better</h2>
<p>The old component library, Solstice Assets, was built on top of a combination
of jQuery, vanilla JavaScript, LESS stylesheets, and Mustache templates. While
it served us well for many years (10+), it had several issues:</p>
<ol>
<li><strong>Portability:</strong> The legacy component library was tightly coupled to
eclipse.org’s global styles, making it difficult to reuse components on
other sites without style conflicts. It also introduced significant CSS
overhead, increasing the consumer’s bundle size.</li>
<li><strong>Distribution:</strong> Solstice Assets could be included either via NPM or by
downloading build artifacts from eclipse.org. The NPM option required a
fairly strict build setup, often forcing your tooling to be built around the
library’s Webpack configuration rather than your own, which reduced
compatibility with other tools. The downloadable artifacts lacked
versioning, leading to risk of instability when updates were made.</li>
<li><strong>Scope:</strong> The library tried to do too much. It bundled a full CSS framework
(Bootstrap 3), global styles, and a large set of components, making it
difficult to adopt selectively or use only what you actually needed. While
this worked for sites already aligned with our styles, it created friction
for those with their own independent design systems and visual identity.</li>
</ol>
<p>These issues introduced significant barriers to entry for many developers who
aren&rsquo;t front-end specialists. To better support the Eclipse community, we had
to go back to the drawing board and build something more portable, easier to
integrate, and focused purely on components. We had to build a component
library that was truly for everyone in the Eclipse community, regardless of
their technical expertise or the tech stack they were using.</p>
<h2 id="introducing-our-new-component-library">Introducing our new component library</h2>
<p>Our new library, <em><a href="https://gitlab.eclipse.org/eclipsefdn/software-dev/frameworks-and-tools/solstice-components" rel="external" target="_blank">Solstice Components</a>
</em>,
is built on Web Components, a native web platform feature that allows us to
define <em>custom</em> HTML elements. This makes the components extremely simple to
use: just drop them into your markup like any standard HTML tag. No build step
required, it works out of the box.</p>
<p>Web Components are designed to integrate into any web page, regardless of the
underlying technology. This means you can use our components in a React app, a
WordPress site, or even a plain HTML page without additional setup<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>
<p>They also benefit from style encapsulation, so component styles don’t clash
with your website’s styles. This improves portability and ease of use.</p>
<h2 id="examples">Examples</h2>
<p>To display a list of project adopters for a particular project, you can simply
add the following HTML to your webpage:</p>
<div class="highlight"><div style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#a9b1d6">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#bb9af7">efsc-project-adopter-logo-list</span> <span style="color:#7aa2f7">projectid</span><span style="color:#9ece6a;font-weight:bold">=</span><span style="color:#9ece6a">&#34;ecd.openvsx&#34;</span>&gt;&lt;/<span style="color:#bb9af7">efsc-project-adopter-logo-list</span>&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><figure class="md:-mx-24">
  <img src="http://oliviergoulet.dev/posts/introducing-solstice-components/images/adopters.webp" alt="A list of project adopters for the Open VSX project. From left to right: Broadcom, Coder, Ericsson, Gitpod, IBM, Onivim, SAP, TypeFox, VSCodium"><figcaption><p>A list of project adopters for Open VSX as of May 2026</p></figcaption></figure>

<p>If you want to display a working group&rsquo;s member organizations, you can add the
following HTML:</p>
<div class="highlight"><div style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#a9b1d6">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#bb9af7">efsc-member-logo-list</span> <span style="color:#7aa2f7">type</span><span style="color:#9ece6a;font-weight:bold">=</span><span style="color:#9ece6a">&#34;working-group&#34;</span> <span style="color:#7aa2f7">collaboration</span><span style="color:#9ece6a;font-weight:bold">=</span><span style="color:#9ece6a">&#34;adoptium&#34;</span>&gt;&lt;/<span style="color:#bb9af7">efsc-member-logo-list</span>&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><figure class="md:-mx-24">
  <img src="http://oliviergoulet.dev/posts/introducing-solstice-components/images/members.webp" alt="List of logos from member organizations for the Adoptium Working Group. From left to right: Alibaba Cloud, Bloomberg Engineering, Canonical, Fujitsu, Google, IBM, iJUG Association, Microsoft, OpenElements, Rivos"><figcaption><p>List of logos from member organizations for the Adoptium Working Group</p></figcaption></figure>

<p>To display a list of events, you can do the following:</p>
<div class="highlight"><div style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#a9b1d6">1
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#a9b1d6">2
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#a9b1d6">3
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#a9b1d6">4
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#a9b1d6">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#c0caf5;background-color:#1a1b26;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#bb9af7">efsc-collection</span> <span style="color:#7aa2f7">pagesize</span><span style="color:#9ece6a;font-weight:bold">=</span><span style="color:#9ece6a">&#34;2&#34;</span> <span style="color:#7aa2f7">autoscroll</span><span style="color:#9ece6a;font-weight:bold">=</span><span style="color:#9ece6a">&#34;true&#34;</span>&gt;
</span></span><span style="display:flex;"><span>  &lt;<span style="color:#bb9af7">efsc-event-filters</span>&gt;&lt;/<span style="color:#bb9af7">efsc-event-filters</span>&gt;
</span></span><span style="display:flex;"><span>  &lt;<span style="color:#bb9af7">efsc-event-list</span>&gt;&lt;/<span style="color:#bb9af7">efsc-event-list</span>&gt;
</span></span><span style="display:flex;"><span>  &lt;<span style="color:#bb9af7">efsc-pagination</span> <span style="color:#7aa2f7">maxvisible</span><span style="color:#9ece6a;font-weight:bold">=</span><span style="color:#9ece6a">&#34;5&#34;</span> <span style="color:#7aa2f7">justify</span><span style="color:#9ece6a;font-weight:bold">=</span><span style="color:#9ece6a">&#34;center&#34;</span>&gt;&lt;/<span style="color:#bb9af7">efsc-pagination</span>&gt;
</span></span><span style="display:flex;"><span>&lt;/<span style="color:#bb9af7">efsc-collection</span>&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><figure class="md:-mx-24">
  <img src="http://oliviergoulet.dev/posts/introducing-solstice-components/images/events.webp"><figcaption><p>A list of events with the event filters and pagination components</p></figcaption></figure>

<h2 id="try-it-out">Try it out</h2>
<p>If you&rsquo;re interested in trying out the new Solstice Components, you can find
the documentation and installation instructions on our
<a href="https://webdev.eclipse.org/docs/components" rel="external" target="_blank">website</a>
.
It can be installed via NPM or you can find embeds to include the library
directly in your HTML from a CDN.</p>
<h2 id="conclusion">Conclusion</h2>
<p>This is just the beginning. We&rsquo;ve built the foundation for something better,
and we&rsquo;re counting on your feedback to keep improving it. Try the new component
library in your existing site. We think you&rsquo;ll notice the difference
immediately. And if you have ideas for new components or improvements, we&rsquo;d
love to hear you by <a href="https://gitlab.eclipse.org/eclipsefdn/software-dev/frameworks-and-tools/solstice-components/-/issues" rel="external" target="_blank">creating an issue</a>
!
This library is for the entire Eclipse community.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Web Components still require you to include the JavaScript that defines
them in the browser. In our case, they also require a small CSS theme file,
but these themes are fully compatible and designed to avoid any style
conflicts.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded></item></channel></rss>