<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
    <meta name="generator" content="Hugo 0.110.0">
    <meta name="generator" content="Relearn 5.10.2+tip">
    <meta name="robots" content="noindex, nofollow, noarchive, noimageindex">
    <meta name="description" content="What to know if you want to contribute">
    <meta name="author" content="Sören Weber">
    <title>Contributing :: Hugo Relearn Theme</title>
    <link href="https://McShelby.github.io/hugo-theme-relearn/dev/contributing/index.html" rel="alternate" hreflang="x-default">
    <link href="https://McShelby.github.io/hugo-theme-relearn/dev/contributing/index.html" rel="alternate" hreflang="en">
    <link href="https://McShelby.github.io/hugo-theme-relearn/pir/dev/contributing/index.html" rel="alternate" hreflang="pir">
    <link href="../../images/logo.svg?1675472865" rel="icon" type="image/svg+xml">
    <!-- https://github.com/filamentgroup/loadCSS/blob/master/README.md#how-to-use -->
    <link href="../../css/fontawesome-all.min.css?1675472867" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/fontawesome-all.min.css?1675472867" rel="stylesheet"></noscript>
    <link href="../../css/auto-complete.css?1675472867" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/auto-complete.css?1675472867" rel="stylesheet"></noscript>
    <link href="../../css/perfect-scrollbar.min.css?1675472867" rel="stylesheet">
    <link href="../../css/nucleus.css?1675472867" rel="stylesheet">
    <link href="../../css/fonts.css?1675472867" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="../../css/fonts.css?1675472867" rel="stylesheet"></noscript>
    <link href="../../css/theme.css?1675472867" rel="stylesheet">
    <link href="../../css/theme-relearn-light.css?1675472867" rel="stylesheet" id="variant-style">
    <link href="../../css/ie.css?1675472867" rel="stylesheet">
    <link href="../../css/variant.css?1675472867" rel="stylesheet">
    <link href="../../css/print.css?1675472867" rel="stylesheet" media="print">
    <link href="../../css/format-print.css?1675472867" rel="stylesheet">
    <script src="../../js/url.js?1675472867"></script>
    <script src="../../js/variant.js?1675472867"></script>
    <script>
      // hack to let hugo tell us how to get to the root when using relativeURLs, it needs to be called *url= for it to do its magic:
      // https://github.com/gohugoio/hugo/blob/145b3fcce35fbac25c7033c91c1b7ae6d1179da8/transform/urlreplacers/absurlreplacer.go#L72
      window.index_js_url="../../index.search.js";
      var root_url="../../";
      var baseUri=root_url.replace(/\/$/, '');
      // translations
      window.T_Copy_to_clipboard = 'Copy to clipboard';
      window.T_Copied_to_clipboard = 'Copied to clipboard!';
      window.T_Copy_link_to_clipboard = 'Copy link to clipboard';
      window.T_Link_copied_to_clipboard = 'Copied link to clipboard!';
      window.T_No_results_found = 'No results found for \u0022{0}\u0022';
      window.T_N_results_found = '{1} results found for \u0022{0}\u0022';
      // some further base stuff
      var baseUriFull='https:\/\/McShelby.github.io\/hugo-theme-relearn/';
      window.variants && variants.init( [ 'relearn-light', 'relearn-dark', 'learn', 'neon', 'blue', 'green', 'red' ] );
    </script>
    <style>
      #body img.bg-white {
        background-color: white;
      }
    </style>
  </head>
  <body class="mobile-support print disableInlineCopyToClipboard" data-url="../../dev/contributing/index.html">
    <div id="body" class="default-animation">
      <div id="sidebar-overlay"></div>
      <div id="toc-overlay"></div>
      <nav id="topbar" class="highlightable" dir="ltr">
        <div>
          <div id="breadcrumbs">
            <span id="sidebar-toggle-span">
              <a href="#" id="sidebar-toggle" title='Menu (CTRL+ALT+n)'><i class="fas fa-bars fa-fw"></i></a>
            </span>
            <ol class="links" itemscope itemtype="http://schema.org/BreadcrumbList">
              <li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="../../index.html"><span itemprop="name">Hugo Relearn Theme</span></a><meta itemprop="position" content="1"> > </li>
              <li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="../../dev/index.html"><span itemprop="name">Development</span></a><meta itemprop="position" content="2"> > </li>
              <li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><span itemprop="name">Contributing</span><meta itemprop="position" content="3"></li>
            </ol>
          </div>
        </div>
      </nav>
      <main id="body-inner" class="highlightable default" tabindex="-1">
        <div class="flex-block-wrapper">
          <div id="head-tags">
          </div>
          <article class="default">
<h1 id="contributing">Contributing</h1>

<h2 id="code-quality">Code Quality</h2>
<p>A new release can happen at any time from the <code>main</code> branch of the <a href="https://github.com/McShelby/hugo-theme-relearn" target="_blank">GitHub project</a> without further accknowledgment. This makes it necessary that, every pushed set of changesets into the <code>main</code> branch <strong>must</strong> be self-contained and correct, resulting in a releasable version.</p>
<p>Stay simple for the user by focusing on the mantra &ldquo;convention over configuration&rdquo;.</p>
<p>At installation the site should work reasonable without (m)any configuration.</p>
<p>Stay close to the Hugo way.</p>
<p>Don&rsquo;t use npm or any preprocessing, our contributors may not be front-end developers.</p>
<p>Document new features in the exampleSite. This also contains entries to the <a href="../../basics/migration/">What&rsquo;s new</a> page.</p>
<p>Don&rsquo;t break existing features if you don&rsquo;t have to.</p>
<p>Remove reported issue from the browser&rsquo;s console.</p>
<p>Check for unnecessary whitespace and correct indention of your resulting HTML.</p>
<p>Be compatible to IE11, at least for main functionality, this means:</p>
<ul>
<li>test in IE11</li>
<li>check caniuse.com</li>
<li>don&rsquo;t use JavaScript arrow functions</li>
<li>don&rsquo;t use JavaScript template literals</li>
<li>don&rsquo;t use other fancy JavaScript ES5/6 stuff</li>
</ul>
<h2 id="conventional-commits">Conventional Commits</h2>
<p>Write commit messages in the <a href="https://www.conventionalcommits.org/en/v1.0.0/" target="_blank">conventional commit</a> format.</p>
<p>Following is an impomplete list of some of the used conventional commit types. Be creative.</p>
<table>
<thead>
<tr>
<th>Common</th>
<th>Feature</th>
<th>Structure</th>
<th>Shortcodes</th>
</tr>
</thead>
<tbody>
<tr>
<td>build</td>
<td>a11y</td>
<td>favicon</td>
<td>attachments</td>
</tr>
<tr>
<td>browser</td>
<td>archetypes</td>
<td>search</td>
<td>badge</td>
</tr>
<tr>
<td>chore</td>
<td>alias</td>
<td>menu</td>
<td>button</td>
</tr>
<tr>
<td>docs</td>
<td>generator</td>
<td>history</td>
<td>children</td>
</tr>
<tr>
<td>shortcodes</td>
<td>i18n</td>
<td>scrollbar</td>
<td>expand</td>
</tr>
<tr>
<td>theme</td>
<td>mobile</td>
<td>nav</td>
<td>icon</td>
</tr>
<tr>
<td></td>
<td>print</td>
<td>toc</td>
<td>include</td>
</tr>
<tr>
<td></td>
<td>rss</td>
<td>clipboard</td>
<td>math</td>
</tr>
<tr>
<td></td>
<td>variant</td>
<td>syntaxhighlight</td>
<td>mermaid</td>
</tr>
<tr>
<td></td>
<td></td>
<td>boxes</td>
<td>notice</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>piratify</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>siteparam</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>swagger</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>tabs</td>
</tr>
</tbody>
</table>

            <footer class="footline">
            </footer>
          </article>
        </div>
      </main>
    </div>
    <script src="../../js/clipboard.min.js?1675472867" defer></script>
    <script src="../../js/perfect-scrollbar.min.js?1675472867" defer></script>
    <script src="../../js/theme.js?1675472867" defer></script>
  </body>
</html>