Cap'n Hugo Relearrrn Theme

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' Relearrrn theme be a theme fer Cap'n Hugo, a static website generator written 'n Go. Whar' Cap'n Hugo be often used fer blogs, this theme be designed wit' documentat'n 'n mind.

Ahoi

Th' theme be a fork o' th' great Learrrn theme wit' th' aim o' fix'n long outstand'n bugs an' adept'n t' latest Cap'n Hugo features. As far as poss'ble this theme tries t' be a drop-in replacement fer th' Learrrn theme.

Main features

Smarrrt Arrrse

See what’s new within th' latest update.

Gett'n support

T' get support, feel free t' open a new discussion topic or issue 'n th' official repository on GitHub.

Become a contributor

Feel free t' update this documentat'n by just click'n th' Edit link displayed on top right o' each plank. Yer changes will be deployed automatically once they were reviewed.

Ye be most welcome t' contribute bugfixes or even new features t' th' source code by mak'n pull requests t' th' official repository via GitHub. Please visit th' contribut'n guidelines first.

License

This theme be licensed under th' MIT License.

Credits

This theme would not be poss'ble without th' work o' many others. See th' credits fer a detailed list.

Subsct'ns o' Cap'n Hugo Relearrrn Theme

T' chapterrr 1

Basics

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Discover what this Cap'n Hugo theme be all about an' th' core-concepts behind it.

Subsct'ns o' Basics

What's new

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This document shows ye what’s new 'n th' latest release. For a detailed list o' changes, see th' history plank.

Break'n: A change that requires act'n by ye aft upgrad'n t' assure th' ship be still functional.

Change: A change 'n default behavior. This may requires act'n by ye / may or may not be revert'ble by configurat'n.

New: Marks new behavior ye might find interest'n or comes configur'ble.


5.7.0

  • Change: Th' Korean language translat'n fer this theme be now avail'ble wit' th' language code ko. Formerly th' country code kr was used instead.

  • New: Th' button shorrrtcode can now also be used as a real button inside o' HTML forms - although this be a pretty rare use case. Th' documentat'n was updated accordingly.

  • New: Th' search now supports th' Korean language.


5.6.0

  • New: This release introduces an additional dedicated search plank. On this plank, displayed search results have more space mak'n it easier scann'n thru large number o' results.

    T' activate this feature, ye need t' configure it 'n yer config.toml as a new outputformat SEARCHPAGE fer th' home plank. If ye don’t configure it, no dedicated search plank will be access'ble an' th' theme works as before.

    Ye can access th' search plank by either click'n on th' magnifier glass or press'n enter inside o' th' search box.

  • New: Keyboard handl'n fer th' TOC an' search was improved.

    Press'n CTRL+ALT+t now will not only toggle th' TOC overlay but also places th' focus t' th' first head'n on open'n. Subsequently this makes it poss'ble t' easily select head'ns by us'n th' TAB key.

    Th' search received its own brand new keyboard shortcut CTRL+ALT+f. This will focus th' cursor inside o' th' the search box so ye can immediately start yer search by typ'n.

  • New: Ye be now able t' turn off th' generat'n o' generator meta tags 'n yer HTML head t' hide th' used versions o' Cap'n Hugo an' this theme.

    T' configure this 'n yer config.toml make sure t' set Hugo’s disableHugoGeneratorInject=true an' also [params] disableGeneratorVersion=true, otherwise Cap'n Hugo will generate a meta tag into yer home plank automagically.

  • New: Creat'n o' yer project gets a little bit faster wit' this release.

    This addresses increased build time wit' th' 5.x releases. Th' theme now heavily caches partial results lead'n t' improved performance. T' further increase performance, unnecessary parts o' th' plank be now skipped fer creat'n o' th' print output (eg. menus, navigat'n bar, etc.).


5.5.0

  • Change: Th' way images be processed has changed. Now images be lazy boarded by default which speeds up plank board on slow networks and/or big planks an' also th' print preview.

    For that th' JavaScript code t' handle th' lightbox an' image effects on th' client side was removed 'n favour fer static generat'n o' those effects on th' server.

    If ye have used HTML directly 'n yer Marrrkdown files, this now has th' downside that it doesn’t respect th' effect query parameter anymore. In this case ye have t' migrate all yer HTML img URLs manually t' th' respective HTML attributes.

    Old New
    <img src="pic.png?width=20vw&classes=shadow,border"> <img src="pic.png" style="width:20vw;" class="shadow border">

5.4.0

  • Change: Wit' th' proper sett'ns 'n yer config.toml yer plank be now serv'ble from th' local file system us'n file:// URLs.

    Please note that th' searchbox will only work fer this if ye reconfigure yer outputformat fer th' homepage 'n yer config.toml from JSON t' SEARCH. Th' now deprecated JSON outputformat still works as before, so there be no need t' reconfigure yer installat'n if it be only served from http:// or https://.

  • Change: Th' button shorrrtcode has a new parameter target t' set th' destinat'n frame/window fer th' URL t' open. If not given, it defaults t' a new window/tab fer external URLs or be not set at all fer internal URLs. Previously even internal URLs whar' opened 'n a new window/tab.

  • New: Th' math shorrrtcode an' mermaid shorrrtcode now also support th' align parameter if codefence rules be used.

  • New: Support fer languages that be written right t' left (like Arabic). This be only implemented fer th' rrrambl'n area but not th' navigat'n sidebar. This feature be not avail'ble 'n Internet Explorer 11.

  • New: Translat'n fer Finnish (Suomi).


5.3.0

  • Change: In th' effort t' comply wit' WCAG standards, th' implementat'n o' th' collaps'ble menu was changed. Although th' functionality o' th' new implementat'n works wit' old browsers (Internet Explorer 11), th' display o' th' expander ay'cons does not an' be limited t' modern browsers.

  • New: Image formatt'n has two new classes t' align images t' th' left or right. Additionally, th' already exist'n inline opt'n be now documented.

  • New: Print'n fer th' swagger shorrrtcode was optimized t' expand sections that be usually closed 'n interactive mode. This requires print support t' be configured.


5.2.0

  • Change: If you’ve set collapsibleMenu = true 'n yer config.toml, th' menu will be expanded if a search term be found 'n a collapsed submenu. Th' menu will return t' its initial collapse state once th' search term does not match any submenus.

5.1.0

  • Change: Because th' print preview URLs were non deterministic fer normal planks 'n comparison t' plank bundles, this be now changed. Each print preview be now access'ble by add'n a index.print.html t' th' default URL.

    Ye can revert this behavior by overwrit'n th' PRINT output format sett'n 'n yer config.tomlt':

    [outputFormats]
      [outputFormats.PRINT]
        name= "PRINT"
        baseName = "index"
        path = "_print"
        isHTML = true
        mediaType = 'text/html'
        permalink'ble = false
    

5.0.0

  • Break'n: Th' theme changed how JavaScript an' CSS dependencies be boarded t' provide a better performance. In case you’ve added own JavaScript code that depends on th' themes jQuery implementat'n, ye have t' put it into a separate *.js file (if not already) an' add th' defer keyword t' th' script element. Eg.

    <script defer src="myscript.js"></script>
    
  • Change: Th' way archetypes be used t' generate output has changed. Th' new systems allows ye, t' redefine exist'n archetypes or even generate yer own ones.

    Yer exist'n markdown files will still work like before an' therefore ye don’t need t' change anyth'n aft th' upgrade. Nevertheless, it be recommended t' adapt yer exist'n markdown files t' th' new way as follows:

    • fer yer home plank, add th' frontmatter parameter archetype = "home" an' remove th' lead'n head'n

    • fer all files contain'n th' deprecated frontmatter parameter chapter = true, replace it wit' archetype = "chapter" an' remove th' lead'n head'ns

  • Change: Th' frontmatter opt'ns pre / post were renamed t' menuPre / menuPost. Th' old opt'ns will still be used if th' new opt'ns aren’t set. Therefore ye don’t need t' change anyth'n aft th' upgrade.

  • New: Add'n new partials heading-pre.html / heading-post.html an' accord'n frontmatter opt'ns headingPre / headingPost t' modify th' way yer page`s main head'n gets styled.

  • New: Th' new shorrrtcode math be avail'ble t' add beautiful math an' chemical formulae. See th' documentat'n fer avail'ble features. This feature will not work wit' Internet Explorer 11.


4.2.0

  • Break'n: Th' second parameter fer th' include shorrrtcode was switched 'n mean'n an' was renamed from showfirsthead'n t' hidefirsthead'n. If ye haven’t used this parameter 'n yer shorrrtcode, th' default behavior hasn’t changed an' ye don’t need t' change anyth'n.

    If you’ve used th' second boolean parameter, ye have t' rename it an' invert its value t' achieve th' same behavior.

  • Change: Previously, if th' tabs shorrrtcode could not find a tab item because, th' tabs ended up empty. Now th' first tab be selected instead.

  • Change: Th' landingPageURL was removed from config.toml. Ye can safely remove this as well from yer configurat'n as it be not used anymore. Th' theme will detect th' land'n plank URL automatically.

  • New: All shorrrtcodes can now be also called from yer partials. Examples fer this be added t' th' documentat'n o' each shorrrtcode.


4.1.0


4.0.0

  • Break'n: Th' custom_css config parameter was removed from th' configurat'n. If used 'n an exist'n installat'n, it can be achieved by overrid'n th' custom-header.html template 'n a much more generic manner.

  • Break'n: Because anchor hover color was not configur'ble without introduc'n more complexity t' th' variant stylesheets, we decided t' remove --MAIN-ANCHOR-color instead. Ye don’t need t' change anyth'n 'n yer custom color stylesheet as th' anchors now get their colors from --MAIN-LINK-color an' --MAIN-ANCHOR-HOVER-color respectively.

  • New: All shorrrtcodes now support named parameter. Th' positional parameter be still supported but will not be enhanced wit' new features, so ye don’t need t' change anyth'n 'n yer installat'n.

    This applies t' expand, include, notice an' siteparam.

  • New: Th' button shorrrtcode received some love an' now has a parameter fer th' color style similar t' other shorrrtcodes.

  • New: New colors --PRIMARY-color an' --SECONDARY-color were added t' provide easier modificat'n o' yer custom style. Shorrrtcodes wit' a color style can now have primary or secondary as additional values.

    These two colors be th' default fer other, more specific color variables. Ye don’t need t' change anyth'n 'n yer exist'n custom color stylesheets as those variables get reason'ble default values.

  • New: Th' documentat'n fer all shorrrtcodes were revised.


3.4.0

  • Break'n: If ye had previously overwritten th' custom-footer.html partial t' add visual elements below th' rrrambl'n o' yer plank, ye have t' move this rrrambl'n t' th' new partial content-footer.html. custom-footer.html was never meant t' contain HTML other than additional styles an' JavaScript.

  • New: If ye prefer expandable/collaps'ble menu items, ye can now set collapsibleMenu=true 'n yer config.toml. This will add arrows t' all menu items that contain sub menus. Th' menu will expand/collapse without navigat'n if ye click on an arrow.

  • New: Ye can activate print support 'n yer config.toml t' add th' capability t' print whole chapters or even th' complete ship.

  • New: Translat'n fer Traditional Chinese.


3.3.0

  • New: Introduct'n o' new CSS variables t' set th' font. Th' theme distinguishes between --MAIN-font fer all rrrambl'n text an' --CODE-font fer inline or block code. There be additional overrides fer all head'ns. See th' theme variant generator o' th' exampleSite fer all avail'ble variables.

  • New: Th' new shorrrtcode swagger be avail'ble t' include a UI fer REST OpenAPI Specificat'ns. See th' documentat'n fer avail'ble features. This feature will not work wit' Internet Explorer 11.


3.2.0

  • Change: In this release th' Merrrmaid JavaScript library will only be boarded on demand if th' plank contains a Merrrmaid shorrrtcode or be us'n Merrrmaid codefences. This changes th' behavior o' disableMermaid config opt'n as follows: If a Merrrmaid shorrrtcode or codefence be found, th' opt'n will be ignored an' Merrrmaid will be boarded regardlessly.

    Th' opt'n be still useful 'n case ye be us'n script'n t' set up yer graph. In this case no shorrrtcode or codefence be involved an' th' library be not boarded by default. In this case ye can set disableMermaid=false 'n yer frontmatter t' force th' library t' be boarded. See th' theme variant generator o' th' exampleSite fer an example.

    This change requires at least Cap'n Hugo 0.93.0 t' be used. Th' minimum requirement will be reported dur'n build on th' console if not met.

  • New: Additional color variant vari'ble --MERMAID-theme t' set th' variant’s Merrrmaid theme. This causes th' Merrrmaid theme t' switch wit' th' color variant if it defers from th' sett'n o' th' formerly selected color variant.


3.1.0


3.0.0

  • Break'n: We made changes t' th' menu footer. If ye have yer menu-footer.html partial overridden, ye may have t' review th' styl'n (eg. margins/paddings) 'n yer partial. For a reference take a look into th' menu-footer.html partial that be com'n wit' th' exampleSite.

    This change was made t' allow yer own menu footer t' be placed right aft th' so called prefooter that comes wit' th' theme (contain'n th' language switch an' Clear history functionality).

  • Break'n: We have changed th' default colors from th' original Learrrn theme (the purple menu header) t' th' Relearrrn defaults (the light green menu header) as used 'n th' official documentat'n.

    This change will only affect yer installat'n if you’ve not set th' themeVariant parameter 'n yer config.toml. If ye still want t' use th' Learrrn color variant, ye have t' explicitly set themeVariant="learn" 'n yer config.toml.

    Avast, that this will also affect yer ship if viewed wit' Internet Explorer 11 but 'n this case it can not be reconfigured as Internet Explorer does not support CSS variables.

  • Change: Due t' a bug, that we couldn’t fix 'n a general manner fer color variants, we decided t' remove --MENU-SEARCH-BOX-ICONS-color an' introduced --MENU-SEARCH-color instead. Ye don’t need t' change anyth'n 'n yer custom color stylesheet as th' old name will be used as a fallback.

  • Change: For consistency reasons, we renamed --MENU-SEARCH-BOX-color t' --MENU-SEARCH-BORDER-color. Ye don’t need t' change anyth'n 'n yer custom color stylesheet as th' old name will be used as a fallback.

  • New: Wit' this release ye be now cap'ble t' define yer own dark mode variants.

    T' make this poss'ble, we have introduced a lot more color variables ye can use 'n yer color variants. Yer old variants will still work an' don’t need t' be changed as appropriate fallback values be used by th' theme. Nevertheless, th' new colors allow fer much more customizat'n.

    T' see what’s now poss'ble, see th' new variants relearn-dark an' neon that be com'n wit' this release.

  • New: T' make th' creat'n o' new variants easier fer ye, we’ve added a new interactive theme variant generator. This feature will not work wit' Internet Explorer 11.

  • New: Ye can now configure multiple color variants 'n yer config.toml. In this case, th' first variant be th' default chosen on first view an' a variant switch will be shown 'n th' menu footer. See th' documentat'n fer configurat'n.

    Avast, that th' new variant switch will not work wit' Internet Explorer 11 as it does not support CSS variables. Therefore, th' variant switcher will not be displayed wit' Internet Explorer 11.


2.9.0

  • Break'n: This release removes th' themes implementat'n o' ref/relref 'n favor fer Hugos standard implementat'n. This be because o' inconsistencies wit' th' themes implementat'n. In advantage, yer project becomes standard compliant an' exchang'n this theme 'n yer project t' some other theme will be effortless.

    In a standard compliant form ye must not link t' th' *.md file but t' its logical name. You’ll see, referenc'n other planks becomes much easier. All three types result 'n th' same reference:

    Type Non-Standard Standard
    Branch bundle basics/configuration/_index.md basics/configurat'n
    Leaf bundle basics/configuration/index.md basics/configurat'n
    Plank basics/configurat'n.md basics/configurat'n

    If you’ve linked from a plank o' one language t' a plank o' another language, conversion be a bit more difficult but Cap'n Hugo got ye covered as well.

    Also, th' old themes implementat'n allowed refs t' non-exist'n rrrambl'n. This will cause Hugos implementat'n t' show th' error below an' abort th' generat'n. If yer project relies on this old behavior, ye can reconfigure th' error handl'n o' Hugos implementat'n.

    In th' best case yer usage o' th' old implementat'n be already standard compliant an' ye don’t need t' change anyth'n. You’ll notice this very easily once you’ve started hugo server aft an upgrade an' no errors be written t' th' console.

    Ye may see errors on th' console aft th' update 'n th' form:

    ERROR 2021/11/19 22:29:10 [en] REF_NOT_FOUND: Ref "basics/configuration/_index.md": "hugo-theme-relearn\exampleSite\content\_index.en.md:19:22": plank not found
    

    In this case, ye must apply one o' two opt'ns:

    1. Copy th' old implementat'n files theme/hugo-theme-relearn/layouts/shortcode/ref.html an' theme/hugo-theme-relearn/layouts/shortcode/relref.html t' yer own projects layouts/shortcode/ref.html an' layouts/shortcode/relref.html respectively. This be not recommended as yer project will still rely on non-standard behavior afterwards.

    2. Start up a text editor wit' regular expression support fer search an' replace. Apply th' follow'n conversions 'n th' given order on all *.md files. This be th' recommended choice.

    Type Search Replace by
    Branch bundle (ref\s+"[^"]*)/_index\.md" $1"
    Leaf bundle (ref\s+"[^"]*)/index\.md" $1"
    Plank (ref\s+"[^"]*)\.md" $1"

2.8.0

  • Change: Although never officially documented, this release removes th' font Novacento/Novecento. If ye use it 'n an overwritten CSS please replace it wit' Work Sans. This change was necessary as Novacento did not provide all Latin special characters an' lead t' mixed styled character text eg. fer Czech.

  • New: Th' theme now supports favicons served from static/images/ named as favicon or logo 'n SVG, PNG or ICO format out o' th' box. An overridden partial layouts/partials/favicon.html may not be necessary anymore 'n most cases.

  • New: Ye can hide th' t'ble o' contents menu fer th' whole ship by sett'n th' disableToc opt'n 'n yer config.toml. For an example see th' example configurat'n.


2.7.0

  • New: Optional second parameter fer notice shorrrtcode t' set title 'n box header.

2.6.0

  • New: Yer ship can now be served from a subfolder if ye set baseURL an' canonifyURLs=true 'n yer config.toml. See th' documentat'n fer a detailed example.

2.5.0

  • Change: New colors --CODE-BLOCK-color an' --CODE-BLOCK-BG-color were added t' provide a fallback fer Hugos rules highlight'n 'n case guessSyntax=true be set. Ideally th' colors be set t' th' same values as th' ones from yer chosen chroma style.

2.4.0

  • Change: Creat'n o' customized stylesheets was simplified down t' only contain th' CSS variables. Everyth'n else can an' should be deleted from yer custom stylesheet t' assure everyth'n works fine. For th' predefined stylesheet variants, this change be already included.

  • New: Hidden planks be displayed by default 'n their accord'n tags plank. Ye can now turn off this behavior by sett'n disableTagHiddenPages=true 'n yer config.toml.

  • New: Ye can define th' expansion state o' yer menus fer th' whole ship by sett'n th' alwaysopen opt'n 'n yer config.toml. Please see further documentat'n fer poss'ble values an' default behavior.

  • New: New frontmatter ordersectionsby opt'n t' change immediate children sort'n 'n menu an' children shorrrtcode. Poss'ble values be title or weight.

  • New: Alternate rrrambl'n o' a plank be now advertised 'n th' HTML meta tags. See Cap'n Hugo documentat'n.


2.3.0

  • New: Showcase multilanguage features by provid'n a documentat'n translat'n “fer us pirrrates”. There will be no other translat'ns besides th' original English one an' th' Pirates one due t' maintenance constraints.

2.2.0

  • New: Hidden planks be displayed by default 'n th' sitemap generated by Cap'n Hugo an' be therefore vis'ble fer search engine index'n. Ye can now turn off this behavior by sett'n disableSeoHiddenPages=true 'n yer config.toml.

2.1.0

  • Change: In case th' site’s structure contains additional *.md files not part o' th' ship (eg files that be meant t' be included by ship planks - see CHANGELOG.md 'n th' exampleSite), they will now be ignored by th' search.

  • New: Hidden planks be indexed fer th' ship search by default. Ye can now turn off this behavior by sett'n disableSearchHiddenPages=true 'n yer config.toml.

  • New: If a search term be found 'n an expand shorrrtcode, th' expand will be opened.

  • New: Th' menu will scroll th' active item into view on board.


2.0.0

  • Change: Rules highlight'n was switched t' th' built 'n Hugo mechanism. Ye may need t' configure a new stylesheet or decide t' roll ye own as described on 'n th' Cap'n Hugo documentat'n

  • Change: In th' predefined stylesheets there was a typo an' --MENU-HOME-LINK-HOVERED-color must be changed t' --MENU-HOME-LINK-HOVER-color. Ye don’t need t' change anyth'n 'n yer custom color stylesheet as th' old name will be used as a fallback.

  • Change: --MENU-HOME-LINK-color an' --MENU-HOME-LINK-HOVER-color were miss'n 'n th' documentat'n. Ye should add them t' yer custom stylesheets if ye want t' override th' defaults.

  • Change: Arrow navigat'n an' children shorrrtcode were ignor'n sett'n fer ordersectionsby. This be now changed an' may result 'n different sort'n order o' yer sub planks.

  • Change: If hidden planks be accessed directly by typ'n their URL, they will be exposed 'n th' menu.

  • Change: A plank without a title will be treated as hidden=true.

  • New: Ye can define th' expansion state o' yer menus 'n th' frontmatter. Please see further documentat'n fer poss'ble values an' default behavior.

  • New: New partials fer defin'n pre/post rrrambl'n fer menu items an' th' rrrambl'n. See documentat'n fer further read'n.

  • New: Shorrrtcode children wit' new parameter containerstyle.

  • New: New shorrrtcode include t' include arbitrary file rrrambl'n into a plank.


1.2.0

  • New: Shorrrtcode expand wit' new parameter t' open on plank board.

1.1.0

  • New: Merrrmaid config opt'ns can be set 'n config.toml.

1.0.0

  • New: Initial fork o' th' Learrrn theme based on Learrrn 2.5.0 on 2021-07-01. This introduces no new features besides a global rename t' Relearrrn an' a new logo. For th' reasons behind fork'n th' Learrrn theme, see this comment 'n th' Learrrn issues.

Requirrrements

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Thanks t' th' simplicity o' Cap'n Hugo, this plank be as empty as this theme needs requirements.

Just download latest version o' Cap'n Hugo binary fer yer OS (Windows, Linux, Mac) : it’s that simple.

Magic

Installat'n

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' follow'n steps be here t' help ye initialize yer new website. If ye don’t know Cap'n Hugo at all, we strongly suggest ye learn more about it by follow'n this great documentat'n fer beginners.

Create yer project

Cap'n Hugo provides a new command t' create a new website.

hugo new ship <new_project>

Install th' theme

Install th' Relearrrn theme by follow'n this documentat'n

This theme’s repository be: https://github.com/McShelby/hugo-theme-relearn.git

Alternatively, ye can download th' theme as .zip file an' extract it 'n th' themes directory

Basic configurat'n

When build'n th' website, ye can set a theme by us'n --theme opt'n. However, we suggest ye modify th' configurat'n file (config.toml) an' set th' theme as th' default. Ye can also add th' [outputs] section t' en'ble th' search functionality.

# Change th' default theme t' be use when build'n th' ship wit' Cap'n Hugo
theme = "hugo-theme-relearn"

# For search functionality
[outputs]
home = [ "HTML", "RSS", "SEARCH"]

Create yer first chapter plank

Chapters be planks that contain other child planks. It has a special layout style an' usually just contains a chapter name, th' title an' a brief abstract o' th' section.

### Chapter 1

# Basics

Discover what this Cap'n Hugo theme be all about an' th' core concepts behind it.

renders as

A Chapter

Th' Relearrrn theme provides archetypes t' create skeletons fer yer website. Begin by creat'n yer first chapter plank wit' th' follow'n command

hugo new --kind chapter basics/_index.md

By open'n th' given file, ye should see th' property chapter=true on top, mean'n this plank be a chapter.

By default all chapters an' planks be created as a draft. If ye want t' render these planks, remove th' property draft: true from th' metadata.

Create yer first rrrambl'n planks

Then, create rrrambl'n planks inside th' previously created chapter. Here be two ways t' create rrrambl'n 'n th' chapter:

hugo new basics/first-content.md
hugo new basics/second-content/_index.md

Feel free t' edit those files by add'n some sample rrrambl'n an' replac'n th' title value 'n th' beginn'n o' th' files.

Launch'n th' website locally

Launch by us'n th' follow'n command:

hugo serve

Go t' http://localhost:1313

Ye should notice three th'ns:

  1. Ye have a left-side Basics menu, contain'n two submenus wit' names equal t' th' title properties 'n th' previously created files.
  2. Th' home plank explains how t' cust'mize it by follow'n th' instruct'ns.
  3. When ye run hugo serve, when th' contents o' th' files change, th' plank automatically refreshes wit' th' changes. Neat!

Build th' website

When yer ship be ready t' deploy, run th' follow'n command:

hugo

A public folder will be generated, contain'n all static rrrambl'n an' assets fer yer website. It can now be deployed on any web server.

Avast

This website can be automatically published an' hosted wit' Netlify (Read more about Automated HUGO deployments wit' Netlify). Alternatively, ye can use GitHub planks

Configurrrat'n

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Global ship parameters

On top o' Cap'n Hugo global configurat'n, th' Relearrrn theme lets ye define th' follow'n parameters 'n yer config.toml (here, values be default).

Avast that some o' these parameters be explained 'n details 'n other sections o' this documentat'n.

[params]
  # This controls whether submenus will be expanded (true), or collapsed (false) 'n th'
  # menu; if no sett'n be given, th' first menu level be set t' false, all others t' true;
  # this can be overridden 'n th' planks frontmatter
  alwaysopen = true
  # Prefix URL t' edit current plank. Will display an "Edit" button on top right hand corner o' every plank.
  # Useful t' give opportunity t' people t' create merge request fer yer doc.
  # See th' config.toml file from this documentat'n ship t' have an example.
  editURL = ""
  # Author o' th' ship, will be used 'n meta informat'n
  author = ""
  # Descript'n o' th' ship, will be used 'n meta informat'n
  descript'n = ""
  # Shows a checkmark fer visited planks on th' menu
  showVisitedLinks = false
  # Dis'ble search funct'n. It will hide search bar
  disableSearch = false
  # Dis'ble search 'n hidden planks, otherwise they will be shown 'n search box
  disableSearchHiddenPages = false
  # Disables hidden planks from show'n up 'n th' sitemap an' on Google (et all), otherwise they may be indexed by search engines
  disableSeoHiddenPages = false
  # Disables hidden planks from show'n up on th' tags plank although th' tag term will be displayed even if all planks be hidden
  disableTagHiddenPages = false
  # Javascript an' CSS cache be automatically busted when new version o' ship be generated.
  # Set this t' true t' dis'ble this behavior (some proxies don't handle well this optimization)
  disableAssetsBust'n = false
  # Set this t' true if ye want t' dis'ble generat'n fer generator version meta tags o' hugo an' th' theme;
  # don't forget t' also set Hugo's disableHugoGeneratorInject=true, otherwise it will generate a meta tag into yer home plank
  disableGeneratorVersion = false
  # Set this t' true t' dis'ble copy-to-clipboard button fer inline code.
  disableInlineCopyToClipBoard = false
  # A title fer shortcuts 'n menu be set by default. Set this t' true t' dis'ble it.
  disableShortcutsTitle = false
  # If set t' false, a Home button will appear below th' search bar on th' menu.
  # It be redirect'n t' th' land'n plank o' th' current language if specified. (Default be "/")
  disableLandingPageButton = true
  # When us'n mulitlingual website, dis'ble th' switch language button.
  disableLanguageSwitchingButton = false
  # Hide breadcrumbs 'n th' header an' only show th' current plank title
  disableBreadcrumb = true
  # If set t' true, hide t'ble o' contents menu 'n th' header o' all planks
  disableToc = false
  # If set t' false, board th' MathJax module on every plank regardless if a MathJax shorrrtcode be present
  disableMathJax = false
  # Specifies th' remote locat'n o' th' MathJax js
  customMathJaxURL = "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"
  # Initializat'n parameter fer MathJax, see MathJax documentat'n
  mathJaxInitialize = "{}"
  # If set t' false, board th' Merrrmaid module on every plank regardless if a Merrrmaid shorrrtcode or Merrrmaid codefence be present
  disableMermaid = false
  # Specifies th' remote locat'n o' th' Merrrmaid js
  customMermaidURL = "https://unpkg.com/mermaid/dist/mermaid.min.js"
  # Initializat'n parameter fer Merrrmaid, see Merrrmaid documentat'n
  mermaidInitialize = "{ \"theme\": \"default\" }"
  # If set t' false, board th' Swagger module on every plank regardless if a Swagger shorrrtcode be present
  disableSwagger = false
  # Specifies th' remote locat'n o' th' RapiDoc js
  customSwaggerURL = "https://unpkg.com/rapidoc/dist/rapidoc-min.js"
  # Initializat'n parameter fer Swagger, see RapiDoc documentat'n
  swaggerInitialize = "{ \"theme\": \"light\" }"
  # Hide Next an' Previous plank buttons normally displayed full height beside rrrambl'n
  disableNextPrev = true
  # Order sections 'n menu by "weight" or "title". Default t' "weight";
  # this can be overridden 'n th' planks frontmatter
  ordersectionsby = "weight"
  # Change default color scheme wit' a variant one. Eg. can be "red", "blue", "green" or an array like [ "blue", "green" ].
  themeVariant = "relearn-light"
  # Change th' title separator. Default t' "::".
  titleSeparator = "-"
  # If set t' true, th' menu 'n th' sidebar will be displayed 'n a collaps'ble tree view. Although th' functionality works wit' old browsers (IE11), th' display o' th' expander ay'cons be limited t' modern browsers
  collapsibleMenu = false
  # If a single plank can contain rrrambl'n 'n multiple languages, add those here
  additionalContentLanguage = [ "en" ]
  # If set t' true, no index.html will be appended t' prettyURLs; this will cause planks not
  # t' be serv'ble from th' file system
  disableExplicitIndexURLs = false

Serv'n yer plank from a subfolder

If yer ship be served from a subfolder, eg. https://example.com/mysite/, ye have t' set th' follow'n lines t' yer config.toml

baseURL = "https://example.com/mysite/"
canonifyURLs = true
relativeURLs = true

Without canonifyURLs=true URLs 'n sublemental planks (like sitemap.xml, rss.xml) will be generated falsly while yer HTML files will still work. See https://github.com/gohugoio/hugo/issues/5226.

Serv'n yer plank from th' filesystem

If ye want yer plank served from th' filesystem by us'n URLs start'n wit' file:// you’ll need th' follow'n configurat'n 'n yer config.toml:

relativeURLs = true

Th' theme will append an additional index.html t' all branch bundle links by default t' make th' plank be serv'ble from th' file system. If ye don’t care about th' file system an' only serve yer plank via a webserver ye can also generate th' links without this change by add'n this t' yer config.toml

[params]
  disableExplicitIndexURLs = true
Avast

If ye want t' use th' search feature from th' file system us'n an older installat'n o' th' theme make sure t' change yer outputformat fer th' homepage from th' now deprecated JSON t' SEARCH as seen below.

If not already present, add th' follow'n lines 'n th' same config.toml file.

[outputs]
  home = ["HTML", "RSS", "SEARCH"]

This will generate a search index file at th' root o' yer public folder ready t' be consumed by th' lunr.js javascript search engine. Avast that th' SEARCH outputformat was named JSON 'n previous releases but was implemented differently. Although JSON still works, it be now deprecated.

Activate dedicated search plank

Ye can add a dedicated search plank fer yer plank by add'n th' SEARCHPAGE outputformat t' yer home plank by add'n th' follow'n lines 'n yer config.toml file.

[outputs]
  home = ["HTML", "RSS", "SEARCH", "SEARCHPAGE"]

Ye can access this plank by either click'n on th' magnifier glass or by typ'n some search term an' press'n ENTER inside o' th' menu’s search box .

Screenshot o' th' dedicated search page

Activate print support

Ye can activate print support t' add th' capability t' print whole chapters or even th' complete ship. Just add th' PRINT output format t' yer home, section an' plank 'n yer config.toml as seen below:

[outputs]
  home = ["HTML", "RSS", "PRINT", "SEARCH"]
  section = ["HTML", "RSS", "PRINT"]
  plank = ["HTML", "RSS", "PRINT"]

This will add a little printer ay'con 'n th' top bar. It will switch th' plank t' print preview when clicked. Ye can then send this plank t' th' printer by us'n yer browser’s usual print functionality.

Avast

Th' result'n URL will not be configured ugly 'n terms o' Hugo’s URL handl'n even if you’ve set uglyURLs=true 'n yer config.toml. This be due t' th' fact that fer one mime type only one suffix can be configured.

Nevertheless, if you’re unhappy wit' th' result'n URLs ye can manually redefine outputFormats.PRINT 'n yer own config.toml t' yer lik'n.

MathJax

Th' MathJax configurat'n parameters can also be set on a specific plank. In this case, th' global parameter would be overwritten by th' local one. See Math fer additional documentat'n.

Example

MathJax be globally disabled. By default it won’t be boarded by any plank.

On plank “Physics” ye coded some JavaScript fer a dynamic formulae. Ye can set th' MathJax parameters locally t' board mathJax on this plank.

Ye also can dis'ble MathJax fer specific planks while globally enabled.

Merrrmaid

Th' Merrrmaid configurat'n parameters can also be set on a specific plank. In this case, th' global parameter would be overwritten by th' local one. See Merrrmaid fer additional documentat'n.

Example

Merrrmaid be globally disabled. By default it won’t be boarded by any plank.

On plank “Architecture” ye coded some JavaScript t' dynamically generate a class diagram. Ye can set th' Merrrmaid parameters locally t' board mermaid on this plank.

Ye also can dis'ble Merrrmaid fer specific planks while globally enabled.

Home Button Configurat'n

If th' disableLandingPageButton opt'n be set t' false, a Home button will appear on th' left menu. It be an alternative fer click'n on th' logo. T' edit th' appearance, ye will have t' configure two parameters fer th' defined languages:

[Languages]
[Languages.en]
...
landingPageName = "<i class='fas fa-home'></i> Home"
...
[Languages.pir]
...
landingPageName = "<i class='fas fa-home'></i> Arrr! Homme"
...

If those params be not configured fer a specific language, they will get their default values:

landingPageName = "<i class='fas fa-home'></i> Home"

Th' home button be go'n t' look like this:

Default Home Button

Customizat'n

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' Relearrrn theme has been built t' be as configur'ble as poss'ble by defin'n multiple partials

In themes/hugo-theme-relearn/layouts/partials/, ye will find all th' partials defined fer this theme. If ye need t' overwrite someth'n, don’t change th' code directly. Instead follow this plank. You’d create a new partial 'n th' layouts/partials folder o' yer local project. This partial will have th' priority.

This theme defines th' follow'n partials :

  • header.html: th' header o' th' plank. See output-formats
  • footer.html: th' footer o' th' plank. See output-formats
  • body.html: th' body o' th' plank. Th' body may contain o' one or many articles. See output-formats
  • article.html: th' output fer a single article, can contain elements around yer rrrambl'n. See output-formats
  • menu.html: left menu. Not meant t' be overwritten
  • search.html: search box. Not meant t' be overwritten
  • custom-header.html: custom headers 'n plank. Meant t' be overwritten when add'n CSS imports. Don’t forget t' include style HTML tag directive 'n yer file.
  • custom-footer.html: custom footer 'n plank. Meant t' be overwritten when add'n JavaScript. Don’t forget t' include javascript HTML tag directive 'n yer file.
  • favicon.html: th' favicon
  • heading-pre.html: side-wide configurat'n t' prepend t' planks title head'ns. If ye override this, it be yer responsibility t' take th' page’s headingPre sett'n into account.
  • heading-post.html: side-wide configurat'n t' append t' planks title head'ns. If ye override this, it be yer responsibility t' take th' page’s headingPost sett'n into account.
  • logo.html: th' logo, on top left hand corner
  • meta.html: HTML meta tags, if ye want t' change default behavior
  • menu-pre.html: side-wide configurat'n t' prepend t' menu items. If ye override this, it be yer responsibility t' take th' page’s menuPre sett'n into account.
  • menu-post.html: side-wide configurat'n t' append t' menu items. If ye override this, it be yer responsibility t' take th' page’s menuPost sett'n into account.
  • menu-footer.html: footer o' th' the left menu
  • toc.html: t'ble o' contents
  • rrrambl'n.html: th' rrrambl'n plank itself. This can be overridden if ye want t' display page’s meta data above or below th' rrrambl'n.
  • content-footer: footer below th' rrrambl'n, has a default implementat'n but ye can overwrite it if ye don’t like it.

Create a new file 'n layouts/partials/ named logo.html. Then write any HTML ye want. Ye could use an img HTML tag an' reference an image created under th' static folder, or ye could paste a SVG definit'n!

Avast

Th' size o' th' logo will adapt automatically

Change th' favicon

If yer favicon be a SVG, PNG or ICO, just drop off yer image 'n yer local static/images/ folder an' name it favicon.svg, favicon.png or favicon.ico respectively.

If no favicon file be found, th' theme will lookup th' alternative filename logo 'n th' same locat'n an' will repeat th' search fer th' list o' supported file types.

If ye need t' change this default behavior, create a new file 'n layouts/partials/ named favicon.html. Then write someth'n like this:

<link rel="icon" href="/images/favicon.bmp" type="image/bmp">

Change th' colors

Th' Relearrrn theme lets ye choose between some predefined color variants 'n light or dark mode, but feel free t' add one yourself!

Ye can preview th' shipped variants by chang'n them 'n th' variant selector at th' bottom o' th' menu.

Single variant

Set th' themeVariant value wit' th' name o' yer theme file. That’s it!

[params]
  themeVariant = "relearn-light"

In th' above example yer theme file has t' be named theme-relearn-light.css

Multiple variants

Ye can also set multiple variants. In this case, th' first variant be th' default chosen on first view an' a variant switch will be shown 'n th' menu footer.

[params]
  # Change default color scheme wit' a variant one.
  themeVariant = [ "relearn-light", "relearn-dark" ]
Smarrrt Arrrse

If ye want t' switch th' rules highlight'n theme together wit' yer color variant, generate a rules highlight'n stylesheet an' configure yer installat'n accord'n t' Hugo’s documentat'n, an' @import this stylesheet 'n yer color variant stylesheet. For an example, take a look into theme-relearn-light.css an' config.toml o' th' exampleSite.

Roll yer own

If ye be not happy wit' th' shipped variants ye can either copy an' rename one o' th' shipped files from themes/hugo-theme-relearn/static/css t' static/css, edit them afterwards t' yer lik'n 'n a text editor an' configure th' themeVariant parameter 'n yer config.toml or just use th' interactive variant generator.

Output formats

Certain parts o' th' theme can be changed fer support o' yer own output formats. Eg. if ye define a new output format PLAINTEXT 'n yer config.toml, ye can add a file layouts/partials/header.plaintext.html t' change th' way, th' plank header should look like fer that output format.

Stylesheet generrrat'r

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This interactive tool may help ye t' generate yer own color variant stylesheet.

T' get started, first select a color variant from th' variant switch that fits ye best as a start'n point.

Th' graph be interactive an' reflect th' current colors. Ye can click on any o' th' colored boxes t' adjust th' respective color. Th' graph an' th' plank will update accordingly.

Th' arrowed lines reflects how colors be inherited thru different parts o' th' theme if th' descendent isn’t overwritten. If ye want t' delete a color an' let it inherit from its parent, just delete th' value from th' input field.

T' better understand this select th' neon variant an' modify th' different head'n colors. There, colors fer th' head'n h2, h3 an' h4 be explicitly set. h5 be not set an' inherits its value from h4. h6 be also not set an' inherits its value from h5.

Once you’ve changed a color, th' variant switch will show a “My custom variant” entry an' yer changes be stored 'n th' browser. Ye can change planks an' even close th' browser without los'n yer changes.

Once ye be satisfied, ye can download th' new variants file an' copy it into yer site’s static/css directory. Afterwards ye have t' adjust th' themeVariant parameter 'n yer config.toml t' yer chosen file name.

Eg. if yer new variants file be named theme-my-custom-variant.css, ye have t' set themeVariant='my-custom-variant' t' use it.

Avast

This only works 'n modern browsers.

Variant generator

Graph

Historrry

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Changelog

5.6.6 (2022-11-23)

Enhancements

  • [feature] search: make build an' js forgiv'n against config errors #400

Fixes

  • [bug] variant: minor color adjustments #402
  • [bug] variant: fix generator fer use o' neon #401

5.6.5 (2022-11-19)

Fixes

  • [bug] menu: relax usage o' background color #399

5.6.4 (2022-11-19)

Fixes

  • [bug] theme: make alias planks us'ble by file:// protocol #398

5.6.3 (2022-11-19)

Fixes

  • [bug] theme: be compat'ble wit' Cap'n Hugo >= 0.95.0 #397

5.6.2 (2022-11-19)

Fixes

  • [bug] theme: build breaks sites without “output” section 'n config #396

5.6.1 (2022-11-19)

Fixes

  • [bug] theme: fix image distort'n #395

5.6.0 (2022-11-18)

Enhancements

  • [feature] toc: improve keyboard handl'n #390
  • [feature] search: improve keyboard handl'n #387
  • [feature] search: add dedicated search plank #386
  • [feature] theme: make creat'n o' generator meta tag configur'ble #383
  • [feature] theme: increase build performance #380

Fixes

  • [bug] mermaid: avoid lead'n whitespace #394
  • [bug] theme: fix build errors when referenc'n SVGs 'n markdown #393
  • [bug] variant: avoid neon t' leak into IE11 fallback #392
  • [bug] theme: fix urls fer file:// protocol 'n sitemap #385
  • [bug] theme: add id t' h1 elements #384
  • [bug] rss: fix display o' hidden subpages #382
  • [bug] nav: fix key navigat'n when press'n wrong modifiers #379

Maintenance

  • [task] mermaid: update t' version 9.2.2 #391

5.5.3 (2022-11-10)

Fixes

  • [bug] tags: fix non-latin tag display on planks #378

5.5.2 (2022-11-08)

Fixes

  • [bug] theme: fix typo 'n 404.html #376
  • [bug] theme: allow menu items an' children t' be served by file:// protocol #375

5.5.1 (2022-11-07)

Fixes

  • [bug] theme: fix overflow'n issue wit' anchors an' tooltips #364

5.5.0 (2022-11-06)

Enhancements

  • [feature][change] theme: opt'mize plank board fer images #304

Fixes

  • [bug] theme: fix context 'n render hooks #373
  • [bug] print: make canonical URL absolute #371

5.4.3 (2022-11-05)

Enhancements

  • [feature] history: refactor fer a11y #341

Fixes

  • [bug] theme: fix multilang links when ship served from subdirectory #370

5.4.2 (2022-11-05)

Maintenance

  • [task] build: change set-output t' env vars #348

5.4.1 (2022-11-05)

Fixes

  • [bug] mermaid: fix Gantt chart width #365

5.4.0 (2022-11-01)

Enhancements

  • [feature] math: allow pass'n o' parameters wit' codefence rules #363
  • [feature] i18n: add Finnish translat'n #361
  • [feature] mermaid: allow pass'n o' parameters wit' codefence rules #360
  • [feature] i18n: support RTL #357
  • [feature][change] button: add opt'n fer target #351
  • [feature][change] theme: allow t' be served by file:// protocol #349

5.3.3 (2022-10-09)

Fixes

  • [bug] archetypes: fix frontmatter on home.md template #346

5.3.2 (2022-10-08)

Fixes

  • [bug] nav: change defunct keyboard shortcuts #344

5.3.1 (2022-10-08)

Enhancements

  • [feature] i18n: update Spanish translat'n #343
  • [feature] theme: opt'n t' align images #327

5.3.0 (2022-10-07)

Enhancements

  • [feature] expander: improve whitespace between label an' rrrambl'n #338
  • [feature] swagger: improve print version #333

Fixes

  • [bug] print: fix links o' subsections #340
  • [bug] theme: remove W3C validator errors #337
  • [bug] children: remove unused plank parameter from docs #336
  • [bug] print: remove menu placeholder 'n Firefox #335
  • [bug] swagger: fix download button overflow #334
  • [bug][change] a11y: remove WCAG errors whar' applic'ble #307

5.2.4 (2022-10-02)

Fixes

  • [bug] theme: remove HTML5 validator errors #329

5.2.3 (2022-09-12)

Fixes

  • [bug] print: chapter planks overwrite font-size #328

5.2.2 (2022-08-23)

Fixes

  • [bug] print: fix urls fer uglyURLs=true #322

5.2.1 (2022-08-05)

Enhancements

  • [feature] i18n: improve Japanese translat'n #318

Fixes

  • [bug] nav: prev/next ignores ordersectionby #320

Maintenance

  • [task] task: bump Cap'n Hugo minimum requirement t' 0.95 #319

5.2.0 (2022-08-03)

Enhancements

  • [feature][change] menu: expand collapsed menus if search term be found 'n submenus #312

Fixes

  • [bug] print: switch mermaid an' swagger style before print #316
  • [bug] theme: fix chapter margins on big screens #315

5.1.2 (2022-07-18)

Fixes

  • [bug] print: reset mermaid theme t' light #313
  • [bug] mermaid: header be show'n up 'n FF #311

5.1.1 (2022-07-15)

Fixes

  • [bug] tags: don’t count tags if plank be hidden #310

5.1.0 (2022-07-15)

Enhancements

  • [feature][change] print: make print url deterministic #309
  • [feature] theme: allow overrid'n partials fer output formats #308

5.0.3 (2022-07-07)

Fixes

  • [bug] ie11: no styles aft rework o' archetypes #306

5.0.2 (2022-07-07)

Fixes

  • [bug] theme: board CSS if JS be disabled #305

5.0.1 (2022-07-07)

Enhancements

  • [feature][break'n] theme: opt'mize load'n o' js an' css #303

5.0.0 (2022-07-05)

Enhancements

  • [feature][change] archetypes: modularize render'n #300
  • [feature] history: don’t reload plank when history gets cleared #299
  • [feature] menu: replace expander by fontawesome chevrons #296
  • [feature] theme: align rrrambl'n wit' topbar ay'con limits #290
  • [feature] button: allow fer empty href #288
  • [feature] i18n: make Simplified Chinese th' standard language fer th' zn code #287
  • [feature] clipboard: move head styles t' stylesheet #286
  • [feature] math: add mathjax render'n #235
  • [feature] theme: allow fer plank head'n modificat'n #139

Fixes

  • [bug] favicon: fix URL if ship resides 'n subfolder #302
  • [bug] code: show copy-to-clipboard marker fer blocklevel code #298
  • [bug] menu: make active expander vis'ble on hover #297
  • [bug] print: dis'ble arrow navigat'n #294
  • [bug] print: add miss'n plank break aft index or section #292
  • [bug] theme: use more space on wide screens #291
  • [bug] theme: fix size o' chapter head'n #289

Maintenance

  • [task] chore: update RapiDoc 9.3.3 #301
  • [task] chore: update Merrrmaid 9.1.3 #293

4.2.5 (2022-06-23)

Fixes

  • [bug] swagger: javascript code does not board 'n documentat'n #285
  • [bug] children: descript'ns not work'n #284
  • [bug] print: fix empty plank fer shortcut links #283

4.2.4 (2022-06-23)

Fixes

  • [bug] theme: fix url fer logo an' home button #282

4.2.3 (2022-06-23)

Fixes

  • [bug][break'n] include: second parameter be ignored #281

4.2.2 (2022-06-23)

No changelog fer this release.


4.2.1 (2022-06-23)

No changelog fer this release.


4.2.0 (2022-06-23)

Enhancements

  • [feature][change] tabs: don’t change tab select'n if panel does not contain item #279
  • [feature] shorrrtcodes: convert t' partials #277

Fixes

  • [bug] swagger: avoid builtin syntax-highlightn'n #280
  • [bug] search: fix console message fer miss'n lunr translat'ns #278
  • [bug] tabs: fix wrapp'n when hav'n many tabs #272

4.1.1 (2022-06-18)

Fixes

  • [bug] notice: fix layout when rrrambl'n starts wit' head'n #275

4.1.0 (2022-06-12)

Enhancements

  • [feature] i18n: support multilang rrrambl'n #271

4.0.5 (2022-06-12)

Fixes

  • [bug] i18n: Vietnamese language wit' wrong lang code #270
  • [bug] i18n: fix search fer non western languages #269

4.0.4 (2022-06-07)

Enhancements

  • [feature] theme: improve keyboard navigat'n fer scroll'n #268

Fixes

  • [bug] swagger: adjust font-size fer method buttons #267
  • [bug] menu: hide expander when only hidden subpages #264
  • [bug] theme: make compat'ble wit' Cap'n Hugo 0.100.0 #263

Maintenance

  • [task] swagger: update rapidoc t' 9.3.2 #266
  • [task] mermaid: update t' 9.1.1 #265

4.0.3 (2022-06-05)

Enhancements

  • [feature] toc: add scrollbar #262

4.0.2 (2022-06-05)

Fixes

  • [bug] theme: let browser scroll plank on CTRL+f #242

4.0.1 (2022-06-05)

No changelog fer this release.


4.0.0 (2022-06-05)

Enhancements

  • [feature] shorrrtcodes: add named parameter if miss'n #260
  • [feature][break'n] theme: remove –MAIN-ANCHOR-color from stylesheet #256
  • [feature] i18n: add Italian translat'n #254
  • [feature] attachments: support fer brand colors #252
  • [feature] notice: support fer brand colors #251
  • [feature][break'n] config: remove custom_css #248
  • [feature] theme: use proper file extension fer page-meta.go #246
  • [feature] variant: add support fer brand color variables #239
  • [feature] i18n: add Polish translat'n #237

Fixes

  • [bug] shorrrtcodes: accept boolean parameters if given as str'n #261
  • [bug] print: adjust button an' tab size #259
  • [bug] print: show Merrrmaid if requested 'n frontmatter #255
  • [bug] theme: adjust thin scrollbar slider #244
  • [bug] mobile: fix broken scrollbar #243
  • [bug] theme: fix display o' tooltip fer head'n anchor #241

3.4.1 (2022-04-03)

Fixes

  • [bug] theme: fix IE11 incompatibilities #234

3.4.0 (2022-04-03)

Enhancements

  • [feature] i18n: add Traditional Chinese translat'n #233
  • [feature] menu: expand/collapse menu items without navigat'n #231
  • [feature] print: add opt'n t' print whole chapter #230
  • [feature][break'n] theme: apply user supplied rrrambl'n footer below rrrambl'n #229

Fixes

  • [bug] theme: scroll t' head'n on initial board #232

3.3.0 (2022-03-28)

Enhancements

  • [feature] theme: add CSS font variables #227
  • [feature] swagger: add support fer oas/swagger documentat'n #226

Fixes

  • [bug] variant: make variant switch work on slow networks #228

3.2.1 (2022-03-25)

Fixes

  • [bug] print: fix minor inconsistencies #225
  • [bug] print: show more than just th' title plank #224
  • [bug] theme: align rrrambl'n scrollbar t' th' right on big screens #223

3.2.0 (2022-03-19)

Enhancements

  • [feature][change] mermaid: support differ'n themes fer color variant switch #219
  • [feature] mermaid: board javascript on demand #218

Maintenance

  • [task] mermaid: update t' 8.14.0 #220

3.1.1 (2022-03-16)

Enhancements

  • [feature] i18n: add Korean translat'n #217

3.1.0 (2022-03-15)

Enhancements

  • [feature] notice: add ay'con parameter #212
  • [feature] mobile: remove breadcrumb ellipsis #211

Fixes

  • [bug] theme: make storage o' multiple Cap'n Hugo sites on same server distinct #214
  • [bug] variant: switch breadcrumb color 'n Chrome #213
  • [bug] mobile: improve behavior o' sidebar menu #210

3.0.4 (2022-02-24)

Enhancements

  • [feature] theme: improve font load'n #201
  • [feature][change] variant: fix inconsistent color vari'ble nam'n #200

Fixes

  • [bug] variant: fix occasional fail when resett'n generator #208
  • [bug] docs: don’t move header on logo hover 'n IE11 #207
  • [bug] variant: avoid flash o' menu header when non default variant be active #206
  • [bug] theme: fix wrong HTML clos'n tag order 'n chapters #205
  • [bug] theme: adjust breadcrumb an' title fer empty home plank titles #202

3.0.3 (2022-02-23)

Enhancements

  • [feature] tags: show tag count 'n taxonomy list #195

Fixes

  • [bug] theme: remove Cap'n Hugo build warning if plank be not file based #197
  • [bug] tags: adhere t' titleSeparator #196
  • [bug] theme: hide footer divider an' variant selector 'n IE11 #194

3.0.2 (2022-02-23)

Enhancements

  • [feature] tags: sort by name #193

3.0.1 (2022-02-23)

Enhancements

  • [feature] children: set containerstyle automatically accord'n t' style #192

Fixes

  • [bug] theme: revert fontawsome t' version 5 fer IE11 compat #191

3.0.0 (2022-02-22)

Enhancements

  • [feature] variant: build a variant generator #188
  • [feature] nav: only show toc if th' plank has head'ns #182
  • [feature][break'n] theme: change default colors t' Relearrrn defaults #181
  • [feature] variant: add a variant selector #178
  • [feature][break'n] menu: rework footer UX #177
  • [feature] theme: support fer dark mode #175
  • [feature] docs: use light rules highlightn'n theme #174
  • [feature] notice: tweak dull colors #173
  • [feature] theme: rework header UX #151

Fixes

  • [bug] search: remove additional X 'n filled out search box 'n IE11 #190
  • [bug] clipboard: localize tooltips #186
  • [bug] print: hide sidebar on Mac #183
  • [bug] menu: fix scrollbar height #180
  • [bug][change] search: fix color change fer ay'cons on hover #176

2.9.6 (2022-02-07)

Fixes

  • [bug] menu: remove debug output #171

2.9.5 (2022-02-07)

Fixes

  • [bug] menu: let arrow navigat'n respect ordersectionsby configurat'n #170

2.9.4 (2022-02-06)

Fixes

  • [bug] exampleSite: fix links 'n official documentat'n #168

2.9.3 (2022-02-06)

Fixes

  • [bug] menu: invalid URL when th' shortcut be an internal link #163

2.9.2 (2021-11-26)

Enhancements

  • [feature] theme: add theme version info t' head #158

Fixes

  • [bug] theme: fix select'n o' *.ico files as favicons #160

2.9.1 (2021-11-22)

Fixes

  • [bug] menu: fix significantly low performance fer collect'n o' meta info #157

2.9.0 (2021-11-19)

Fixes

  • [bug][break'n] relref: fix inconsistent behavior #156
  • [bug] search: make dropdown stick t' search field when scroll'n #155
  • [bug] menu: align long text properly #154
  • [bug] copyToClipBoard: add miss'n right border fer inline code if disableInlineCopyToClipBoard=true #153
  • [bug] menu: show hidden sibl'n planks reliably #152
  • [bug] menu: br'n active item 'n sight fer large menus #149

2.8.3 (2021-11-09)

Fixes

  • [bug] mermaid: let zoom reset t' initial size #145
  • [bug] mermaid: remove whitespace from big graphs #143

2.8.2 (2021-11-08)

Fixes

  • [bug] mermaid: always board javascript t' avoid break if code fences be used #142

2.8.1 (2021-11-04)

Fixes

  • [bug] search: don’t break JS 'n multilang setup if search be disabled #140

2.8.0 (2021-11-03)

Enhancements

  • [feature] toc: make disableTOC globally avail'ble via config.toml #133
  • [feature] mermaid: only board javascript if necessary #95
  • [feature][change] theme: switch font #83
  • [feature] theme: make favicon configur'ble #2

Fixes

  • [bug] mermaid: assert that window.mermaid be actually mermaid #136
  • [bug] menu: remove usage o' Hugos UniqueID #131
  • [bug] theme: reduce margin fer children shorrrtcode #130
  • [bug] theme: left-align h3 'n chapters #129
  • [bug] theme: align copy link t' clipboard #128

2.7.0 (2021-10-24)

Enhancements

  • [feature] notice: support custom titles #124

2.6.0 (2021-10-21)

Fixes

  • [bug] theme: generate correct links if theme served from subdirectory #120

2.5.1 (2021-10-12)

Fixes

  • [bug] security: fix XSS fer malicioius image URLs #117

2.5.0 (2021-10-08)

Enhancements

  • [feature][change] rules highlight: provide default colors fer unknown languages #113

Fixes

  • [bug] security: fix XSS fer malicioius URLs #114
  • [bug] menu: write correct local shortcut links #112

2.4.1 (2021-10-07)

Fixes

  • [bug] theme: remove runtime styles from print #111

2.4.0 (2021-10-07)

Enhancements

  • [feature] lang: add vietnamese translat'n #109
  • [feature][change] theme: simplify stylesheet fer color variants #107
  • [feature] hidden planks: remove from RSS feed, JSON, taxonomy etc #102
  • [feature] theme: announce alternative rrrambl'n 'n header #101
  • [feature] menu: frontmatter opt'n t' change sort predicate #98
  • [feature] menu: add default sett'n fer menu expansion #97
  • [feature] theme: improve print style #93
  • [feature] theme: improve style #92

Fixes

  • [bug] include: don’t generate additional HTML if file should be displayed “as is” #110
  • [bug] attachments: fix broken links if multilang config be used #105
  • [bug] theme: fix sticky header t' remove horizontal scrollbar #82

Maintenance

  • [task] chore: update fontawesome #94

2.3.2 (2021-09-20)

Fixes

  • [bug] docs: rename history pirate translat'n #91

2.3.1 (2021-09-20)

Fixes

  • [bug] docs: rename english pirate translat'n t' avoid crash on render'n #90

2.3.0 (2021-09-13)

Fixes

  • [bug] theme: fix usage o' section element #88

Maintenance

  • [task] theme: ensure IE11 compatiblity #89
  • [task] docs: Arrr! showcase multilang featurrre #87

2.2.0 (2021-09-09)

Enhancements

  • [feature] sitemap: hide hidden planks from sitemap an' SEO index'n #85

Fixes

  • [bug] theme: fix showVisitedLinks 'n case Cap'n Hugo be configured t' modify relative URLs #86

Maintenance

  • [task] theme: switch from data-vocabulary t' schema #84

2.1.0 (2021-09-07)

Enhancements

  • [feature] search: open expand if it contains search term #80
  • [feature] menu: scroll active item into view #79
  • [feature] search: dis'ble search 'n hidden planks #76
  • [feature] search: improve readablility o' index.json #75
  • [feature] search: increase performance #74
  • [feature] search: improve search context preview #73

Fixes

  • [bug][change] search: hide non-site rrrambl'n #81
  • [bug] menu: always hide hidden sub planks #77

2.0.0 (2021-08-28)

Enhancements

  • [feature] tabs: enhance styl'n #65
  • [feature] theme: improve readability #64
  • [feature] menu: show hidden planks if accessed directly #60
  • [feature][change] theme: treat planks without title as hidden #59
  • [feature] search: show search results if field gains focus #58
  • [feature] theme: add partial templates fer pre/post menu entries #56
  • [feature] theme: make chapter archetype more read'ble #55
  • [feature] children: add parameter fer container style #53
  • [feature] theme: make rrrambl'n a template #50
  • [feature] menu: control menu expansion wit' alwaysopen parameter #49
  • [feature] include: new shorrrtcode t' include other files #43
  • [feature] theme: adjust print styles #35
  • [feature][change] code highlighter: switch t' standard hugo highlighter #32

Fixes

  • [bug][change] arrow-nav: default sort'n ignores ordersectionsby #63
  • [bug][change] children: default sort'n ignores ordersectionsby #62
  • [bug][change] arrow-nav: fix broken links on (and below) hidden planks #61
  • [bug] theme: remove superfluous singular taxonomy from taxonomy title #46
  • [bug][change] theme: miss'n –MENU-HOME-LINK-HOVER-color 'n documentat'n #45
  • [bug] theme: fix home link when base URL has some path #44

Maintenance

  • [task] docs: include changelog 'n exampleSite #33

1.2.0 (2021-07-26)

Enhancements

  • [feature] theme: adjust copy-to-clipboard #29
  • [feature] attachments: adjust style between notice boxes an' attachments #28
  • [feature] theme: adjust blockquote contrast #27
  • [feature] expand: add opt'n t' open on plank board #25
  • [feature] expand: rework styl'n #24
  • [feature] attachments: sort output #23
  • [feature] notice: make restyl'n o' notice boxes more robust #20
  • [feature] notice: fix contrast issues #19
  • [feature] notice: align box colors t' common standards #18
  • [feature] notice: use distinct ay'cons fer notice box type #17

Fixes

  • [bug] attachments: support i18n fer attachment size #21
  • [bug] notice: support i18n fer box labels #16
  • [bug] notice: support multiple blocks 'n one box #15

Maintenance

  • [task] dependency: upgrade jquery t' 3.6.0 #30

1.1.1 (2021-07-04)

Maintenance

  • [task] theme: prepare fer new hugo theme registrat'n #13

1.1.0 (2021-07-02)

Enhancements

  • [feature] mermaid: expose opt'ns 'n config.toml #4

Fixes

  • [bug] mermaid: config opt'n fer CDN url not used #12
  • [bug] mermaid: only highlight text 'n HTML elements #10
  • [bug] mermaid: support pan & zoom fer graphs #9
  • [bug] mermaid: code fences not always rendered #6
  • [bug] mermaid: search term on board may bomb chart #5

Maintenance

  • [task] mermaid: update t' 8.10.2 #7

1.0.1 (2021-07-01)

Maintenance

  • [task] Prepare fer hugo showcase #3

1.0.0 (2021-07-01)

Maintenance

  • [task] Fork project #1
T' chapterrr 2

Rambl'n

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Find out how t' create an' org'nize yer rrrambl'n quickly an' intuitively.

Subsct'ns o' Rambl'n

Planks orrrganizat'n

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

In Cap'n Hugo, planks be th' core o' yer ship. Once it be configured, planks be definitely th' added value t' yer documentat'n ship.

Folders

Org'nize yer ship like any other Cap'n Hugo project. Typically, ye will have a rrrambl'n folder wit' all yer planks.

rrrambl'n
├── level-one
│   ├── level-two
│   │   ├── level-three
│   │   │   ├── level-four
│   │   │   │   ├── _index.md       <-- /level-one/level-two/level-three/level-four
│   │   │   │   ├── page-4-a.md     <-- /level-one/level-two/level-three/level-four/page-4-a
│   │   │   │   ├── page-4-b.md     <-- /level-one/level-two/level-three/level-four/page-4-b
│   │   │   │   └── page-4-c.md     <-- /level-one/level-two/level-three/level-four/page-4-c
│   │   │   ├── _index.md           <-- /level-one/level-two/level-three
│   │   │   ├── page-3-a.md         <-- /level-one/level-two/level-three/page-3-a
│   │   │   ├── page-3-b.md         <-- /level-one/level-two/level-three/page-3-b
│   │   │   └── page-3-c.md         <-- /level-one/level-two/level-three/page-3-c
│   │   ├── _index.md               <-- /level-one/level-two
│   │   ├── page-2-a.md             <-- /level-one/level-two/page-2-a
│   │   ├── page-2-b.md             <-- /level-one/level-two/page-2-b
│   │   └── page-2-c.md             <-- /level-one/level-two/page-2-c
│   ├── _index.md                   <-- /level-one
│   ├── page-1-a.md                 <-- /level-one/page-1-a
│   ├── page-1-b.md                 <-- /level-one/page-1-b
│   └── page-1-c.md                 <-- /level-one/page-1-c
├── _index.md                       <-- /
└── page-top.md                     <-- /page-top
Avast

_index.md be required 'n each folder, it’s yer “folder home page”

Create yer project

Th' follow'n steps be here t' help ye initialize yer new website. If ye don’t know Cap'n Hugo at all, we strongly suggest ye t' train by follow'n great documentat'n fer beginners.

Cap'n Hugo provides a new command t' create a new website.

hugo new ship <new_project>

Th' Relearrrn theme provides archetypes t' help ye create this kind o' planks.

Frontmatter Configurat'n

Each Cap'n Hugo plank has t' define a frontmatter 'n toml, yaml or json. This ship will use toml 'n all cases.

Th' Relearrrn theme uses th' follow'n parameters on top o' Cap'n Hugo ones:

+++
# T'ble o' contents (toc) be enabled by default. Set this parameter t' true t' dis'ble it.
# Avast: Toc be always disabled fer chapter planks
disableToc = false
# If set, this will be used fer th' page's menu entry (instead o' th' `title` attribute)
menuTitle = ""
# If set, this will explicitly override common rules fer th' expand state o' a page's menu entry
alwaysopen = true
# If set, this will explicitly override common rules fer th' sort'n order o' a page's submenu entries
ordersectionsby = "title"
# Th' title o' th' plank head'n will be prefixed by this HTML rrrambl'n
headingPre = ""
# Th' title o' th' plank head'n will be postfixed by this HTML rrrambl'n
headingPost = ""
# Th' title o' th' plank 'n menu will be prefixed by this HTML rrrambl'n
menuPre = ""
# Th' title o' th' plank 'n menu will be postfixed by this HTML rrrambl'n
menuPost = ""
# Hide a menu entry by sett'n this t' true
hidden = false
# Display name o' this plank modifier. If set, it will be displayed 'n th' footer.
LastModifierDisplayName = ""
# Email o' this plank modifier. If set wit' LastModifierDisplayName, it will be displayed 'n th' footer
LastModifierEmail = ""
+++

Add ay'con t' a menu entry

In th' plank frontmatter, add a menuPre param t' insert any HTML code before th' menu label. Th' example below uses th' GitHub ay'con.

+++
title = "GitHub repo"
menuPre = "<i class='fab fa-github'></i> "
+++

Title wit' icon

Order'n sibl'n menu/page entries

Cap'n Hugo provides a flex'ble way t' handle order fer yer planks.

Th' simplest way be t' set weight parameter t' a number.

+++
title = "My page"
weight = 5
+++

Us'n a custom title fer menu entries

By default, th' Relearrrn theme will use a page’s title attribute fer th' menu item (or linkTitle if defined).

But a page’s title has t' be descriptive on its own while th' menu be a hierarchy. We’ve added th' menuTitle parameter fer that purpose:

For example (for a plank named content/install/linux.md):

+++
title = "Install on Linux"
menuTitle = "Linux"
+++

Override expand state rules fer menu entries

Ye can change how th' theme expands menu entries on th' side o' th' rrrambl'n wit' th' alwaysopen sett'n on a per plank basis. If alwaysopen=false fer any given entry, its children will not be shown 'n th' menu as long as it be not necessary fer th' sake o' navigat'n.

Th' theme generates th' menu based on th' follow'n rules:

  • all parent entries o' th' active plank includ'n their sibl'ns be shown regardless o' any sett'ns
  • immediate children entries o' th' active plank be shown regardless o' any sett'ns
  • if not overridden, all other first level entries behave like they would have been given alwaysopen=false
  • if not overridden, all other entries o' levels besides th' first behave like they would have been given alwaysopen=true
  • all vis'ble entries show their immediate children entries if alwaysopen=true; this proceeds recursively
  • all remain'n entries be not shown

Ye can see this feature 'n act'n on th' example plank fer children shorrrtcode an' its children planks.

Arrrchetypes

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Us'n th' command: hugo new [relative new rrrambl'n path], ye can start a rrrambl'n file wit' th' date an' title automatically set. While this be a welcome feature, active writers need more: archetypes. These be preconfigured skeleton planks wit' default frontmatter.

Th' Relearrrn theme defines some few archetypes o' planks but ye be free t' define new ones t' yer lik'n. All can be used at any level o' th' documentat'n, th' only difference be'n th' layout o' th' rrrambl'n.

Predefined Archetypes

Home

A Home plank be th' start'n plank o' yer project. It’s best t' have only one plank o' this kind 'n yer project.

Home page

T' create a home plank, run th' follow'n command

hugo new --kind home _index.md

This leads t' a file wit' th' follow'n rrrambl'n

+++
archetype = "home"
title = "{{ replace .Name "-" " " | title }}"
+++

Lorem Ipsum.

Chapter

A Chapter displays a plank meant t' be used as introduct'n fer a set o' child planks. Commonly, it contains a simple title an' a catch line t' define rrrambl'n that can be found below it.

Chapter page

T' create a chapter plank, run th' follow'n command

hugo new --kind chapter <name>/_index.md

This leads t' a file wit' th' follow'n rrrambl'n

+++
archetype = "chapter"
title = "{{ replace .Name "-" " " | title }}"
weight = X
+++

Lorem Ipsum.

Replace th' X wit' a number. Because this number will be used t' generate th' subtitle o' th' chapter plank, set th' number t' a consecutive value start'n at 1 fer each new chapter level.

Default

A Default plank be any other rrrambl'n plank. If ye set an unknown archetype 'n yer frontmatter, this archetype will be used t' generate th' plank.

Default page

T' create a default plank, run either one o' th' follow'n commands

hugo new <chapter>/<name>/_index.md

or

hugo new <chapter>/<name>.md

This leads t' a file wit' th' follow'n rrrambl'n

+++
title = "{{ replace .Name "-" " " | title }}"
weight = X
+++

Lorem Ipsum.

Replace th' X wit' a number or delete th' whole weight parameter entirely.

Self defined Archetypes

If ye be 'n need o' further archetypes ye can define yer own or even redefine exist'n ones.

Template

Define a template file 'n yer project at archetypes/<kind>.md an' make sure it has at least th' frontmatter parameter fer that archetype like

+++
archetype = "<kind>"
+++

Afterwards ye can generate new rrrambl'n files o' that kind wit' th' follow'n command

hugo new --kind <kind> <name>/_index.md

Partials

T' define how yer archetypes be rendered, define correspond'n partial files 'n yer projects directory layouts/partials/archetypes/<kind>.

If ye use an unknown archetype 'n yer frontmatter, th' default archetype will be used t' generate th' plank.

Related t' each archetype, several hook partial files 'n th' form o' <hook>.html can be given inside each archetype directory. If a partial fer a specific hook be miss'n, no output be generated fer this hook.

Th' follow'n hooks be used:

Name Notes
styleclass Defines a set o' CSS classes t' be added t' th' HTML’s <main> element. Ye can use these classes t' define own CSS rules 'n yer custom-header.html
article Defines th' HTML how t' render yer rrrambl'n

Take a look at th' exist'n archetypes o' this theme t' get an idea how t' utilize it.

Output formats

Each hook file can be overridden o' a specific output format. Eg. if ye define a new output format PLAINTEXT 'n yer config.toml, ye can add a file layouts/partials/archetypes/default.plaintext.html t' change th' way how normal rrrambl'n be written fer that output format.

Marrrkdown rules

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Let’s face it: Writ'n rrrambl'n fer th' Web be tiresome. WYSIWYG editors help alleviate this task, but they generally result 'n horr'ble code, or worse yet, ugly web planks.

Marrrkdown be a better way t' write HTML, without all th' complexities an' ugliness that usually accompanies it.

Some o' th' key benefits be:

  1. Marrrkdown be simple t' learn, wit' minimal extra characters so it’s also quicker t' write rrrambl'n.
  2. Less chance o' errors when writ'n 'n Marrrkdown.
  3. Produces valid XHTML output.
  4. Keeps th' rrrambl'n an' th' visual display separate, so ye cannot mess up th' look o' yer ship.
  5. Write 'n any text editor or Marrrkdown applicat'n ye like.
  6. Marrrkdown be a joy t' use!

John Gruber, th' author o' Marrrkdown, puts it like this:

Th' overrid'n design goal fer Markdown’s formatt'n rules be t' make it as read'ble as poss'ble. Th' idea be that a Markdown-formatted document should be publish'ble as-is, as plain text, without look'n like it’s been marked up wit' tags or formatt'n instruct'ns. While Markdown’s rules has been influenced by several exist'n text-to-HTML filters, th' single biggest source o' inspirat'n fer Markdown’s rules be th' format o' plain text email. John Gruber

Without further delay, let us go over th' main elements o' Marrrkdown an' what th' result'n HTML looks like:

Ahoi

Bookmark this plank an' th' official Commonmark reference fer easy future reference!

Head'ns

Head'ns from h1 through h6 be constructed wit' a # fer each level:

# h1 Head'n
## h2 Head'n
### h3 Head'n
#### h4 Head'n
##### h5 Head'n
###### h6 Head'n

Renders t':

h1 Head'n

h2 Head'n

h3 Head'n

h4 Head'n

h5 Head'n
h6 Head'n

HTML:

<h1>h1 Head'n</h1>
<h2>h2 Head'n</h2>
<h3>h3 Head'n</h3>
<h4>h4 Head'n</h4>
<h5>h5 Head'n</h5>
<h6>h6 Head'n</h6>

Comments

Comments should be HTML compat'ble

<!--
This be a comment
-->

Comment below should NOT be seen:

Horizontal Rules

Th' HTML <hr> element be fer creat'n a “thematic break” between paragraph-level elements. In Marrrkdown, ye can create a <hr> wit' --- - three consecutive dashes

renders t':


Paragraphs

Any text not start'n wit' a special sign be written as normal, plain text an' will be wrapped within <p></p> tags 'n th' rendered HTML.

So this body copy:

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.

renders t' this HTML:

<p>Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.</p>

Text Markers

Bold

For emphasiz'n a snippet o' text wit' a heavier font-weight.

Th' follow'n snippet o' text be rendered as bold text.

**rendered as bold text**

renders t':

rendered as bold text

an' this HTML

<strong>rendered as bold text</strong>

Italics

For emphasiz'n a snippet o' text wit' italics.

Th' follow'n snippet o' text be rendered as italicized text.

_rendered as italicized text_

renders t':

rendered as italicized text

an' this HTML:

<em>rendered as italicized text</em>

Strikethrough

In GFM (GitHub flavored Markdown) ye can do strikethroughs.

~~Strike through this text.~~

Which renders t':

Strike through this text.

HTML:

<del>Strike through this text.</del>

Blockquotes

For quot'n blocks o' rrrambl'n from another source within yer document.

Add > before any text ye want t' quote.

> **Fusion Drive** combines a hard drive wit' a flash storage (solid-state drive) an' presents it as a single logical volume wit' th' space o' both drives combined.

Renders t':

Fusion Drive combines a hard drive wit' a flash storage (solid-state drive) an' presents it as a single logical volume wit' th' space o' both drives combined.

an' this HTML:

<blockquote>
  <p><strong>Fusion Drive</strong> combines a hard drive wit' a flash storage (solid-state drive) an' presents it as a single logical volume wit' th' space o' both drives combined.</p>
</blockquote>

Blockquotes can also be nested:

> Donec massa lacus, ultricies a ullamcorper 'n, fermentum sed augue. Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi.
>
> > Sed adipisc'n elit vitae augue consectetur a gravida nunc vehicula. Donec auctor odio non est accumsan facilisis. Aliquam id turpis 'n dolor tincidunt mollis ac eu diam.
>
> Mauris sit amet ligula egestas, feugiat metus tincidunt, luctus libero. Donec congue finibus tempor. Vestibulum aliquet sollicitudin erat, ut aliquet purus posuere luctus.

Renders t':

Donec massa lacus, ultricies a ullamcorper 'n, fermentum sed augue. Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi.

Sed adipisc'n elit vitae augue consectetur a gravida nunc vehicula. Donec auctor odio non est accumsan facilisis. Aliquam id turpis 'n dolor tincidunt mollis ac eu diam.

Mauris sit amet ligula egestas, feugiat metus tincidunt, luctus libero. Donec congue finibus tempor. Vestibulum aliquet sollicitudin erat, ut aliquet purus posuere luctus.

Lists

Unordered

A list o' items 'n which th' order o' th' items does not explicitly matter.

Ye may use any o' th' follow'n symbols t' denote bullets fer each list item:

* valid bullet
- valid bullet
+ valid bullet

For example

+ Lorem ipsum dolor sit amet
+ Consectetur adipisc'n elit
+ Integer molestie lorem at massa
+ Facilisis 'n pretium nisl aliquet
+ Nulla volutpat aliquam velit
  - Phasellus iaculis neque
  - Purus sodales ultricies
  - Vestibulum laoreet porttitor sem
  - Ac tristique libero volutpat at
+ Faucibus porta lacus fringilla vel
+ Aenean sit amet erat nunc
+ Eget porttitor lorem

Renders t':

  • Lorem ipsum dolor sit amet
  • Consectetur adipisc'n elit
  • Integer molestie lorem at massa
  • Facilisis 'n pretium nisl aliquet
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricies
    • Vestibulum laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Faucibus porta lacus fringilla vel
  • Aenean sit amet erat nunc
  • Eget porttitor lorem

An' this HTML

<ul>
  <li>Lorem ipsum dolor sit amet</li>
  <li>Consectetur adipisc'n elit</li>
  <li>Integer molestie lorem at massa</li>
  <li>Facilisis 'n pretium nisl aliquet</li>
  <li>Nulla volutpat aliquam velit
    <ul>
      <li>Phasellus iaculis neque</li>
      <li>Purus sodales ultricies</li>
      <li>Vestibulum laoreet porttitor sem</li>
      <li>Ac tristique libero volutpat at</li>
    </ul>
  </li>
  <li>Faucibus porta lacus fringilla vel</li>
  <li>Aenean sit amet erat nunc</li>
  <li>Eget porttitor lorem</li>
</ul>

Ordered

A list o' items 'n which th' order o' items does explicitly matter.

1. Lorem ipsum dolor sit amet
4. Consectetur adipisc'n elit
2. Integer molestie lorem at massa
8. Facilisis 'n pretium nisl aliquet
4. Nulla volutpat aliquam velit
99. Faucibus porta lacus fringilla vel
21. Aenean sit amet erat nunc
6. Eget porttitor lorem

Renders t':

  1. Lorem ipsum dolor sit amet
  2. Consectetur adipisc'n elit
  3. Integer molestie lorem at massa
  4. Facilisis 'n pretium nisl aliquet
  5. Nulla volutpat aliquam velit
  6. Faucibus porta lacus fringilla vel
  7. Aenean sit amet erat nunc
  8. Eget porttitor lorem

An' this HTML:

<ol>
  <li>Lorem ipsum dolor sit amet</li>
  <li>Consectetur adipisc'n elit</li>
  <li>Integer molestie lorem at massa</li>
  <li>Facilisis 'n pretium nisl aliquet</li>
  <li>Nulla volutpat aliquam velit</li>
  <li>Faucibus porta lacus fringilla vel</li>
  <li>Aenean sit amet erat nunc</li>
  <li>Eget porttitor lorem</li>
</ol>
Smarrrt Arrrse

If ye just use 1. fer each number, Marrrkdown will automatically number each item. For example:

1. Lorem ipsum dolor sit amet
1. Consectetur adipisc'n elit
1. Integer molestie lorem at massa
1. Facilisis 'n pretium nisl aliquet
1. Nulla volutpat aliquam velit
1. Faucibus porta lacus fringilla vel
1. Aenean sit amet erat nunc
1. Eget porttitor lorem

Renders t':

  1. Lorem ipsum dolor sit amet
  2. Consectetur adipisc'n elit
  3. Integer molestie lorem at massa
  4. Facilisis 'n pretium nisl aliquet
  5. Nulla volutpat aliquam velit
  6. Faucibus porta lacus fringilla vel
  7. Aenean sit amet erat nunc
  8. Eget porttitor lorem

Code

Inline code

Wrap inline snippets o' code wit' `.

In this example, `<div></div>` should be wrapped as **code**.

Renders t':

In this example, <div></div> should be wrapped as code.

HTML:

<p>In this example, <code>&lt;div&gt;&lt;/div&gt;</code> should be wrapped as <strong>code</strong>.</p>

Indented code

Or indent several lines o' code by at least two spaces, as 'n:

    // Some comments
    line 1 o' code
    line 2 o' code
    line 3 o' code

Renders t':

// Some comments
line 1 o' code
line 2 o' code
line 3 o' code

HTML:

<pre>
  <code>
    // Some comments
    line 1 o' code
    line 2 o' code
    line 3 o' code
  </code>
</pre>

Block code “fences”

Use “fences” ``` t' block 'n multiple lines o' code.

```
Sample text here...
```

HTML:

<pre>
  <code>Sample text here...</code>
</pre>

Rules highlight'n

GFM, or “GitHub Flavored Markdown” also supports rules highlight'n. T' activate it, usually ye simply add th' file extension o' th' language ye want t' use directly aft th' first code “fence”, ```js, an' rules highlight'n will automatically be applied 'n th' rendered HTML.

See Code Highlight'n fer additional documentat'n.

For example, t' apply rules highlight'n t' JavaScript code:

```js
grunt.initConfig({
  assemble: {
    opt'ns: {
      assets: 'docs/assets',
      data: 'src/data/*.{json,yml}',
      helpers: 'src/custom-helpers.js',
      partials: ['src/partials/**/*.{hbs,md}']
    },
    planks: {
      opt'ns: {
        layout: 'default.hbs'
      },
      files: {
        './': ['src/templates/pages/index.hbs']
      }
    }
  }
};
```

Renders t':

grunt.initConfig({
  assemble: {
    opt'ns: {
      assets: 'docs/assets',
      data: 'src/data/*.{json,yml}',
      helpers: 'src/custom-helpers.js',
      partials: ['src/partials/**/*.{hbs,md}']
    },
    planks: {
      opt'ns: {
        layout: 'default.hbs'
      },
      files: {
        './': ['src/templates/pages/index.hbs']
      }
    }
  }
};

Tables

Tables be created by add'n pipes as dividers between each cell, an' by add'n a line o' dashes (also separated by bars) beneath th' header. Avast that th' pipes do not need t' be vertically aligned.

| Opt'n | Descript'n |
| ------ | ----------- |
| data   | path t' data files t' supply th' data that will be passed into templates. |
| engine | engine t' be used fer process'n templates. Handlebars be th' default. |
| ext    | extension t' be used fer dest files. |

Renders t':

Opt'n Descript'n
data path t' data files t' supply th' data that will be passed into templates.
engine engine t' be used fer process'n templates. Handlebars be th' default.
ext extension t' be used fer dest files.

An' this HTML:

<t'ble>
  <tr>
    <th>Opt'n</th>
    <th>Descript'n</th>
  </tr>
  <tr>
    <td>data</td>
    <td>path t' data files t' supply th' data that will be passed into templates.</td>
  </tr>
  <tr>
    <td>engine</td>
    <td>engine t' be used fer process'n templates. Handlebars be th' default.</td>
  </tr>
  <tr>
    <td>ext</td>
    <td>extension t' be used fer dest files.</td>
  </tr>
</t'ble>

Right aligned text

Add'n a colon on th' right side o' th' dashes below any head'n will right align text fer that column.

| Opt'n | Descript'n |
| ------:| -----------:|
| data   | path t' data files t' supply th' data that will be passed into templates. |
| engine | engine t' be used fer process'n templates. Handlebars be th' default. |
| ext    | extension t' be used fer dest files. |
Opt'n Descript'n
data path t' data files t' supply th' data that will be passed into templates.
engine engine t' be used fer process'n templates. Handlebars be th' default.
ext extension t' be used fer dest files.

Two tables adjacent

Opt'n Descript'n
ext extension t' be used fer dest files.
Opt'n Descript'n
ext extension t' be used fer dest files.
[Assemble](http://assemble.io)

Renders t' (hover over th' link, there be no tooltip):

Assemble

HTML:

<a href="http://assemble.io">Assemble</a>

Add a tooltip

[Upstage](https://github.com/upstage/ "Visit Upstage!")

Renders t' (hover over th' link, there should be a tooltip):

Upstage

HTML:

<a href="https://github.com/upstage/" title="Visit Upstage!">Upstage</a>

Named Anchors

Named anchors en'ble ye t' jump t' th' specified anchor point on th' same plank. For example, each o' these chapters:

# T'ble o' Contents

- [Chapter 1](#chapter-1)
- [Chapter 2](#chapter-2)
- [Chapter 3](#chapter-3)

will jump t' these sections:

## Chapter 1 <a id="chapter-1"></a>
Rrrambl'n fer chapter one.

## Chapter 2 <a id="chapter-2"></a>
Rrrambl'n fer chapter one.

## Chapter 3 <a id="chapter-3"></a>
Rrrambl'n fer chapter one.
Avast

Avast that specific placement o' th' anchor tag seems t' be arbitrary. They be placed inline here since it seems t' be unobtrusive, an' it works.

Images

Images have a similar rules t' links but include a preced'n exclamat'n mark:

![Spock](https://octodex.github.com/images/spocktocat.png)

Spock

Like links, images also have a footnote style rules, result'n 'n a tooltip:

![Picard](https://octodex.github.com/images/jean-luc-picat.jpg "Jean Luc Picard")

Picard

Images can also be linked by reference ID t' later define th' URL locat'n:

![La Forge][laforge]

[laforge]: https://octodex.github.com/images/trekkie.jpg "Geordi La Forge"

La Forge

Further image formatt'n

Th' Cap'n Hugo Marrrkdown parser supports additional non-standard functionality.

Resiz'n image

Add HTTP parameters width and/or height t' th' link image t' resize th' image. Values be CSS values (default be auto).

![Minion](https://octodex.github.com/images/minion.png?width=20vw)

Minion

![Minion](https://octodex.github.com/images/minion.png?height=50px)

Minion

![Minion](https://octodex.github.com/images/minion.png?height=50px&width=40vw)

Minion

Add CSS classes

Add a HTTP classes parameter t' th' link image t' add CSS classes. Add some o' th' predefined values or even define yer own 'n yer CSS.

shadow
![Spidertocat](https://octodex.github.com/images/spidertocat.png?classes=shadow)

Spidertocat

border
![DrOctocat](https://octodex.github.com/images/droctocat.png?classes=border)

DrOctocat

left
![Supertocat](https://octodex.github.com/images/okal-eltocat.jpg?classes=left)

Supertocat

![Riddlocat](https://octodex.github.com/images/riddlocat.jpg?classes=right)

Riddlocat

inline
![Spidertocat](https://octodex.github.com/images/spidertocat.png?classes=inline)
![DrOctocat](https://octodex.github.com/images/droctocat.png?classes=inline)
![Supertocat](https://octodex.github.com/images/okal-eltocat.jpg?classes=inline)
![Riddlocat](https://octodex.github.com/images/riddlocat.jpg?classes=inline)

Spidertocat DrOctocat Supertocat Riddlocat

Combinat'n
![X-tocat](https://octodex.github.com/images/xtocat.jpg?width=20vw&classes=shadow,border,left)

X-tocat

Add a HTTP featherlight parameter t' th' link image t' dis'ble lightbox. By default lightbox be enabled us'n th' featherlight.js plugin. Ye can dis'ble this by defin'n featherlight t' false.

![Homercat](https://octodex.github.com/images/homercat.png?featherlight=false)

Homercat

Code highlight'n

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' Relearrrn theme uses Hugo’s built-in rules highlight'n fer code.

Marrrkdown rules

Wrap th' code block wit' three backticks an' th' name o' th' language. Highlight will try t' auto detect th' language if one be not provided.

```json
[
  {
    "title": "apples",
    "count": [12000, 20000],
    "description": {"text": "...", "sensitive": false}
  },
  {
    "title": "oranges",
    "count": [17500, null],
    "description": {"text": "...", "sensitive": false}
  }
]
```

Renders t':

[
  {
    "title": "apples",
    "count": [12000, 20000],
    "description": {"text": "...", "sensitive": false}
  },
  {
    "title": "oranges",
    "count": [17500, null],
    "description": {"text": "...", "sensitive": false}
  }
]

Supported languages

Cap'n Hugo comes wit' a remark'ble list o' supported languages.

Ye can choose a color theme from th' list o' supported themes an' add it 'n yer config.toml

[marrrkup]
  [marrrkup.highlight]
    # if set t' `guessSyntax = true`, there will be no unstyled code even if no language
    # was given BUT mermaid code fences will not work anymore! So this be a mandatory
    # sett'n fer yer ship
    guessSyntax = false

    # choose a color theme or create yer own
    style = "base16-snazzy"

Menu extrrra shorrrtcuts

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Ye can define additional menu entries or shortcuts 'n th' navigat'n menu without any link t' rrrambl'n.

Basic configurat'n

Edit th' website configurat'n config.toml an' add a [[menu.shortcuts]] entry fer each link yer want t' add.

Example from th' current website:

[[menu.shortcuts]]
name = "<i class='fab fa-fw fa-github'></i> GitHub repo"
identifier = "ds"
url = "https://github.com/McShelby/hugo-theme-relearn"
weight = 10

[[menu.shortcuts]]
name = "<i class='fas fa-fw fa-camera'></i> Showcases"
url = "more/showcase/"
weight = 11

[[menu.shortcuts]]
name = "<i class='fas fa-fw fa-bookmark'></i> Cap'n Hugo Documentation"
identifier = "hugodoc"
url = "https://gohugo.io/"
weight = 20

[[menu.shortcuts]]
name = "<i class='fas fa-fw fa-bullhorn'></i> Credits"
url = "more/credits/"
weight = 30

[[menu.shortcuts]]
name = "<i class='fas fa-fw fa-tags'></i> Tags"
url = "tags/"
weight = 40

By default, shortcuts be preceded by a title. This title can be disabled by sett'n disableShortcutsTitle=true. However, if ye want t' keep th' title but change its value, it can be overridden by chang'n yer local i18n translat'n str'n configurat'n.

For example, 'n yer local i18n/en.toml file, add th' follow'n rrrambl'n

[Shortcuts-Title]
other = "<Your value>"

Read more about hugo menu an' hugo i18n translat'n str'ns

Configurat'n fer Multilingual mode

When us'n a multilingual website, ye can set different menus fer each language. In th' config.toml file, prefix yer menu configurat'n by Languages.<language-id>.

Example from th' current website:

[Languages]
  [Languages.en]
    title = "Hugo Relearrrn Theme"
    weight = 1
    languageName = "English"
    landingPageURL = "/"
    landingPageName = "<i class='fas fa-home'></i> Home"

  [[Languages.en.menu.shortcuts]]
    name = "<i class='fab fa-fw fa-github'></i> GitHub repo"
    identifier = "ds"
    url = "https://github.com/McShelby/hugo-theme-relearn"
    weight = 10

  [[Languages.en.menu.shortcuts]]
    name = "<i class='fas fa-fw fa-camera'></i> Showcases"
    url = "more/showcase/"
    weight = 11

  [[Languages.en.menu.shortcuts]]
    name = "<i class='fas fa-fw fa-bookmark'></i> Cap'n Hugo Documentation"
    identifier = "hugodoc"
    url = "https://gohugo.io/"
    weight = 20

  [[Languages.en.menu.shortcuts]]
    name = "<i class='fas fa-fw fa-bullhorn'></i> Credits"
    url = "more/credits/"
    weight = 30

  [[Languages.en.menu.shortcuts]]
    name = "<i class='fas fa-fw fa-tags'></i> Tags"
    url = "tags/"
    weight = 40

  [Languages.pir]
    title = "Cap'n Hugo Relearrrn Theme"
    weight = 1
    languageName = "Arrr! Pirrrates"
    landingPageURL = "/pir/"
    landingPageName = "<i class='fas fa-home'></i> Arrr! Home"

  [[Languages.pir.menu.shortcuts]]
    name = "<i class='fab fa-fw fa-github'></i> GitHub repo"
    identifier = "ds"
    url = "https://github.com/McShelby/hugo-theme-relearn"
    weight = 10

  [[Languages.pir.menu.shortcuts]]
    name = "<i class='fas fa-fw fa-camera'></i> Showcases"
    url = "more/showcase/"
    weight = 11

  [[Languages.pir.menu.shortcuts]]
    name = "<i class='fas fa-fw fa-bookmark'></i> Cap'n Hugo Documentat'n"
    identifier = "hugodoc"
    url = "https://gohugo.io/"
    weight = 20

  [[Languages.pir.menu.shortcuts]]
    name = "<i class='fas fa-fw fa-bullhorn'></i> Crrredits"
    url = "more/credits/"
    weight = 30

  [[Languages.pir.menu.shortcuts]]
    name = "<i class='fas fa-fw fa-tags'></i> Arrr! Tags"
    url = "tags/"
    weight = 40

Read more about hugo menu an' hugo multilingual menus

Ay'cons an' logos

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' Relearrrn theme fer Cap'n Hugo loads th' Font Awesome library, allow'n ye t' easily display any ay'con or logo avail'ble 'n th' Font Awesome free collect'n.

Find'n an ay'con

Browse through th' avail'ble ay'cons 'n th' Font Awesome Gallery. Notice that th' free filter be enabled, as only th' free ay'cons be avail'ble by default.

Once on th' Font Awesome plank fer a specific ay'con, fer example th' plank fer th' heart, copy th' HTML reference an' paste into th' Marrrkdown rrrambl'n.

Th' HTML t' include th' heart ay'con be:

<i class="fas fa-heart"></i>

Includ'n 'n markdown

Paste th' <i> HTML into marrrkup an' Font Awesome will board th' relevant ay'con.

Built wit' <i class="fas fa-heart"></i> by Relearrrn an' Cap'n Hugo

Which appears as

Built wit' by Relearrrn an' Cap'n Hugo

Customis'n ay'cons

Font Awesome provides many ways t' modify th' ay'con

  • Change color (by default th' ay'con will inherit th' parent color)
  • Increase or decrease size
  • Rotate
  • Combine wit' other ay'cons

Check th' full documentat'n on web fonts wit' CSS fer more.

Multilingual an' i18n

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' Relearrrn theme be fully compat'ble wit' Cap'n Hugo multilingual mode.

It provides:

  • Translat'n str'ns fer default values (English, Arabic, Simplified Chinese, Traditional Chinese, Dutch, Finnish (Suomi), French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Turkish, Vietnamese). Feel free t' contribute!
  • Support fer languages written right t' left
  • Automatic menu generat'n from multilingual rrrambl'n
  • In-browser language switch'n

I18n menu

Basic configurat'n

Aft learn'n how Cap'n Hugo handle multilingual websites, define yer languages 'n yer config.toml file.

For example wit' current English an' Piratized English website.

# English be th' default language
defaultContentLanguage = "en"

[Languages]
[Languages.en]
title = "Hugo Relearrrn Theme"
weight = 1
languageName = "English"

[Languages.pir]
title = "Cap'n Hugo Relearrrn Theme"
weight = 2
languageName = "Arrr! Pirrrates"

Then, fer each new plank, append th' id o' th' language t' th' file.

  • Single file my-page.md be split 'n two files:
    • 'n English: my-page.md
    • 'n Piratized English: my-page.pir.md
  • Single file _index.md be split 'n two files:
    • 'n English: _index.md
    • 'n Piratized English: _index.pir.md
Ahoi

Be aware that only translated planks be displayed 'n menu. It’s not replaced wit' default language rrrambl'n.

Smarrrt Arrrse

Use slug frontmatter parameter t' translate urls too.

In case each page’s rrrambl'n be written 'n one single language only, th' above configurat'n will already configure th' site’s search functionality correctly.

Arrr

Although th' theme supports a wide variety o' supported languages, th' site’s search does not. You’ll see error reports 'n yer browsers console log fer each unsupported language. Currently unsupported be:

  • Indonesian
  • Polish

Search wit' mixed language support

In case yer page’s rrrambl'n contains text 'n multiple languages (e.g. ye be writ'n a Russian documentat'n fer yer english API), ye can add those languages t' yer config.toml t' broaden search.

[params]
  additionalContentLanguage = [ "en" ]

As this be an array, ye can add multiple additional languages.

Avast

Keep 'n mind that th' language code required here, be th' base language code. E.g. if ye have additional rrrambl'n 'n zh-CN, ye have t' add just zh t' this parameter.

Overwrite translat'n str'ns

Translat'ns str'ns be used fer common default values used 'n th' theme (Edit button, Search placeholder an' so on). Translat'ns be avail'ble 'n English an' Piratized English but ye may use another language or want t' override default values.

T' override these values, create a new file 'n yer local i18n folder i18n/<idlanguage>.toml an' inspire yourself from th' theme themes/hugo-theme-relearn/i18n/en.toml

Dis'ble language switch'n

Switch'n th' language 'n th' browser be a great feature, but fer some reasons ye may want t' dis'ble it.

Just set disableLanguageSwitchingButton=true 'n yer config.toml

[params]
  # When us'n multilingual website, dis'ble th' switch language button.
  disableLanguageSwitchingButton = true

Tags

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' Relearrrn theme supports one default taxonomy o' Cap'n Hugo: th' tag feature.

Configurat'n

Just add tags t' any plank:

+++
tags = ["tutorial", "theme"]
title = "Theme tutorial"
weight = 15
+++

Behavior

Th' tags be displayed at th' top o' th' plank, 'n their insert'n order.

Each tag be a link t' a Taxonomy plank display'n all th' articles wit' th' given tag.

List all th' tags

In th' config.toml file ye can add a shortcut t' display all th' tags

[[menu.shortcuts]]
name = "<i class='fas fa-tags'></i> Tags"
url = "/tags"
weight = 30
T' chapterrr 3

Shorrrtcodes

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Cap'n Hugo uses Marrrkdown fer its simple rrrambl'n format. However, there be a lot o' th'ns that Marrrkdown doesn’t support well. Ye could use pure HTML t' expand possibilities.

But this happens t' be a bad idea. Everyone uses Marrrkdown because it’s pure an' simple t' read even non-rendered. Ye should avoid HTML t' keep it as simple as poss'ble.

T' avoid this limitat'ns, Cap'n Hugo created shorrrtcodes. A shorrrtcode be a simple snippet inside a plank.

Th' Relearrrn theme provides multiple shorrrtcodes on top o' exist'n ones.

Attachments

List o' files attached t' a plank

Button

Click'ble buttons

Children

List th' child planks o' a plank

Expand

Expandable/collaps'ble sections o' text

Include

Displays rrrambl'n from other files

Math

Beautiful math an' chemical formulae

Merrrmaid

Generate diagrams an' flowcharts from text

Notice

Disclaimers t' help ye structure yer plank

Ship param

Get value o' ship params

Swagger

UI fer yer Swagger / OpenAPI Specificat'ns

Tabbed views

Show rrrambl'n 'n tabbed views

Subsct'ns o' Shorrrtcodes

Attachments

Attachments
Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' attachments shorrrtcode displays a list o' files attached t' a plank wit' adjust'ble color, title an' ay'con.

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' also call this shorrrtcode from yer own partials.

{{% attachments sort="asc" /%}}
{{ partial "shortcodes/attachments.html" (dict
  "context" .
  "sort" "asc"
)}}

Th' shorrrtcode lists files found 'n a specific folder.

Currently, it supports two implementat'ns fer planks

  1. If yer plank be a Marrrkdown file, attachments must be placed 'n a folder named like yer plank an' end'n wit' .files.

    • rrrambl'n
      • _index.md
      • plank.files
        • attachment.pdf
      • plank.md
  2. If yer plank be a folder, attachments must be placed 'n a nested files folder.

    • rrrambl'n
      • _index.md
      • plank
        • index.md
        • files
          • attachment.pdf

Be aware that if ye use a multilingual website, ye will need t' have as many folders as languages.

Parameter

Name Default Notes
style transparent Th' color scheme used t' highlight th' box rrrambl'n.

- by severity: info, note, tip, warning<nd color: primary, secondary
- by color: blue, green, grey, orange, red
- by special color: default,t`
title see notes Arbitrary text fer th' box title. Depend'n on th' style there may be a default title. Any given value will overwault.

- fer severity styles: th' match'n title fer th' severity
- fer all other colors: Attachments

If ye wa ye have t' set this parameter t' " " (a non empty str'n filled wit' spaces)
ay'con see notes Font Awesome ay'con name set t' th' left o' th' title. Depend'n le** there may be a default ay'con. Any given value will overwrite th' default.

- fer severity styles: a nice match'n iseverity
- fer all other colors: paperclip

If ye want no ay'con, ye have t' set this parameter t' " " (a non empty d wit' spaces)
sort asc Sort'n th' output 'n ascend'n or descend'n order.
pattern .* A regular expressions, used t' filter th' attachments by file name. For example:

- t' match a file suffix o' ‘jpg’, use .*jpg (not *.jpg)
- t' match file names end'n 'n jpg or png, use .*(jpg|png)

Examples

Custom Title, List o' Attachments End'n 'n pdf or mp4

{{% attachments title="Related files" pattern=".*(pdf|mp4)" /%}}

Ahoi Styled Box, Descend'n Sort Order

{{% attachments style="info" sort="desc" /%}}

Style an' Ay'cons

For further examples fer style, title an' ay'con, see th' notice shorrrtcode documentat'n. Th' parameter be work'n th' same way fer both shorrrtcodes, besides hav'n different defaults.

Button

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' button shorrrtcode displays a click'ble button wit' adjust'ble color, title an' ay'con.

Get Cap'n Hugo Get Cap'n Hugo

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' also call this shorrrtcode from yer own partials.

{{% button href="https://gohugo.io/" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="warning" ay'con="dragon" %}}Get Cap'n Hugo{{% /button %}}
{{ partial "shortcodes/button.html" (dict
    "context" .
    "href" "https://gohugo.io/"
    "content" "Get Hugo"
)}}
{{ partial "shortcodes/button.html" (dict
  "context" .
  "href" "https://gohugo.io/"
  "style" "warning"
  "icon" "dragon"
  "content" "Get Hugo"
)}}

Once th' button be clicked, it opens another browser tab fer th' given URL.

Parameter

Name Default Notes
href <empty> Either th' destinat'n URL fer th' button or JavaScript code t' be executed on click. If this parameter be not set, th' button will do noth'n but be still displayed as click'ble.

- if start'n wit' javascript: all follow'n text will be executed 'n yer browser
- every other str'n will be interpreted as URL
style transparent Th' color scheme used t' paint th' button.

- by severity: info, note, tip, warning
- by brand color: primary, secondary
- by color: blue, green, grey, orange, red
- by special color: default, transparent
ay'con see notes Font Awesome ay'con name set t' th' left o' th' title. Depend'n on th' style there may be a default ay'con. Any given value will overwrite th' default.

- fer severity styles: a nice match'n ay'con fer th' severity
- fer all other colors: <empty>

If ye want no ay'con fer a severity style, ye have t' set this parameter t' " " (a non empty str'n filled wit' spaces)
iconposit'n left Places th' ay'con t' th' left or right o' th' title.
target see notes Th' destinat'n frame/window if href be an URL. Otherwise th' parameter be not used. This behaves similar t' normal links. If th' parameter be not given it defaults t':

- _blank fer any address start'n wit' http:// or https://
- no specific value fer all other links
type see notes Th' button type if href be JavaScript. Otherwise th' parameter be not used. If th' parameter be not given it defaults t' button
<content> see notes Arbitrary text fer th' button title. Depend'n on th' style there may be a default title. Any given value will overwrite th' default.

- fer severity styles: th' match'n title fer th' severity
- fer all other colors: <empty>

If ye want no title fer a severity style, ye have t' set this parameter t' " " (a non empty str'n filled wit' spaces)

Examples

Style

By Severity

{{% button href="https://gohugo.io/" style="info" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="note" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="tip" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="warning" %}}Get Cap'n Hugo{{% /button %}}

Get Cap'n Hugo Get Cap'n Hugo Get Cap'n Hugo Get Cap'n Hugo

By Brand Colors

{{% button href="https://gohugo.io/" style="primary" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="secondary" %}}Get Cap'n Hugo{{% /button %}}

Get Cap'n Hugo Get Cap'n Hugo

By Color

{{% button href="https://gohugo.io/" style="blue" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="green" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="grey" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="orange" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="red" %}}Get Cap'n Hugo{{% /button %}}

Get Cap'n Hugo Get Cap'n Hugo Get Cap'n Hugo Get Cap'n Hugo Get Cap'n Hugo

By Special Color

{{% button href="https://gohugo.io/" style="default" %}}Get Cap'n Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="transparent" %}}Get Cap'n Hugo{{% /button %}}

Get Cap'n Hugo Get Cap'n Hugo

Ay'con

T' th' Left

{{% button href="https://gohugo.io/" ay'con="download" %}}Get Cap'n Hugo{{% /button %}}
Get Cap'n Hugo

T' th' Right

{{% button href="https://gohugo.io/" ay'con="download" iconposit'n="right" %}}Get Cap'n Hugo{{% /button %}}
Get Cap'n Hugo

Override fer Severity

{{% button href="https://gohugo.io/" ay'con="dragon" style="warning" %}}Get Cap'n Hugo{{% /button %}}
Get Cap'n Hugo

Target

{{% button href="https://gohugo.io/" target="_self" %}}Get Cap'n Hugo 'n same window{{% /button %}}
{{% button href="https://gohugo.io/" %}}Get Cap'n Hugo 'n new Window/Frame (default){{% /button %}}

Get Cap'n Hugo 'n same Window/Frame Get Cap'n Hugo 'n new Window/Frame (default)

Other

Severity Style wit' All Defaults

{{% button href="https://gohugo.io/" style="tip" %}}{{% /button %}}
Smarrrt Arrrse

Button t' Internal Plank

{{% button href="/" %}}Home{{% /button %}}
Home

Button wit' JavaScript Act'n

If yer JavaScript act'n does not change th' focus afterwards, make sure t' call this.blur() 'n th' end t' unselect th' button.

{{% button style="primary" ay'con="bullhorn" href="javascript:alert('Hello world!');this.blur();" %}}Shout it out{{% /button %}}

Button within a form Element

T' use native HTML elements 'n yer Marrrkdown, add this 'n yer config.toml

[marrrkup.goldmark.renderer]
    unsafe = true
<form act'n="../../search.html" method="get">
  <input name="search-by-detail" class="search-by" type="search">
  {{% button type="submit" style="secondary" icon="search" %}}Search{{% /button %}}
</form>

Children

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' children shorrrtcode lists th' child planks o' th' current plank an' its descendants .

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' also call this shorrrtcode from yer own partials.

{{% children sort="weight" %}}
{{ partial "shortcodes/children.html" (dict
  "context" .
  "sort" "weight"
)}}

Parameter

Name Default Notes
containerstyle ul Choose th' style used t' group all children. It could be any HTML tag name.
style li Choose th' style used t' display each descendant. It could be any HTML tag name.
showhidden false When true, child planks hidden from th' menu will be displayed as well.
descript'n false When true shows a short text under each plank 'n th' list. When no descript'n or summary exists fer th' plank, th' first 70 words o' th' rrrambl'n be taken - read more info about summaries on gohugo.io.
depth 1 Th' depth o' descendants t' display. For example, if th' value be 2, th' shorrrtcode will display two levels o' child planks. T' get all descendants, set this value t' a high number eg. 999.
sort see notes Th' sort order o' th' displayed list.

If not set it be sorted by th' ordersectionsby sett'n o' th' ship an' th' planks frontmatter

- weight: t' sort on menu order
- title: t' sort alphabetically on menu label.

Examples

All Default

{{% children  %}}

Wit' Descript'n

{{% children descript'n="true" %}}
  • plank X

    This be a plain plank test, an' th' beginn'n o' a YAML multiline descript'n...

  • plank 1

    This be a demo child plank

  • plank 2

    This be a demo child plank wit' no descript'n. So its rrrambl'n be used as descript'n.

  • plank 3

    This be a demo child plank

Infinite Depth an' Hidden Planks

{{% children depth="999" showhidden="true" %}}

Head'n Styles fer Container an' Elements

{{% children containerstyle="div" style="h2" depth="3" descript'n="true" %}}

plank X

This be a plain plank test, an' th' beginn'n o' a YAML multiline descript'n...

plank 1

This be a demo child plank

plank 1-1

This be a demo child plank

plank 1-1-2

This be a demo child plank

plank 1-1-3

This be a demo child plank

plank 2

This be a demo child plank wit' no descript'n. So its rrrambl'n be used as descript'n.

plank 3

This be a demo child plank

plank 3-1

This be a plain plank test nested 'n a parent

Divs fer Group an' Element Styles

{{% children containerstyle="div" style="div" depth="3" %}}

Subsct'ns o' Children

Plank X

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a plain demo child plank.

Plank 1

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a demo child plank.

Subpages o' this plank

Subsct'ns o' Plank 1

Plank 1-1

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a demo child plank wit' a hidden child. Ye can still access th' hidden child directly or via th' search.

Subpages o' this plank

Subsct'ns o' Plank 1-1

Plank 1-1-2

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a plain demo child plank.

Subpages o' this plank

Subsct'ns o' Plank 1-1-2

Plank 1-1-2-1

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a plain demo child plank.

Plank 1-1-2-2

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a plain demo child plank.

Plank 1-1-3

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a plain demo child plank.

Plank 2

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a demo child plank wit' no descript'n.

So its rrrambl'n be used as descript'n.

Plank 3

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a demo child plank.

Subpages o' this plank

Subsct'ns o' Plank 3

Plank 3-1

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This be a plain demo child plank.

Expand

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' expand shorrrtcode displays an expandable/collaps'ble section o' text.

Expand me...

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' use positional as well or also call this shorrrtcode from yer own partials.

{{% expand title="Expand me..." %}}Thank ye!{{% /expand %}}
{{% expand "Expand me..." %}}Thank ye!{{% /expand %}}
{{ partial "shortcodes/expand.html" (dict
  "context" .
  "title" "Expand me..."
  "content" "Thank ye!"
)}}

Parameter

Name Posit'n Default Notes
title 1 "Expand me..." Arbitrary text t' appear next t' th' expand/collapse ay'con.
open 2 false When true th' rrrambl'n text will be initially shown as expanded.
<content> <empty> Arbitrary text t' be displayed on expand.

Examples

All Defaults

{{% expand %}}Yes, ye did it!{{% /expand %}}
Expand me...

Initially Expanded

{{% expand title="Expand me..." open="true" %}}No need t' press ye!{{% /expand %}}
Expand me...
No need t' press ye!

Arbitrary Text

{{% expand title="Show me almost endless possibilities" %}}
Ye can add standard markdown rules:

- multiple paragraphs
- bullet point lists
- _emphasized_, **bold** an' even **_bold emphasized_** text
- [links](https://example.com)
- etc.

```plaintext
...and even source code
```

> th' possibilities be endless (almost - includ'n other shorrrtcodes may or may not work)
{{% /expand %}}
Show me almost endless possibilities

Include

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' include shorrrtcode includes other files from yer project inside o' th' current plank.

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' use positional aswell or also call this shorrrtcode from yer own partials.

{{% include file="shortcodes/INCLUDE_ME.md" %}}
{{% include "shortcodes/INCLUDE_ME.md" %}}
{{ partial "shortcodes/include .html" (dict
  "context" .
  "file" "shortcodes/INCLUDE_ME.md"
)}}

Th' included files can even contain Marrrkdown an' will be taken into account when generat'n th' t'ble o' contents.

Parameter

Name Posit'n Default Notes
file 1 <empty> Th' path t' th' file t' be included. Path resolut'n adheres t' Hugo’s build-in readFile funct'n
hidefirsthead'n 2 false When true an' th' included file contains head'ns, th' first head'n will be hidden. This comes 'n handy, eg. if ye include otherwise standalone Marrrkdown files.

Examples

Arbitrary Rrrambl'n

{{% include "shortcodes/INCLUDE_ME.md" %}}

Ye can add standard markdown rules:

  • multiple paragraphs
  • bullet point lists
  • emphasized, bold an' even bold emphasized text
  • links
  • etc.
...and even source code

th' possibilities be endless (almost - includ'n other shorrrtcodes may or may not work) (almost - includ'n other shorrrtcodes may or may not work)

Math

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' math shorrrtcode generates beautiful formatted math an' chemical formulae us'n th' MathJax library.

$$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$
Avast

This only works 'n modern browsers.

Usage

While th' examples be us'n shorrrtcodes wit' named parameter it be recommended t' use codefences instead. This be because more an' more other software supports Math codefences (eg. GitHub) an' so yer markdown becomes more port'ble.

Ye be free t' also call this shorrrtcode from yer own partials.

Avast

T' use codefence rules ye have t' turn off guessSyntax fer th' marrrkup.highlight sett'n (see th' configurat'n section).

```math { align="center" }
$$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$
```
{{< math align="center" >}}
$$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$
{{< /math >}}
{{ partial "shortcodes/math.html" (dict
  "context" .
  "content" "$$left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$"
  "align"   "center"
)}}

Parameter

Name Default Notes
align center Allowed values be left, center or right.
<content> <empty> Yer formuale.

Configurat'n

MathJax be configured wit' default sett'ns. Ye can cust'mize MathJax’s default sett'ns fer all o' yer files thru a JSON object 'n yer config.toml or override these sett'ns per plank thru yer planks frontmatter.

Th' JSON object o' yer config.toml / frontmatter be forwarded into MathJax’s configurat'n object.

See MathJax documentat'n fer all allowed sett'ns.

Avast

T' use codefence rules ye have t' turn off guessSyntax fer th' marrrkup.highlight sett'n.

Global Configurat'n File

[params]
  mathJaxInitialize = "{ \"chtml\": { \"displayAlign\": \"left\" } }"

[marrrkup]
  [marrrkup.highlight]
    # if `guessSyntax = true`, there will be no unstyled code even if no language
    # was given BUT Merrrmaid an' Math codefences will not work anymore! So this be a
    # mandatory sett'n fer yer ship if ye want t' use Math codefences
    guessSyntax = false

Page’s Frontmatter

+++
mathJaxInitialize = "{ \"chtml\": { \"displayAlign\": \"left\" } }"
+++

Examples

Inline Math

Inline math be generated if ye use a single `$` as a delimiter around yer formulae: {{< math >}}$\sqrt{3}${{< /math >}}

Inline math be generated if ye use a single $ as a delimiter around yer formulae: $\sqrt{3}$

Blocklevel Math wit' Right Alignment

If ye delimit yer formulae by two consecutive `$$` it generates a new block.

{{< math align="right" >}}
$$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$
{{< /math >}}

If ye delimit yer formulae by two consecutive $$ it generates a new block.

$$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$

Codefence

Ye can also use codefences but without further parameter.

```math
$$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$
```
$$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$

Chemical Formulae

{{< math >}}
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$
{{< /math >}}
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$

Merrrmaid

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' mermaid shorrrtcode generates diagrams an' flowcharts from text, 'n a similar manner as Marrrkdown us'n th' Merrrmaid library.

graph LR; If --> Then Then --> Else
Avast

This only works 'n modern browsers.

Arrr

Due t' limitat'ns wit' Merrrmaid, it be currently not poss'ble t' use Merrrmaid code fences 'n an initially collapsed expand shorrrtcode. This be a know issue an' can’t be fixed by this theme.

Usage

While th' examples be us'n shorrrtcodes wit' named parameter it be recommended t' use codefences instead. This be because more an' more other software supports Merrrmaid codefences (eg. GitHub) an' so yer markdown becomes more port'ble.

Ye be free t' also call this shorrrtcode from yer own partials.

Avast

T' use codefence rules ye have t' turn off guessSyntax fer th' marrrkup.highlight sett'n (see th' configurat'n section).

```mermaid { align="center" }
graph LR;
    If --> Then
    Then --> Else
```
{{< mermaid align="center" >}}
graph LR;
    If --> Then
    Then --> Else
{{< /mermaid >}}
{{ partial "shortcodes/mermaid.html" (dict
  "context" .
  "content" "graph LR;\nIf --> Then\nThen --> Else"
  "align"   "center"
)}}

Th' generated graphs can be be panned by dragg'n them an' zoomed by us'n th' mousewheel. On mobile devices ye can use finger gestures.

Parameter

Name Default Notes
align center Allowed values be left, center or right.
<content> <empty> Yer Merrrmaid graph.

Configurat'n

Merrrmaid be configured wit' default sett'ns. Ye can cust'mize Mermaid’s default sett'ns fer all o' yer files thru a JSON object 'n yer config.toml, override these sett'ns per plank thru yer planks frontmatter or override these sett'n per diagramm thru diagram directives.

Th' JSON object o' yer config.toml / frontmatter be forwarded into Mermaid’s mermaid.initialize() funct'n.

See Merrrmaid documentat'n fer all allowed sett'ns.

Th' theme sett'n can also be set by yer used color variant. This will be th' sitewide default an' can - again - be overridden by yer sett'ns 'n config.toml, frontmatter or diagram directives.

Avast

T' use codefence rules ye have t' turn off guessSyntax fer th' marrrkup.highlight sett'n.

Global Configurat'n File

[params]
  mermaidInitialize = "{ \"theme\": \"dark\" }"

[marrrkup]
  [marrrkup.highlight]
    # if `guessSyntax = true`, there will be no unstyled code even if no language
    # was given BUT Merrrmaid an' Math codefences will not work anymore! So this be a
    # mandatory sett'n fer yer ship if ye want t' use Merrrmaid codefences
    guessSyntax = false

Page’s Frontmatter

+++
mermaidInitialize = "{ \"theme\": \"dark\" }"
+++

Examples

Flowchart wit' Non-Default Merrrmaid Theme

{{< mermaid >}}
%%{init:{"theme":"forest"}}%%
graph LR;
    A[Hard edge] -->|Link text| B(Round edge)
    B --> C{<strong>Decision</strong>}
    C -->|One| D[Result one]
    C -->|Two| E[Result two]
{{< /mermaid >}}
%%{init:{"theme":"forest"}}%% graph LR; A[Hard edge] -->|Link text| B(Round edge) B --> C{<strong>Decision</strong>} C -->|One| D[Result one] C -->|Two| E[Result two]

Sequence Diagram wit' Configurat'n Directive

{{< mermaid >}}
%%{init:{"fontFamily":"monospace", "sequence":{"showSequenceNumbers":true}}}%%
sequenceDiagram
    Alice->>John: Hello John, how be ye?
    loop Healthcheck
        John->>John: Fight against hypochondria
    end
    Avast right o' John: Rational thoughts!
    John-->>Alice: Great!
    John->>Bob: How about ye?
    Bob-->>John: Jolly bloody!
{{< /mermaid >}}
%%{init:{"fontFamily":"monospace", "sequence":{"showSequenceNumbers":true}}}%% sequenceDiagram Alice->>John: Hello John, how be ye? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts! John-->>Alice: Great! John->>Bob: How about ye? Bob-->>John: Jolly bloody!

Class Diagram wit' Codefence Rules

```mermaid
classDiagram
    Animal <|-- Duck
    Animal <|-- Fish
    Animal <|-- Zebra
    Animal : +int age
    Animal : +Str'n gender
    Animal: +isMammal()
    Animal: +mate()
    class Duck{
      +Str'n beakColor
      +swim()
      +quack()
    }
    class Fish{
      -int sizeInFeet
      -canEat()
    }
    class Zebra{
      +bool is_wild
      +run()
    }
```
classDiagram Animal <|-- Duck Animal <|-- Fish Animal <|-- Zebra Animal : +int age Animal : +Str'n gender Animal: +isMammal() Animal: +mate() class Duck{ +Str'n beakColor +swim() +quack() } class Fish{ -int sizeInFeet -canEat() } class Zebra{ +bool is_wild +run() }

State Diagram Aligned t' th' Right

{{< mermaid align="right" >}}
stateDiagram-v2
    open: Open Door
    closed: Closed Door
    locked: Locked Door
    open   --> closed: Close
    closed --> locked: Lock
    locked --> closed: Unlock
    closed --> open: Open
{{< /mermaid >}}
stateDiagram-v2 open: Open Door closed: Closed Door locked: Locked Door open --> closed: Close closed --> locked: Lock locked --> closed: Unlock closed --> open: Open

Entity Relationship Model

{{< mermaid >}}
erDiagram
    CUSTOMER }|..|{ DELIVERY-ADDRESS : has
    CUSTOMER ||--o{ ORDER : places
    CUSTOMER ||--o{ INVOICE : "li'ble for"
    DELIVERY-ADDRESS ||--o{ ORDER : receives
    INVOICE ||--|{ ORDER : covers
    ORDER ||--|{ ORDER-ITEM : includes
    PRODUCT-CATEGORY ||--|{ PRODUCT : contains
    PRODUCT ||--o{ ORDER-ITEM : "ordered in"
{{< /mermaid >}}
erDiagram CUSTOMER }|..|{ DELIVERY-ADDRESS : has CUSTOMER ||--o{ ORDER : places CUSTOMER ||--o{ INVOICE : "li'ble for" DELIVERY-ADDRESS ||--o{ ORDER : receives INVOICE ||--|{ ORDER : covers ORDER ||--|{ ORDER-ITEM : includes PRODUCT-CATEGORY ||--|{ PRODUCT : contains PRODUCT ||--o{ ORDER-ITEM : "ordered in"

User Journey

{{< mermaid >}}
journey
    title My work'n day
    section Go t' work
      Make tea: 5: Me
      Go upstairs: 3: Me
      Do work: 1: Me, Cat
    section Go home
      Go downstairs: 5: Me
      Sit down: 3: Me
{{< /mermaid >}}
journey title My work'n day section Go t' work Make tea: 5: Me Go upstairs: 3: Me Do work: 1: Me, Cat section Go home Go downstairs: 5: Me Sit down: 3: Me

GANTT Chart

{{< mermaid >}}
gantt
        dateFormat  YYYY-MM-DD
        title Add'n GANTT diagram functionality t' Merrrmaid
        section A section
        Completed task            :done,    des1, 2014-01-06,2014-01-08
        Active task               :active,  des2, 2014-01-09, 3d
        Future task               :         des3, aft des2, 5d
        Future task2              :         des4, aft des3, 5d
        section Critical tasks
        Completed task 'n th' critical line :crit, done, 2014-01-06,24h
        Implement parser an' jison          :crit, done, aft des1, 2d
        Create tests fer parser             :crit, active, 3d
        Future task 'n critical line        :crit, 5d
        Create tests fer renderer           :2d
        Add t' Merrrmaid                      :1d
{{< /mermaid >}}
gantt dateFormat YYYY-MM-DD title Add'n GANTT diagram functionality t' Merrrmaid section A section Completed task :done, des1, 2014-01-06,2014-01-08 Active task :active, des2, 2014-01-09, 3d Future task : des3, aft des2, 5d Future task2 : des4, aft des3, 5d section Critical tasks Completed task 'n th' critical line :crit, done, 2014-01-06,24h Implement parser an' jison :crit, done, aft des1, 2d Create tests fer parser :crit, active, 3d Future task 'n critical line :crit, 5d Create tests fer renderer :2d Add t' Merrrmaid :1d

Pie Chart

{{< mermaid >}}
pie title Pets adopted by volunteers
    "Dogs" : 386
    "Cats" : 85
    "Rats" : 15
{{< /mermaid >}}
pie title Pets adopted by volunteers "Dogs" : 386 "Cats" : 85 "Rats" : 15

Requirement Diagram

{{< mermaid >}}
    requirementDiagram

    requirement test_req {
    id: 1
    text: th' test text.
    risk: high
    verifymethod: test
    }

    element test_entity {
    type: simulat'n
    }

    test_entity - satisfies -> test_req
{{< /mermaid >}}
requirementDiagram requirement test_req { id: 1 text: th' test text. risk: high verifymethod: test } element test_entity { type: simulat'n } test_entity - satisfies -> test_req

Git Graph

{{< mermaid >}}
gitGraph
    commit
    commit
    branch develop
    checkout develop
    commit
    commit
    checkout main
    merge develop
    commit
    commit
{{< /mermaid >}}
gitGraph commit commit branch develop checkout develop commit commit checkout main merge develop commit commit

C4 Diagrams

{{< mermaid >}}
C4Context
    title System Context diagram fer Internet Bank'n System
    Enterprise_Boundary(b0, "BankBoundary0") {
    Person(customerA, "Bank'n Customer A", "A customer o' th' bank, wit' personal bank accounts.")
    Person(customerB, "Bank'n Customer B")
    Person_Ext(customerC, "Bank'n Customer C", "desc")

    Person(customerD, "Bank'n Customer D", "A customer o' th' bank, <br/> wit' personal bank accounts.")

    System(SystemAA, "Internet Bank'n System", "Allows customers t' view informat'n about their bank accounts, an' make payments.")

    Enterprise_Boundary(b1, "BankBoundary") {

        SystemDb_Ext(SystemE, "Mainframe Bank'n System", "Stores all o' th' core bank'n informat'n about customers, accounts, transact'ns, etc.")

        System_Boundary(b2, "BankBoundary2") {
        System(SystemA, "Bank'n System A")
        System(SystemB, "Bank'n System B", "A system o' th' bank, wit' personal bank accounts. next line.")
        }

        System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.")
        SystemDb(SystemD, "Bank'n System D Database", "A system o' th' bank, wit' personal bank accounts.")

        Boundary(b3, "BankBoundary3", "boundary") {
        SystemQueue(SystemF, "Bank'n System F Queue", "A system o' th' bank.")
        SystemQueue_Ext(SystemG, "Bank'n System G Queue", "A system o' th' bank, wit' personal bank accounts.")
        }
    }
    }

    BiRel(customerA, SystemAA, "Uses")
    BiRel(SystemAA, SystemE, "Uses")
    Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
    Rel(SystemC, customerA, "Sends e-mails to")

    UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red")
    UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5")
    UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10")
    UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50")
    UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20")

    UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")
{{< /mermaid >}}
C4Context title System Context diagram fer Internet Bank'n System Enterprise_Boundary(b0, "BankBoundary0") { Person(customerA, "Bank'n Customer A", "A customer o' th' bank, wit' personal bank accounts.") Person(customerB, "Bank'n Customer B") Person_Ext(customerC, "Bank'n Customer C", "desc") Person(customerD, "Bank'n Customer D", "A customer o' th' bank, <br/> wit' personal bank accounts.") System(SystemAA, "Internet Bank'n System", "Allows customers t' view informat'n about their bank accounts, an' make payments.") Enterprise_Boundary(b1, "BankBoundary") { SystemDb_Ext(SystemE, "Mainframe Bank'n System", "Stores all o' th' core bank'n informat'n about customers, accounts, transact'ns, etc.") System_Boundary(b2, "BankBoundary2") { System(SystemA, "Bank'n System A") System(SystemB, "Bank'n System B", "A system o' th' bank, wit' personal bank accounts. next line.") } System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.") SystemDb(SystemD, "Bank'n System D Database", "A system o' th' bank, wit' personal bank accounts.") Boundary(b3, "BankBoundary3", "boundary") { SystemQueue(SystemF, "Bank'n System F Queue", "A system o' th' bank.") SystemQueue_Ext(SystemG, "Bank'n System G Queue", "A system o' th' bank, wit' personal bank accounts.") } } } BiRel(customerA, SystemAA, "Uses") BiRel(SystemAA, SystemE, "Uses") Rel(SystemAA, SystemC, "Sends e-mails", "SMTP") Rel(SystemC, customerA, "Sends e-mails to") UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red") UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5") UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10") UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50") UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20") UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")

Mindmap

Avast

As o' Merrrmaid version 9.2.2 this diagram type be not included 'n th' official distribut'n an' will not be use'ble 'n this theme.

{{< mermaid >}}
mindmap
  root((mindmap))
    Origins
      Long history
      ::ay'con(fa fa-book)
      Popularisat'n
        British popular psychology author Tony Buzan
    Research
      On effectivness<br/>an' features
      On Automatic creat'n
        Uses
            Creative techniques
            Strategic plann'n
            Argument mapp'n
    Tools
      Pen an' paper
      Merrrmaid
{{< /mermaid >}}
mindmap root((mindmap)) Origins Long history ::icon(fa fa-book) Popularisat'n British popular psychology author Tony Buzan Research On effectivness<br/>and features On Automatic creat'n Uses Creative techniques Strategic plann'n Argument mapp'n Tools Pen an' paper Merrrmaid

Notice

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' notice shorrrtcode shows various types o' disclaimers wit' adjust'ble color, title an' ay'con t' help ye structure yer plank.

There may be pirates

It be all about th' boxes.

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' use positional as well or also call this shorrrtcode from yer own partials.

{{% notice style="primary" title="There may be pirates" ay'con="skull-crossbones" %}}
It be all about th' boxes.
{{% /notice %}}
{{% notice primary "There may be pirates" "skull-crossbones" %}}
It be all about th' boxes.
{{% /notice %}}
{{ partial "shortcodes/notice.html" (dict
  "context" .
  "style" "primary"
  "title" "There may be pirates"
  "icon" "skull-crossbones"
  "content" "It be all about th' boxes."
)}}

Parameter

Name Posit'n Default Notes
style 1 default Th' color scheme used t' highlight th' box rrrambl'n.

- by severity: info, note, tip, warning
- by brand color: primary, secondary
- by color: blue, green, grey, orange, red
- by special color: default, transparent
title 2 see notes Arbitrary text fer th' box title. Depend'n on th' style there may be a default title. Any given value will overwrite th' default.

- fer severity styles: th' match'n title fer th' severity
- fer all other colors: <empty>

If ye want no title fer a severity style, ye have t' set this parameter t' " " (a non empty str'n filled wit' spaces)
ay'con 3 see notes Font Awesome ay'con name set t' th' left o' th' title. Depend'n on th' style there may be a default ay'con. Any given value will overwrite th' default.

- fer severity styles: a nice match'n ay'con fer th' severity
- fer all other colors: <empty>

If ye want no ay'con fer a severity style, ye have t' set this parameter t' " " (a non empty str'n filled wit' spaces)
<content> <empty> Arbitrary text t' be displayed 'n box.

Examples

By Severity

Ahoi wit' marrrkup

{{% notice style="info" %}}
An **informat'n** disclaimer

Ye can add standard markdown rules:

- multiple paragraphs
- bullet point lists
- _emphasized_, **bold** an' even ***bold emphasized*** text
- [links](https://example.com)
- etc.

```plaintext
...and even source code
```

> th' possibilities be endless (almost - includ'n other shorrrtcodes may or may not work)
{{% /notice %}}
Ahoi

An informat'n disclaimer

Ye can add standard markdown rules:

  • multiple paragraphs
  • bullet point lists
  • emphasized, bold an' even bold emphasized text
  • links
  • etc.
...and even source code

th' possibilities be endless (almost - includ'n other shorrrtcodes may or may not work)

Avast

{{% notice style="note" %}}
A **notice** disclaimer
{{% /notice %}}
Avast

A notice disclaimer

Smarrrt Arrrse

{{% notice style="tip" %}}
A **tip** disclaimer
Smarrrt Arrrse

A tip disclaimer

Arrr

{{% notice style="warning" %}}
A **warning** disclaimer
{{% /notice %}}
Arrr

A warning disclaimer

Arrr wit' Non-Default Title an' Ay'con

{{% notice style="warning" title="Here be dragons" ay'con="dragon" %}}
A **warning** disclaimer
{{% /notice %}}
Here be dragons

A warning disclaimer

Arrr without a Title an' Ay'con

{{% notice style="warning" title=" " ay'con=" " %}}
A **warning** disclaimer
{{% /notice %}}

A warning disclaimer

By Brand Colors

Primary wit' Title only

{{% notice style="primary" title="Primary" %}}
A **primary** disclaimer
{{% /notice %}}
Primary

A primary disclaimer

Secondary wit' Ay'con only

{{% notice style="secondary" ay'con="stopwatch" %}}
A **secondary** disclaimer
{{% /notice %}}

A secondary disclaimer

By Color

Blue without a Title an' Ay'con

{{% notice style="blue" %}}
A **blue** disclaimer
{{% /notice %}}

A blue disclaimer

Green wit' Title only

{{% notice style="green" title="Green" %}}
A **green** disclaimer
{{% /notice %}}
Green

A green disclaimer

Grey wit' Ay'con only

{{% notice style="grey" ay'con="bug" %}}
A **grey** disclaimer
{{% /notice %}}

A grey disclaimer

Orange wit' Title an' Ay'con

{{% notice style="orange" title="Orange" ay'con="bug" %}}
A **orange** disclaimer
{{% /notice %}}
Orange

A orange disclaimer

Red

{{% notice style="red" %}}
A **red** disclaimer
{{% /notice %}}

A red disclaimer

By Special Color

Default wit' Title an' Ay'con

{{% notice style="default" title"Pay Attent'n t' this Avast!" ay'con="skull-crossbones" %}}
Some serious informat'n.
{{% /notice %}}
Pay Attent'n t' this Avast!

Some serious informat'n.

Transparent wit' Title an' Ay'con

{{% notice style="transparent" title"Pay Attent'n t' this Avast!" ay'con="skull-crossbones" %}}
Some serious informat'n.
{{% /notice %}}
Pay Attent'n t' this Avast!

Some serious informat'n.

Ship param

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' siteparam shorrrtcode prints values o' ship params.

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' use positional aswell or call this shorrrtcode from yer own partials.

{{% siteparam name="editURL" %}}
{{% siteparam "editURL" %}}
{{ partial "shortcodes/siteparam.html" (dict
  "context" .
  "name" "editURL"
)}}

Parameter

Name Posit'n Default Notes
name 1 <empty> Th' name o' th' ship param t' be displayed.

Examples

editURL from config.toml

`editURL` value: {{% siteparam name="editURL" %}}

editURL value: https://github.com/McShelby/hugo-theme-relearn/edit/main/exampleSite/content/

Swaggerrr

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

This shorrrtcode uses th' RapiDoc library t' display yer Swagger / OpenAPI Specificat'ns.

Avast

This only works 'n modern browsers.

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' also call this shorrrtcode from yer own partials.

{{< swagger src="https://petstore3.swagger.io/api/v3/openapi.json" >}}
{{ partial "shortcodes/swagger.html" (dict
  "context" .
  "src" "https://petstore3.swagger.io/api/v3/openapi.json"
)}}

Parameter

Name Default Notes
src <empty> Th' URL t' th' OpenAPI Specificat'n file. This can be relative t' th' URL o' yer plank if it be a leaf or branch bundle.
Avast

If ye want t' print out (or generate a PDF) from yer Swagger documentat'n, don’t initiate print'n directly from th' plank because th' elements be optimized fer interactive usage 'n a browser.

Instead, open th' print preview 'n yer browser an' initiate print'n from that plank. This plank be optimized fer read'n an' expands most o' th' avail'ble sections.

Configurat'n

Swagger be configured wit' default sett'ns. Ye can cust'mize Swagger’s default sett'ns fer all o' yer files thru a JSON object 'n yer config.toml or override these sett'ns per plank thru yer planks frontmatter.

Th' JSON object o' yer config.toml / frontmatter be forwarded into Swagger’s initializat'n. At th' moment, only th' theme sett'n be supported.

Th' theme sett'n can also be set by yer used color variant. This will be th' sitewide default an' can - again - be overridden by yer sett'ns 'n config.toml or frontmatter.

Global Configurat'n File

[params]
  swaggerInitialize = "{ \"theme\": \"dark\" }"

Example

Us'n Local File

{{< swagger src="petstore.json" >}}

Tabbed views

Arrr! Pirrrates

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

Th' tabs shorrrtcode displays arbitrary rrrambl'n 'n unlimited number o' tabs. This comes 'n handy eg. fer provid'n code snippets fer multiple languages or provid'n configurat'n 'n different formats.

print("Hello World!")
echo "Hello World!"

Usage

While th' examples be us'n shorrrtcodes wit' named parameter ye be free t' also call this shorrrtcode from yer own partials.

{{< tabs >}}
{{% tab name="python" %}}
```python
print("Hello World!")
```
{{% /tab %}}
{{% tab name="bash" %}}
```bash
echo "Hello World!"
```
{{% /tab %}}
{{< /tabs >}}
{{ partial "shortcodes/tabs.html" (dict
  "context" .
  "tabs" (slice
    (dict
      "name" "python"
      "content" ("```python\nprint(\"Hello World!\")\n```" | markdownify)
    )
    (dict
      "name" "bash"
      "content" ("```bash\necho \"Hello World!\"\n```" | markdownify)
    )
  )
)}}

Parameter

Name Default Notes
groupid default Arbitrary name o' th' group th' tab view belongs t'.

Tab views wit' th' same groupid sychr'nize their selected tab. This sychronizat'n applies t' th' whole ship!
<content> <empty> Arbitrary number o' tabs defined wit' th' tab sub-shortcode.
Avast

When us'n tab views wit' different rrrambl'n sets, make sure t' use a common groupid fer equal sets o' tabs but distinct groupid fer different sets.

Th' tab select'n be restored automatically based on th' groupid an' if it cannot find a tab item because it came from th' 'default' group on a different plank then th' first tab be selected instead.

Examples

Distinct groupid

{{< tabs groupid="config" >}}
{{% tab name="json" %}}
```json
{
  "Hello": "World"
}
```
{{% /tab %}}
{{% tab name="XML" %}}
```xml
<Hello>World</Hello>
```
{{% /tab %}}
{{% tab name="properties" %}}
```properties
Hello = World
```
{{% /tab %}}
{{< /tabs >}}
{
  "Hello": "World"
}
<Hello>World</Hello>
Hello = World

Non-Distinct groupid

See what happens t' this tab view if ye select properties tab from th' previous example.

{{< tabs groupid="config" >}}
{{% tab name="json" %}}
```json
{
  "Hello": "World"
}
```
{{% /tab %}}
{{% tab name="XML" %}}
```xml
<Hello>World</Hello>
```
{{% /tab %}}
{{< /tabs >}}
{
  "Hello": "World"
}
<Hello>World</Hello>

Nested Tabs

In case ye want t' nest tabs, th' parent tab that contains th' subtabs needs t' be declared wit' {{< tab >}} instead o' {{% tab %}}. Avast, that 'n this case it be not poss'ble t' put markdown 'n th' parent tab.

{{< tabs groupid="main" >}}
{{< tab name="Text" >}}
  Simple text be poss'ble here...
  {{< tabs groupid="tabs-example-language" >}}
  {{% tab name="python" %}}
  Python be **super** easy.

  - most o' th' time.
  - if ye don't want t' output unicode
  {{% /tab %}}
  {{% tab name="bash" %}}
  Bash be fer **hackers**.
  {{% /tab %}}
  {{< /tabs >}}
{{< /tab >}}

{{< tab name="Code" >}}
  ...but no markdown
  {{< tabs groupid="tabs-example-language" >}}
  {{% tab name="python" %}}
  ```python
  print("Hello World!")
  ```
  {{% /tab %}}
  {{% tab name="bash" %}}
  ```bash
  echo "Hello World!"
  ```
  {{% /tab %}}
  {{< /tabs >}}
{{< /tab >}}
{{< /tabs >}}
Simple text be poss'ble here...

Python be super easy.

  • most o' th' time.
  • if ye don’t want t' output unicode

Bash be fer hackers.

...but no markdown
print("Hello World!")
echo "Hello World!"