2023-01-28 13:49:11 +00:00
<!DOCTYPE html>
< html lang = "en" dir = "ltr" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0" >
2023-11-03 22:11:55 +00:00
< meta name = "generator" content = "Hugo 0.120.3" >
2023-11-03 22:37:57 +00:00
< meta name = "generator" content = "Relearn 5.23.2+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" >
< meta name = "twitter:image" content = "https://McShelby.github.io/hugo-theme-relearn/images/hero.png" >
< meta name = "twitter:title" content = "Maintaining :: Hugo Relearn Theme" >
< meta name = "twitter:description" content = "What to know as a maintainer" >
2023-10-11 15:32:39 +00:00
< meta property = "og:title" content = "Maintaining :: Hugo Relearn Theme" >
< meta property = "og:description" content = "What to know as a maintainer" >
< meta property = "og:type" content = "website" >
2023-10-11 15:42:11 +00:00
< meta property = "og:url" content = "https://McShelby.github.io/hugo-theme-relearn/dev/maintaining/index.html" >
2023-10-11 15:32:39 +00:00
< meta property = "og:image" content = "https://McShelby.github.io/hugo-theme-relearn/images/hero.png" >
< meta property = "og:site_name" content = "Hugo Relearn Theme" >
2023-01-29 10:31:41 +00:00
< title > Maintaining :: Hugo Relearn Theme< / title >
2023-01-28 13:49:11 +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 = "pir" >
2023-11-03 23:37:56 +00:00
< link href = "../../images/logo.svg?1699054667" rel = "icon" type = "image/svg+xml" >
2023-01-28 13:49:11 +00:00
<!-- https://github.com/filamentgroup/loadCSS/blob/master/README.md#how - to - use -->
2023-11-03 23:37:56 +00:00
< link href = "../../css/fontawesome-all.min.css?1699054669" rel = "stylesheet" media = "print" onload = "this.media='all';this.onload=null;" > < noscript > < link href = "../../css/fontawesome-all.min.css?1699054669" rel = "stylesheet" > < / noscript >
< link href = "../../css/nucleus.css?1699054669" rel = "stylesheet" >
< link href = "../../css/auto-complete.css?1699054669" rel = "stylesheet" media = "print" onload = "this.media='all';this.onload=null;" > < noscript > < link href = "../../css/auto-complete.css?1699054669" rel = "stylesheet" > < / noscript >
< link href = "../../css/perfect-scrollbar.min.css?1699054669" rel = "stylesheet" >
< link href = "../../css/fonts.css?1699054669" rel = "stylesheet" media = "print" onload = "this.media='all';this.onload=null;" > < noscript > < link href = "../../css/fonts.css?1699054669" rel = "stylesheet" > < / noscript >
< link href = "../../css/theme.css?1699054669" rel = "stylesheet" >
< link href = "../../css/theme-auto.css?1699054669" rel = "stylesheet" id = "R-variant-style" >
< link href = "../../css/variant.css?1699054669" rel = "stylesheet" >
< link href = "../../css/print.css?1699054669" rel = "stylesheet" media = "print" >
< link href = "../../css/format-print.css?1699054669" rel = "stylesheet" >
< link href = "../../css/ie.css?1699054669" rel = "stylesheet" >
< script src = "../../js/url.js?1699054669" > < / script >
< script src = "../../js/variant.js?1699054669" > < / script >
2023-01-28 13:49:11 +00:00
< script >
// hack to let hugo tell us how to get to the root when using relativeURLs, it needs to be called *url= for it to do its magic:
// https://github.com/gohugoio/hugo/blob/145b3fcce35fbac25c7033c91c1b7ae6d1179da8/transform/urlreplacers/absurlreplacer.go#L72
window.index_js_url="../../index.search.js";
var root_url="../../";
var baseUri=root_url.replace(/\/$/, '');
// translations
window.T_Copy_to_clipboard = 'Copy to clipboard';
window.T_Copied_to_clipboard = 'Copied to clipboard!';
window.T_Copy_link_to_clipboard = 'Copy link to clipboard';
window.T_Link_copied_to_clipboard = 'Copied link to clipboard!';
2023-09-26 20:26:46 +00:00
window.T_Reset_view = 'Reset view';
2023-10-01 10:25:48 +00:00
window.T_View_reset = 'View reset!';
2023-01-28 13:49:11 +00:00
window.T_No_results_found = 'No results found for \u0022{0}\u0022';
window.T_N_results_found = '{1} results found for \u0022{0}\u0022';
// some further base stuff
var baseUriFull='https:\/\/McShelby.github.io\/hugo-theme-relearn/';
2023-08-12 14:11:21 +00:00
window.variants & & variants.init( [ 'auto', 'relearn-bright', 'relearn-light', 'relearn-dark', 'zen-light', 'zen-dark', 'neon', 'learn', 'blue', 'green', 'red' ] );
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 >
< body class = "mobile-support print disableInlineCopyToClipboard" data-url = "../../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" >
< 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)" >
2023-09-12 21:10:21 +00:00
< i class = "fa-fw fas fa-bars" > < / i >
< / button >
< / 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
2023-09-26 20:26:46 +00:00
itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement">< a itemprop = "item" href = "../../dev/index.html" > < span itemprop = "name" > Development< / span > < / a > < meta itemprop = "position" content = "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" >
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 >
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 >
2023-10-28 20:28:18 +00:00
< p > This project tries to follow the < a href = "https://semver.org/" target = "_blank" > semver policy< / a > - although not followed 100% in the past.< / p >
< p > Usually an entry of < 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" > Breaking< / span > < / span > on the < a href = "../../basics/migration/index.html" > What’ s new< / a > page causes a new major release number.< / p >
< p > All other entries on the < a href = "../../basics/migration/index.html" > What’ s new< / a > page will increase the minor release number.< / p >
2023-01-28 13:49:11 +00:00
< p > Releases resulting in a new major or minor number are called main release.< / p >
2023-10-28 20:28:18 +00:00
< p > Releases containing bugixes only, are only increasing the patch release number. Those releases don’ t result in announcements on the < a href = "../../basics/migration/index.html" > What’ s new< / a > page.< / p >
< p > Entries on the < a href = "../../basics/migration/index.html" > What’ s new< / a > page are checked and enforced during the < code > version-release< / code > GitHub Action.< / p >
2023-01-28 13:49:11 +00:00
< h2 id = "managing-issues" > Managing Issues< / h2 >
2023-10-28 20:28:18 +00:00
< p > Issues are categorized and managed by assigning < a href = "#labels" > labels< / a > to it.< / p >
2023-01-28 13:49:11 +00:00
< p > Once working on an issue, assign it to a fitting maintainer.< / p >
< p > When done, close the ticket. Once an issue is closed, it needs to be assigned to next release milestone.< / p >
2023-01-30 15:55:08 +00:00
< p > A once released ticket is not allowed to be reopened and rereleased in a different milestone. This would cause the changelog to be changed even for the milestone the issue was previously released in. Instead write a new ticket.< / p >
2023-01-28 13:49:11 +00:00
< h2 id = "managing-pull-requests" > Managing Pull Requests< / h2 >
< p > If a PR is merged and closed it needs an accompanied issue assigned to. If there is no issue for a PR, the maintainer needs to create one.< / p >
< p > You can assign multiple PRs to one issue as long as they belong together.< / p >
< p > Usually set the same labels and milestone for the PR as for the accompanied issue.< / p >
< h2 id = "labels" > Labels< / h2 >
< h3 id = "kind" > Kind< / h3 >
< p > An issue that results in changesets must have exactly one of the following labels. This needs to be assigned latest before release.< / p >
< table >
< thead >
< tr >
< th > Label< / th >
< th > Description< / th >
< th > Changelog section< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #5498d8;" > documentation< / span > < / span > < / td >
< td > Improvements or additions to documentation< / 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 to 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 >
< td > Maintainence work< / td >
< 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 > Something isn’ t working< / td >
< td > Fixes< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "impact" > Impact< / h3 >
2023-10-28 20:28:18 +00:00
< p > If the issue would cause a new main release due to < a href = "#semver" > semver semantics< / a > it needs one of the according labels and the matching badge on the < a href = "../../basics/migration/index.html" > What’ s new< / a > page.< / p >
2023-01-28 13:49:11 +00:00
< table >
< thead >
< tr >
< th > Label< / th >
< th > Description< / 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 with existing installations< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #d73a4a;" > breaking< / span > < / span > < / td >
< td > Introduces breaking changes with existing installations< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "declination" > Declination< / h3 >
< p > If an issue does not result in changesets but is closed anyways, it must have exactly one of the following labels.< / p >
< table >
< thead >
< tr >
< th > Label< / th >
< th > Description< / 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 >
< 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 >
< td > A documented change in behaviour< / 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;" > wontfix< / span > < / span > < / td >
< td > This will not be worked on< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "halt" > Halt< / h3 >
< p > You can assign one further label out of the following list to signal readers that development on an open issue is currently halted for different reasons.< / p >
< table >
< thead >
< tr >
< th > Label< / th >
< th > Description< / 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 to 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 valuable 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 >
< td > No decission was made yet< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #6426ff;" > helpwanted< / span > < / span > < / td >
< td > Great idea, send in 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 information is needed< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "3rd-party" > 3rd-Party< / h3 >
< p > If the issue is not caused by a programming error in the themes own code, you can label the causing program or library.< / p >
< table >
< thead >
< tr >
< th > Label< / th >
< th > Description< / 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 is a topic related to the browser but not the 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 is a topic related to 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 is a topic related to Hugo itself but not the theme< / td >
< / tr >
< tr >
< td > < span class = "badge cstyle default" > < span class = "badge-content" style = "background-color: #e550a7;" > mermaid< / span > < / span > < / td >
< td > This is a topic related to Mermaid itself but not the theme< / td >
< / tr >
< / tbody >
< / table >
< h2 id = "making-releases" > Making Releases< / h2 >
2023-10-28 20:28:18 +00:00
< p > A release is based on a milestone named like the release itself - just the version number, eg: < code > 1.2.3< / code > . It’ s in the maintainers responsiblity to check < a href = "#semver" > semver semantics< / a > of the milestone’ s name prior to release and change it if necessary.< / p >
2023-01-28 13:49:11 +00:00
< p > Making releases is automated by the < code > version-release< / code > GitHub Action. It requires the version number of the milestone that should be released. The release will be created from the < code > main< / code > branch of the repository.< / p >
2023-01-30 15:55:08 +00:00
< p > Treat released milestones as immutable. Don’ t rerelease an already released milestone. An already released milestone may already been consumed by your users.< / p >
2023-01-28 13:49:11 +00:00
< p > During execution of the action a few things are checked. If a check fails the action fails, resulting in no new release. You can correct the errors afterwards and rerun the action.< / p >
< p > The following checks will be enforced< / p >
< ul >
< li > the milestone exists< / li >
< li > there is at least one closed issue assigned to the milestone< / li >
< li > all assigned issues for this milestone are closed< / li >
2023-10-28 20:28:18 +00:00
< li > if it’ s a main release, there must be a new < code > < major> .< minor> < / code > at the beginning of the < a href = "../../basics/migration/index.html" > What’ s new< / a > page< / li >
< li > if it’ s a patch release, there must be the < code > < major> .< minor> < / code > from the previous release at the beginning of the < a href = "../../basics/migration/index.html" > What’ s new< / a > page< / li >
2023-01-28 13:49:11 +00:00
< / ul >
< p > After a successful run of the action< / p >
< ul >
2023-10-28 20:28:18 +00:00
< li > the < a href = "https://mcshelby.github.io/hugo-theme-relearn/basics/history/index.html" target = "_blank" > History< / a > page is updated, including release version, release date and text< / li >
< li > the < a href = "https://mcshelby.github.io/hugo-theme-relearn/basics/migration/index.html" target = "_blank" > What’ s new< / a > page is updated, including release version, release date and text< / li >
2023-01-28 13:49:11 +00:00
< li > the version number for the < code > < meta generator> < / code > is updated< / li >
< li > the updated files are commited< / li >
< li > the milestone is closed< / li >
2023-01-30 11:58:02 +00:00
< li > the repository is tagged with the version number (eg. < code > 1.2.3< / code > ), the main version number (eg. < code > 1.2.x< / code > ) and the major version number (eg. < code > 1.x< / code > )< / li >
2023-10-28 20:28:18 +00:00
< li > a new entry in the < a href = "https://github.com/McShelby/hugo-theme-relearn/releases" target = "_blank" > GitHub release list< / a > with the according changelog will be created< / li >
< li > the < a href = "https://mcshelby.github.io/hugo-theme-relearn/index.html" target = "_blank" > official documentation< / a > is built and deployed< / li >
2023-01-28 13:49:11 +00:00
< li > the version number for the < code > < meta generator> < / code > is updated to a temporary and commited (this helps to determine if users are running directly on the main branch or are using releases)< / li >
< li > a new milestone for the next patch release is created (this can later be renamed to a main release if necessary)< / li >
< / ul >
< footer class = "footline" >
< / footer >
< / article >
2023-05-17 22:13:41 +00:00
2023-01-28 13:49:11 +00:00
< / div >
< / main >
< / div >
2023-11-03 23:37:56 +00:00
< script src = "../../js/clipboard.min.js?1699054669" defer > < / script >
< script src = "../../js/perfect-scrollbar.min.js?1699054669" defer > < / script >
< script src = "../../js/theme.js?1699054669" defer > < / script >
2023-01-28 13:49:11 +00:00
< / body >
< / html >