Browse Source

Add documentation navigation links on left side of all documentation pages.

tags/1.5.10
Dan Helfman 2 months ago
parent
commit
79d4888e22
26 changed files with 488 additions and 189 deletions
  1. +2
    -0
      .eleventy.js
  2. +2
    -1
      NEWS
  3. +8
    -20
      README.md
  4. +1
    -0
      docs/Dockerfile
  5. +165
    -13
      docs/_includes/components/lists.css
  6. +69
    -2
      docs/_includes/components/minilink.css
  7. +70
    -22
      docs/_includes/components/toc.css
  8. +78
    -33
      docs/_includes/index.css
  9. +22
    -4
      docs/_includes/layouts/main.njk
  10. +4
    -8
      docs/how-to/add-preparation-and-cleanup-steps-to-backups.md
  11. +4
    -8
      docs/how-to/backup-to-a-removable-drive-or-an-intermittent-server.md
  12. +4
    -8
      docs/how-to/backup-your-databases.md
  13. +4
    -5
      docs/how-to/deal-with-very-large-backups.md
  14. +4
    -4
      docs/how-to/develop-on-borgmatic.md
  15. +4
    -8
      docs/how-to/extract-a-backup.md
  16. +5
    -0
      docs/how-to/index.md
  17. +4
    -8
      docs/how-to/inspect-your-backups.md
  18. +4
    -7
      docs/how-to/make-backups-redundant.md
  19. +4
    -6
      docs/how-to/make-per-application-backups.md
  20. +4
    -9
      docs/how-to/monitor-your-backups.md
  21. +6
    -15
      docs/how-to/set-up-backups.md
  22. +4
    -5
      docs/how-to/upgrade.md
  23. +5
    -1
      docs/reference/command-line.md
  24. +5
    -1
      docs/reference/configuration.md
  25. +5
    -0
      docs/reference/index.md
  26. +1
    -1
      setup.py

+ 2
- 0
.eleventy.js View File

@@ -1,9 +1,11 @@
const pluginSyntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
const inclusiveLangPlugin = require("@11ty/eleventy-plugin-inclusive-language");
const navigationPlugin = require("@11ty/eleventy-navigation");

module.exports = function(eleventyConfig) {
eleventyConfig.addPlugin(pluginSyntaxHighlight);
eleventyConfig.addPlugin(inclusiveLangPlugin);
eleventyConfig.addPlugin(navigationPlugin);

let markdownIt = require("markdown-it");
let markdownItAnchor = require("markdown-it-anchor");


+ 2
- 1
NEWS View File

@@ -1,6 +1,7 @@
1.5.10.dev0
1.5.10
* #347: Add hooks that run for the "extract" action: "before_extract" and "after_extract".
* #350: Fix traceback when a configuration directory is non-readable due to directory permissions.
* Add documentation navigation links on left side of all documentation pages.
* Clarify documentation on configuration overrides, specifically the portion about list syntax:
http://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#configuration-overrides
* Clarify documentation overview of monitoring options:


+ 8
- 20
README.md View File

@@ -71,26 +71,14 @@ borgmatic is powered by [Borg Backup](https://www.borgbackup.org/).
<img src="docs/static/rsyncnet.png" alt="rsync.net" height="60px" style="margin-bottom:20px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;


## How-to guides

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/) ⬅ *Start here!*
* [Make per-application backups](https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/)
* [Make backups redundant](https://torsion.org/borgmatic/docs/how-to/make-backups-redundant/)
* [Deal with very large backups](https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/)
* [Inspect your backups](https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/)
* [Monitor your backups](https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/)
* [Extract a backup](https://torsion.org/borgmatic/docs/how-to/extract-a-backup/)
* [Backup your databases](https://torsion.org/borgmatic/docs/how-to/backup-your-databases/)
* [Add preparation and cleanup steps to backups](https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/)
* [Backup to a removable drive or an intermittent server](https://torsion.org/borgmatic/docs/how-to/backup-to-a-removable-drive-or-an-intermittent-server/)
* [Upgrade borgmatic](https://torsion.org/borgmatic/docs/how-to/upgrade/)
* [Develop on borgmatic](https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/)


## Reference guides

* [borgmatic configuration reference](https://torsion.org/borgmatic/docs/reference/configuration/)
* [borgmatic command-line reference](https://torsion.org/borgmatic/docs/reference/command-line/)
## Getting started

Your first step is to [install and configure
borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/).

For additional documentation, check out the links above for <a
href="https://torsion.org/borgmatic/#documentation">borgmatic how-to and
reference guides</a>.


## Hosting providers


+ 1
- 0
docs/Dockerfile View File

@@ -16,6 +16,7 @@ WORKDIR /source
RUN npm install @11ty/eleventy \
@11ty/eleventy-plugin-syntaxhighlight \
@11ty/eleventy-plugin-inclusive-language \
@11ty/eleventy-navigation \
markdown-it \
markdown-it-anchor \
markdown-it-replace-link


+ 165
- 13
docs/_includes/components/lists.css View File

@@ -1,8 +1,7 @@
/* Buzzwords */
@keyframes rainbow {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
100% { background-position: 100% 50%; }
}
.buzzword-list,
.inlinelist {
@@ -25,6 +24,7 @@
margin: 4px 4px 4px 0;
transition: .15s linear outline;
}

.inlinelist .inlinelist-item.active {
background-color: #222;
color: #fff;
@@ -36,6 +36,38 @@
}
.inlinelist .inlinelist-item code {
background-color: transparent;
font-size: 80%;
margin-left: 6px;
padding-left: 6px;
display: inline-block;
position: relative;
}
@media (max-width: 26.8125em) { /* 429px */
.inlinelist .inlinelist-item {
overflow: hidden;
}
.inlinelist .inlinelist-item code {
float: right;
line-height: 1.75;
}
}
@media (min-width: 26.875em) { /* 430px */
.inlinelist .inlinelist-item code {
float: none;
}
.inlinelist .inlinelist-item code:before {
content: " ";
border-left: 1px solid rgba(255,255,255,.8);
position: absolute;
left: -2px;
top: -2px;
bottom: 2px;
}
@media (prefers-color-scheme: dark) {
.inlinelist .inlinelist-item code:before {
border-left-color: rgba(0,0,0,.8);
}
}
}
a.buzzword {
text-decoration: underline;
@@ -59,44 +91,74 @@ a.buzzword {
.buzzword {
background-color: #f7f7f7;
}
@media (prefers-color-scheme: dark) {
.buzzword-list li,
.buzzword {
background-color: #080808;
}
}
.inlinelist .inlinelist-item {
background-color: #e9e9e9;
}
@media (prefers-color-scheme: dark) {
.inlinelist .inlinelist-item {
background-color: #000;
}
.inlinelist .inlinelist-item a {
color: #fff;
}
.inlinelist .inlinelist-item code {
color: inherit;
}
}
.inlinelist .inlinelist-item:hover,
.inlinelist .inlinelist-item:focus,
.buzzword-list li:hover,
.buzzword-list li:focus,
.buzzword:hover,
.buzzword:focus {
.buzzword:focus,
.rainbow-active:hover,
.rainbow-active:focus {
position: relative;
background-image: linear-gradient(238deg, #ff0000, #ff8000, #ffff00, #80ff00, #00ff00, #00ff80, #00ffff, #0080ff, #0000ff, #8000ff, #ff0080);
background-size: 1200% 1200%;
background-position: 2% 80%;
color: #fff;
text-shadow: 0 0 2px rgba(0,0,0,.9);
animation: rainbow 1.6s infinite;
animation: rainbow 4s ease-out alternate infinite;
}
.rainbow-active-noanim {
animation: none !important;
}
.inlinelist .inlinelist-item:hover a,
.inlinelist .inlinelist-item:focus a,
.buzzword-list li:hover a,
.buzzword-list li:focus a,
a.buzzword:hover,
a.buzzword:focus {
a.buzzword:focus,
a.rainbow-active:hover,
a.rainbow-active:focus {
color: #fff;
text-decoration: none;
}
/*
I wish there were a PE friendly way to do this but media queries don’t work work with @supports
@media (prefers-reduced-motion: no-preference) {
@media (prefers-reduced-motion: reduce) {
.inlinelist .inlinelist-item:hover,
.inlinelist .inlinelist-item:focus,
.buzzword-list li:hover,
.buzzword-list li:focus,
.buzzword:hover,
.buzzword:focus {
animation: rainbow 1s infinite;
.buzzword:focus,
.rainbow-active:hover,
.rainbow-active:focus {
animation: none;
}
}*/
}

.buzzword-list li:hover:after,
.buzzword-list li:focus:after,
.buzzword:hover:after,
.buzzword:focus:after {
font-family: system-ui, sans-serif;
font-family: system-ui, -apple-system, sans-serif;
content: "Buzzword alert!!!";
position: absolute;
left: 0;
@@ -123,4 +185,94 @@ main h2 a.buzzword,
main h3 a.buzzword,
main p a.buzzword {
text-decoration: underline;
}
}

/* Small viewport */
@media (max-width: 26.8125em) { /* 429px */
.inlinelist .inlinelist-item {
display: block;
width: auto;
padding: 0;
line-height: 1.4;
}
.inlinelist .inlinelist-item > a {
display: block;
padding: .2em .5em;
}
}
@media (min-width: 26.875em) { /* 430px */
.inlinelist .inlinelist-item > a {
display: inline-block;
white-space: nowrap;
}
}

.numberflag {
display: inline-flex;
align-items: center;
justify-content: center;
background-color: #dff7ff;
border-radius: 50%;
width: 1.75em;
height: 1.75em;
font-weight: 600;
}
@media (prefers-color-scheme: dark) {
.numberflag {
background-color: #00bcd4;
color: #222;
}
}
h1 .numberflag,
h2 .numberflag,
h3 .numberflag,
h4 .numberflag,
h5 .numberflag {
width: 1.25em;
height: 1.25em;
}
h2 .numberflag {
position: relative;
margin-right: 0.25em; /* 10px /40 */
}
h2 .numberflag:after {
content: " ";
position: absolute;
bottom: -1px;
left: 0;
height: 1px;
background-color: #fff;
width: calc(100% + 0.4em); /* 16px /40 */
}
@media (prefers-color-scheme: dark) {
h2 .numberflag:after {
background-color: #222;
}
}

/* Super featured list on home page */
.list-superfeatured .avatar {
width: calc(30px + 5vw);
height: calc(30px + 5vw);
max-width: 60px;
max-height: 60px;
margin-left: 0;
}
@media (max-width: 26.8125em) { /* 429px */
.list-superfeatured .inlinelist-item > a {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
@media (min-width: 26.875em) { /* 430px */
.list-superfeatured .inlinelist-item {
font-size: 110%;
}
}

/* Only top level */
.inlinelist-no-nest ul,
.inlinelist-no-nest ol {
display: none;
}

+ 69
- 2
docs/_includes/components/minilink.css View File

@@ -10,7 +10,20 @@
font-weight: 500;
margin: 0 0.4285714285714em 0.07142857142857em 0; /* 0 6px 1px 0 /14 */
line-height: 1.285714285714; /* 18px /14 */
font-family: system-ui, sans-serif;
font-family: system-ui, -apple-system, sans-serif;
}
@media (prefers-color-scheme: dark) {
.minilink {
background-color: #222;
/*
!important to override .elv-callout a
see _includes/components/callout.css
*/
color: #fff !important;
}
}
table .minilink {
margin-top: 6px;
}
.minilink[href] {
box-shadow: 0 1px 1px 0 rgba(0,0,0,.5);
@@ -19,6 +32,12 @@
.minilink[href]:focus {
background-color: #bbb;
}
@media (prefers-color-scheme: dark) {
.minilink[href]:hover,
.minilink[href]:focus {
background-color: #444;
}
}
pre + .minilink {
color: #fff;
border-radius: 0 0 0.2857142857143em 0.2857142857143em; /* 4px /14 */
@@ -35,6 +54,54 @@ p.minilink {
margin-left: 2em;
margin-bottom: 2em;
}
h1 .minilink,
h2 .minilink,
h3 .minilink,
h4 .minilink {
font-size: 0.9375rem; /* 15px /16 */
vertical-align: middle;
margin-left: 1em;
}
h3 .minilink,
h4 .minilink {
font-size: 0.8125rem; /* 13px /16 */
}
.minilink + pre[class*=language-] {
clear: both;
}
}

.minilink-addedin {
text-transform: none;
box-shadow: 0 0 0 1px rgba(0,0,0,0.3);
}
@media (prefers-color-scheme: dark) {
.minilink-addedin {
box-shadow: 0 0 0 1px rgba(255,255,255,0.3);
}
}
.minilink-addedin:not(:first-child) {
margin-left: .5em;
}
.minilink-addedin.minilink-inline {
margin: 0 4px;
background-color: #fff;
}

.minilink-lower {
text-transform: none;
background-color: transparent;
}
.minilink-lower[href] {
box-shadow: 0 0 0 1px rgba(0,0,0,0.5);
}
.minilink-lower[href]:hover,
.minilink-lower[href]:focus {
background-color: #eee;
}

.minilink > .minilink {
margin: -.125em .375em -.125em -.375em;
box-shadow: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}

+ 70
- 22
docs/_includes/components/toc.css View File

@@ -1,63 +1,111 @@
.elv-toc {
font-size: 1rem; /* Reset */
}
.elv-toc details {
--details-force-closed: (max-width: 63.9375em); /* 1023px */
}
.elv-toc details > summary {
font-size: 1.375rem; /* 22px /16 */
margin-bottom: .5em;
}
@media (min-width: 64em) { /* 1024px */
.elv-toc {
position: absolute;
left: -17rem;
left: 3rem;
width: 16rem;
z-index: 1;
}
.elv-toc details > summary {
margin-top: 0;
}
.js .elv-toc details > summary {
display: none;
}
}


.elv-toc-list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-left: 0;
padding-right: 0;
margin: 0 0 2.5em;
list-style: none;
}
.elv-toc-list li {
font-size: 0.9375em; /* 15px /16 */
line-height: 1.466666666667; /* 22px /15 */
}
/* Nested lists */
.elv-toc-list ul {
padding: 0;
display: none;
margin-bottom: 1.5em;
padding: 0 0 .75em 0;
margin: 0;
list-style: none;
}
.elv-toc-list ul li {
padding-left: 0.875em; /* 14px /16 */

/* Menus nested 2 or more deep */
.elv-toc-list ul ul {
padding-bottom: 0;
padding-left: 0.625rem; /* 10px /16 */
}
@media (min-width: 64em) and (min-height: 48em) { /* 1024 x 768px */
.elv-toc-list ul {
display: block;
}
/* Hide inactive menus 3 or more deep */
.elv-toc-list ul ul > li:not(.elv-toc-active) > ul > li:not(.elv-toc-active) {
display: none;
}

/* List items */
.elv-toc summary,
.elv-toc-list a {
padding: .15em .25em;
}
.elv-toc-list a {
display: block;
}
.elv-toc-list a:not(:hover) {
text-decoration: none;
}
.elv-toc-list li {
padding-top: 0;
padding-bottom: 0;
margin: .1em 0 .5em;
margin: 0;
padding: 0;
}
.elv-toc-list > li {
flex-grow: 1;
flex-basis: 14.375rem; /* 230px /16 */
}
/* Top level links */
.elv-toc-list > li > a {
font-weight: 400;
font-size: 1.0625em; /* 17px /16 */
color: #222;
font-weight: 600;
border-bottom: 1px solid #ddd;
margin-bottom: 0.25em; /* 4px /16 */
}
@media (prefers-color-scheme: dark) {
.elv-toc-list > li > a {
color: #fff;
border-color: #444;
}
}

/* Active links */
.elv-toc-list li.elv-toc-active > a {
font-weight: 700;
text-decoration: underline;
background-color: #dff7ff;
}
@media (prefers-color-scheme: dark) {
.elv-toc-list li.elv-toc-active > a {
background-color: #353535;
}
}
.elv-toc-active > a:after {
content: " ⬅";
line-height: .5;
.elv-toc-list ul .elv-toc-active > a:after {
content: "";
}

/* Show only active nested lists */
.elv-toc-list ul.elv-toc-active,
.elv-toc-list li.elv-toc-active > ul {
display: block;
}
}

/* Footer catgory navigation */
.elv-cat-list-active {
font-weight: 600;
}

+ 78
- 33
docs/_includes/index.css View File

@@ -234,6 +234,9 @@ pre + .note {
max-width: 42rem;
clear: both;
}
header.elv-layout {
padding: 0 1rem;
}
footer.elv-layout {
margin-bottom: 5em;
}
@@ -242,7 +245,7 @@ footer.elv-layout {
}
@media (min-width: 64em) { /* 1024px */
.elv-layout-toc {
margin-left: 18rem;
padding-left: 15rem;
max-width: 60rem;
margin-right: 1rem;
position: relative;
@@ -254,7 +257,6 @@ footer.elv-layout {

/* Header */
.elv-header {
color: #222;
position: relative;
}
.elv-header-default {
@@ -262,6 +264,13 @@ footer.elv-layout {
flex-direction: column;
justify-content: center;
align-items: center;
padding-top: 0;
}
.elv-header-c {
width: 100%;
}
.elv-header-docs .elv-header-c {
padding: 1rem 0;
}
.elv-header-docs:before,
.elv-header-docs:after {
@@ -272,53 +281,89 @@ footer.elv-layout {
clear: both;
}
/* Header Hero */
.elv-hero img {
max-width: 80vw;
max-height: 60vh;
.elv-hero {
background-color: #222;
}
@media (prefers-color-scheme: dark) {
.elv-hero {
background-color: #292929;
}
}
.elv-hero img,
.elv-hero svg {
width: 42.95774646vh;
height: 60vh;
}
.elv-hero:hover img,
.elv-hero:hover svg {
background-color: inherit;
}
.elv-header-default .elv-hero {
display: flex;
justify-content: center;
width: calc(100% + 2rem);
margin-left: -1rem;
margin-right: -1rem;
}
.elv-hero:hover {
background-color: #333;
}

.elv-header-docs .elv-hero {
float: left;
margin-right: 1.5em;
margin-right: .5em;
}
.elv-header-default .elv-hero img,
.elv-header-default .elv-hero svg {
position: relative;
background-color: transparent;
z-index: 1;
}
.elv-header-docs .elv-hero img {
.elv-header-docs .elv-hero img,
.elv-header-docs .elv-hero svg {
width: auto;
height: 3em;
}
@media (min-width: 37.5em) { /* 600px */
.elv-header-docs .elv-hero img {
@media (min-width: 43.75em) { /* 700px */
.elv-header-docs .elv-hero {
margin-right: 1em;
}
.elv-header-docs .elv-hero img,
.elv-header-docs .elv-hero svg {
width: 4.303125em; /* 68.85px /16 */
height: 6em;
}
}
/* Header Possum */
.elv-possum-anchor {
display: block;
}
.elv-possum {
display: none;
position: absolute;
right: 1em;
top: 1em;
width: 16vmin;
}
@media (min-width: 31.25em) { /* 500px */
.elv-possum {
display: block;
}
right: .5rem;
top: 1rem;
transition: .3s opacity ease-out;
}

/* Header Heading */
.elv-hed {
font-size: 3em;
margin-top: 1.5em;
margin-bottom: .25em;
text-align: center;
text-transform: none;
.elv-header-docs .elv-possum {
width: 15vw;
max-width: 6.25rem; /* 100px /16 */
}
.elv-header-docs .elv-hed {
font-size: 2.3em;
margin: 0;
text-align: left;
.elv-header-default {
overflow: hidden;
}
@media (min-width: 37.5em) { /* 600px */
.elv-header-docs .elv-hed {
font-size: 3em;
.elv-header-default .elv-possum {
pointer-events: none;
width: auto;
height: calc((60vh - 2rem) / 1.6);
top: 36%;
left: 1vw;
right: auto;
animation-duration: 180s;
animation-name: balloonFloat;
}
@media (prefers-reduced-motion: reduce) {
.elv-header-default .elv-possum {
display: none;
}
}



+ 22
- 4
docs/_includes/layouts/main.njk View File

@@ -6,9 +6,27 @@ headerClass: elv-header-default
{% include "header.njk" %}

<main class="elv-layout{% if layoutClass %} {{ layoutClass }}{% endif %}">
<article>
{{ content | safe }}
<div id="documentation" class="elv-toc">
<div>
{% set navPages = collections.all | eleventyNavigation %}
{% macro renderNavListItem(entry) -%}
<li{% if entry.url == page.url %} class="elv-toc-active"{% endif %}>
<a {% if entry.url %}href="https://torsion.org/borgmatic/docs{{ entry.url | url }}"{% endif %}>{{ entry.title }}</a>
{%- if entry.children.length -%}
<ul>
{%- for child in entry.children %}{{ renderNavListItem(child) }}{% endfor -%}
</ul>
{%- endif -%}
</li>
{%- endmacro %}

{% include 'components/suggestion-form.html' %}
</article>
<ul class="elv-toc-list">
{%- for entry in navPages %}{{ renderNavListItem(entry) }}{%- endfor -%}
</ul>
</div>
</div>

{{ content | safe }}

{% include 'components/suggestion-form.html' %}
</main>

+ 4
- 8
docs/how-to/add-preparation-and-cleanup-steps-to-backups.md View File

@@ -1,5 +1,9 @@
---
title: How to add preparation and cleanup steps to backups
eleventyNavigation:
key: Add preparation and cleanup steps
parent: How-to guides
order: 8
---
## Preparation and cleanup hooks

@@ -73,11 +77,3 @@ with the user permissions of borgmatic itself. So to prevent potential shell
injection or privilege escalation, do not forget to set secure permissions
on borgmatic configuration files (`chmod 0600`) and scripts (`chmod 0700`)
invoked by hooks.


## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)
* [Backup your databases](https://torsion.org/borgmatic/docs/how-to/backup-your-databases/)
* [Inspect your backups](https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/)
* [Monitor your backups](https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/)

+ 4
- 8
docs/how-to/backup-to-a-removable-drive-or-an-intermittent-server.md View File

@@ -1,5 +1,9 @@
---
title: How to backup to a removable drive or an intermittent server
eleventyNavigation:
key: Backup to a removable drive or server
parent: How-to guides
order: 9
---
## Occasional backups

@@ -98,11 +102,3 @@ There are some caveats you should be aware of with this feature.
* The soft failure feature also works for `before_prune`, `after_prune`,
`before_check`, and `after_check` hooks. But it is not implemented for
`before_everything` or `after_everything`.

## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)
* [Make per-application backups](https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/)
* [Make backups redundant](https://torsion.org/borgmatic/docs/how-to/make-backups-redundant/)
* [Add preparation and cleanup steps to backups](https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/)
* [Monitor your backups](https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/)

+ 4
- 8
docs/how-to/backup-your-databases.md View File

@@ -1,5 +1,9 @@
---
title: How to backup your databases
eleventyNavigation:
key: Backup your databases
parent: How-to guides
order: 7
---
## Database dump hooks

@@ -217,11 +221,3 @@ hooks:
See Limitations above about `read_special`. You may need to exclude certain
paths with named pipes, block devices, or character devices on which borgmatic
is hanging.


## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)
* [Add preparation and cleanup steps to backups](https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/)
* [Inspect your backups](https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/)
* [Extract a backup](https://torsion.org/borgmatic/docs/how-to/extract-a-backup/)

+ 4
- 5
docs/how-to/deal-with-very-large-backups.md View File

@@ -1,5 +1,9 @@
---
title: How to deal with very large backups
eleventyNavigation:
key: Deal with very large backups
parent: How-to guides
order: 3
---
## Biggish data

@@ -120,8 +124,3 @@ the following to the `~/.ssh/config` file on the client:

This should make the client keep the connection alive while validating
backups.


## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)

+ 4
- 4
docs/how-to/develop-on-borgmatic.md View File

@@ -1,5 +1,9 @@
---
title: How to develop on borgmatic
eleventyNavigation:
key: Develop on borgmatic
parent: How-to guides
order: 11
---
## Source code

@@ -139,7 +143,3 @@ http://localhost:8080 to view the documentation with your changes.
To close the documentation server, ctrl-C the script. Note that it does not
currently auto-reload, so you'll need to stop it and re-run it for any
additional documentation changes to take effect.

## Related documentation

* [Inspect your backups](https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/)

+ 4
- 8
docs/how-to/extract-a-backup.md View File

@@ -1,5 +1,9 @@
---
title: How to extract a backup
eleventyNavigation:
key: Extract a backup
parent: How-to guides
order: 6
---
## Extract

@@ -132,11 +136,3 @@ When you're all done exploring your files, unmount your mount point. No
```bash
borgmatic umount --mount-point /mnt
```


## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)
* [Inspect your backups](https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/)
* [Monitor your backups](https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/)
* [Backup your databases](https://torsion.org/borgmatic/docs/how-to/backup-your-databases/)

+ 5
- 0
docs/how-to/index.md View File

@@ -0,0 +1,5 @@
---
eleventyNavigation:
key: How-to guides
permalink: false
---

+ 4
- 8
docs/how-to/inspect-your-backups.md View File

@@ -1,5 +1,9 @@
---
title: How to inspect your backups
eleventyNavigation:
key: Inspect your backups
parent: How-to guides
order: 4
---
## Backup progress

@@ -98,11 +102,3 @@ Note that if you use the `--log-file` flag, you are responsible for rotating
the log file so it doesn't grow too large, for example with
[logrotate](https://wiki.archlinux.org/index.php/Logrotate). Also, there is a
`--log-file-verbosity` flag to customize the log file's log level.


## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)
* [Monitor your backups](https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/)
* [Add preparation and cleanup steps to backups](https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/)
* [Develop on borgmatic](https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/)

+ 4
- 7
docs/how-to/make-backups-redundant.md View File

@@ -1,5 +1,9 @@
---
title: How to make backups redundant
eleventyNavigation:
key: Make backups redundant
parent: How-to guides
order: 2
---
## Multiple repositories

@@ -38,10 +42,3 @@ potentially across providers.
See [Borg repository URLs
documentation](https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls)
for more information on how to specify local and remote repository paths.


## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)
* [Make per-application backups](https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/)
* [Backup to a removable drive or an intermittent server](https://torsion.org/borgmatic/docs/how-to/backup-to-a-removable-drive-or-an-intermittent-server/)

+ 4
- 6
docs/how-to/make-per-application-backups.md View File

@@ -1,5 +1,9 @@
---
title: How to make per-application backups
eleventyNavigation:
key: Make per-application backups
parent: How-to guides
order: 1
---
## Multiple backup configurations

@@ -161,9 +165,3 @@ indentation and a leading dash.)

Be sure to quote your overrides if they contain spaces or other characters
that your shell may interpret.


## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)
* [Make backups redundant](https://torsion.org/borgmatic/docs/how-to/make-backups-redundant/)

+ 4
- 9
docs/how-to/monitor-your-backups.md View File

@@ -1,5 +1,9 @@
---
title: How to monitor your backups
eleventyNavigation:
key: Monitor your backups
parent: How-to guides
order: 5
---

## Monitoring and alerting
@@ -309,12 +313,3 @@ automated scripts. Here's an example:
```bash
borgmatic info --archive latest
```


## Related documentation

* [Set up backups with borgmatic](https://torsion.org/borgmatic/docs/how-to/set-up-backups/)
* [Inspect your backups](https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/)
* [Add preparation and cleanup steps to backups](https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/)
* [Extract a backup](https://torsion.org/borgmatic/docs/how-to/extract-a-backup/)
* [Develop on borgmatic](https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/)

+ 6
- 15
docs/how-to/set-up-backups.md View File

@@ -1,5 +1,9 @@
---
title: How to set up backups with borgmatic
title: How to set up backups
eleventyNavigation:
key: Set up backups
parent: How-to guides
order: 0
---
## Installation

@@ -65,8 +69,7 @@ sudo pip3 install --upgrade borgmatic
The main downside of a global install is that borgmatic is less cleanly
separated from the rest of your Python software, and there's the theoretical
possibility of libary conflicts. But if you're okay with that, for instance
on a relatively dedicated system, then a global install can work out just
fine.
on a relatively dedicated system, then a global install can work out fine.


### Other ways to install
@@ -312,15 +315,3 @@ YAML library. If so, not to worry. borgmatic should install and function
correctly even without the C YAML library. And borgmatic won't be any faster
with the C library present, so you don't need to go out of your way to install
it.


## Related documentation

* [Make per-application backups](https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/)
* [Make backups redundant](https://torsion.org/borgmatic/docs/how-to/make-backups-redundant/)
* [Deal with very large backups](https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/)
* [Inspect your backups](https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/)
* [Monitor your backups](https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/)
* [Upgrade borgmatic](https://torsion.org/borgmatic/docs/how-to/upgrade/)
* [borgmatic configuration reference](https://torsion.org/borgmatic/docs/reference/configuration/)
* [borgmatic command-line reference](https://torsion.org/borgmatic/docs/reference/command-line/)

+ 4
- 5
docs/how-to/upgrade.md View File

@@ -1,5 +1,9 @@
---
title: How to upgrade borgmatic
eleventyNavigation:
key: Upgrade borgmatic
parent: How-to guides
order: 10
---
## Upgrading

@@ -111,8 +115,3 @@ sudo pip3 install --user borgmatic

That's it! borgmatic will continue using your /etc/borgmatic configuration
files.


## Related documentation

* [Develop on borgmatic](https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/)

+ 5
- 1
docs/reference/command-line.md View File

@@ -1,5 +1,9 @@
---
title: borgmatic command-line reference
title: Command-line reference
eleventyNavigation:
key: Command-line reference
parent: Reference guides
order: 1
---
## borgmatic options



+ 5
- 1
docs/reference/configuration.md View File

@@ -1,5 +1,9 @@
---
title: borgmatic configuration reference
title: Configuration reference
eleventyNavigation:
key: Configuration reference
parent: Reference guides
order: 0
---
## Configuration file



+ 5
- 0
docs/reference/index.md View File

@@ -0,0 +1,5 @@
---
eleventyNavigation:
key: Reference guides
permalink: false
---

+ 1
- 1
setup.py View File

@@ -1,6 +1,6 @@
from setuptools import find_packages, setup

VERSION = '1.5.10.dev0'
VERSION = '1.5.10'


setup(


Loading…
Cancel
Save