mirror of
https://github.com/McShelby/hugo-theme-relearn.git
synced 2024-11-23 15:57:57 +00:00
278 lines
19 KiB
HTML
278 lines
19 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" dir="ltr" itemscope itemtype="http://schema.org/Article">
|
|
<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.136.5">
|
|
<meta name="generator" content="Relearn 7.1.0">
|
|
<meta name="description" content="Extending page designs">
|
|
<meta name="author" content="Sören Weber">
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:image" content="https://mcshelby.github.io/hugo-theme-relearn/images/hero.png">
|
|
<meta name="twitter:title" content="Page Designs :: Hugo Relearn Theme">
|
|
<meta name="twitter:description" content="Extending page designs">
|
|
<meta property="og:url" content="https://mcshelby.github.io/hugo-theme-relearn/configuration/customization/designs/index.html">
|
|
<meta property="og:site_name" content="Hugo Relearn Theme">
|
|
<meta property="og:title" content="Page Designs :: Hugo Relearn Theme">
|
|
<meta property="og:description" content="Extending page designs">
|
|
<meta property="og:locale" content="en">
|
|
<meta property="og:type" content="article">
|
|
<meta property="article:section" content="Configuration">
|
|
<meta property="og:image" content="https://mcshelby.github.io/hugo-theme-relearn/images/hero.png">
|
|
<meta itemprop="name" content="Page Designs :: Hugo Relearn Theme">
|
|
<meta itemprop="description" content="Extending page designs">
|
|
<meta itemprop="wordCount" content="352">
|
|
<meta itemprop="image" content="https://mcshelby.github.io/hugo-theme-relearn/images/hero.png">
|
|
<meta itemprop="keywords" content="Explanation,Howto">
|
|
<title>Page Designs :: Hugo Relearn Theme</title>
|
|
<link href="https://mcshelby.github.io/hugo-theme-relearn/configuration/customization/designs/index.html" rel="alternate" hreflang="x-default">
|
|
<link href="https://mcshelby.github.io/hugo-theme-relearn/configuration/customization/designs/index.html" rel="alternate" hreflang="en">
|
|
<link href="https://mcshelby.github.io/hugo-theme-relearn/pir/configuration/customization/designs/index.html" rel="alternate" hreflang="art-x-pir">
|
|
<link href="https://mcshelby.github.io/hugo-theme-relearn/configuration/customization/designs/index.html" rel="canonical" type="text/html" title="Page Designs :: Hugo Relearn Theme">
|
|
<link href="/hugo-theme-relearn/configuration/customization/designs/index.xml" rel="alternate" type="application/rss+xml" title="Page Designs :: Hugo Relearn Theme">
|
|
<link href="/hugo-theme-relearn/images/logo.svg?1729808080" rel="icon" type="image/svg+xml">
|
|
<link href="/hugo-theme-relearn/css/fontawesome-all.min.css?1729808080" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/hugo-theme-relearn/css/fontawesome-all.min.css?1729808080" rel="stylesheet"></noscript>
|
|
<link href="/hugo-theme-relearn/css/nucleus.css?1729808080" rel="stylesheet">
|
|
<link href="/hugo-theme-relearn/css/auto-complete.css?1729808080" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/hugo-theme-relearn/css/auto-complete.css?1729808080" rel="stylesheet"></noscript>
|
|
<link href="/hugo-theme-relearn/css/perfect-scrollbar.min.css?1729808080" rel="stylesheet">
|
|
<link href="/hugo-theme-relearn/css/fonts.css?1729808080" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/hugo-theme-relearn/css/fonts.css?1729808080" rel="stylesheet"></noscript>
|
|
<link href="/hugo-theme-relearn/css/theme.css?1729808080" rel="stylesheet">
|
|
<link href="/hugo-theme-relearn/css/theme-relearn-auto.css?1729808080" rel="stylesheet" id="R-variant-style">
|
|
<link href="/hugo-theme-relearn/css/chroma-relearn-auto.css?1729808080" rel="stylesheet" id="R-variant-chroma-style">
|
|
<link href="/hugo-theme-relearn/css/print.css?1729808080" rel="stylesheet" media="print">
|
|
<link href="/hugo-theme-relearn/css/format-print.css?1729808080" rel="stylesheet">
|
|
<script src="/hugo-theme-relearn/js/variant.js?1729808080"></script>
|
|
<script>
|
|
window.relearn = window.relearn || {};
|
|
window.relearn.relBasePath='..\/..\/..';
|
|
window.relearn.relBaseUri='..\/..\/..\/..';
|
|
window.relearn.absBaseUri='https:\/\/mcshelby.github.io\/hugo-theme-relearn';
|
|
window.relearn.disableAnchorCopy=false;
|
|
window.relearn.disableAnchorScrolling=false;
|
|
// variant stuff
|
|
window.variants && variants.init( [ 'relearn-auto', 'relearn-light', 'relearn-dark', 'relearn-bright', 'zen-auto', 'zen-light', 'zen-dark', 'retro-auto', 'neon', 'learn', 'blue', 'green', 'red' ] );
|
|
// 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_Reset_view = `Reset view`;
|
|
window.T_View_reset = `View reset!`;
|
|
window.T_No_results_found = `No results found for "{0}"`;
|
|
window.T_N_results_found = `{1} results found for "{0}"`;
|
|
</script>
|
|
<style>
|
|
#R-body img.bg-white {
|
|
background-color: white;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="mobile-support print disableInlineCopyToClipboard" data-url="/hugo-theme-relearn/configuration/customization/designs/index.html">
|
|
<div id="R-body" class="default-animation">
|
|
<div id="R-body-overlay"></div>
|
|
<nav id="R-topbar">
|
|
<div class="topbar-wrapper">
|
|
<div class="topbar-sidebar-divider"></div>
|
|
<div class="topbar-area topbar-area-start" data-area="start">
|
|
<div class="topbar-button topbar-button-sidebar" data-content-empty="disable" data-width-s="show" data-width-m="hide" data-width-l="hide"><button class="topbar-control" onclick="toggleNav()" type="button" title="Menu (CTRL+ALT+n)"><i class="fa-fw fas fa-bars"></i></button>
|
|
</div>
|
|
<div class="topbar-button topbar-button-toc" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="Table of Contents (CTRL+ALT+t)"><i class="fa-fw fas fa-list-alt"></i></button>
|
|
<div class="topbar-content">
|
|
<div class="topbar-content-wrapper">
|
|
<nav class="TableOfContents">
|
|
<ul>
|
|
<li><a href="#using-a-page-design">Using a Page Design</a></li>
|
|
<li><a href="#creating-a-page-designs">Creating a Page Designs</a>
|
|
<ul>
|
|
<li><a href="#partials">Partials</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<ol class="topbar-breadcrumbs breadcrumbs highlightable" itemscope itemtype="http://schema.org/BreadcrumbList"><li
|
|
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="/hugo-theme-relearn/configuration/index.html"><span itemprop="name">Configuration</span></a><meta itemprop="position" content="1"> > </li><li
|
|
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><a itemprop="item" href="/hugo-theme-relearn/configuration/customization/index.html"><span itemprop="name">Customization</span></a><meta itemprop="position" content="2"> > </li><li
|
|
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement"><span itemprop="name">Page Designs</span><meta itemprop="position" content="3"></li>
|
|
</ol>
|
|
<div class="topbar-area topbar-area-end" data-area="end">
|
|
<div class="topbar-button topbar-button-edit" data-content-empty="disable" data-width-s="area-more" data-width-m="show" data-width-l="show"><a class="topbar-control" href="https://github.com/McShelby/hugo-theme-relearn/edit/main/exampleSite/content/configuration/customization/designs/index.en.md" target="_self" title="Edit (CTRL+ALT+w)"><i class="fa-fw fas fa-pen"></i></a>
|
|
</div>
|
|
<div class="topbar-button topbar-button-print" data-content-empty="disable" data-width-s="area-more" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/hugo-theme-relearn/configuration/customization/designs/index.print.html" title="Print whole chapter (CTRL+ALT+p)"><i class="fa-fw fas fa-print"></i></a>
|
|
</div>
|
|
<div class="topbar-button topbar-button-prev" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/hugo-theme-relearn/configuration/customization/topbar/index.html" title="Topbar (🡐)"><i class="fa-fw fas fa-chevron-left"></i></a>
|
|
</div>
|
|
<div class="topbar-button topbar-button-next" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show"><a class="topbar-control" href="/hugo-theme-relearn/configuration/customization/outputformats/index.html" title="Output Formats (🡒)"><i class="fa-fw fas fa-chevron-right"></i></a>
|
|
</div>
|
|
<div class="topbar-button topbar-button-more" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show"><button class="topbar-control" onclick="toggleTopbarFlyout(this)" type="button" title="More"><i class="fa-fw fas fa-ellipsis-v"></i></button>
|
|
<div class="topbar-content">
|
|
<div class="topbar-content-wrapper">
|
|
<div class="topbar-area topbar-area-more" data-area="more">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div id="R-main-overlay"></div>
|
|
<main id="R-body-inner" class="highlightable configuration" tabindex="-1">
|
|
<div class="flex-block-wrapper">
|
|
<article class="default">
|
|
<header class="headline">
|
|
</header>
|
|
|
|
<h1 id="page-designs">Page Designs</h1>
|
|
|
|
<p>A page is displayed by exactly one page design. The Relearn theme offers the page designs <code>home</code>, <code>chapter</code>, and <code>default</code>.</p>
|
|
<p>A page design usually consists of</p>
|
|
<ul>
|
|
<li><a href="https://gohugo.io/content-management/archetypes/" rel="external" target="_self">an archetype file</a>: a template for creating new Markdown files with this design</li>
|
|
<li><a href="https://gohugo.io/templates/types/#content-view" rel="external" target="_self">content view files</a>: represented by <a href="https://gohugo.io/content-management/front-matter/#type" rel="external" target="_self">Hugo’s reserved <code>type</code> front matter</a> and backed by matching partials</li>
|
|
<li>CSS styles</li>
|
|
</ul>
|
|
<p>If no <code>type</code> is set in your front matter, the page is treated as if <code>type='default'</code> was set.</p>
|
|
<div class="box notices cstyle warning">
|
|
<div class="box-label">
|
|
<i class="fa-fw fas fa-exclamation-triangle"></i> Warning
|
|
</div>
|
|
<div class="box-content">
|
|
<p>Don’t use the <code>type</code> option in your modifications for other functionality!</p>
|
|
</div>
|
|
</div>
|
|
<p>All shipped designs use the theme’s framework from <code>themes/hugo-theme-learn/layouts/_default/baseof.html</code>, containing of the same topbar and sidebar but can change how content appears in the center of the page.</p>
|
|
<h2 id="using-a-page-design">Using a Page Design</h2>
|
|
<p>Regardless of shipped or custom page design, you are <a href="/hugo-theme-relearn/authoring/frontmatter/designs/index.html">using them</a> in the same way.</p>
|
|
<h2 id="creating-a-page-designs">Creating a Page Designs</h2>
|
|
<p>To make a custom page design:</p>
|
|
<ol>
|
|
<li>
|
|
<p>Choose a name (for example, <code>mydesign</code>)</p>
|
|
</li>
|
|
<li>
|
|
<p>Create a content view file at <code>layouts/mydesign/views/article.html</code></p>
|
|
<div class="tab-panel" data-tab-group="1a87e9052707e5f5de434f2e8da554d0">
|
|
<div class="tab-nav">
|
|
<div class="tab-nav-title">​</div>
|
|
<button
|
|
data-tab-item="layoutsmydesignviewsarticlehtml"
|
|
class="tab-nav-button tab-panel-style cstyle initial active" tabindex="-1"
|
|
onclick="switchTab('1a87e9052707e5f5de434f2e8da554d0','layoutsmydesignviewsarticlehtml')"
|
|
>
|
|
<span class="tab-nav-text">layouts/mydesign/views/article.html</span>
|
|
</button>
|
|
</div>
|
|
<div class="tab-content-container">
|
|
<div
|
|
data-tab-item="layoutsmydesignviewsarticlehtml"
|
|
class="tab-content tab-panel-style cstyle initial active">
|
|
<div class="tab-content-text">
|
|
<div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p"><</span><span class="nt">article</span> <span class="na">class</span><span class="o">=</span><span class="s">"mydesign"</span><span class="p">></span>
|
|
</span></span><span class="line"><span class="cl"> <span class="p"><</span><span class="nt">header</span> <span class="na">class</span><span class="o">=</span><span class="s">"headline"</span><span class="p">></span>
|
|
</span></span><span class="line"><span class="cl">{{ partial "content-header.html" . }}
|
|
</span></span><span class="line"><span class="cl"> <span class="p"></</span><span class="nt">header</span><span class="p">></span>
|
|
</span></span><span class="line"><span class="cl"><span class="p"><</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">"article-subheading"</span><span class="p">></span>AWESOME<span class="p"></</span><span class="nt">div</span><span class="p">></span>
|
|
</span></span><span class="line"><span class="cl">{{ partial "heading-pre.html" . }}{{ partial "heading.html" . }}{{ partial "heading-post.html" . }}
|
|
</span></span><span class="line"><span class="cl">{{ partial "article-content.html" . }}
|
|
</span></span><span class="line"><span class="cl"> <span class="p"><</span><span class="nt">footer</span> <span class="na">class</span><span class="o">=</span><span class="s">"footline"</span><span class="p">></span>
|
|
</span></span><span class="line"><span class="cl">{{ partial "content-footer.html" . }}
|
|
</span></span><span class="line"><span class="cl"> <span class="p"></</span><span class="nt">footer</span><span class="p">></span>
|
|
</span></span><span class="line"><span class="cl"><span class="p"></</span><span class="nt">article</span><span class="p">></span></span></span></code></pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><p>In this file, you can customize the page design as needed. Typically, you’ll want to:</p>
|
|
<ul>
|
|
<li>Set a <code>class</code> at the <code>article</code> element for custom CSS styles</li>
|
|
<li>Use <code>{{ partial "article-content.html" . }}</code> to show your page content</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Create an archetype file at <code>archetypes/mydesign.md</code> (optional)</p>
|
|
<div class="tab-panel" data-tab-group="1f8caacf4d3b01e0631070082238c4f3">
|
|
<div class="tab-nav">
|
|
<div class="tab-nav-title">​</div>
|
|
<button
|
|
data-tab-item="archetypesmydesignmd"
|
|
class="tab-nav-button tab-panel-style cstyle initial active" tabindex="-1"
|
|
onclick="switchTab('1f8caacf4d3b01e0631070082238c4f3','archetypesmydesignmd')"
|
|
>
|
|
<span class="tab-nav-text">archetypes/mydesign.md</span>
|
|
</button>
|
|
</div>
|
|
<div class="tab-content-container">
|
|
<div
|
|
data-tab-item="archetypesmydesignmd"
|
|
class="tab-content tab-panel-style cstyle initial active">
|
|
<div class="tab-content-text">
|
|
<div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl">+++
|
|
</span></span><span class="line"><span class="cl">title = "{{ replace .Name "-" " " | title }}"
|
|
</span></span><span class="line"><span class="cl">type = "mydesign"
|
|
</span></span><span class="line"><span class="cl">+++
|
|
</span></span><span class="line"><span class="cl">
|
|
</span></span><span class="line"><span class="cl">This is my new design.</span></span></code></pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div></li>
|
|
<li>
|
|
<p>Add CSS in file <code>layouts/partials/custom-header.html</code> (optional)</p>
|
|
<div class="tab-panel" data-tab-group="9f6281c43383e593315093739ae4eccb">
|
|
<div class="tab-nav">
|
|
<div class="tab-nav-title">​</div>
|
|
<button
|
|
data-tab-item="layoutspartialscustom-headerhtml"
|
|
class="tab-nav-button tab-panel-style cstyle initial active" tabindex="-1"
|
|
onclick="switchTab('9f6281c43383e593315093739ae4eccb','layoutspartialscustom-headerhtml')"
|
|
>
|
|
<span class="tab-nav-text">layouts/partials/custom-header.html</span>
|
|
</button>
|
|
</div>
|
|
<div class="tab-content-container">
|
|
<div
|
|
data-tab-item="layoutspartialscustom-headerhtml"
|
|
class="tab-content tab-panel-style cstyle initial active">
|
|
<div class="tab-content-text">
|
|
<div class="highlight wrap-code"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p"><</span><span class="nt">style</span><span class="p">></span>
|
|
</span></span><span class="line"><span class="cl"><span class="p">.</span><span class="nc">mydesign</span> <span class="p">.</span><span class="nc">article-subheading</span> <span class="p">{</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="k">font-size</span><span class="p">:</span> <span class="mi">72</span><span class="kt">rem</span><span class="p">;</span>
|
|
</span></span><span class="line"><span class="cl"><span class="p">}</span>
|
|
</span></span><span class="line"><span class="cl"><span class="p">.</span><span class="nc">mydesign</span> <span class="nt">a</span> <span class="p">{</span>
|
|
</span></span><span class="line"><span class="cl"> <span class="k">background-color</span><span class="p">:</span> <span class="kc">pink</span><span class="p">;</span>
|
|
</span></span><span class="line"><span class="cl"><span class="p">}</span>
|
|
</span></span><span class="line"><span class="cl"><span class="p"></</span><span class="nt">style</span><span class="p">></span></span></span></code></pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div></li>
|
|
</ol>
|
|
<h3 id="partials">Partials</h3>
|
|
<p>The above example uses <code>layouts/mydesign/views/article.html</code> but you have some others</p>
|
|
<ul>
|
|
<li><code>layouts/mydesign/baseof.html</code>: Completely redefine the whole HTML structure, none of the other listed partials will be used</li>
|
|
<li><code>layouts/mydesign/views/menu.html</code>: Defines the sidebar menu layout</li>
|
|
<li><code>layouts/mydesign/views/body.html</code>: Determines what to contain in the content area (for example a single page, a list of pages, a tree of sub pages)</li>
|
|
<li><code>layouts/mydesign/views/article.html</code>: Controls how one page’s content and title are displayed</li>
|
|
</ul>
|
|
|
|
<footer class="footline">
|
|
<div class="R-taxonomy taxonomy-categories cstyle" title="Categories" style="--VARIABLE-TAGS-BG-color: var(--INTERNAL-TAG-BG-color);">
|
|
<i class="fa-fw fas fa-layer-group"></i>
|
|
<ul>
|
|
<li><a class="term-link" href="/hugo-theme-relearn/categories/explanation/index.html">Explanation</a></li>
|
|
<li><a class="term-link" href="/hugo-theme-relearn/categories/howto/index.html">Howto</a></li>
|
|
</ul>
|
|
</div>
|
|
</footer>
|
|
</article>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
<script src="/hugo-theme-relearn/js/clipboard.min.js?1729808080" defer></script>
|
|
<script src="/hugo-theme-relearn/js/perfect-scrollbar.min.js?1729808080" defer></script>
|
|
<script src="/hugo-theme-relearn/js/theme.js?1729808080" defer></script>
|
|
</body>
|
|
</html>
|