<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://cecilapp.github.io/theme-leon/xsl/atom.xsl" media="all"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cecilapp.github.io/theme-leon/docs/guides/</id>
  <title>Léon - Guides</title>
  <subtitle><![CDATA[Léon is a documentation theme for Cecil, with a warm and editorial look.]]></subtitle>
  <link href="https://cecilapp.github.io/theme-leon/docs/guides/atom.xml" rel="self" type="application/atom+xml" />
  <link href="https://cecilapp.github.io/theme-leon/docs/guides/" rel="alternate" type="text/html" />
  <updated>2026-10-22T22:11:10+00:00</updated>
  <author>
    <name>Cecil</name>
    <uri>https://cecil.app</uri>
  </author>
  <entry xml:lang="en">
    <id>https://cecilapp.github.io/theme-leon/docs/guides/writing-content/</id>
    <title>Writing content</title>
    <published>2026-10-22T22:11:04+00:00</published>
    <link href="https://cecilapp.github.io/theme-leon/docs/guides/writing-content/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h2 id="callouts">Callouts</h2>
<p>Callouts highlight information. Use <code translate="no">:::note</code>, <code translate="no">:::info</code>, <code translate="no">:::tip</code>, <code translate="no">:::warning</code>, <code translate="no">:::danger</code> or <code translate="no">:::important</code>:</p>
<aside class="note note-note"><p>A <strong>note</strong> gives extra context, and can contain any Markdown: <code translate="no">code</code>, <a href="#callouts">links</a>, lists…</p></aside>
<aside class="note note-info"><p>Native installations update automatically in the background.</p></aside>
<aside class="note note-tip"><p>Organize your content in nested folders to build the sidebar.</p></aside>
<aside class="note note-warning"><p>The <code translate="no">theme</code> key of a theme configuration is ignored: declare all the themes in your site.</p></aside>
<aside class="note note-danger"><p>Never commit your API keys.</p></aside>
<aside class="note note-important"><p><code translate="no">important</code> callouts use the accent color of the theme.</p></aside>
<pre><code class="language-markdown hljs markdown" translate="no">:::tip
Organize your content in nested folders to build the sidebar.
:::</code></pre>
<h2 id="tabs">Tabs</h2>
<p>Each <code translate="no">####</code> heading starts a new tab. Tabs with the same label are synchronized across the page, and the choice is remembered.</p>
<div class="note note-tabs" id="note-tabs-1" data-leon-tabs>
  <div class="leon-tablist" role="tablist">
    <button type="button" class="leon-tab-button" id="note-tabs-1-tab-1" role="tab" aria-controls="note-tabs-1-panel-1" aria-selected="true">macOS</button>
    <button type="button" class="leon-tab-button" id="note-tabs-1-tab-2" role="tab" aria-controls="note-tabs-1-panel-2" aria-selected="false" tabindex="-1">Windows</button>
    <button type="button" class="leon-tab-button" id="note-tabs-1-tab-3" role="tab" aria-controls="note-tabs-1-panel-3" aria-selected="false" tabindex="-1">Linux</button>
  </div>
  <div class="leon-tabpanel" id="note-tabs-1-panel-1" role="tabpanel" aria-labelledby="note-tabs-1-tab-1" tabindex="0">
    <p class="leon-tabpanel-title">macOS</p>
    <p>Install with Homebrew:</p>
<pre><code class="language-bash hljs bash" translate="no">brew install cecil</code></pre>
  </div>
  <div class="leon-tabpanel" id="note-tabs-1-panel-2" role="tabpanel" aria-labelledby="note-tabs-1-tab-2" tabindex="0">
    <p class="leon-tabpanel-title">Windows</p>
    <p>Install with Scoop:</p>
<pre><code class="language-powershell hljs powershell" translate="no">scoop install cecil</code></pre>
  </div>
  <div class="leon-tabpanel" id="note-tabs-1-panel-3" role="tabpanel" aria-labelledby="note-tabs-1-tab-3" tabindex="0">
    <p class="leon-tabpanel-title">Linux</p>
    <p>Download the Phar:</p>
<pre><code class="language-bash hljs bash" translate="no">curl -LO https://cecil.app/cecil.phar</code></pre>
  </div>
</div>
<pre><code class="language-markdown hljs markdown" translate="no">:::tabs
<span class="hljs-section">#### macOS</span>
Install with Homebrew:

<span class="hljs-code">```bash
brew install cecil
```</span>

<span class="hljs-section">#### Windows</span>
Install with Scoop:

<span class="hljs-code">```powershell
scoop install cecil
```</span>

<span class="hljs-section">#### Linux</span>
Download the Phar:

<span class="hljs-code">```bash
curl -LO https://cecil.app/cecil.phar
```</span>
:::</code></pre>
<h2 id="code-groups">Code groups</h2>
<p>A code group shows alternative code blocks in a single frame:</p>
<div class="note note-code-group" id="note-code-group-2" data-leon-tabs>
  <div class="leon-tablist" role="tablist">
    <button type="button" class="leon-tab-button" id="note-code-group-2-tab-1" role="tab" aria-controls="note-code-group-2-panel-1" aria-selected="true">macOS</button>
    <button type="button" class="leon-tab-button" id="note-code-group-2-tab-2" role="tab" aria-controls="note-code-group-2-panel-2" aria-selected="false" tabindex="-1">Windows</button>
    <button type="button" class="leon-tab-button" id="note-code-group-2-tab-3" role="tab" aria-controls="note-code-group-2-panel-3" aria-selected="false" tabindex="-1">Linux</button>
  </div>
  <div class="leon-tabpanel" id="note-code-group-2-panel-1" role="tabpanel" aria-labelledby="note-code-group-2-tab-1" tabindex="0">
    <p class="leon-tabpanel-title">macOS</p>
    <pre><code class="language-bash hljs bash" translate="no">brew install cecil</code></pre>
  </div>
  <div class="leon-tabpanel" id="note-code-group-2-panel-2" role="tabpanel" aria-labelledby="note-code-group-2-tab-2" tabindex="0">
    <p class="leon-tabpanel-title">Windows</p>
    <pre><code class="language-powershell hljs powershell" translate="no">scoop install cecil</code></pre>
  </div>
  <div class="leon-tabpanel" id="note-code-group-2-panel-3" role="tabpanel" aria-labelledby="note-code-group-2-tab-3" tabindex="0">
    <p class="leon-tabpanel-title">Linux</p>
    <pre><code class="language-bash hljs bash" translate="no">curl -LO https://cecil.app/cecil.phar</code></pre>
  </div>
</div>
<pre><code class="language-markdown hljs markdown" translate="no">:::code-group
<span class="hljs-section">#### macOS</span>
<span class="hljs-code">```bash
brew install cecil
```</span>
<span class="hljs-section">#### Windows</span>
<span class="hljs-code">```powershell
scoop install cecil
```</span>
<span class="hljs-section">#### Linux</span>
<span class="hljs-code">```bash
curl -LO https://cecil.app/cecil.phar
```</span>
:::</code></pre>
<p>Without headings, tabs are named after the language of each block:</p>
<div class="note note-code-group" id="note-code-group-3" data-leon-tabs>
  <div class="leon-tablist" role="tablist">
    <button type="button" class="leon-tab-button" id="note-code-group-3-tab-1" role="tab" aria-controls="note-code-group-3-panel-1" aria-selected="true">YAML</button>
    <button type="button" class="leon-tab-button" id="note-code-group-3-tab-2" role="tab" aria-controls="note-code-group-3-panel-2" aria-selected="false" tabindex="-1">JSON</button>
  </div>
  <div class="leon-tabpanel" id="note-code-group-3-panel-1" role="tabpanel" aria-labelledby="note-code-group-3-tab-1" tabindex="0">
    <p class="leon-tabpanel-title">YAML</p>
    <pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">theme:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">leon</span></code></pre>
  </div>
  <div class="leon-tabpanel" id="note-code-group-3-panel-2" role="tabpanel" aria-labelledby="note-code-group-3-tab-2" tabindex="0">
    <p class="leon-tabpanel-title">JSON</p>
    <pre><code class="language-json hljs json" translate="no">{<span class="hljs-attr">"theme"</span>: [<span class="hljs-string">"leon"</span>]}</code></pre>
  </div>
</div>
<pre><code class="language-markdown hljs markdown" translate="no">:::code-group
<span class="hljs-code">```yaml
theme:
  - leon
```</span>
<span class="hljs-code">```json
{"theme": ["leon"]}
```</span>
:::</code></pre>
<h2 id="steps">Steps</h2>
<div class="note note-steps" id="note-steps-4">
  <ol class="leon-steps">
    <li class="leon-step">
      <h4>Write</h4>
      <p>Write your pages in Markdown.</p>
    </li>
    <li class="leon-step">
      <h4>Build</h4>
      <p>Run <code translate="no">php cecil.phar build</code>.</p>
    </li>
    <li class="leon-step">
      <h4>Publish</h4>
      <p>Deploy the <code translate="no">_site</code> folder anywhere.</p>
    </li>
  </ol>
</div>
<pre><code class="language-markdown hljs markdown" translate="no">:::steps
<span class="hljs-section">#### Write</span>
Write your pages in Markdown.

<span class="hljs-section">#### Build</span>
Run <span class="hljs-code">`php cecil.phar build`</span>.

<span class="hljs-section">#### Publish</span>
Deploy the <span class="hljs-code">`_site`</span> folder anywhere.
:::</code></pre>
<h2 id="accordions">Accordions</h2>
<div class="note note-accordion" id="note-accordion-5">
  <details class="leon-accordion">
    <summary>What is Cecil?</summary>
    <div class="leon-accordion-content">
      <p>A static site generator, written in PHP, that turns Markdown files into a website.</p>
    </div>
  </details>
  <details class="leon-accordion">
    <summary>Can I use HTML?</summary>
    <div class="leon-accordion-content">
      <p>Yes, and a native <code translate="no">&lt;details&gt;</code> element is styled as an accordion too.</p>
    </div>
  </details>
</div>
<pre><code class="language-markdown hljs markdown" translate="no">:::accordion
<span class="hljs-section">#### What is Cecil?</span>
A static site generator, written in PHP, that turns Markdown files into a website.

<span class="hljs-section">#### Can I use HTML?</span>
Yes, and a native <span class="hljs-code">`&lt;details&gt;`</span> element is styled as an accordion too.
:::</code></pre>
<h2 id="cards">Cards</h2>
<div class="note note-cards" id="note-cards-6">
  <ul>
    <li><a href="../../getting-started/quickstart/">Quickstart</a><div class="leon-card-description">create a site from scratch</div></li>
    <li><a href="../../../reference/configuration/">Configuration</a><div class="leon-card-description">every option of the theme</div></li>
  </ul>
</div>
<pre><code class="language-markdown hljs markdown" translate="no">:::cards
<span class="hljs-bullet">- </span>[<span class="hljs-string">Quickstart</span>](<span class="hljs-link">../../getting-started/quickstart/</span>): create a site from scratch
<span class="hljs-bullet">- </span>[<span class="hljs-string">Configuration</span>](<span class="hljs-link">../../../reference/configuration/</span>): every option of the theme
:::</code></pre>
<h2 id="nesting">Nesting</h2>
<p>A block can contain other blocks: its fence must then be longer than theirs (<code translate="no">::::steps</code> … <code translate="no">::::</code>).</p>
<div class="note note-steps" id="note-steps-7">
  <ol class="leon-steps">
    <li class="leon-step">
      <h4>Install</h4>
      <div class="note note-code-group" id="note-code-group-8" data-leon-tabs>
  <div class="leon-tablist" role="tablist">
    <button type="button" class="leon-tab-button" id="note-code-group-8-tab-1" role="tab" aria-controls="note-code-group-8-panel-1" aria-selected="true">Bash</button>
    <button type="button" class="leon-tab-button" id="note-code-group-8-tab-2" role="tab" aria-controls="note-code-group-8-panel-2" aria-selected="false" tabindex="-1">PowerShell</button>
  </div>
  <div class="leon-tabpanel" id="note-code-group-8-panel-1" role="tabpanel" aria-labelledby="note-code-group-8-tab-1" tabindex="0">
    <p class="leon-tabpanel-title">Bash</p>
    <pre><code class="language-bash hljs bash" translate="no">brew install cecil</code></pre>
  </div>
  <div class="leon-tabpanel" id="note-code-group-8-panel-2" role="tabpanel" aria-labelledby="note-code-group-8-tab-2" tabindex="0">
    <p class="leon-tabpanel-title">PowerShell</p>
    <pre><code class="language-powershell hljs powershell" translate="no">scoop install cecil</code></pre>
  </div>
</div>
    </li>
    <li class="leon-step">
      <h4>Configure</h4>
      <aside class="note note-tip"><p>Add <code translate="no">leon</code> to the <code translate="no">theme</code> list of your site.</p></aside>
    </li>
    <li class="leon-step">
      <h4>Build</h4>
      <p>Run <code translate="no">cecil build</code>.</p>
    </li>
  </ol>
</div>
<pre><code class="language-markdown hljs markdown" translate="no">::::steps
<span class="hljs-section">#### Install</span>
:::code-group
<span class="hljs-code">```bash
brew install cecil
```</span>
<span class="hljs-code">```powershell
scoop install cecil
```</span>
:::

<span class="hljs-section">#### Configure</span>
:::tip
Add <span class="hljs-code">`leon`</span> to the <span class="hljs-code">`theme`</span> list of your site.
:::

<span class="hljs-section">#### Build</span>
Run <span class="hljs-code">`cecil build`</span>.
::::</code></pre>
<div class="note note-tabs" id="note-tabs-9" data-leon-tabs>
  <div class="leon-tablist" role="tablist">
    <button type="button" class="leon-tab-button" id="note-tabs-9-tab-1" role="tab" aria-controls="note-tabs-9-panel-1" aria-selected="true">Composer</button>
    <button type="button" class="leon-tab-button" id="note-tabs-9-tab-2" role="tab" aria-controls="note-tabs-9-panel-2" aria-selected="false" tabindex="-1">Archive</button>
  </div>
  <div class="leon-tabpanel" id="note-tabs-9-panel-1" role="tabpanel" aria-labelledby="note-tabs-9-tab-1" tabindex="0">
    <p class="leon-tabpanel-title">Composer</p>
    <pre><code class="language-bash hljs bash" translate="no">composer require cecil/theme-leon</code></pre>
  </div>
  <div class="leon-tabpanel" id="note-tabs-9-panel-2" role="tabpanel" aria-labelledby="note-tabs-9-tab-2" tabindex="0">
    <p class="leon-tabpanel-title">Archive</p>
    <aside class="note note-warning"><p>Also install the required component themes.</p></aside>
  </div>
</div>
<pre><code class="language-markdown hljs markdown" translate="no">::::tabs
<span class="hljs-section">#### Composer</span>
<span class="hljs-code">```bash
composer require cecil/theme-leon
```</span>

<span class="hljs-section">#### Archive</span>
:::warning
Also install the required component themes.
:::
::::</code></pre>
<h2 id="code">Code</h2>
<p>Inline <code translate="no">code</code>, keyboard keys like <kbd>Ctrl</kbd> + <kbd>K</kbd>, and blocks with syntax highlighting:</p>
<pre><code class="language-php hljs php" translate="no"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-comment">// builds the site</span>
$builder = Cecil\Builder::create($config);
$builder-&gt;build([<span class="hljs-string">'drafts'</span> =&gt; <span class="hljs-keyword">false</span>]);</code></pre>
<pre><code class="language-twig hljs twig" translate="no"><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">for</span></span> page in site.pages|sort_by_date %}</span><span class="xml">
  <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{ url(page) }}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span></span><span class="hljs-template-variable">{{ page.title }}</span><span class="xml"><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-keyword">endfor</span></span> %}</span></code></pre>
<h2 id="tables">Tables</h2>
<table>
<thead>
<tr>
<th>What I want to do</th>
<th>Best option</th>
</tr>
</thead>
<tbody>
<tr>
<td>Search the documentation</td>
<td>Press <kbd>Ctrl</kbd> + <kbd>K</kbd></td>
</tr>
<tr>
<td>Read a page as Markdown</td>
<td><strong>Copy page</strong> → View as Markdown</td>
</tr>
<tr>
<td>Ask an AI assistant</td>
<td><strong>Copy page</strong> → Open in Claude</td>
</tr>
</tbody>
</table>
<h2 id="diagrams">Diagrams</h2>
<pre><code class="language-mermaid" translate="no">flowchart LR
  A[Markdown] --&gt; B(Cecil)
  B --&gt; C{Léon}
  C --&gt; D[HTML]
  C --&gt; E[Markdown]
  C --&gt; F[llms.txt]</code></pre>
<h2 id="quotes-and-lists">Quotes and lists</h2>
<blockquote>
<p>Simplicity is the ultimate sophistication.</p>
</blockquote>
<ol>
<li>First item</li>
<li>Second item<ul>
<li>Nested item</li>
<li>Another one</li>
</ul>
</li>
<li>Third item</li>
</ol>]]>
    </content>
  </entry>
  <entry xml:lang="en">
    <id>https://cecilapp.github.io/theme-leon/docs/guides/advanced/customization/</id>
    <title>Customization</title>
    <published>2026-10-22T22:11:04+00:00</published>
    <link href="https://cecilapp.github.io/theme-leon/docs/guides/advanced/customization/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<h2 id="design-tokens">Design tokens</h2>
<p>Every color is a CSS custom property, defined for the light and the dark color schemes:</p>
<pre><code class="language-css hljs css" translate="no"><span class="hljs-selector-pseudo">:root</span> {
  <span class="hljs-attribute">--leon-accent</span>: <span class="hljs-number">#2563eb</span>;
}
<span class="hljs-selector-class">.dark</span> {
  <span class="hljs-attribute">--leon-page</span>: <span class="hljs-number">#000</span>;
}</code></pre>
<h2 id="templates">Templates</h2>
<p>Copy any template of <code translate="no">themes/leon/layouts/</code> in the <code translate="no">layouts/</code> directory of your site to override it.</p>]]>
    </content>
  </entry>
  <entry xml:lang="en">
    <id>https://cecilapp.github.io/theme-leon/docs/guides/search/</id>
    <title>Search</title>
    <published>2026-10-22T22:11:04+00:00</published>
    <link href="https://cecilapp.github.io/theme-leon/docs/guides/search/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Press <kbd>Ctrl</kbd> + <kbd>K</kbd> (or <kbd>⌘</kbd> + <kbd>K</kbd>) to open the search.</p>
<h2 id="results-groups">Results groups</h2>
<p>Results are grouped by section, in the order of the <code translate="no">flexsearch.sections</code> option:</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">flexsearch:</span>
  <span class="hljs-attr">sections:</span>
    <span class="hljs-attr">docs:</span>
      <span class="hljs-attr">limit:</span> <span class="hljs-number">6</span>
    <span class="hljs-attr">reference:</span>
      <span class="hljs-attr">limit:</span> <span class="hljs-number">4</span></code></pre>]]>
    </content>
  </entry>
  <entry xml:lang="en">
    <id>https://cecilapp.github.io/theme-leon/docs/guides/advanced/translations/</id>
    <title>Translations</title>
    <published>2026-10-22T22:11:04+00:00</published>
    <link href="https://cecilapp.github.io/theme-leon/docs/guides/advanced/translations/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Add your own translations in <code translate="no">translations/messages.&lt;locale&gt;.yml</code>.</p>
<h2 id="multilingual-configuration">Multilingual configuration</h2>
<p>Translate the options in the <code translate="no">config</code> key of each language. The <code translate="no">leon</code> block is merged with the one of the default language: only set the translated keys.</p>
<pre><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">leon:</span>
  <span class="hljs-attr">header:</span>
    <span class="hljs-attr">cta:</span>
      <span class="hljs-attr">name:</span> <span class="hljs-string">Get</span> <span class="hljs-string">started</span>
      <span class="hljs-attr">url:</span> <span class="hljs-string">/docs/getting-started/quickstart/</span>
  <span class="hljs-attr">footer:</span> <span class="hljs-string">'Released under the MIT license.'</span>
<span class="hljs-attr">languages:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">code:</span> <span class="hljs-string">en</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">English</span>
    <span class="hljs-attr">locale:</span> <span class="hljs-string">en_US</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">code:</span> <span class="hljs-string">fr</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">Français</span>
    <span class="hljs-attr">locale:</span> <span class="hljs-string">fr_FR</span>
    <span class="hljs-attr">config:</span>
      <span class="hljs-attr">leon:</span>
        <span class="hljs-attr">header:</span>
          <span class="hljs-attr">cta:</span>
            <span class="hljs-attr">name:</span> <span class="hljs-string">Commencer</span> <span class="hljs-comment"># the `url` is inherited</span>
        <span class="hljs-attr">footer:</span> <span class="hljs-string">'Publié sous licence MIT.'</span></code></pre>
<aside class="note note-warning"><p>Menus are not inherited: repeat the <code translate="no">menus</code> of the site in full in the <code translate="no">config</code> key of each language.</p></aside>
<h2 id="browser-language">Browser language</h2>
<p>With <code translate="no">leon.language.suggest: true</code>, a banner suggests the translation of the page matching the browser language, written in that language. It stays displayed until the visitor follows it, closes it or chooses a language with the selector.</p>]]>
    </content>
  </entry>
</feed>
