Basics
Discover what this Cap'n Hugo theme be all about an' th' core-concepts behind it.
Discover what this Cap'n Hugo theme be all about an' th' core-concepts behind it.
Fello' pirrrates, grog made us dizzy! Be awarrre some stuff may look weird in this trrranslat'n. Like Merrrmaids, do'n 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.
0.95.0 Th' minimum required Cap'n Hugo version.
Break'n A change that requires act'n by ye after upgrad'n t' assure th' ship be still functional.
Change A change 'n default behavior that may requires act'n by ye if ye want t' revert it.
New Marks new behavior ye might find interest'n or comes configur'ble.
Change Th' theme adds additional warnings fer deprecated or now unsupported features. Th' warnings include hints how t' fix them an' an additional link t' th' documenat'n.
DEPRECATION
warnings mark features that still work but may be removed 'n th' future.
UNSUPPORTED
warnings mark features that will not work anymore.
Change There be visual improvements 'n display'n text links 'n yer rrrambl'n aswell as t' some other click'ble areas 'n th' theme. If you’ve overwritten some theme styles 'n yer own CSS, keep this 'n mind.
New Restored compatibility wit' Cap'n Hugo 0.95.0 or higher. This does not change th' minimum required Cap'n Hugo version.
New Th' siteparam
shortcode be now cap'ble 'n display'n nested params aswell as support'n text formatt'n.
Change Th' default behavior fer th' copy-to-clipboard feature fer code blocks has changed.
Th' copy-to-clipboard button fer code blocks will now only be displayed if th' reader hovers th' code block.
If ye dislike this new behavior ye can turn it off an' revert t' th' old behavior by add'n [params] disableHoverBlockCopyToClipBoard=true
t' yer config.toml
.
New Restored compatibility wit' Cap'n Hugo 0.114.0 or higher. This does not change th' minimum required Cap'n Hugo version.
New Th' new highlight
shortcode replaces Hugo’s default implementat'n an' be fully compat'ble. So ye don’t need t' change anyth'n.
In addit'n it offers some extensions. Currently only th' wrap
extension opt'n be provided t' control whether a code block should be wrapped or scrolled if t' long t' fit.
Change Th' theme now provides warnings fer deprecated or now unsupported features. Th' warnings include hints how t' fix them an' an additional link t' th' documenat'n.
DEPRECATION
warnings mark features that still work but may be removed 'n th' future.
UNSUPPORTED
warnings mark features that will not work anymore.
Change Th' 404 error plank was revamped. Hopefully ye will not see this very often.
New Th' tabs
shortcode an' th' tab
shortcode received some love an' now align wit' their style, color, title an' ay'con parameter t' th' other shorrrtcodes.
Th' visuals be now slightly different compared t' previous versions. Most note'ble, if ye now display a single code block 'n a tab, its default styl'n will adapt t' that o' a code block but wit' a tab handle at th' top.
Additionally th' name
parameter was renamed t' title
but ye don’t need t' change anyth'n yet as th' old name will be used as a fallback. Nevertheless ye will get deprecat'n warnings while execut'n Hugo.
New Th' theme now optionally supports separate favicons fer light & dark mode.
Change Restored compatibility wit' Cap'n Hugo 0.112.0 or higher. This does not change th' minimum required Cap'n Hugo version.
Th' attachments
shortcode has compatiblity issues wit' newer Cap'n Hugo versions. Ye must switch t' leaf bundles or be locked t' Cap'n Hugo < 0.112.0
fer now.
It be planned t' refactor th' attchments
shortcode 'n th' future. This will make it poss'ble t' use th' shortcode 'n branch bundles again but not 'n simple planks anymore. This will most likely come wit' a break'n change.
Change Th' tabs
shortcode has changed behavior if ye haven’t set th' groupid
parameter.
Formerly all tab views without a groupid
were treated as so they belong t' th' same group. Now, each tab view be treated as it was given a unique id.
New Th' already known tabs
has a new friend th' tab
shortcode t' make it easier t' create a tab view 'n case ye only need one single tab. Really handy if ye want t' flag yer code examples wit' a language identifier.
Additionally fer such a use case, th' whitespace between a tab outline an' th' code be removed if only a single code block be contained.
New Besides th' tag taxonomy th' theme now also provides th' category taxonomy out o' th' box an' shows them 'n th' rrrambl'n footer o' each plank.
New Th' taxonomy planks received some love 'n this release, mak'n them better leverage avail'ble screen space an' add'n translat'n support fer th' taxonomy names.
Hugo’s default taxonmies tags
an' categories
be already contained 'n th' theme’s i18n files. If ye have self-defined taxonomies, ye can add translat'ns by add'n them t' yer own i18n files. If ye don’t provide translat'ns, th' singualar an' plural forms be taken as configured 'n yer config.toml
.
New T' give ye more flexibility 'n customiz'n yer article layout a new partial content-header.html
be introduced.
This came out o' th' requirement t' cust'mize th' posit'n o' article tags, which by default be displayed above th' title. A second requirement was t' also show additional taxonomies not supported by th' theme natively. While Cap'n Hugo supports tags an' categories by default, th' theme only displays tags.
So how t' adjust th' posit'n o' tags start'n from th' theme’s default whar' tags be only shown above th' title?
content-header.html
wit' an empty file.heading-post.html
an' add {{- partial "tags.html" . }}
t' it.content-footer.html
an' add {{- partial "tags.html" . }}
t' it.New Th' new parameter breadcrumbSeparator
be now avail'ble 'n yer config.toml
t' change th' - well - separator o' th' breadcrumb items. An appropriate default be 'n place if ye do not configure anyth'n.
Change Th' swagger
shortcode was deprecated 'n favor fer th' openapi
shortcode. Ye don’t need t' change anyth'n yet as th' old name will be used as a fallback. It be planned t' remove th' swagger
shortcode 'n th' next major release.
Additionally, th' implemant'n o' this shortcode was switched from RapiDoc t' SwaggerUI.
Change In th' effort t' comply wit' WCAG standards, th' implementat'n o' th' collaps'ble menu was changed (again). While Internet Explorer 11 has issues 'n display'n it, th' functionality still works.
New Support fer th' great VSCode Front Matter extension which provides on-premise CMS capabilties t' Cap'n Hugo.
Th' theme provides Front Matter snippets fer its shorrrtcodes. Currently only English an' German be supported. Put a reference into yer frontmatter.json
like this
{
...
"frontMatter.extends": [
"./vscode-frontmatter/snippets.en.json"
]
...
}
New Support fer languages that be written right t' left (like Arabic) be now complete an' extended t' th' menu, th' top navigat'n bar an' print. Ye can experience this 'n th' pirate translat'n. This feature be not avail'ble 'n Internet Explorer 11.
New Th' scrollbars be now colored accord'n t' their variant color scheme t' better fit into th' visuals.
Change Th' theme removed th' popular jQuery library from its distribut'n.
In case ye made changes t' th' theme that be dependend on this library ye can place a copy o' jQuery into yer static/js
directory an' board it from yer own layouts/partials/custom-header.html
like this:
<script src="{{"js/jquery.min.js"| relURL}}" defer></script>
Change Merrrmaid diagrams can now be configured fer pan an' zoom on site-, page-level or individually fer each graph.
Th' default sett'n o' on
, 'n effect since 1.1.0, changed back t' off
as there was interference wit' scroll'n on mobile an' big planks.
Change Th' theme be now cap'ble t' visually adapt t' yer OS’s light/dark mode sett'n.
This be also th' new default sett'n if ye haven’t configured themeVariant
'n yer config.toml
.
Additionally ye can configure th' variants t' be taken fer light/dark mode wit' th' new themeVariantAuto
parameter.
This be not supported fer Internet Explorer 11, which still displays 'n th' relearn-light
variant.
Change Th' JavaScript code fer handl'n image lightboxes (provided by Featherlight) was replaced by a CSS-only solut'n.
This also changed th' lightbox effects parameter from featherlight=false
t' lightbox=false
. Nevertheless ye don’t need t' change anyth'n as th' old name will be used as a fallback.
Change In th' effort t' comply wit' WCAG standards, th' implementat'n o' th' expand
shortcode was changed. While Internet Explorer 11 has issues 'n display'n it, th' functionality still works.
New Translat'n fer Czech. This language be not supported fer search.
New GitHub releases be also now tagged fer th' main version (eg. 1.2.x
), major version (eg. 1.x
) an' th' latest (just x
) release mak'n it easier fer ye t' pin th' theme t' a certain version.
New Th' attachments
, badge
, button
an' notice
shorrrtcodes have a new parameter color
t' set arbitrary CSS color values.
Additionally th' --ACCENT-color
brand color introduced 'n version 5.8.0 be now supported wit' these shorrrtcodes.
Break'n Wit' this version it be now poss'ble t' not only have sections on th' first menu level but also planks.
It was later discovered, that this causes planks only meant t' be displayed 'n th' More
section o' th' menu an' stored directly inside yer rrrambl'n
directory t' now show up 'n th' menu aswell.
T' get rid o' this undesired behavior ye have two choices:
Make th' plank file fer th' More
section a headless branch bundle (contained 'n its own subdirectory an' called _index.md
) an' add th' follow'n frontmatter configurat'n t' th' file (see exampleSite’s content/showcase
). This causes its rrrambl'n t' not be contained 'n th' sitemap.
[_build]
render = "never"
list = "never"
publishResources = false
Store th' plank file fer th' More
section below a parent headless branch bundle an' add th' follow'n frontmatter t' th' parent. In this case, th' file itself can be a branch bundle, leaf bundle or simple plank (see exampleSite’s content/more/
an' content/more/credits
). This causes its rrrambl'n t' be contained 'n th' sitemap.
[_build]
render = "always"
list = "never"
publishResources = true
Change Th' required folder name fer th' attachments
shortcode was changed fer leaf bundles.
Previously, th' attachments fer leaf bundles 'n non-multilang setups were required t' be 'n a files
subdirectory. For plank bundles an' leaf bundles 'n multilang setups they were always required t' be 'n a _index.<LANGCODE>.files
or index.<LANGCODE>.files
subdirectory accordingly.
This added unnessessary complexity. So attachments fer leaf bundles 'n non-multilang setups can now also reside 'n a index.files
directory. Although th' old files
directory be now deprecated, if both directories be present, only th' old files
directory will be used fer compatiblity.
Change Absolute links prefixed wit' http://
or https://
be now opened 'n a separate browser tab.
Ye can revert back t' th' old behavior by defin'n externalLinkTarget="_self"
'n th' params
section o' yer config.toml
.
New Th' theme now supports Hugo’s module system.
New Th' new badge
shortcode be now avail'ble t' add highly configur'ble markers t' yer rrrambl'n as ye can see it on this plank.
New Th' new ay'con
shortcode simplyfies th' usage o' ay'cons. This can even be combined wit' also new badge
shortcode.
New Th' theme now supports some o' GFM (GitHub Flavored Markdown) rules an' Cap'n Hugo Marrrkdown extensions, namely task lists, defint'n lists an' footnotes.
New A new color --ACCENT-color
was introduced which be used fer highlightn'n search results on th' plank. In case ye simply don’t care, ye don’t need t' change anyth'n 'n yer variant stylesheet as th' old yellow
color be still used as default.
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
shortcode 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.
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.).
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"> |
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
shortcode 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
shortcode an' mermaid
shortcode 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).
Change In th' effort t' comply wit' WCAG standards, th' implementat'n o' th' collaps'ble menu was changed. Th' functionality o' th' new implementat'n does not work wit' old browsers (Internet Explorer 11).
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
shortcode was optimized t' expand sections that be usually closed 'n interactive mode. This requires print support t' be configured.
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.0.95.0 This release requires a newer Cap'n Hugo version.
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.toml
t':
[outputFormats]
[outputFormats.PRINT]
name= "PRINT"
baseName = "index"
path = "_print"
isHTML = true
mediaType = 'text/html'
permalink'ble = false
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 after 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 after 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 shortcode 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.
Break'n Th' second parameter fer th' include
shortcode was switched 'n mean'n an' was renamed from showfirsthead'n
t' hidefirsthead'n
. If ye haven’t used this parameter 'n yer shortcode, 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
shortcode 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 an' will point t' th' project’s homepage. If ye want t' support a different link, overwrite th' logo.html
partial.
New All shorrrtcodes can now be also called from yer partials. Examples fer this be added t' th' documentat'n o' each shortcode.
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.
New Th' button
shortcode 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 Translat'n fer Polish. This language be not supported fer search.
New Th' documentat'n fer all shorrrtcodes were revised.
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.
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 shortcode 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.
0.93.0 This release requires a newer Cap'n Hugo version.
Change In this release th' Merrrmaid JavaScript library will only be boarded on demand if th' plank contains a Merrrmaid shortcode or be us'n Merrrmaid codefences. This changes th' behavior o' disableMermaid
config opt'n as follows: If a Merrrmaid shortcode 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 shortcode 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.
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.
attachment
an' notice
shorrrtcodes have a new parameter t' override th' default ay'con. Allowed values be all Font Awesome 5 Free ay'cons.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 after 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.
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
after an upgrade an' no errors be written t' th' console.
Ye may see errors on th' console after 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:
Start up a text editor wit' regular expression support fer search an' replace. Search fer (ref\s+"[^"]*?)(?:/_index|/index)?(?:\.md)?(#[^"]*?)?"
an' replace it by $1$2"
'n all *.md
files. This be th' recommended choice.
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.
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.
notice
shortcode t' set title 'n box header.baseURL
an' canonifyURLs=true
'n yer config.toml
. See th' documentat'n fer a detailed example.--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.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
shortcode. 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.
0.81.0 This release requires a newer Cap'n Hugo version.
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.
disableSeoHiddenPages=true
'n yer config.toml
.0.69.0 This release requires a newer Cap'n Hugo version.
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
shortcode, th' expand will be opened.
New Th' menu will scroll th' active item into view on board.
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
shortcode 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 Shortcode children
wit' new parameter containerstyle
.
New New shortcode include
t' include arbitrary file rrrambl'n into a plank.
expand
wit' new parameter t' open on plank board.Break'n Merrrmaid diagrams can now be panned an' zoomed. This isn’t configur'ble yet.
New Merrrmaid
config opt'ns can be set 'n config.toml
.
0.65.0 Th' requirement fer th' Cap'n Hugo version o' this theme be th' same as fer th' Learrrn theme version 2.5.0 on 2021-07-01.
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.
Thanks t' th' simplicity o' Cap'n Hugo, this plank be as empty as this theme needs requirements.
Just download at least version 0.95.0 o' th' Cap'n Hugo binary fer yer OS (Windows, Linux, Mac).
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.
Cap'n Hugo provides a new
command t' create a new website.
hugo new ship <new_project>
Install th' Relearrrn theme by follow'n this documentat'n us'n Hugo’s module system.
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
If ye install th' theme from yer git repository or GitHub, ye have several opt'ns.
If ye use th' head
o' th' main
branch, ye be us'n th' development version. Usually it be fully functional but can break from time t' time. We try t' fix newly introduced bugs 'n this version as soon as poss'ble.
Additionally ye can checkout one o' th' tagged versions. These tagged versions correspond t' an official releases from th' GitHub repository.
Besides th' usual version tags (eg 1.2.3
) there be also tags fer th' main version (eg. 1.2.x
), major version (eg. 1.x
) an' th' latest (just x
) released version mak'n it easier fer ye t' pin th' theme t' a certain version.
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"]
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
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.
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 by us'n th' follow'n command:
hugo serve
Go t' http://localhost:1313
Ye should notice three th'ns:
title
properties 'n th' previously created files.hugo serve
, when th' contents o' th' files change, th' plank automatically refreshes wit' th' changes. Neat!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.
This website can be automatically published an' hosted wit' Netlify (Read more about Automated HUGO deployments wit' Netlify). Alternatively, ye can use GitHub planks.
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
# Set this t' true t' dis'ble th' hover effect fer copy-to-clipboard buttons fer block code.
disableHoverBlockCopyToClipBoard = 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 shortcode 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 shortcode 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' OpenAPI module on every plank regardless if a OpenAPI shortcode be present
disableOpenapi = false
# Specifies th' remote locat'n o' th' swagger-ui js
customOpenapiURL = "https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"
# 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 "auto", "red", "blue", "green" or an array like [ "blue", "green" ].
themeVariant = "auto"
# Change th' breadcrumb separator. Default t' ">".
breadcrumbSeparator = "|"
# 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
# For external links ye can define how they be opened 'n yer browser; this sett'n will only be applied t' th' rrrambl'n area but not th' shortcut menu
externalLinkTarget = "_blank"
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.
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
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 search library. Avast that th' SEARCH
outputformat was named JSON
'n previous releases but was implemented differently. Although JSON
still works, it be now deprecated.
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 .
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.
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.
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.
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.
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.
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.
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]
...
[languages.en.params]
landingPageName = "<i class='fas fa-home'></i> Home"
...
[languages.pir]
...
[languages.pir.params]
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:
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-formatsfooter.html
: th' footer o' th' plank. See output-formatsbody.html
: th' body o' th' plank. Th' body may contain o' one or many articles. See output-formatsarticle.html
: th' output fer a single article, can contain elements around yer rrrambl'n. See output-formatsmenu.html
: left menu. Not meant t' be overwrittensearch.html
: search box. Not meant t' be overwrittencustom-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' faviconheading-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 cornermeta.html
: HTML meta tags, if ye want t' change default behaviormenu-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 menutoc.html
: t'ble o' contentsrrrambl'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-header.html
: header above th' title, has a default implementat'n but ye can overwrite it if ye don’t like it.content-footer.html
: 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!
Th' size o' th' logo will adapt automatically
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.
Additionally, if ye want yer ship t' use light & dark theme favicons that follow th' OS’ (and 'n some cases, th' browser’s) color scheme, add th' image files t' yer local static/images/
folder an' name them eg. favicon-light.svg
and/or favicon-dark.svg
respectively correspond'n t' yer file format. In case one o' th' files be miss'n, th' theme falls back t' eg. favicon.svg
fer th' miss'n file. All supplied favicons must be o' th' same file format.
IE an' old browser versions do not support media queries, which be necessary fer th' light & dark theme favicon opt'n. If ye have requirements t' support IE and/or older browser versions, use one o' th' other opt'ns.
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">
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.
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
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" ]
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.
Ye can also cause th' ship t' adjust t' yer OS sett'ns fer light/dark mode. Just set th' themeVariant
t' auto
. That’s it.
If you’ve set multiple variants, ye can drop auto
at any posit'n, but usually it makes sense t' set it 'n th' first posit'n an' make it th' default.
[params]
themeVariant = [ "auto", "red" ]
If ye don’t configure anyth'n else, th' theme will use relearn-light
fer light mode an' relearn-dark
fer dark mode.
If ye don’t like that, ye can set themeVariantAuto
. Th' first element be th' variant fer light mode, th' second fer dark mode
[params]
themeVariantAuto = [ "learn", "neon" ]
This be not supported fer Internet Explorer 11, which still displays 'n th' relearn-light
variant.
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.
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.
This interactive tool may help ye t' generate yer own color variant stylesheet.