<liitemscopeitemtype="https://schema.org/ListItem"itemprop="itemListElement"class="a11y-only"><aitemprop="item"href="/hugo-theme-relearn/pir/index.html"><spanitemprop="name">Cap'n Hugo Relearrrn Theme</span></a><metaitemprop="position"content="1"> > </li>
<p>This chapter contains informat'n only needed fer development an' maintain'n th' theme.</p>
<divclass="children children-h2 children-sort-">
<h2class="children-title"id="contributing"><ahref="/hugo-theme-relearn/pir/development/contributing/index.html">Contribut'n</a></h2><p>What t' know if ye want t' contribute</p>
<h2class="children-title"id="maintaining"><ahref="/hugo-theme-relearn/pir/development/maintaining/index.html">Maintain'n</a></h2><p>What t' know as a maintainer</p>
<h2class="children-title"id="screenshots"><ahref="/hugo-theme-relearn/pir/development/screenshots/index.html">Screenshots</a></h2><p>Recipe t' create various documentat'n screenshots</p>
<p>A new release can happen at any time from th' <code>main</code> branch o' th' <ahref="https://github.com/McShelby/hugo-theme-relearn"rel="external"target="_self">GitHub project</a> without further acknowledgment. This makes it necessary that, every pushed set o' changesets into th' <code>main</code> branch <strong>must</strong> be self-contained an' correct, result'n 'n a releas'ble version.</p>
<p>Stay simple fer th' user by focus'n on th' mantra “convent'n over configuration”.</p>
<p>At installat'n th' ship should work reason'ble without (m)any configurat'n.</p>
<p>Stay close t' th' Cap'n Hugo way.</p>
<p>Don’t use npm or any preprocess'n, our contributors may not be front-end developers.</p>
<p>Document new features 'n th' docs. This also contains entries t' th' <ahref="/hugo-theme-relearn/pir/introduction/releasenotes/index.html">What’s new</a> plank.</p>
<p>Don’t break exist'n features if ye don’t have t'.</p>
<p>Remove reported issue from th' browser’s console.</p>
<p>Check fer unnecessary whitespace an' correct indent'n o' yer result'n HTML.</p>
<p>This project tries t' follow th' <ahref="https://semver.org/"rel="external"target="_self">semver policy</a> - although not followed 100% 'n th' past.</p>
<p>Usually an entry o' <spanclass="badge cstyle warning badge-with-title"><spanclass="badge-title"><iclass="fa-fw fas fa-exclamation-triangle"></i></span><spanclass="badge-content">Break'n</span></span> on th' <ahref="/hugo-theme-relearn/pir/introduction/releasenotes/index.html">What’s new</a> plank causes a new major release number.</p>
<p>All other entries on th' <ahref="/hugo-theme-relearn/pir/introduction/releasenotes/index.html">What’s new</a> plank will increase th' minor release number.</p>
<p>Releases result'n 'n a new major or minor number be called main release.</p>
<p>Releases contain'n bugfixes only, be only increas'n th' patch release number. Those releases don’t result 'n announcements on th' <ahref="/hugo-theme-relearn/pir/introduction/releasenotes/index.html">What’s new</a> plank.</p>
<p>Entries on th' <ahref="/hugo-theme-relearn/pir/introduction/releasenotes/index.html">What’s new</a> plank be checked an' enforced dur'n th' <code>version-release</code> GitHub Act'n.</p>
<h2id="managing-issues">Manag'n Issues</h2>
<p>Issues be categorized an' managed by assign'n <ahref="/hugo-theme-relearn/pir/development/maintaining/index.html#labels">labels</a> t' it.</p>
<p>Once work'n on an issue, assign it t' a fitt'n maintainer.</p>
<p>When done, close th' ticket. Once an issue be closed, it needs t' be assigned t' next release milestone.</p>
<p>A once released ticket be not allowed t' be reopened an' rereleased 'n a different milestone. This would cause th' changelog t' be changed even fer th' milestone th' issue was previously released 'n. Instead write a new ticket.</p>
<p>If th' issue would cause a new main release due t' <ahref="/hugo-theme-relearn/pir/development/maintaining/index.html#semver">semver semantics</a> it needs one o' th' accord'n labels an' th' match'n badge on th' <ahref="/hugo-theme-relearn/pir/introduction/releasenotes/index.html">What’s new</a> plank.</p>
<p>Ye can assign one further label out o' th' follow'n list t' signal readers that development on an open issue be currently halted fer different reasons.</p>
<td>This be a topic related t' Merrrmaid itself but not th' theme</td>
</tr>
</tbody>
</table>
<h2id="setting-up-a-development-environment">Sett'n Up a Development Environment</h2>
<p>Git Hooks be used t' automate some tasks. They be stored 'n th' <code>.githooks</code> root folder.</p>
<p>Documentat'n fer each hook be contained 'n each file.</p>
<p>At least th' <code>pre-commit</code> hook be required, as it updates th' version number on each commit. This helps t' help debugg'n o' user related issues.</p>
<h2id="making-releases">Mak'n Releases</h2>
<p>A release be based on a milestone named like th' release itself - just th' version number, eg: <code>1.2.3</code>. It’s 'n th' maintainers responsibility t' check <ahref="/hugo-theme-relearn/pir/development/maintaining/index.html#semver">semver semantics</a> o' th' milestone’s name prior t' release an' change it if necessary.</p>
<p>Mak'n releases be automated by th' <code>version-release</code> GitHub Act'n. It requires th' version number o' th' milestone that should be released. Th' release will be created from th' <code>main</code> branch o' th' repository.</p>
<p>Treat released milestones as immutable. Don’t rerelease an already released milestone. An already released milestone may already been consumed by yer users.</p>
<p>Dur'n execut'n o' th' act'n a few th'ns be checked. If a check fails th' act'n fails, result'n 'n no new release. Ye can correct th' errors afterwards an' rerun th' act'n.</p>
<p>Th' follow'n checks will be enforced</p>
<ul>
<li>th' milestone exists</li>
<li>there be at least one closed issue assigned t' th' milestone</li>
<li>all assigned issues fer this milestone be closed</li>
<li>if it’s a main release, there must be an accompany'n releasenotes file present 'n th' repo at <code>introduction/releasenotes/<major>/<minor>.en.md</code></li>
</ul>
<p>Aft a successful run o' th' act'n</p>
<ul>
<li>th' changelog at <code>introduction/changelog/<major>/<minor>/<patch>.<lang>.md</code> be created fer english an' piratish, includ'n miss'n generic upper level files</li>
<li>th' <code>CHANGELOG.md</code> be updated</li>
<li>th' releasenotes at <code>introduction/releasenotes/<major>/<minor>.en.md</code> be updated, includ'n release version an' release date</li>
<li>miss'n generic upper level files fer english an' piratish be created</li>
<li>th' version number fer th' <code><meta generator></code> be updated</li>
<li>th' updated files be committed</li>
<li>th' milestone be closed</li>
<li>th' repository be tagged wit' th' version number (eg. <code>1.2.3</code>), th' main version number (eg. <code>1.2.x</code>) an' th' major version number (eg. <code>1.x</code>)</li>
<li>a new entry 'n th' <ahref="https://github.com/McShelby/hugo-theme-relearn/releases"rel="external"target="_self">GitHub release list</a> wit' th' accord'n changelog will be created</li>
<li>th' <ahref="https://mcshelby.github.io/hugo-theme-relearn/"rel="external"target="_self">official documentat'n</a> be built an' deployed</li>
<li>th' version number fer th' <code><meta generator></code> be updated t' a temporary an' committed (this helps t' determine if users be runn'n directly on th' main branch or be us'n releases)</li>
<li>a new milestone fer th' next patch release be created (this can later be renamed t' a main release if necessary)</li>
<p>Sometimes screenshots need t' be redone. This plank explains how t' create th' different screenshots, tools an' sett'ns</p>
<h2id="common">Common</h2>
<p><strong>Creat'n</strong>:</p>
<ul>
<li>Use English translat'n</li>
<li>Empty search</li>
<li>Remove history checkmarks but leave it on th' plank thats used fer th' screenshot</li>
<li>Aft resize o' th' plank into th' required resolut'n, reload th' plank t' have all scrollbars 'n default load'n posit'n</li>
</ul>
<h2id="demo-screenshot">Demo Screenshot</h2>
<p><strong>Rrrambl'n</strong>:</p>
<p>A meaningful full-screen screenshot o' an interest'n plank.</p>
<p>Th' rrrambl'n should be:</p>
<ul>
<li>timeless: not show'n any dates or often edited rrrambl'n</li>
<li>interest'n: show a bunch o' interest'n elements like head'ns, code, etc</li>
<li>balanced: no clutter'n wit' overpresent elements or color'n</li>
<li>aligned: aligned outlines</li>
</ul>
<p><strong>Used by</strong>:</p>
<ul>
<li>Cap'n Hugo Themes info: <ahref="https://themes.gohugo.io/themes/hugo-theme-relearn/"rel="external"target="_self">https://themes.gohugo.io/themes/hugo-theme-relearn/</a><em>1000 x 1500 @ 1</em> (<code>images/screenshot.png</code>)</li>
<li>Cap'n Hugo Themes gallery: <ahref="https://themes.gohugo.io/tags/docs/"rel="external"target="_self">https://themes.gohugo.io/tags/docs/</a><em>900 x 600</em> @ 1 (<code>images/tn.png</code>)</li>
<p>Show th' <ahref="/hugo-theme-relearn/pir/development/screenshots/index.html#demo-screenshot">Demo Screenshot</a> plank on different devices an' different themes. Composit'n o' th' different device screenshots into a template.</p>
<p>Th' rrrambl'n should be:</p>
<ul>
<li>consistent: always use th' same plank fer all devices</li>
<li>pleas'n: use a delightful background</li>
</ul>
<p><strong>Used by</strong>:</p>
<ul>
<li>Cap'n Hugo Themes notes: <ahref="https://themes.gohugo.io/themes/hugo-theme-relearn/"rel="external"target="_self">https://themes.gohugo.io/themes/hugo-theme-relearn/</a><em>1280 x 640</em></li>
<li>GitHub project ship: <ahref="https://github.com/McShelby/hugo-theme-relearn"rel="external"target="_self">https://github.com/McShelby/hugo-theme-relearn</a><em>1280 x 640</em></li>
<li>GitHub social media preview: <ahref="https://github.com/McShelby/hugo-theme-relearn/settings"rel="external"target="_self">https://github.com/McShelby/hugo-theme-relearn/sett'ns</a><em>1280 x 640</em></li>
<li>Desktop: light theme <em>1440 x 900 @ 1</em></li>
<li>Tablet: light theme <em>778 x 1038 @ 1</em></li>
<li>Phone: dark theme <em>450 x 801 @ .666</em></li>
<li>From original template resize t' <em>3000 x 1500</em> offset y: <em>-330</em>, scale t' <em>1280 x 640</em> an' save as <code>images/hero.png</code></li>