2023-01-28 13:49:11 +00:00
<!DOCTYPE html>
2023-11-28 21:01:15 +00:00
< html lang = "art-pir" dir = "rtl" >
2023-01-28 13:49:11 +00:00
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0" >
2024-04-26 22:23:32 +00:00
< meta name = "generator" content = "Hugo 0.125.4" >
2024-04-07 21:49:57 +00:00
< meta name = "generator" content = "Relearn 5.27.0+tip" >
2023-01-28 13:49:11 +00:00
< meta name = "robots" content = "noindex, nofollow, noarchive, noimageindex" >
< meta name = "description" content = "What to know as a maintainer" >
2023-10-10 21:22:41 +00:00
< meta name = "author" content = "Sören Weber" >
2023-10-11 16:03:03 +00:00
< meta name = "twitter:card" content = "summary_large_image" >
2024-02-24 13:03:50 +00:00
< meta name = "twitter:image" content = "https://mcshelby.github.io/hugo-theme-relearn/images/hero.png" >
2023-10-11 16:03:03 +00:00
< meta name = "twitter:title" content = "Maintaining :: Cap'n Hugo Relearrrn Theme" >
< meta name = "twitter:description" content = "What to know as a maintainer" >
2024-04-07 13:13:19 +00:00
< meta property = "og:url" content = "https://mcshelby.github.io/hugo-theme-relearn/pir/dev/maintaining/index.html" >
< meta property = "og:site_name" content = "Cap'n Hugo Relearrrn Theme" >
2023-10-11 15:32:39 +00:00
< meta property = "og:title" content = "Maintaining :: Cap'n Hugo Relearrrn Theme" >
< meta property = "og:description" content = "What to know as a maintainer" >
2024-04-07 13:13:19 +00:00
< meta property = "og:locale" content = "art-pir" >
2023-10-11 15:32:39 +00:00
< meta property = "og:type" content = "website" >
2024-02-24 13:03:50 +00:00
< meta property = "og:image" content = "https://mcshelby.github.io/hugo-theme-relearn/images/hero.png" >
2024-04-24 19:38:41 +00:00
< meta itemprop = "name" content = "Maintaining :: Cap'n Hugo Relearrrn Theme" >
< meta itemprop = "description" content = "What to know as a maintainer" >
< meta itemprop = "wordCount" content = "891" >
< meta itemprop = "image" content = "https://mcshelby.github.io/hugo-theme-relearn/images/hero.png" >
2023-01-29 10:31:41 +00:00
< title > Maintaining :: Cap' n Hugo Relearrrn Theme< / title >
2024-02-24 13:03:50 +00:00
< link href = "https://mcshelby.github.io/hugo-theme-relearn/dev/maintaining/index.html" rel = "alternate" hreflang = "x-default" >
< link href = "https://mcshelby.github.io/hugo-theme-relearn/dev/maintaining/index.html" rel = "alternate" hreflang = "en" >
< link href = "https://mcshelby.github.io/hugo-theme-relearn/pir/dev/maintaining/index.html" rel = "alternate" hreflang = "art-pir" >
2024-04-27 12:39:25 +00:00
< link href = "/hugo-theme-relearn/images/logo.svg?1714221559" rel = "icon" type = "image/svg+xml" >
< link href = "/hugo-theme-relearn/css/fontawesome-all.min.css?1714221562" rel = "stylesheet" media = "print" onload = "this.media='all';this.onload=null;" > < noscript > < link href = "/hugo-theme-relearn/css/fontawesome-all.min.css?1714221562" rel = "stylesheet" > < / noscript >
< link href = "/hugo-theme-relearn/css/nucleus.css?1714221562" rel = "stylesheet" >
< link href = "/hugo-theme-relearn/css/auto-complete.css?1714221562" rel = "stylesheet" media = "print" onload = "this.media='all';this.onload=null;" > < noscript > < link href = "/hugo-theme-relearn/css/auto-complete.css?1714221562" rel = "stylesheet" > < / noscript >
< link href = "/hugo-theme-relearn/css/perfect-scrollbar.min.css?1714221562" rel = "stylesheet" >
< link href = "/hugo-theme-relearn/css/fonts.css?1714221562" rel = "stylesheet" media = "print" onload = "this.media='all';this.onload=null;" > < noscript > < link href = "/hugo-theme-relearn/css/fonts.css?1714221562" rel = "stylesheet" > < / noscript >
< link href = "/hugo-theme-relearn/css/theme.css?1714221562" rel = "stylesheet" >
< link href = "/hugo-theme-relearn/css/theme-relearn-auto.css?1714221562" rel = "stylesheet" id = "R-variant-style" >
< link href = "/hugo-theme-relearn/css/chroma-relearn-auto.css?1714221562" rel = "stylesheet" id = "R-variant-chroma-style" >
< link href = "/hugo-theme-relearn/css/variant.css?1714221562" rel = "stylesheet" >
< link href = "/hugo-theme-relearn/css/print.css?1714221562" rel = "stylesheet" media = "print" >
< link href = "/hugo-theme-relearn/css/format-print.css?1714221562" rel = "stylesheet" >
< script src = "/hugo-theme-relearn/js/variant.js?1714221562" > < / script >
2024-03-16 13:44:28 +00:00
< script >
2023-11-16 22:53:34 +00:00
window.relearn = window.relearn || {};
2024-03-18 20:59:19 +00:00
window.relearn.relBasePath='..\/..\/..';
window.relearn.relBaseUri='..\/..\/..\/..';
window.relearn.absBaseUri='https:\/\/mcshelby.github.io\/hugo-theme-relearn';
2024-03-16 12:40:13 +00:00
window.index_js_url="/hugo-theme-relearn/pir/index.search.js";
2023-11-16 22:53:34 +00:00
// variant stuff
2024-04-19 06:38:17 +00:00
window.variants & & variants.init( [ 'relearn-auto', 'relearn-light', 'relearn-dark', 'relearn-bright', 'zen-auto', 'zen-light', 'zen-dark', 'retro-auto', 'neon', 'learn', 'blue', 'green', 'red' ] );
2023-11-16 22:53:34 +00:00
// translations
window.T_Copy_to_clipboard = `Copy t' clipboard`;
window.T_Copied_to_clipboard = `Copied t' clipboard!`;
window.T_Copy_link_to_clipboard = `Copy link t' clipboard`;
window.T_Link_copied_to_clipboard = `Copied link t' clipboard!`;
window.T_Reset_view = `Rrreset view`;
window.T_View_reset = `View rrreset!`;
window.T_No_results_found = `No rrresults found fer "{0}"`;
window.T_N_results_found = `{1} rrresults found fer "{0}"`;
2023-01-28 13:49:11 +00:00
< / script >
< style >
2023-09-23 08:19:35 +00:00
#R-body img.bg-white {
2023-01-28 13:49:11 +00:00
background-color: white;
}
< / style >
< / head >
2024-02-24 12:50:21 +00:00
< body class = "mobile-support print disableInlineCopyToClipboard" data-url = "/hugo-theme-relearn/pir/dev/maintaining/index.html" >
2023-09-23 08:19:35 +00:00
< div id = "R-body" class = "default-animation" >
< div id = "R-body-overlay" > < / div >
< nav id = "R-topbar" >
2023-09-18 18:49:44 +00:00
< div class = "topbar-wrapper" >
2023-09-13 21:30:04 +00:00
< div class = "topbar-sidebar-divider" > < / div >
2023-09-18 18:49:44 +00:00
< div class = "topbar-area topbar-area-start" data-area = "start" >
2023-12-05 07:41:41 +00:00
< div class = "topbar-button topbar-button-sidebar" data-content-empty = "disable" data-width-s = "show" data-width-m = "hide" data-width-l = "hide" > < button class = "topbar-control" onclick = "toggleNav()" type = "button" title = "Menu (CTRL+ALT+n)" > < i class = "fa-fw fas fa-bars" > < / i > < / button >
2023-09-12 21:10:21 +00:00
< / div >
2023-09-13 21:30:04 +00:00
< / div >
2023-09-20 22:28:27 +00:00
< ol class = "topbar-breadcrumbs breadcrumbs highlightable" itemscope itemtype = "http://schema.org/BreadcrumbList" > < li
2024-02-24 12:50:21 +00:00
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement">< a itemprop = "item" href = "/hugo-theme-relearn/pir/dev/index.html" > < span itemprop = "name" > Development< / span > < / a > < meta itemprop = "position" content = "1" > > < / li > < li
2023-09-23 22:28:49 +00:00
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement">< span itemprop = "name" > Maintaining< / span > < meta itemprop = "position" content = "2" > < / li >
2023-09-13 21:30:04 +00:00
< / ol >
2023-09-18 18:49:44 +00:00
< div class = "topbar-area topbar-area-end" data-area = "end" >
2024-04-07 19:58:38 +00:00
< div class = "topbar-button topbar-button-prev" data-content-empty = "disable" data-width-s = "show" data-width-m = "show" data-width-l = "show" > < a class = "topbar-control" href = "/hugo-theme-relearn/pir/dev/contributing/index.html" title = "Contributing (🡒)" > < i class = "fa-fw fas fa-chevron-left" > < / i > < / a >
< / div >
< div class = "topbar-button topbar-button-next" data-content-empty = "disable" data-width-s = "show" data-width-m = "show" data-width-l = "show" > < a class = "topbar-control" href = "/hugo-theme-relearn/pir/dev/screenshots/index.html" title = "Scrrrenshots (🡐)" > < i class = "fa-fw fas fa-chevron-right" > < / i > < / a >
< / div >
2023-09-12 21:19:47 +00:00
< / div >
2023-01-28 13:49:11 +00:00
< / div >
< / nav >
2023-09-23 08:19:35 +00:00
< div id = "R-main-overlay" > < / div >
< main id = "R-body-inner" class = "highlightable default" tabindex = "-1" >
2023-01-28 13:49:11 +00:00
< div class = "flex-block-wrapper" >
< article class = "default" >
2023-05-19 18:46:07 +00:00
< header class = "headline" >
< / header >
2024-04-07 19:58:38 +00:00
2023-01-29 10:31:41 +00:00
< h1 id = "maintaining" > Maintaining< / h1 >
2023-01-28 13:49:11 +00:00
< h2 id = "semver" > Semver< / h2 >
2024-04-21 21:48:09 +00:00
< p > This project tries t' follow th' < a href = "https://semver.org/" rel = "external" target = "_self" > semver policy< / a > - although not followed 100% 'n th' past.< / p >
2024-02-24 14:10:30 +00:00
< p > Usually an entry o' < span class = "badge cstyle warning badge-with-title" > < span class = "badge-title" > < i class = "fa-fw fas fa-exclamation-triangle" > < / i > < / span > < span class = "badge-content" > Break'n< / span > < / span > on th' < a href = "/hugo-theme-relearn/pir/basics/migration/index.html" > What’ s new< / a > plank causes a new major release number.< / p >
< p > All other entries on th' < a href = "/hugo-theme-relearn/pir/basics/migration/index.html" > What’ s new< / a > plank will increase th' minor release number.< / p >
2023-01-28 13:49:11 +00:00
< p > Releases result'n 'n a new major or minor number be called main release.< / p >
2024-04-12 15:30:57 +00:00
< p > Releases contain'n bugfixes only, be only increas'n th' patch release number. Those releases don’ t result 'n announcements on th' < a href = "/hugo-theme-relearn/pir/basics/migration/index.html" > What’ s new< / a > plank.< / p >
2024-02-24 14:10:30 +00:00
< p > Entries on th' < a href = "/hugo-theme-relearn/pir/basics/migration/index.html" > What’ s new< / a > plank be checked an' enforced dur'n th' < code > version-release< / code > GitHub Act'n.< / p >
2023-01-28 13:49:11 +00:00
< h2 id = "managing-issues" > Manag'n Issues< / h2 >
2024-02-24 14:10:30 +00:00
< p > Issues be categorized an' managed by assign'n < a href = "/hugo-theme-relearn/pir/dev/maintaining/index.html#labels" > labels< / a > t' it.< / p >
2023-01-28 13:49:11 +00:00
< p > Once work'n on an issue, assign it t' a fitt'n maintainer.< / p >
< p > When done, close th' ticket. Once an issue be closed, it needs t' be assigned t' next release milestone.< / p >
2023-01-30 15:55:08 +00:00
< p > A once released ticket be not allowed t' be reopened an' rereleased 'n a different milestone. This would cause th' changelog t' be changed even fer th' milestone th' issue was previously released 'n. Instead write a new ticket.< / p >
2023-01-28 13:49:11 +00:00
< h2 id = "managing-pull-requests" > Manag'n Pull Requests< / h2 >
< p > If a PR be merged an' closed it needs an accompanied issue assigned t'. If there be no issue fer a PR, th' maintainer needs t' create one.< / p >
< p > Ye can assign multiple PRs t' one issue as long as they belong together.< / p >
< p > Usually set th' same labels an' milestone fer th' PR as fer th' accompanied issue.< / p >
< h2 id = "labels" > Labels< / h2 >
< h3 id = "kind" > Kind< / h3 >
< p > An issue that results 'n changesets must have exactly one o' th' follow'n labels. This needs t' be assigned latest before release.< / p >
< table >
< thead >
< tr >
< th > Label< / th >
< th > Descript'n< / th >
< th > Changelog section< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #5498d8;" > documentat'n< / span > < / span > < / td >
< td > Improvements or addit'ns t' documentat'n< / td >
< td > -< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #99d856;" > discussion< / span > < / span > < / td >
< td > This issue was converted t' a discussion< / td >
< td > -< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #d8d104;" > task< / span > < / span > < / td >
2024-02-24 12:55:20 +00:00
< td > Maintenance work< / td >
2023-01-28 13:49:11 +00:00
< td > Maintenance< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #d8ae04;" > feature< / span > < / span > < / td >
< td > New feature or request< / td >
< td > Features< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #d88704;" > bug< / span > < / span > < / td >
< td > Someth'n isn’ t work'n< / td >
< td > Fixes< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "impact" > Impact< / h3 >
2024-02-24 14:10:30 +00:00
< p > If th' issue would cause a new main release due t' < a href = "/hugo-theme-relearn/pir/dev/maintaining/index.html#semver" > semver semantics< / a > it needs one o' th' accord'n labels an' th' match'n badge on th' < a href = "/hugo-theme-relearn/pir/basics/migration/index.html" > What’ s new< / a > plank.< / p >
2023-01-28 13:49:11 +00:00
< table >
< thead >
< tr >
< th > Label< / th >
< th > Descript'n< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #d73a4a;" > change< / span > < / span > < / td >
< td > Introduces changes wit' exist'n installat'ns< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #d73a4a;" > break'n< / span > < / span > < / td >
< td > Introduces break'n changes wit' exist'n installat'ns< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "declination" > Declinat'n< / h3 >
< p > If an issue does not result 'n changesets but be closed anyways, it must have exactly one o' th' follow'n labels.< / p >
< table >
< thead >
< tr >
< th > Label< / th >
< th > Descript'n< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #9fa2a5;" > duplicate< / span > < / span > < / td >
< td > This issue or pull request already exists< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #9fa2a5;" > invalid< / span > < / span > < / td >
< td > This doesn’ t seem right< / td >
< / tr >
< tr >
2023-11-12 12:44:57 +00:00
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #9fa2a5;" > support< / span > < / span > < / td >
< td > Solved by reconfigur'n th' authors ship< / td >
< / tr >
< tr >
2023-01-28 13:49:11 +00:00
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #9fa2a5;" > unresolved< / span > < / span > < / td >
< td > No progress on this issue< / td >
< / tr >
< tr >
2023-02-17 15:00:25 +00:00
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #9fa2a5;" > update< / span > < / span > < / td >
2024-04-12 15:30:57 +00:00
< td > A documented change 'n behavior< / td >
2023-02-17 15:00:25 +00:00
< / tr >
< tr >
2023-01-28 13:49:11 +00:00
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #9fa2a5;" > wontfix< / span > < / span > < / td >
< td > This will not be worked on< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "halt" > Halt< / h3 >
< p > Ye can assign one further label out o' th' follow'n list t' signal readers that development on an open issue be currently halted fer different reasons.< / p >
< table >
< thead >
< tr >
< th > Label< / th >
< th > Descript'n< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #998f6b;" > blocked< / span > < / span > < / td >
< td > Depends on other issue t' be fixed first< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #998f6b;" > idea< / span > < / span > < / td >
< td > A valu'ble idea that’ s currently not worked on< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #998f6b;" > undecided< / span > < / span > < / td >
2024-02-24 12:55:20 +00:00
< td > No decision was made yet< / td >
2023-01-28 13:49:11 +00:00
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #6426ff;" > helpwanted< / span > < / span > < / td >
< td > Great idea, send 'n a PR< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #6426ff;" > needsfeedback< / span > < / span > < / td >
< td > Further informat'n be needed< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "3rd-party" > 3rd-Party< / h3 >
< p > If th' issue be not caused by a programm'n error 'n th' themes own code, ye can label th' caus'n program or library.< / p >
< table >
< thead >
< tr >
< th > Label< / th >
< th > Descript'n< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #e550a7;" > browser< / span > < / span > < / td >
< td > This be a topic related t' th' browser but not th' theme< / td >
< / tr >
< tr >
2023-02-21 18:53:18 +00:00
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #e550a7;" > device< / span > < / span > < / td >
< td > This be a topic related t' a certain device< / td >
< / tr >
< tr >
2023-01-28 13:49:11 +00:00
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #e550a7;" > hugo< / span > < / span > < / td >
< td > This be a topic related t' Cap'n Hugo itself but not th' theme< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #e550a7;" > mermaid< / span > < / span > < / td >
< td > This be a topic related t' Merrrmaid itself but not th' theme< / td >
< / tr >
< / tbody >
< / table >
< h2 id = "making-releases" > Mak'n Releases< / h2 >
2024-02-24 14:10:30 +00:00
< p > A release be based on a milestone named like th' release itself - just th' version number, eg: < code > 1.2.3< / code > . It’ s 'n th' maintainers responsibility t' check < a href = "/hugo-theme-relearn/pir/dev/maintaining/index.html#semver" > semver semantics< / a > o' th' milestone’ s name prior t' release an' change it if necessary.< / p >
2023-01-28 13:49:11 +00:00
< p > Mak'n releases be automated by th' < code > version-release< / code > GitHub Act'n. It requires th' version number o' th' milestone that should be released. Th' release will be created from th' < code > main< / code > branch o' th' repository.< / p >
2023-01-30 15:55:08 +00:00
< p > Treat released milestones as immut'ble. Don’ t rerelease an already released milestone. An already released milestone may already been consumed by yer users.< / p >
2023-01-28 13:49:11 +00:00
< p > Dur'n execut'n o' th' act'n a few th'ns be checked. If a check fails th' act'n fails, result'n 'n no new release. Ye can correct th' errors afterwards an' rerun th' act'n.< / p >
< p > Th' follow'n checks will be enforced< / p >
< ul >
< li > th' milestone exists< / li >
< li > there be at least one closed issue assigned t' th' milestone< / li >
< li > all assigned issues fer this milestone be closed< / li >
2024-02-24 14:10:30 +00:00
< li > if it’ s a main release, there must be a new < code > < major> .< minor> < / code > at th' beginn'n o' th' < a href = "/hugo-theme-relearn/pir/basics/migration/index.html" > What’ s new< / a > plank< / li >
< li > if it’ s a patch release, there must be th' < code > < major> .< minor> < / code > from th' previous release at th' beginn'n o' th' < a href = "/hugo-theme-relearn/pir/basics/migration/index.html" > What’ s new< / a > plank< / li >
2023-01-28 13:49:11 +00:00
< / ul >
< p > Aft a successful run o' th' act'n< / p >
< ul >
2024-04-21 21:48:09 +00:00
< li > th' < a href = "https://mcshelby.github.io/hugo-theme-relearn/basics/history/index.html" rel = "external" target = "_self" > History< / a > plank be updated, includ'n release version, release date an' text< / li >
< li > th' < a href = "https://mcshelby.github.io/hugo-theme-relearn/basics/migration/index.html" rel = "external" target = "_self" > What’ s new< / a > plank be updated, includ'n release version, release date an' text< / li >
2023-01-28 13:49:11 +00:00
< li > th' version number fer th' < code > < meta generator> < / code > be updated< / li >
2024-02-24 12:55:20 +00:00
< li > th' updated files be committed< / li >
2023-01-28 13:49:11 +00:00
< li > th' milestone be closed< / li >
2023-01-30 11:58:02 +00:00
< li > th' repository be tagged wit' th' version number (eg. < code > 1.2.3< / code > ), th' main version number (eg. < code > 1.2.x< / code > ) an' th' major version number (eg. < code > 1.x< / code > )< / li >
2024-04-21 21:48:09 +00:00
< li > a new entry 'n th' < a href = "https://github.com/McShelby/hugo-theme-relearn/releases" rel = "external" target = "_self" > GitHub release list< / a > wit' th' accord'n changelog will be created< / li >
< li > th' < a href = "https://mcshelby.github.io/hugo-theme-relearn/index.html" rel = "external" target = "_self" > official documentat'n< / a > be built an' deployed< / li >
2024-02-24 12:55:20 +00:00
< li > th' version number fer th' < code > < meta generator> < / code > be updated t' a temporary an' committed (this helps t' determine if users be runn'n directly on th' main branch or be us'n releases)< / li >
2023-01-28 13:49:11 +00:00
< li > a new milestone fer th' next patch release be created (this can later be renamed t' a main release if necessary)< / li >
< / ul >
2024-04-24 21:05:57 +00:00
2023-01-28 13:49:11 +00:00
< footer class = "footline" >
< / footer >
< / article >
2023-05-17 22:13:41 +00:00
2023-01-28 13:49:11 +00:00
< / div >
< / main >
< / div >
2024-04-27 12:39:25 +00:00
< script src = "/hugo-theme-relearn/js/clipboard.min.js?1714221562" defer > < / script >
< script src = "/hugo-theme-relearn/js/perfect-scrollbar.min.js?1714221562" defer > < / script >
< script src = "/hugo-theme-relearn/js/theme.js?1714221562" defer > < / script >
2023-01-28 13:49:11 +00:00
< / body >
< / html >