<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://demo.cecil.app/theme-paper/xsl/atom.xsl" media="all"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://demo.cecil.app/theme-paper/tags/docs/</id>
  <title>Paper - docs</title>
  <subtitle><![CDATA[A minimal, responsive, accessible and SEO-friendly Cecil blog theme.]]></subtitle>
  <link href="https://demo.cecil.app/theme-paper/tags/docs/atom.xml" rel="self" type="application/atom+xml" />
  <link href="https://demo.cecil.app/theme-paper/tags/docs/" rel="alternate" type="text/html" />
  <updated>2026-10-25T03:36:55+00:00</updated>
  <author>
    <name>Cecil</name>
    <uri>https://cecil.app</uri>
  </author>
  <entry xml:lang="en">
    <id>https://demo.cecil.app/theme-paper/posts/dynamic-og-images/</id>
    <title>Dynamic OG image generation in Paper blog posts</title>
    <published>2026-10-24T15:00:00+00:00</published>
    <link href="https://demo.cecil.app/theme-paper/posts/dynamic-og-images/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>OG images (aka social images) play an important role in social media engagement: they are displayed when a page is shared on a social network or a messaging app.</p>
<h2 id="introduction">Introduction<a class="heading-anchor" href="#introduction" aria-hidden="true" tabindex="-1"></a></h2>
<p>Writing a post is enough: if the post has no <code translate="no">image</code> in its front matter, the Paper theme generates an Open Graph image (1200 × 628 pixels) with:</p>
<ul>
<li>the title of the post</li>
<li>its author</li>
<li>the title of the site</li>
</ul>
<p>The image is published next to the post (e.g.: <code translate="no">/posts/dynamic-og-images/og.png</code>) and referenced by the built-in Cecil metatags. Other pages share an image generated with the title and the description of the site (<code translate="no">/og.png</code>), unless the site <code translate="no">image</code> option is set.</p>
<h2 id="requirements">Requirements<a class="heading-anchor" href="#requirements" aria-hidden="true" tabindex="-1"></a></h2>
<p>Images are generated with the PHP <a href="https://www.php.net/manual/book.image.php" rel="noopener noreferrer">GD extension</a>, compiled with FreeType support. Without it, the default metatags behavior is used.</p>
<h2 id="customization">Customization<a class="heading-anchor" href="#customization" aria-hidden="true" tabindex="-1"></a></h2>
<ul>
<li>The background of the image is <code translate="no">assets/paper/og-background.png</code>: override it with your own <code translate="no">assets/paper/og-background.png</code> (1200 × 628 pixels).</li>
<li>The fonts are <code translate="no">assets/paper/fonts/GoogleSansCode-Regular.ttf</code> and <code translate="no">assets/paper/fonts/GoogleSansCode-Bold.ttf</code>.</li>
<li>Disable the generation with the <code translate="no">paper.og.dynamic</code> option:</li>
</ul>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">paper:</span>
  <span class="hljs-attr">og:</span>
    <span class="hljs-attr">dynamic:</span> <span class="hljs-literal">false</span></code></pre>
<p>Use the <code translate="no">image</code> front matter variable to define the image of a post:</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-meta">---</span>
<span class="hljs-attr">title:</span> <span class="hljs-string">My</span> <span class="hljs-string">post</span>
<span class="hljs-attr">image:</span> <span class="hljs-string">/images/my-post.png</span>
<span class="hljs-meta">---</span></code></pre>
<aside class="note note-info" id="note-info-1">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"/><path d="M12 9h.01"/><path d="M11 12h1v4h1"/></svg>Info</p>
  <p>Generated images are cached: they are generated again only when the title, the author or the site title change.</p>
</aside>]]>
    </content>
  </entry>
  <entry xml:lang="en">
    <id>https://demo.cecil.app/theme-paper/posts/adding-new-posts-in-paper-theme/</id>
    <title>Adding new posts in the Paper theme</title>
    <published>2026-10-22T09:00:00+00:00</published>
    <link href="https://demo.cecil.app/theme-paper/posts/adding-new-posts-in-paper-theme/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>Here are some rules and recommendations, tips &amp; tricks for creating new posts in the Paper blog theme.</p>
<div id="toc"><ul>
<li class="toc-level-2"><a href="#creating-a-blog-post">Creating a blog post</a></li>
<li class="toc-level-2"><a href="#front-matter">Front matter</a></li>
<li class="toc-level-2"><a href="#table-of-contents">Table of contents</a></li>
<li class="toc-level-2"><a href="#headings">Headings</a></li>
<li class="toc-level-2"><a href="#callouts">Callouts</a></li>
<li class="toc-level-2"><a href="#steps-and-accordions">Steps and accordions</a></li>
<li class="toc-level-2"><a href="#code-blocks">Code blocks</a></li>
<li class="toc-level-2"><a href="#images">Images</a></li>
<li class="toc-level-2"><a href="#footnotes">Footnotes</a></li>
</ul>
</div>
<h2 id="creating-a-blog-post">Creating a blog post<a class="heading-anchor" href="#creating-a-blog-post" aria-hidden="true" tabindex="-1"></a></h2>
<p>To write a new blog post, create a Markdown file inside the <code translate="no">pages/posts/</code> directory.</p>
<pre data-lang="plaintext"><code class="language-plaintext hljs plaintext" translate="no">pages/
└── posts/
    ├── _drafts/
    │   └── an-unfinished-post.md
    ├── 2026/
    │   └── example-post.md
    └── adding-new-post.md</code></pre>
<p>The post URL is built from its file name (or its <code translate="no">slug</code>): <code translate="no">pages/posts/adding-new-post.md</code> is published at <code translate="no">/posts/adding-new-post/</code>.</p>
<h2 id="front-matter">Front matter<a class="heading-anchor" href="#front-matter" aria-hidden="true" tabindex="-1"></a></h2>
<p>The front matter is the YAML block at the top of the post:</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Description</th>
<th>Remark</th>
</tr>
</thead>
<tbody>
<tr>
<td><code translate="no">title</code></td>
<td>Title of the post (<code translate="no">h1</code>)</td>
<td>required</td>
</tr>
<tr>
<td><code translate="no">description</code></td>
<td>Description of the post, used in the posts lists and the meta tags</td>
<td>recommended</td>
</tr>
<tr>
<td><code translate="no">date</code></td>
<td>Published date</td>
<td>required</td>
</tr>
<tr>
<td><code translate="no">updated</code></td>
<td>Modified date (displayed instead of <code translate="no">date</code> when more recent)</td>
<td>optional</td>
</tr>
<tr>
<td><code translate="no">author</code></td>
<td>Author of the post</td>
<td>default: <code translate="no">author</code></td>
</tr>
<tr>
<td><code translate="no">tags</code></td>
<td>Tags of the post</td>
<td>optional</td>
</tr>
<tr>
<td><code translate="no">featured</code></td>
<td>Displays the post in the <em>Featured</em> section of the homepage</td>
<td>default: <code translate="no">false</code></td>
</tr>
<tr>
<td><code translate="no">draft</code></td>
<td>Unpublishes the post</td>
<td>default: <code translate="no">false</code></td>
</tr>
<tr>
<td><code translate="no">schedule</code></td>
<td>Publishes the post at a date (<code translate="no">publish</code>) until a date (<code translate="no">expiry</code>)</td>
<td>optional</td>
</tr>
<tr>
<td><code translate="no">image</code></td>
<td>Open Graph image (otherwise an image is generated)</td>
<td>optional</td>
</tr>
<tr>
<td><code translate="no">canonical</code></td>
<td>Canonical URL (<code translate="no">{url: https://…}</code>), if the post is published elsewhere</td>
<td>optional</td>
</tr>
<tr>
<td><code translate="no">hide_edit</code></td>
<td>Hides the <em>Edit page</em> link</td>
<td>default: <code translate="no">false</code></td>
</tr>
</tbody>
</table>
<p>Sample front matter:</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-meta">---</span>
<span class="hljs-attr">title:</span> <span class="hljs-string">The</span> <span class="hljs-string">title</span> <span class="hljs-string">of</span> <span class="hljs-string">the</span> <span class="hljs-string">post</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">Some</span> <span class="hljs-string">description</span> <span class="hljs-string">about</span> <span class="hljs-string">the</span> <span class="hljs-string">post.</span>
<span class="hljs-attr">date:</span> <span class="hljs-number">2026</span><span class="hljs-number">-09</span><span class="hljs-string">-25T04:58:53Z</span>
<span class="hljs-attr">updated:</span> <span class="hljs-number">2026</span><span class="hljs-number">-10</span><span class="hljs-string">-10T12:00:00Z</span>
<span class="hljs-attr">author:</span> <span class="hljs-string">Your</span> <span class="hljs-string">Name</span>
<span class="hljs-attr">featured:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">tags:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">some</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">example</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">tags</span>
<span class="hljs-meta">---</span></code></pre>
<h2 id="table-of-contents">Table of contents<a class="heading-anchor" href="#table-of-contents" aria-hidden="true" tabindex="-1"></a></h2>
<p>Add <code translate="no">[toc]</code> where the table of contents should be displayed (<code translate="no">h2</code> and <code translate="no">h3</code> headings by default).</p>
<h2 id="headings">Headings<a class="heading-anchor" href="#headings" aria-hidden="true" tabindex="-1"></a></h2>
<p>There's one thing to note about headings: the post title is the main heading (<code translate="no">h1</code>), so the rest of the headings should start from <code translate="no">h2</code>.</p>
<h2 id="callouts">Callouts<a class="heading-anchor" href="#callouts" aria-hidden="true" tabindex="-1"></a></h2>
<p>Callouts are Cecil notes:</p>
<pre data-lang="markdown"><code class="language-markdown hljs markdown" translate="no">:::tip
Helpful advice, shortcuts, or best practices.
:::</code></pre>
<aside class="note note-note" id="note-note-1">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4"/><path d="M13.5 6.5l4 4"/></svg>Note</p>
  <p>Supplementary information the reader should be aware of.</p>
</aside>
<aside class="note note-info" id="note-info-2">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"/><path d="M12 9h.01"/><path d="M11 12h1v4h1"/></svg>Info</p>
  <p>Neutral informational context — less urgent than a note.</p>
</aside>
<aside class="note note-tip" id="note-tip-3">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12h1m8 -9v1m8 8h1m-15.4 -6.4l.7 .7m12.1 -.7l-.7 .7"/><path d="M9 16a5 5 0 1 1 6 0a3.5 3.5 0 0 0 -1 3a2 2 0 0 1 -4 0a3.5 3.5 0 0 0 -1 -3"/><path d="M9.7 17l4.6 0"/></svg>Tip</p>
  <p>Helpful advice, shortcuts, or best practices.</p>
</aside>
<aside class="note note-important" id="note-important-4">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 9h8"/><path d="M8 13h6"/><path d="M12.01 18.594l-4.01 2.406v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v5.5"/><path d="M19 16v3"/><path d="M19 22v.01"/></svg>Important</p>
  <p>Crucial information necessary for users to succeed.</p>
</aside>
<aside class="note note-warning" id="note-warning-5">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 9v4"/><path d="M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0z"/><path d="M12 16h.01"/></svg>Warning</p>
  <p>Something that could go wrong or have unintended consequences.</p>
</aside>
<aside class="note note-caution" id="note-caution-6">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8v4"/><path d="M12 16h.01"/><path d="M8.7 3h6.6c.3 0 .5 .1 .7 .3l4.7 4.7c.2 .2 .3 .4 .3 .7v6.6c0 .3 -.1 .5 -.3 .7l-4.7 4.7c-.2 .2 -.4 .3 -.7 .3h-6.6c-.3 0 -.5 -.1 -.7 -.3l-4.7 -4.7c-.2 -.2 -.3 -.4 -.3 -.7v-6.6c0 -.3 .1 -.5 .3 -.7l4.7 -4.7c.2 -.2 .4 -.3 .7 -.3z"/></svg>Caution</p>
  <p>Serious risk of failure, data loss, or incorrect behavior.</p>
</aside>
<aside class="note note-success" id="note-success-7">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12l5 5l10 -10"/></svg>Success</p>
  <p>Confirmation that something worked or is correct.</p>
</aside>
<h2 id="steps-and-accordions">Steps and accordions<a class="heading-anchor" href="#steps-and-accordions" aria-hidden="true" tabindex="-1"></a></h2>
<p>Cecil provides more notes types, such as steps:</p>
<div class="note note-steps" id="note-steps-8">
  <ol class="note-steps-list">
    <li class="note-step">
      <h4>Install the theme</h4>
      <p>Run <code translate="no">composer require cecil/theme-paper</code>.</p>
    </li>
    <li class="note-step">
      <h4>Enable the theme</h4>
      <p>Add <code translate="no">paper</code> to the <code translate="no">theme</code> list.</p>
    </li>
    <li class="note-step">
      <h4>Build</h4>
      <p>Run <code translate="no">php cecil.phar build</code>.</p>
    </li>
  </ol>
</div>
<p>And accordions:</p>
<div class="note note-accordion" id="note-accordion-9">
  <details class="note-accordion-item">
    <summary>What is Cecil?</summary>
    <div class="note-accordion-content">
      <p>Cecil is a CLI application that merges plain text files (written in Markdown), images and Twig templates to generate a static website.</p>
    </div>
  </details>
  <details class="note-accordion-item">
    <summary>What is AstroPaper?</summary>
    <div class="note-accordion-content">
      <p>AstroPaper is a minimal, responsive, accessible and SEO-friendly Astro blog theme, the original of this theme.</p>
    </div>
  </details>
</div>
<h2 id="code-blocks">Code blocks<a class="heading-anchor" href="#code-blocks" aria-hidden="true" tabindex="-1"></a></h2>
<p>Code blocks are highlighted at build time, and a copy button is added:</p>
<pre data-lang="php"><code class="language-php hljs php" translate="no"><span class="hljs-meta">&lt;?php</span>
$builder = <span class="hljs-keyword">new</span> Cecil\Builder($config);
$builder-&gt;build();</code></pre>
<h2 id="images">Images<a class="heading-anchor" href="#images" aria-hidden="true" tabindex="-1"></a></h2>
<p>Images are stored in the <code translate="no">assets/</code> directory, then referenced with an absolute path:</p>
<pre data-lang="markdown"><code class="language-markdown hljs markdown" translate="no">![<span class="hljs-string">A picture of the Paper theme</span>](<span class="hljs-link">/images/paper.png</span>)</code></pre>
<p>Click on an image to zoom it.</p>
<h2 id="footnotes">Footnotes<a class="heading-anchor" href="#footnotes" aria-hidden="true" tabindex="-1"></a></h2>
<p>Footnotes are supported<sup id="fnref1:1"><a href="#fn:1" class="footnote-ref">1</a></sup>.</p>
<div class="footnotes">
<hr>
<ol>
<li id="fn:1">
<p>Here is the footnote.&#160;<a href="#fnref1:1" rev="footnote" class="footnote-backref">&#8617;</a></p>
</li>
</ol>
</div>]]>
    </content>
  </entry>
  <entry xml:lang="en">
    <id>https://demo.cecil.app/theme-paper/posts/how-to-configure-paper-theme/</id>
    <title>How to configure the Paper theme</title>
    <published>2026-10-20T10:00:00+00:00</published>
    <updated>2026-10-25T08:00:00+00:00</updated>
    <link href="https://demo.cecil.app/theme-paper/posts/how-to-configure-paper-theme/" rel="alternate" type="text/html" />
    <content type="html">
      <![CDATA[<p>This guide covers the available configuration options of the Paper theme, a port of <a href="https://github.com/satnaing/astro-paper" rel="noopener noreferrer">AstroPaper</a> for <a href="https://cecil.app" rel="noopener noreferrer">Cecil</a>.</p>
<div id="toc"><ul>
<li class="toc-level-2"><a href="#install-the-theme">Install the theme</a></li>
<li class="toc-level-2"><a href="#site-metadata">Site metadata</a></li>
<li class="toc-level-2"><a href="#theme-options">Theme options</a></li>
<li class="toc-level-2"><a href="#menu">Menu</a></li>
<li class="toc-level-2"><a href="#social-links">Social links</a></li>
<li class="toc-level-2"><a href="#share-links">Share links</a></li>
<li class="toc-level-2"><a href="#edit-page-link">Edit page link</a></li>
<li class="toc-level-2"><a href="#colors">Colors</a></li>
</ul>
</div>
<h2 id="install-the-theme">Install the theme<a class="heading-anchor" href="#install-the-theme" aria-hidden="true" tabindex="-1"></a></h2>
<p>Allow the theme installer plugin, then require the theme with Composer:</p>
<pre data-lang="bash"><code class="language-bash hljs bash" translate="no">composer require cecil/theme-paper</code></pre>
<p>The <a href="https://github.com/Cecilapp/theme-darkmodetoggle" rel="noopener noreferrer">dark mode toggle</a> component theme is installed as a dependency. Declare both themes in the configuration file (<code translate="no">cecil.yml</code>):</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">theme:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">paper</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">darkmodetoggle</span></code></pre>
<aside class="note note-tip" id="note-tip-1">
  <p class="note-title"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12h1m8 -9v1m8 8h1m-15.4 -6.4l.7 .7m12.1 -.7l-.7 .7"/><path d="M9 16a5 5 0 1 1 6 0a3.5 3.5 0 0 0 -1 3a2 2 0 0 1 -4 0a3.5 3.5 0 0 0 -1 -3"/><path d="M9.7 17l4.6 0"/></svg>Tip</p>
  <p>Install the <a href="https://github.com/Cecilapp/theme-flexsearch" rel="noopener noreferrer">FlexSearch</a> component theme to add a search button in the header: <code translate="no">composer require cecil/theme-flexsearch</code>, then add <code translate="no">flexsearch</code> at the top of the <code translate="no">theme</code> list.</p>
</aside>
<h2 id="site-metadata">Site metadata<a class="heading-anchor" href="#site-metadata" aria-hidden="true" tabindex="-1"></a></h2>
<p>Paper relies on the standard Cecil configuration for the site metadata, used by the built-in metatags (title, description, Open Graph, Twitter cards, JSON-LD) and by the feeds:</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">title:</span> <span class="hljs-string">Paper</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">A</span> <span class="hljs-string">minimal,</span> <span class="hljs-string">responsive</span> <span class="hljs-string">and</span> <span class="hljs-string">SEO-friendly</span> <span class="hljs-string">Cecil</span> <span class="hljs-string">blog</span> <span class="hljs-string">theme.</span>
<span class="hljs-attr">baseurl:</span> <span class="hljs-string">https://example.com/</span>
<span class="hljs-attr">author:</span>
  <span class="hljs-attr">name:</span> <span class="hljs-string">Your</span> <span class="hljs-string">Name</span>
  <span class="hljs-attr">url:</span> <span class="hljs-string">https://example.com/about/</span>
<span class="hljs-attr">language:</span> <span class="hljs-string">en</span></code></pre>
<h2 id="theme-options">Theme options<a class="heading-anchor" href="#theme-options" aria-hidden="true" tabindex="-1"></a></h2>
<p>All the options are namespaced under <code translate="no">paper</code>, with these default values:</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">paper:</span>
  <span class="hljs-attr">posts:</span>
    <span class="hljs-attr">section:</span> <span class="hljs-string">posts</span> <span class="hljs-comment"># section containing the blog posts</span>
    <span class="hljs-attr">home:</span> <span class="hljs-number">4</span>        <span class="hljs-comment"># number of recent posts displayed on the homepage</span>
  <span class="hljs-attr">dir:</span> <span class="hljs-string">ltr</span>         <span class="hljs-comment"># text direction: ltr or rtl</span>
  <span class="hljs-attr">archives:</span> <span class="hljs-literal">true</span>   <span class="hljs-comment"># displays the archives link in the header</span>
  <span class="hljs-attr">back_button:</span> <span class="hljs-literal">true</span> <span class="hljs-comment"># displays the "Go back" button on posts</span>
  <span class="hljs-attr">edit:</span>
    <span class="hljs-attr">url:</span> <span class="hljs-string">''</span>        <span class="hljs-comment"># e.g.: https://github.com/&lt;user&gt;/&lt;repo&gt;/edit/main/pages/</span>
  <span class="hljs-attr">og:</span>
    <span class="hljs-attr">dynamic:</span> <span class="hljs-literal">true</span>  <span class="hljs-comment"># generates Open Graph images of posts without `image`</span></code></pre>
<p>The number of posts per page is the Cecil pagination option (4 by default with Paper):</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">pages:</span>
  <span class="hljs-attr">pagination:</span>
    <span class="hljs-attr">max:</span> <span class="hljs-number">4</span></code></pre>
<h2 id="menu">Menu<a class="heading-anchor" href="#menu" aria-hidden="true" tabindex="-1"></a></h2>
<p>The header menu is the Cecil <code translate="no">main</code> menu. Paper defines the <em>Posts</em> and <em>Tags</em> entries, add your own entries (or pages with <code translate="no">menu: main</code> in their front matter):</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">menus:</span>
  <span class="hljs-attr">main:</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">{id:</span> <span class="hljs-string">about,</span> <span class="hljs-attr">name:</span> <span class="hljs-string">About,</span> <span class="hljs-attr">url:</span> <span class="hljs-string">about,</span> <span class="hljs-attr">weight:</span> <span class="hljs-number">30</span><span class="hljs-string">}</span></code></pre>
<p>The archives link, the search button (with FlexSearch) and the light/dark toggle are always displayed after the menu entries.</p>
<h2 id="social-links">Social links<a class="heading-anchor" href="#social-links" aria-hidden="true" tabindex="-1"></a></h2>
<p>Social links are displayed in the footer and on the homepage:</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">paper:</span>
  <span class="hljs-attr">socials:</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">{name:</span> <span class="hljs-string">github,</span> <span class="hljs-attr">url:</span> <span class="hljs-string">'https://github.com/username'</span><span class="hljs-string">}</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">{name:</span> <span class="hljs-string">x,</span> <span class="hljs-attr">url:</span> <span class="hljs-string">'https://x.com/username'</span><span class="hljs-string">}</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">{name:</span> <span class="hljs-string">linkedin,</span> <span class="hljs-attr">url:</span> <span class="hljs-string">'https://www.linkedin.com/in/username/'</span><span class="hljs-string">}</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">{name:</span> <span class="hljs-string">mail,</span> <span class="hljs-attr">url:</span> <span class="hljs-string">'mailto:yourmail@example.com'</span><span class="hljs-string">}</span></code></pre>
<p>Available icons are <code translate="no">github</code>, <code translate="no">x</code>, <code translate="no">linkedin</code>, <code translate="no">facebook</code>, <code translate="no">telegram</code>, <code translate="no">whatsapp</code>, <code translate="no">pinterest</code> and <code translate="no">mail</code>. Add your own SVG icons in <code translate="no">assets/paper/icons/&lt;name&gt;.svg</code>. The link title can be customized with the <code translate="no">title</code> key.</p>
<h2 id="share-links">Share links<a class="heading-anchor" href="#share-links" aria-hidden="true" tabindex="-1"></a></h2>
<p>Posts display share links (WhatsApp, Facebook, X, Telegram, Pinterest and email by default). Customize them, or disable them with <code translate="no">false</code>:</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">paper:</span>
  <span class="hljs-attr">share:</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">{name:</span> <span class="hljs-string">x,</span> <span class="hljs-attr">url:</span> <span class="hljs-string">'https://x.com/intent/post?url='</span><span class="hljs-string">}</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">{name:</span> <span class="hljs-string">mail,</span> <span class="hljs-attr">url:</span> <span class="hljs-string">'mailto:?subject=See%20this%20post&amp;body='</span><span class="hljs-string">}</span></code></pre>
<h2 id="edit-page-link">Edit page link<a class="heading-anchor" href="#edit-page-link" aria-hidden="true" tabindex="-1"></a></h2>
<p>Set the URL of your repository to display an <em>Edit page</em> link on posts, followed by the path of the Markdown file relative to the <code translate="no">pages</code> directory:</p>
<pre data-lang="yaml"><code class="language-yaml hljs yaml" translate="no"><span class="hljs-attr">paper:</span>
  <span class="hljs-attr">edit:</span>
    <span class="hljs-attr">url:</span> <span class="hljs-string">https://github.com/username/repository/edit/main/pages/</span></code></pre>
<p>Hide it on a post with <code translate="no">hide_edit: true</code> in the front matter.</p>
<h2 id="colors">Colors<a class="heading-anchor" href="#colors" aria-hidden="true" tabindex="-1"></a></h2>
<p>Colors are CSS custom properties: override them in a stylesheet of your site, loaded after the theme one (extend the <code translate="no">head_css</code> block of the <code translate="no">page.html.twig</code> layout):</p>
<pre data-lang="css"><code class="language-css hljs css" translate="no"><span class="hljs-selector-pseudo">:root</span>,
<span class="hljs-selector-attr">[data-theme=<span class="hljs-string">'light'</span>]</span> {
  <span class="hljs-attribute">--background</span>: <span class="hljs-number">#fdfdfd</span>;
  <span class="hljs-attribute">--foreground</span>: <span class="hljs-number">#282728</span>;
  <span class="hljs-attribute">--accent</span>: <span class="hljs-number">#006cac</span>;
  <span class="hljs-attribute">--accent-foreground</span>: <span class="hljs-number">#ffffff</span>;
  <span class="hljs-attribute">--muted</span>: <span class="hljs-number">#e6e6e6</span>;
  <span class="hljs-attribute">--muted-foreground</span>: <span class="hljs-number">#6b7280</span>;
  <span class="hljs-attribute">--border</span>: <span class="hljs-number">#ece9e9</span>;
}

<span class="hljs-selector-attr">[data-theme=<span class="hljs-string">'dark'</span>]</span> {
  <span class="hljs-attribute">--background</span>: <span class="hljs-number">#212737</span>;
  <span class="hljs-attribute">--foreground</span>: <span class="hljs-number">#eaedf3</span>;
  <span class="hljs-attribute">--accent</span>: <span class="hljs-number">#ff6b01</span>;
  <span class="hljs-attribute">--accent-foreground</span>: <span class="hljs-number">#ffffff</span>;
  <span class="hljs-attribute">--muted</span>: <span class="hljs-number">#343f60</span>;
  <span class="hljs-attribute">--muted-foreground</span>: <span class="hljs-number">#afb9ca</span>;
  <span class="hljs-attribute">--border</span>: <span class="hljs-number">#ab4b08</span>;
}</code></pre>
<p>The font can be changed with the <code translate="no">--paper-font</code> custom property.</p>]]>
    </content>
  </entry>
</feed>
