({overlay:{zIndex:1e3,position:"fixed",display:"flex",justifyContent:"center",alignItems:"center",top:0,left:0,bottom:0,right:0,background:"rgba(64, 64, 64, .65)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",opacity:0,transition:"opacity .15s","&.active":{opacity:1}},content:{width:"calc(50vw - 32px)",height:"calc(75vh - 32px)",overflow:"auto",padding:16,"@media screen and (max-width: 1200px)":{width:"calc(100vw - 64px)",height:"calc(100vh - 64px)",padding:32},"& .top":{display:"flex",alignItems:"center","& input":{background:"none",border:"none",outline:"none",fontSize:24,display:"block",flexGrow:1,color:"white","&::placeholder":{color:"rgba(255, 255, 255, .25)"}}},color:"#e0e0e0"},results:{"& .loading":{textAlign:"center",marginTop:128,fontSize:24},"& .empty":{fontSize:24,fontStyle:"italic",opacity:.25},"& a":{display:"flex",alignItems:"center",color:"white !important",textDecoration:"none !important",padding:16,fontSize:24,margin:"0 -16",borderRadius:3,opacity:.75,outline:"none",background:"transparent",borderBottom:"1px solid rgba(255, 255, 255, .05)",cursor:"pointer",transition:"background .15s, opacity .15s, border-color .15s !important","&:hover, &:focus":{opacity:1,background:"rgba(156, 156, 156, .25)",borderColor:"transparent"},"& .title":{flexGrow:1},"& .current":{fontSize:12,color:t.light.primary,"body.dark &":{color:t.dark.primary}}}},close:{position:"relative",display:"flex",justifyContent:"center",alignItems:"center",cursor:"pointer",opacity:.25,width:64,height:64,borderRadius:3,transition:"opacity .15s","&:hover":{opacity:1},"&:before, &:after":{content:'" "',background:"white",borderRadius:2,width:48,height:2,position:"absolute",transformOrigin:"center"},"&:before":{transform:"rotate(45deg)"},"&:after":{transform:"rotate(-45deg)"}}})),ta=To(t=>({holder:{position:"relative",display:"inline-flex",verticalAlign:"middle",alignItems:"center",justifyContent:"center",width:"1.5em",height:"1.5em"},spinner:{width:"100%",height:"100%",animation:"$rotate 1.17s linear infinite"},"@keyframes rotate":{"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}},path:{strokeDasharray:200,strokeDashoffset:0,transformOrigin:"33px 33px !important",fill:"none",strokeWidth:3,strokeLinecap:"round",cx:"33px",cy:"33px",r:"30px",animation:"$dash 1s ease-in-out infinite",stroke:"white","&.black":{stroke:"black"},"body.dark-mode-animate &":{transition:"color .3s"},"&.primary":{stroke:t.light.primary,"body.dark &":{stroke:t.dark.primary},"@media (prefers-color-scheme: dark)":{"body:not(.dark-mode-animate)":{stroke:t.dark.primary}}},"&.primary-contrast":{stroke:t.light.primaryContrast,"body.dark &":{stroke:t.dark.primaryContrast},"@media (prefers-color-scheme: dark)":{"body:not(.dark-mode-animate)":{stroke:t.dark.primaryContrast}}},"&.background":{stroke:t.light.background,"body.dark &":{stroke:t.dark.background},"@media (prefers-color-scheme: dark)":{"body:not(.dark-mode-animate)":{stroke:t.dark.background}}},"&.text":{stroke:t.light.text,"body.dark &":{stroke:t.dark.text},"@media (prefers-color-scheme: dark)":{"body:not(.dark-mode-animate)":{stroke:t.dark.text}}}},"@keyframes dash":{"0%":{strokeDashoffset:200},"50%":{strokeDashoffset:50,transform:"rotate(45deg)"},"100%":{strokeDashoffset:200,transform:"rotate(360deg)"}}}));function ea(t,e){const r=this.theme.classes(ta);return e.create("div",{class:r.holder},e.create("svg",{class:r.spinner,viewBox:"0 0 66 66",xmlns:"http://www.w3.org/2000/svg"},e.create("circle",{class:`${r.path} ${t.color||""}`,xmlns:"http://www.w3.org/2000/svg"})))}function ra(t,e){const r=this.theme.classes(Qs),n=v(),i=v(),o=v(),s=()=>{let t=void 0,e=void 0,r=void 0,i=void 0,o=void 0;n.$.querySelectorAll("a[tabindex]").forEach(n=>{i||(i=n),n===document.activeElement?t=n:t?r||(r=n):e=n,o=n});const s={};return s.next=r||i,s.prev=e||o,s};this.track({bind(){i.$.focus(),n.$.classList.add("active"),o.resolve(document.getElementById("-codedoc-toc")||e.create("fragment",null)),"backdropFilter"in n.$.style||"-webkit-backdrop-filter"in n.$.style||(n.$.style.background="rgba(64, 64, 64, .95)")}});const a=ee(localStorage.getItem("-codedoc-search-query")||""),c=ee(!1),u=this.expose.out("query"),f=this.expose.in("results",Object($t.b)()).to(Object(Ut.b)(Dt())).to(ne(t=>{const e=t.map(t=>{const e=us();return e&&(t=e.namespace+t),{link:t,title:d(t)}});return a.value.length>0&&o.$.querySelectorAll("a").forEach(r=>{var n;(null===(n=r.textContent)||void 0===n?void 0:n.toLowerCase().includes(a.value.toLowerCase()))&&r.getAttribute("href")&&!t.includes(r.getAttribute("href")||"")&&e.push({link:r.getAttribute("href")||"",title:r.textContent})}),e})).to(Object(pt.a)(t=>{t.length>0&&(localStorage.setItem("-codedoc-search-query",a.value),localStorage.setItem("-codedoc-search-res",JSON.stringify(t)))})).to(Object(Ut.b)(Mo(tt(JSON.parse(localStorage.getItem("-codedoc-search-res")||"[]")))));a.to(Ft(t=>t&&t.trim().length>0)).to(c.from(ne(()=>!0)),u.from(Object(Ut.b)(Ho(1e3)))),f.to(ne(()=>!1)).to(c);const h=jo(a,f,c).to(ne(([t,e,r])=>!!r||(!t||0==t.trim().length||e.length>0))),d=t=>{var e;return(null===(e=o.$.querySelector(`a[href="${t}"]`))||void 0===e?void 0:e.textContent)||t},l=(t=!0)=>{n.$.remove(),t&&localStorage.removeItem("-codedoc-search-query")};return e.create("div",{class:r.overlay,_ref:n,onkeydown:t=>{const e=t.key;if("Escape"===e&&(t.preventDefault(),t.stopPropagation(),l()),"ArrowDown"===e){const e=s();e.next&&(e.next.focus(),t.preventDefault(),t.stopPropagation())}if("ArrowUp"===e){const e=s();e.prev&&(e.prev.focus(),t.preventDefault(),t.stopPropagation())}"ArrowLeft"!==e&&"ArrowRight"!==e||t.stopPropagation()}},e.create("div",{class:r.content},e.create("div",{class:"top"},e.create("input",{placeholder:t.placeholder,type:"text",_ref:i,_state:a}),e.create("div",{class:r.close,onclick:()=>{a.value.length>0?a.value="":l()}})),e.create("div",{class:r.results},e.create("div",{class:"loading",hidden:c.to(ne(t=>!t))},e.create(ea,null)),e.create("div",{class:"empty",hidden:h},"No Results!"),e.create("div",{hidden:c},e.create(Zs,{of:f,each:t=>e.create("a",{href:t.sub("link"),tabindex:"0",onclick:()=>{l(!1),window.dispatchEvent(new CustomEvent("on-navigation-search",{detail:{query:a.value}}))}},e.create("span",{class:"title"},t.sub("title")),e.create("span",{class:"current",hidden:t.sub("link").to(ne(t=>t!==location.pathname))},"Search on Current Page"))})))))}function na(t,e){const r=this.theme.classes(Fs),n=this.expose.in("results"),i=this.expose.out("query",it()),o=v(),s=t=>{"f"===t.key&&(t.ctrlKey||t.metaKey)&&(t.preventDefault(),o.$.click())};return this.track({bind(){document.addEventListener("keydown",s)},clear(){document.removeEventListener("keydown",s)}}),e.create("div",{_ref:o,class:r.holder,id:"-codedoc-search-btn",onclick:()=>{e.render(e.create(ra,{placeholder:t.label||"Search the docs...",query:t=>i.send(t),results:n})).on(document.body)}},e.create("span",{class:"label"},t.label||"Search the docs..."),e.create("span",{class:"icon-font"},"search"))}function ia(t,e){const r=new B.a,n=new RegExp(t.pick),i=new RegExp(t.drop),o={},s=r.pipe(Yo(e=>{return e in o?ue({result:o[e]}):zs.getJSON("https://api.github.com/search/code?q="+encodeURIComponent(e)+"+in:file+path:"+t.root+"+extension:md"+`+repo:${t.user}/${t.repo}`).pipe((r=()=>ue(void 0),function(t){var e=new Us(r),n=t.lift(e);return e.caught=n}));var r}),Object(q.a)(e=>e?function(t){return void 0!==t.result}(e)?e.result:e.items.map(t=>t.path).filter(t=>n.test(t)).filter(t=>!i.test(t)).map(t=>t.substr(0,t.length-3)).map(e=>e.substr(t.root.length)).map(t=>"/index"===t?"/":t):[]),Dt());return le(r,s).pipe(Object(st.a)(([t,e])=>{e.length>0&&(o[t]=e)})).subscribe(),e.create(na,{label:t.label,query:r,results:s})}const oa=To(t=>({tocToggle:{display:"inline-flex",justifyContent:"center",alignItems:"center",width:48,height:48,cursor:"pointer",opacity:.25,overflow:"hidden",position:"relative",transition:"opacity .15s","&:hover":{opacity:1}},bar:{width:24,height:2,borderRadius:2,position:"absolute",background:t.light.text,transformOrigin:"center",transition:"transform .15s, opacity .15s","&:first-child":{transform:"translateY(-6px)"},"&:last-child":{transform:"translateY(6px)"},"body.dark &":{background:t.dark.text},".active>&":{opacity:0,"&:first-child":{transform:"translateY(0) rotate(45deg)",opacity:1},"&:last-child":{transform:"translateY(0) rotate(-45deg)",opacity:1}}}}));function sa(t,e){const r=this.theme.classes(oa),n=v(),i=ee(!1);return this.track({bind(){const t=document.getElementById("-codedoc-toc");t&&(n.resolve(t),"true"===localStorage.getItem("-codedoc-toc-active")&&(i.value=!0),setTimeout(()=>t.classList.add("animated"),1)),window.codedocToggleToC=t=>{i.value=void 0!==t?t:!i.value}}}),this.track(i.to(Object(pt.a)(t=>{n.resolved&&(t?n.$.classList.add("active"):n.$.classList.remove("active")),localStorage.setItem("-codedoc-toc-active",!0===t?"true":"false")}))),e.create("div",{class:Oo`${r.tocToggle} ${Ro({active:i})}`,onclick:()=>i.value=!i.value},e.create("div",{class:r.bar}),e.create("div",{class:r.bar}),e.create("div",{class:r.bar}))}const aa=To(t=>({dmSwitch:{overflow:"hidden",display:"inline-flex",width:48,height:48,cursor:"pointer",alignItems:"center",justifyContent:"center",position:"relative",opacity:.25,"&:hover":{opacity:1},"body.dark-mode-animate &":{transition:"opacity .1s, transform .3s"},"& div":{position:"absolute",background:t.light.text,"body.dark-mode-animate &":{transition:"transform .3s, background .3s, opacity .3s"},"@media (prefers-color-scheme: dark)":{"body:not(.dark-mode-animate) &":{background:t.dark.text}},"body.dark &":{background:t.dark.text}},"& .arc, & .darc":{width:16,height:16,borderRadius:16},"& .darc":{background:t.light.background,transform:"translateX(24px)",opacity:0},"& .ray":{width:6,height:2,borderRadius:2},"& .ray.one":{transform:"rotate(0deg) translateX(14px)"},"& .ray.two":{transform:"rotate(45deg) translateX(14px)"},"& .ray.three":{transform:"rotate(90deg) translateX(14px)"},"& .ray.four":{transform:"rotate(135deg) translateX(14px)"},"& .ray.five":{transform:"rotate(180deg) translateX(14px)"},"& .ray.six":{transform:"rotate(225deg) translateX(14px)"},"& .ray.seven":{transform:"rotate(270deg) translateX(14px)"},"& .ray.eight":{transform:"rotate(315deg) translateX(14px)"},"@media (prefers-color-scheme: dark)":{"body:not(.dark-mode-animate) &":{transform:"rotate(-45deg)","& .arc":{transform:"scale(1.2)"},"& .darc":{transform:"translateX(6px)",background:t.dark.background,opacity:1},"& .ray":{transform:"scale(0.001)",opacity:0}}},"body.dark &":{transform:"rotate(-45deg)","& .arc":{transform:"scale(1.2)"},"& .darc":{transform:"translateX(6px)",background:t.dark.background,opacity:1},"& .ray":{transform:"scale(0.001)",opacity:0}}}}));var ca;function ua(t,e){const r=this.theme.classes(aa),n=function(){const t=ee(ca.Light).bind();if(window.matchMedia){const e=window.matchMedia("(prefers-color-scheme: dark)");e.matches&&(t.value=ca.Dark),e.addListener(()=>{e.matches?t.value=ca.Dark:t.value=ca.Light})}return t}(),i=ee();let o=!1;return n.to(i),this.track(i.to(Object(pt.a)(t=>{t===ca.Light?document.body.classList.remove("dark"):document.body.classList.add("dark"),o&&(t!==n.value?localStorage.setItem("dark-mode",t===ca.Light?"false":"true"):localStorage.removeItem("dark-mode"))}))),this.track({bind(){localStorage.getItem("dark-mode")&&(i.value="true"===localStorage.getItem("dark-mode")?ca.Dark:ca.Light),document.body.classList.add("dark-mode-animate"),o=!0}}),e.create("div",{class:r.dmSwitch,onclick:()=>i.value=i.value===ca.Light?ca.Dark:ca.Light},e.create("div",{class:"arc"}),e.create("div",{class:"darc"}),e.create("div",{class:"ray one"}),e.create("div",{class:"ray two"}),e.create("div",{class:"ray three"}),e.create("div",{class:"ray four"}),e.create("div",{class:"ray five"}),e.create("div",{class:"ray six"}),e.create("div",{class:"ray seven"}),e.create("div",{class:"ray eight"}))}!function(t){t[t.Dark=0]="Dark",t[t.Light=1]="Light"}(ca||(ca={}));Zi(),oo(),po(),bo(),qo(),ls(),lo(),ps(),bs(),vs(),Object(ys.a)(),ms(),ks();const fa={"qcaKEY878Mn2dFQW/lSrDg==":Ss,"fz894w7KG2/tX4kLbbA1Kg==":Es,"+SrlfVhZ/PRQ5WhUlZbTaA==":ia,"XsNW3ht5ee+RmVUActEo9g==":sa,"Y1WWvCKxkgk1yh8xbCfXqw==":ua,"v641FmLj+AeGp0uuFTI6ug==":cs},ha=rn(),da=window.__sdh_transport;window.__sdh_transport=function(t,e,r){if(e in fa){const n=document.getElementById(t);ha.render(ha.create(fa[e],r)).after(n),n.remove()}else da&&da(t,e,r)}},function(t,e,r){"use strict";r.d(e,"a",(function(){return o}));var n=r(67),i=r(60);function o(t){const e=Object(n.a)();return e?(t.__transport_info=Object(i.b)(t.name,e),t):t}},function(t,e,r){"use strict";function n(t){"loading"!=document.readyState?setTimeout(t,1):window.addEventListener("DOMContentLoaded",t)}r.d(e,"a",(function(){return n}))},function(t,e,r){"use strict";function n(t){return!!t.clear&&"function"==typeof t.clear}r.d(e,"a",(function(){return n}))},function(t,e,r){"use strict";function n(t){return void 0!==t&&"function"==typeof t.from&&"function"==typeof t.to&&"observable"in t&&"function"==typeof t.subscribe}r.d(e,"a",(function(){return n}))},function(t,e,r){"use strict";r.d(e,"a",(function(){return a}));var n=r(1),i=r(7);function o(){}var s=r(32);function a(t,e,r){return function(n){return n.lift(new c(t,e,r))}}var c=function(){function t(t,e,r){this.nextOrObserver=t,this.error=e,this.complete=r}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.nextOrObserver,this.error,this.complete))},t}(),u=function(t){function e(e,r,n,i){var a=t.call(this,e)||this;return a._tapNext=o,a._tapError=o,a._tapComplete=o,a._tapError=n||o,a._tapComplete=i||o,Object(s.a)(r)?(a._context=a,a._tapNext=r):r&&(a._context=r,a._tapNext=r.next||o,a._tapError=r.error||o,a._tapComplete=r.complete||o),a}return n.a(e,t),e.prototype._next=function(t){try{this._tapNext.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.next(t)},e.prototype._error=function(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)},e.prototype._complete=function(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()},e}(i.a)}]);
\ No newline at end of file
diff --git a/docs/dist/codedoc-bundle.meta.json b/docs/dist/codedoc-bundle.meta.json
deleted file mode 100644
index 50fa9db..0000000
--- a/docs/dist/codedoc-bundle.meta.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "init": [
- {
- "name": "initJssCs",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/transport/setup-jss.js",
- "hash": "c/OJpUDX26Qm4IbMYtLbjg=="
- },
- {
- "name": "installTheme",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/content/theme.ts",
- "hash": "obU6UstdkSAvgbysOh3/eg=="
- },
- {
- "name": "codeSelection",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/code/selection.js",
- "hash": "4VXGhMNJRz8Eyjdvm6ntYg=="
- },
- {
- "name": "sameLineLengthInCodes",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/code/same-line-length.js",
- "hash": "nEpV43sODVDt+zjIO7H9+A=="
- },
- {
- "name": "initHintBox",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/code/line-hint/index.js",
- "hash": "9M6+/niHbbHMYKbOF0DTzg=="
- },
- {
- "name": "initCodeLineRef",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/code/line-ref/index.js",
- "hash": "rPwNL8eX+bbHwAgvTQ8Iag=="
- },
- {
- "name": "initSmartCopy",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/code/smart-copy.js",
- "hash": "xFnLgdNzBUv9BdaGDgvJDA=="
- },
- {
- "name": "copyHeadings",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/heading/copy-headings.js",
- "hash": "i1yTTWSH2AaFOCy2yKgs0Q=="
- },
- {
- "name": "contentNavHighlight",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/page/contentnav/highlight.js",
- "hash": "SpIa+6Gg/KMV7Wb4QvBzcg=="
- },
- {
- "name": "loadDeferredIFrames",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/transport/deferred-iframe.js",
- "hash": "naHAbpxvOw4i/sUpn2LnRQ=="
- },
- {
- "name": "smoothLoading",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/transport/smooth-loading.js",
- "hash": "vXAT5HUat2IZoc8ZEN/OKA=="
- },
- {
- "name": "tocHighlight",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/page/toc/toc-highlight.js",
- "hash": "suB+mCUXKx/0sad/yURMug=="
- },
- {
- "name": "postNavSearch",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/page/toc/search/post-nav/index.js",
- "hash": "/izvKWQZGCWZbwwWyiivfw=="
- }
- ],
- "components": [
- {
- "name": "ToCPrevNext",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/page/toc/prevnext/index.js",
- "hash": "qcaKEY878Mn2dFQW/lSrDg=="
- },
- {
- "name": "CollapseControl",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/collapse/collapse-control.js",
- "hash": "fz894w7KG2/tX4kLbbA1Kg=="
- },
- {
- "name": "GithubSearch",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/misc/github/search.js",
- "hash": "+SrlfVhZ/PRQ5WhUlZbTaA=="
- },
- {
- "name": "ToCToggle",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/page/toc/toggle/index.js",
- "hash": "XsNW3ht5ee+RmVUActEo9g=="
- },
- {
- "name": "DarkModeSwitch",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/components/darkmode/index.js",
- "hash": "Y1WWvCKxkgk1yh8xbCfXqw=="
- },
- {
- "name": "ConfigTransport",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/transport/config.js",
- "hash": "v641FmLj+AeGp0uuFTI6ug=="
- }
- ],
- "renderer": {
- "name": "getRenderer",
- "filename": "/Users/nicco/Documents/git/autorestic/.codedoc/node_modules/@codedoc/core/dist/es6/transport/renderer.js",
- "hash": "DuikI/Y5reNcodaSzsxs0w=="
- }
-}
\ No newline at end of file
diff --git a/docs/dist/codedoc-styles.css b/docs/dist/codedoc-styles.css
deleted file mode 100644
index 3b4ff83..0000000
--- a/docs/dist/codedoc-styles.css
+++ /dev/null
@@ -1,871 +0,0 @@
-.heading-0-0-1 {
- cursor: pointer;
- position: relative;
-}
-.anchor-0-0-2 {
- top: 0;
- left: -32px;
- bottom: 0;
- display: flex;
- opacity: 0;
- position: absolute;
- transform: translateX(-8px);
- transition: opacity .1s, transform .1s;
- align-items: center;
- padding-right: 8px;
-}
-.heading-0-0-1:hover .anchor-0-0-2 {
- opacity: 0.5;
- transform: none;
-}
-.heading-0-0-1:hover .anchor-0-0-2:hover {
- opacity: 1;
-}
-.code-0-0-3 {
- color: #e0e0e0;
- display: block;
- outline: none;
- padding: 24px 0;
- position: relative;
- font-size: 13px;
- background: #212121;
- box-shadow: 0 6px 12px rgba(0, 0, 0, .25);
- overflow-x: auto;
- user-select: none;
- border-radius: 3px;
- -webkit-user-select: none;
-}
-pre.with-bar .code-0-0-3 {
- padding-top: 0;
-}
-.code-0-0-3 .token.keyword {
- color: #7187ff;
-}
-.code-0-0-3 .token.string {
- color: #69f0ae;
-}
-.code-0-0-3 .token.number {
- color: #ffc400;
-}
-.code-0-0-3 .token.boolean {
- color: #ffc400;
-}
-.code-0-0-3 .token.operator {
- color: #18ffff;
-}
-.code-0-0-3 .token.function {
- color: #e0e0e0;
-}
-.code-0-0-3 .token.parameter {
- color: #e0e0e0;
-}
-.code-0-0-3 .token.comment {
- color: #757575;
-}
-.code-0-0-3 .token.tag {
- color: #ffa372;
-}
-.code-0-0-3 .token.builtin {
- color: #e0e0e0;
-}
-.code-0-0-3 .token.punctuation {
- color: #fcf7bb;
-}
-.code-0-0-3 .token.class-name {
- color: #e0e0e0;
-}
-.code-0-0-3 .token.attr-name {
- color: #f6d186;
-}
-.code-0-0-3 .token.attr-value {
- color: #69f0ae;
-}
-.code-0-0-3 .token.plain-text {
- color: #bdbdbd;
-}
-.code-0-0-3 .token.script {
- color: #e0e0e0;
-}
-.code-0-0-3 .token.placeholder {
- color: #18ffff;
-}
-.code-0-0-3 .token.selector {
- color: #ffa372;
-}
-.code-0-0-3 .token.property {
- color: #f6d186;
-}
-.code-0-0-3 .token.important {
- color: #be79df;
-}
-.code-0-0-3.scss .token.function, .code-0-0-3.css .token.function, .code-0-0-3.sass .token.function {
- color: #9aceff;
-}
-.code-0-0-3 .token.key {
- color: #f6d186;
-}
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .code-0-0-3 {
- color: #e0e0e0;
- background: #000000;
- box-shadow: 0 6px 12px #121212;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.keyword {
- color: #7187ff;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.string {
- color: #69f0ae;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.number {
- color: #ffc400;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.boolean {
- color: #ffc400;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.operator {
- color: #18ffff;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.function {
- color: #e0e0e0;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.parameter {
- color: #e0e0e0;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.comment {
- color: #757575;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.tag {
- color: #ffa372;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.builtin {
- color: #e0e0e0;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.punctuation {
- color: #fcf7bb;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.class-name {
- color: #e0e0e0;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.attr-name {
- color: #f6d186;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.attr-value {
- color: #69f0ae;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.plain-text {
- color: #bdbdbd;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.script {
- color: #e0e0e0;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.placeholder {
- color: #18ffff;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.selector {
- color: #ffa372;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.property {
- color: #f6d186;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.important {
- color: #be79df;
- }
- body:not(.dark-mode-animate) .code-0-0-3.scss .token.function, body:not(.dark-mode-animate) .code-0-0-3.css .token.function, body:not(.dark-mode-animate) .code-0-0-3.sass .token.function {
- color: #9aceff;
- }
- body:not(.dark-mode-animate) .code-0-0-3 .token.key {
- color: #f6d186;
- }
-}
- body.dark .code-0-0-3 {
- color: #e0e0e0;
- background: #000000;
- box-shadow: 0 6px 12px #121212;
- }
- body.dark .code-0-0-3 .token.keyword {
- color: #7187ff;
- }
- body.dark .code-0-0-3 .token.string {
- color: #69f0ae;
- }
- body.dark .code-0-0-3 .token.number {
- color: #ffc400;
- }
- body.dark .code-0-0-3 .token.boolean {
- color: #ffc400;
- }
- body.dark .code-0-0-3 .token.operator {
- color: #18ffff;
- }
- body.dark .code-0-0-3 .token.function {
- color: #e0e0e0;
- }
- body.dark .code-0-0-3 .token.parameter {
- color: #e0e0e0;
- }
- body.dark .code-0-0-3 .token.comment {
- color: #757575;
- }
- body.dark .code-0-0-3 .token.tag {
- color: #ffa372;
- }
- body.dark .code-0-0-3 .token.builtin {
- color: #e0e0e0;
- }
- body.dark .code-0-0-3 .token.punctuation {
- color: #fcf7bb;
- }
- body.dark .code-0-0-3 .token.class-name {
- color: #e0e0e0;
- }
- body.dark .code-0-0-3 .token.attr-name {
- color: #f6d186;
- }
- body.dark .code-0-0-3 .token.attr-value {
- color: #69f0ae;
- }
- body.dark .code-0-0-3 .token.plain-text {
- color: #bdbdbd;
- }
- body.dark .code-0-0-3 .token.script {
- color: #e0e0e0;
- }
- body.dark .code-0-0-3 .token.placeholder {
- color: #18ffff;
- }
- body.dark .code-0-0-3 .token.selector {
- color: #ffa372;
- }
- body.dark .code-0-0-3 .token.property {
- color: #f6d186;
- }
- body.dark .code-0-0-3 .token.important {
- color: #be79df;
- }
- body.dark .code-0-0-3.scss .token.function, body.dark .code-0-0-3.css .token.function, body.dark .code-0-0-3.sass .token.function {
- color: #9aceff;
- }
- body.dark .code-0-0-3 .token.key {
- color: #f6d186;
- }
- .lineCounter-0-0-4 {
- left: 0;
- color: transparent;
- width: 24px;
- height: 1.25rem;
- display: inline-flex;
- position: sticky;
- font-size: 10px;
- background: #212121;
- align-items: center;
- border-right: 2px solid rgba(255, 255, 255, .015);
- margin-right: 12px;
- padding-right: 12px;
- flex-direction: row-reverse;
- vertical-align: top;
- }
- .lineCounter-0-0-4.prim {
- color: #616161;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .lineCounter-0-0-4 {
- background: #000000;
- border-color: rgba(255, 255, 255, .015);
- }
- body:not(.dark-mode-animate) .lineCounter-0-0-4.prim {
- color: #616161;
- }
-}
- body.dark .lineCounter-0-0-4 {
- background: #000000;
- border-color: rgba(255, 255, 255, .015);
- }
- body.dark .lineCounter-0-0-4.prim {
- color: #616161;
- }
- .line-0-0-5 {
- cursor: pointer;
- height: 1.25rem;
- display: inline-block;
- min-width: 100%;
- background: transparent;
- transition: opacity .15s;
- }
- .has-selection .line-0-0-5:not(.selected) {
- opacity: 0.35;
- transition: opacity 3s;
- }
- .line-0-0-5.highlight {
- color: #ffffff;
- background: rgb(40, 46, 73);
- }
- .line-0-0-5.selected .lineCounter-0-0-4 {
- border-color: #7187ff !important;
- }
- .line-0-0-5:hover, .line-0-0-5.selected {
- background: #3b3b3b;
- }
- .line-0-0-5:hover .lineCounter-0-0-4 {
- border-color: rgba(255, 255, 255, .1);
- }
- body.dark .line-0-0-5:hover .lineCounter-0-0-4 {
- border-color: rgba(255, 255, 255, .1);
- }
- .line-0-0-5:hover .lineCounter-0-0-4, .line-0-0-5.selected .lineCounter-0-0-4 {
- color: #7187ff;
- background: #3b3b3b !important;
- }
- body.dark .line-0-0-5:hover, body.dark .line-0-0-5.selected {
- background: #1a1a1a !important;
- }
- body.dark .line-0-0-5:hover .lineCounter-0-0-4, body.dark .line-0-0-5.selected .lineCounter-0-0-4 {
- color: #7187ff;
- background: #1a1a1a !important;
- }
- body.dark .line-0-0-5.selected .lineCounter-0-0-4 {
- border-color: #7187ff !important;
- }
- .line-0-0-5.highlight .lineCounter-0-0-4 {
- background: rgb(40, 46, 73);
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .line-0-0-5.highlight {
- color: #ffffff;
- background: rgb(28, 29, 48);
- }
- body:not(.dark-mode-animate) .line-0-0-5.highlight .lineCounter-0-0-4 {
- background: rgb(28, 29, 48);
- }
-}
- body.dark .line-0-0-5.highlight {
- color: #ffffff;
- background: rgb(28, 29, 48);
- }
- body.dark .line-0-0-5.highlight .lineCounter-0-0-4 {
- background: rgb(28, 29, 48);
- }
- .wmbar-0-0-6 {
- left: 0;
- display: none;
- padding: 16px;
- position: sticky;
- }
- .wmbar-0-0-6>span {
- display: block;
- opacity: 0.5;
- flex-grow: 1;
- font-size: 12px;
- text-align: center;
- font-family: sans-serif;
- margin-right: 64px;
- }
- .wmbar-0-0-6>span:first-child, .wmbar-0-0-6>span:nth-child(2), .wmbar-0-0-6>span:nth-child(3) {
- width: 8px;
- height: 8px;
- opacity: 1;
- flex-grow: 0;
- margin-right: 8px;
- border-radius: 8px;
- }
- pre.with-bar .wmbar-0-0-6 {
- display: flex;
- }
- .wmbar-0-0-6>span:first-child:first-child, .wmbar-0-0-6>span:nth-child(2):first-child, .wmbar-0-0-6>span:nth-child(3):first-child {
- background: rgb(255, 95, 86);
- }
- .wmbar-0-0-6>span:first-child:nth-child(2), .wmbar-0-0-6>span:nth-child(2):nth-child(2), .wmbar-0-0-6>span:nth-child(3):nth-child(2) {
- background: rgb(255, 189, 46);
- }
- .wmbar-0-0-6>span:first-child:nth-child(3), .wmbar-0-0-6>span:nth-child(2):nth-child(3), .wmbar-0-0-6>span:nth-child(3):nth-child(3) {
- background: rgb(39, 201, 63);
- }
- .collapse-0-0-7>.label {
- cursor: pointer;
- margin: 8px 0;
- display: flex;
- align-items: center;
- user-select: none;
- }
- .collapse-0-0-7>.content {
- opacity: 0;
- max-height: 0;
- transition: opacity .3s;
- visibility: hidden;
- border-left: 2px solid rgba(224, 224, 224, 0.5);
- padding-left: 16px;
- }
- .collapse-0-0-7.open>.content {
- opacity: 1;
- max-height: none;
- visibility: visible;
- }
- .collapse-0-0-7.open>.label .icon-font {
- transform: rotate(90deg);
- }
- body.dark-mode-animate .collapse-0-0-7>.content {
- transition: transform .15s, opacity .15s, border-color .3s;
- }
- body.dark .collapse-0-0-7>.content {
- border-color: rgba(49, 49, 49, 0.5);
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .collapse-0-0-7>.content {
- border-color: rgba(49, 49, 49, 0.5);
- }
-}
- .collapse-0-0-7>.label .text {
- flex-grow: 1;
- }
- .collapse-0-0-7>.label .icon-font {
- margin-right: 32px;
- }
- .collapse-0-0-7>.label:hover {
- color: #1eb2a6;
- transition: color .15s;
- }
- body.dark .collapse-0-0-7>.label:hover {
- color: #1eb2a6;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .collapse-0-0-7>.label:hover {
- color: #1eb2a6;
- }
-}
- body.dark-mode-animate .collapse-0-0-7>.label .icon-font {
- transition: transform .15s;
- }
- .watermark-0-0-8 {
- color: #424242;
- cursor: pointer;
- display: inline-block;
- opacity: 0.2;
- font-size: 8px;
- transition: opacity .15s;
- text-decoration: none !important;
- }
- body.dark-mode-animate .watermark-0-0-8 {
- transition: opacity .15s, color .3s;
- }
- .watermark-0-0-8:hover {
- opacity: 1;
- text-decoration: none;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .watermark-0-0-8 {
- color: #eeeeee;
- }
-}
- body.dark .watermark-0-0-8 {
- color: #eeeeee;
- }
- .watermark-0-0-8 svg {
- width: 2.8rem;
- display: block;
- margin-top: .25rem;
- }
- .watermark-0-0-8 svg g {
- fill: #424242;
- }
- body.dark-mode-animate .watermark-0-0-8 svg g {
- transition: fill .3s;
- }
- body.dark .watermark-0-0-8 svg g {
- fill: #eeeeee;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .watermark-0-0-8 svg g {
- fill: #eeeeee;
- }
-}
- .header-0-0-9 {
- top: 0;
- right: 0;
- padding: 32px;
- z-index: 100;
- position: fixed;
- text-align: right;
- }
- .footer-0-0-10 {
- left: 0;
- right: 0;
- bottom: 0;
- height: 64px;
- display: flex;
- z-index: 102;
- position: fixed;
- background: rgba(245, 245, 245, 0.85);
- box-shadow: 0 -2px 6px rgba(0, 0, 0, .03);
- align-items: center;
- backdrop-filter: blur(12px);
- justify-content: center;
- -webkit-backdrop-filter: blur(12px);
- }
- body.dark-mode-animate .footer-0-0-10 {
- transition: background .3s;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .footer-0-0-10 {
- background: rgba(33, 33, 33, 0.85);
- }
-}
- body.dark .footer-0-0-10 {
- background: rgba(33, 33, 33, 0.85);
- }
- .footer-0-0-10 .main {
- overflow: hidden;
- flex-grow: 1;
- text-align: center;
- }
- .footer-0-0-10 .left {
- padding-left: 32px;
- }
- .footer-0-0-10 .right {
- padding-right: 32px;
- }
-@media screen and (max-width: 800px) {
- .footer-0-0-10 .left {
- padding-left: 16px;
- }
- .footer-0-0-10 .right {
- padding-right: 16px;
- }
-}
- .footer-0-0-10 .main>.inside {
- display: inline-flex;
- overflow: auto;
- max-width: 100%;
- align-items: center;
- }
- .footer-0-0-10 .main>.inside hr {
- width: 2px;
- border: none;
- height: 16px;
- margin: 16px;
- background: #e0e0e0;
- }
- .footer-0-0-10 .main>.inside a {
- text-decoration: none;
- }
- .footer-0-0-10 .main>.inside a:hover {
- text-decoration: underline ;
- }
- body.dark-mode-animate .footer-0-0-10 .main>.inside hr {
- transition: background .3s;
- }
- body.dark .footer-0-0-10 .main>.inside hr {
- background: #313131;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .footer-0-0-10 .main>.inside hr {
- background: #313131;
- }
-}
- .toc-0-0-11 {
- top: 0;
- left: 0;
- width: calc(50vw - 464px);
- bottom: 0;
- display: flex;
- z-index: 101;
- position: fixed;
- transform: translateX(-50vw);
- background: #f1f1f1;
- border-right: 1px solid #e7e7e7;
- flex-direction: column;
- padding-bottom: 64px;
- }
- body.dark-mode-animate .toc-0-0-11 {
- transition: background .3s, border-color .3s;
- }
- body.dark .toc-0-0-11 {
- background: #1f1f1f;
- border-color: #282828;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .toc-0-0-11 {
- background: #1f1f1f;
- border-color: #282828;
- }
-}
-@media screen and (max-width: 1200px) {
- .toc-0-0-11 {
- width: 100vw;
- transform: translateX(-110vw);
- }
-}
- .toc-0-0-11.animated {
- transition: transform .3s;
- }
- .toc-0-0-11.active {
- transform: translateX(0);
- }
- .toc-0-0-11 p {
- margin: 0;
- }
- .toc-0-0-11 a {
- border: 1px solid transparent;
- display: block;
- padding: 8px;
- margin-left: -8px;
- border-right: none;
- margin-right: 1px;
- border-radius: 3px;
- text-decoration: none;
- }
- body.dark-mode-animate .toc-0-0-11 a {
- transition: border-color .3s, background .3s;
- }
- .toc-0-0-11 a:hover {
- background: #f5f5f5;
- text-decoration: none;
- }
- .toc-0-0-11 a.current {
- background: #f5f5f5;
- border-color: #e7e7e7;
- margin-right: 0;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- }
- body.dark .toc-0-0-11 a.current {
- background: hsl(0, 0%, 13.2%);
- border-color: #282828;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .toc-0-0-11 a.current {
- background: #212121;
- border-color: #282828;
- }
-}
-@media screen and (max-width: 1200px) {
- .toc-0-0-11 a.current {
- border-right: 1px solid;
- margin-right: -8px;
- border-radius: 3px;
- }
-}
- body.dark .toc-0-0-11 a:hover {
- background: hsl(0, 0%, 13.2%);
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .toc-0-0-11 a:hover {
- background: hsl(0, 0%, 13.2%);
- }
-}
- body.dark-mode-animate .toc-0-0-11.animated {
- transition: transform .3s, background .3s, border-color .3s;
- }
- .content-0-0-12 {
- padding: 32px;
- overflow: auto;
- flex-grow: 1;
- margin-right: -1px;
- padding-right: 0;
- }
-@media screen and (max-width: 1200px) {
- .content-0-0-12 {
- margin-right: 0;
- padding-right: 32px;
- }
-}
- .contentnav-0-0-14 {
- right: 0;
- width: calc(50vw - 496px);
- bottom: 96px;
- position: fixed;
- font-size: 12px;
- border-left: 1px dashed #e0e0e0;
- margin-left: 64px;
- padding-left: 48px;
- }
-@media screen and (max-width: 1200px) {
- .contentnav-0-0-14 {
- display: none;
- }
-}
- .contentnav-0-0-14 a {
- color: #424242;
- display: block;
- opacity: 0.2;
- text-decoration: none;
- }
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) .contentnav-0-0-14 {
- border-color: #313131;
- }
- body:not(.dark-mode-animate) .contentnav-0-0-14 a {
- color: #eeeeee;
- }
- body:not(.dark-mode-animate) .contentnav-0-0-14 a:hover, body:not(.dark-mode-animate) .contentnav-0-0-14 a.active {
- color: #1eb2a6;
- }
-}
- body.dark .contentnav-0-0-14 {
- border-color: #313131;
- }
- body.dark .contentnav-0-0-14 a {
- color: #eeeeee;
- }
- body.dark .contentnav-0-0-14 a:hover, body.dark .contentnav-0-0-14 a.active {
- color: #1eb2a6;
- }
- body.dark-mode-animate .contentnav-0-0-14 a {
- transition: color .3s, opacity .3s;
- }
- .contentnav-0-0-14 a:hover, .contentnav-0-0-14 a.active {
- color: #1eb2a6;
- opacity: 1;
- }
- .contentnav-0-0-14 a.h2 {
- margin-left: 12px;
- }
- .contentnav-0-0-14 a.h3 {
- margin-left: 24px;
- }
- .contentnav-0-0-14 a.h4 {
- margin-left: 36px;
- }
- .contentnav-0-0-14 a.h5 {
- margin-left: 48px;
- }
- .contentnav-0-0-14 a.h6 {
- margin-left: 60px;
- }
-* {
- touch-action: manipulation;
- scroll-behavior: smooth;
- -webkit-tap-highlight-color: transparent;
-}
-body {
- color: #424242;
- width: 100vw;
- margin: 0;
- padding: 0;
- background: #f5f5f5;
- overflow-x: hidden;
- backface-visibility: hidden;
- -webkit-backface-visibility: hidden;
-}
-body.dark-mode-animate {
- transition: color .3s, background .3s;
-}
-a {
- color: #1eb2a6;
-}
-a:hover {
- text-decoration: underline;
- text-decoration-thickness: 2px;
-}
-body.dark-mode-animate a {
- transition: color .3s;
-}
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) a {
- color: #1eb2a6;
- }
-}
-body.dark a {
- color: #1eb2a6;
-}
-.container {
- margin: 0 auto;
- padding: 96px 16px;
- max-width: 768px;
- transition: opacity .15s;
-}
-hr {
- border: none;
- margin: 64px;
- background: none;
- border-top: 1px solid #e0e0e0;
-}
-body.dark-mode-animate hr {
- transition: border-color .3s;
-}
-body.dark hr {
- border-color: #313131;
-}
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) hr {
- border-color: #313131;
- }
-}
-blockquote {
- color: #757575;
- margin: 0;
- padding: 16px 40px;
- position: relative;
- background: #eeeeee;
- border-radius: 3px;
-}
-body.dark-mode-animate blockquote {
- transition: color .3s, background .3s;
-}
-blockquote:after {
- top: 16px;
- left: 16px;
- width: 8px;
- bottom: 16px;
- content: '';
- display: block;
- position: absolute;
- background: radial-gradient(circle at center, #e0e0e0 50%, transparent 52%),transparent;
- background-size: 4px 4px;
-}
-body.dark-mode-animate blockquote:after {
- transition: color .3s, background .3s;
-}
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) {
- color: #eeeeee;
- background: #212121;
- }
- body:not(.dark-mode-animate) blockquote {
- color: #cacaca;
- background: #282828;
- }
- body:not(.dark-mode-animate) blockquote:after {
- background: radial-gradient(circle at center, #363636 50%, transparent 52%),transparent;
- background-size: 4px 4px;
- }
-}
-body.dark {
- color: #eeeeee;
- background: #212121;
-}
-body.dark blockquote {
- color: #cacaca;
- background: #282828;
-}
-body.dark blockquote:after {
- background: radial-gradient(circle at center, #363636 50%, transparent 52%),transparent;
- background-size: 4px 4px;
-}
-img {
- max-width: 100%;
-}
-iframe {
- width: 100%;
- border: none;
- background: white;
- border-radius: 3px;
-}
-code {
- color: #616161;
- padding: 4px;
- font-size: .85em;
- background: #eeeeee;
- border-radius: 3px;
-}
-body.dark-mode-animate code {
- transition: color .3s, background .3s;
-}
-body.dark code {
- color: #e0e0e0;
- background: #282828;
-}
-@media (prefers-color-scheme: dark) {
- body:not(.dark-mode-animate) code {
- color: #e0e0e0;
- background: #282828;
- }
-}
\ No newline at end of file
diff --git a/docs/examples.html b/docs/examples.html
deleted file mode 100644
index f9527fb..0000000
--- a/docs/examples.html
+++ /dev/null
@@ -1,62 +0,0 @@
-Autorestic | 🐣 Examples link 🐣 Exampleslink List all the snapshots for all the backends1 autorestic -a exec snapshots
link Unlock a locked repositoryIf you accidentally cancelled a running operation this could be useful.
Only do this if you know what you are doing.
1 autorestic -b my-backend exec unlock
\ No newline at end of file
diff --git a/docs/md/examples.md b/docs/examples.md
similarity index 100%
rename from docs/md/examples.md
rename to docs/examples.md
diff --git a/docs/index.html b/docs/index.html
deleted file mode 100644
index 0d42254..0000000
--- a/docs/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
-Autorestic | autorestic link autoresticHigh backup level CLI utility for restic .
Autorestic is a wrapper around the amazing restic . While being amazing the restic cli can be a bit overwhelming and difficult to manage if you have many different location that you want to backup to multiple locations. This utility is aimed at making this easier 🙂
-
- link ✈️ RoadmapI would like to make the official 1.0
release in the coming months. Until then please feel free to file issues or feature requests so that the tool is as flexible as possible :)
As of version 0.18
crons are supported wich where the last feature missing for a 1.0
. Will test this for a few weeks and then it's time for the first "real" release! 🎉 Also we now have waaay better docs 📒
link 🌈 FeaturesYAML config files, no CLI Incremental -> Minimal space is used Backup locations to multiple backends Snapshot policies and pruning Fully encrypted Pre/After hooks Exclude pattern/files Cron jobs for automatic backup Backup & Restore docker volumes
\ No newline at end of file
diff --git a/docs/md/index.md b/docs/index.md
similarity index 98%
rename from docs/md/index.md
rename to docs/index.md
index 3d7553d..aad20f7 100644
--- a/docs/md/index.md
+++ b/docs/index.md
@@ -1,4 +1,4 @@
-# autorestic
+# `autorestic`
High backup level CLI utility for [restic](https://restic.net/).
diff --git a/docs/installation.html b/docs/installation.html
deleted file mode 100644
index 6bba9e6..0000000
--- a/docs/installation.html
+++ /dev/null
@@ -1,62 +0,0 @@
-Autorestic | 🛳 Installation link 🛳 InstallationLinux & macOS. Windows is not supported. If you have problems installing please open an issue :)
Autorestic requires curl
, wget
and bzip2
to be installed. For most systems these should be already installed.
1 curl -s https://raw.githubusercontent.com/CupCakeArmy/autorestic/master/install.sh | bash
\ No newline at end of file
diff --git a/docs/md/installation.md b/docs/installation.md
similarity index 100%
rename from docs/md/installation.md
rename to docs/installation.md
diff --git a/docs/location/cron.html b/docs/location/cron.html
deleted file mode 100644
index 6e51605..0000000
--- a/docs/location/cron.html
+++ /dev/null
@@ -1,64 +0,0 @@
-Autorestic | Cron link CronOften it is usefull to trigger backups autmatically. For this we can specify a cron
attribute to each location.
Available since version 0.18
.autorestic.yml 1 locations :
2 my-location :
3 from : /data
4 to : my- backend
5 cron : '0 3 * * 0'
Here is a awesome website with some examples and an explorer
link Installing the cronThis has to be done only once, regadless of now many cros you have in your config file.
To actually enable cron jobs you need something to call autorestic cron
on a timed shedule.
-Note that the shedule has nothing to do with the cron
attribute in each location.
-My advise would be to trigger the command every 5min, but if you have a cronjob that runs only once a week, it's probably enough to shedule it once a day.
link CrontabHere is an example using crontab, but systemd would do too.
First, open your crontab in edit mode
1 crontab -e
Then paste this at the bottom of the file and save it. Note that in this specific example the .autorestic.yml
is located in /srv/
. You need to modify that part of course to fit your config file.
1
2 PATH = "/usr/local/bin:/usr/bin:/bin"
3
4
5 */5 * * * * autorestic -c /srv/.autorestic.yml cron
Now you can add as many cron
attributes as you wish ⏱
\ No newline at end of file
diff --git a/docs/md/location/cron.md b/docs/location/cron.md
similarity index 100%
rename from docs/md/location/cron.md
rename to docs/location/cron.md
diff --git a/docs/location/docker.html b/docs/location/docker.html
deleted file mode 100644
index 24eec87..0000000
--- a/docs/location/docker.html
+++ /dev/null
@@ -1,62 +0,0 @@
-Autorestic | Docker link Dockerautorestic supports docker volumes directly, without needing them to be mounted to the host filesystem.
Available since version 0.13
Let see an example.
docker-compose.yml 1 version : '3.7'
2
3 volumes :
4 data :
5 name : my- data
6
7 services :
8 api :
9 image : alpine
10 volumes :
11 - data: /foo/bar
.autorestic.yml 1 locations :
2 hello :
3 from : 'volume:my-data'
4 to :
5 - remote
6 options :
7 forget :
8 keep-last : 14
9
10 backends :
11 remote : ...
Now you can backup and restore as always.
1 autorestic -l hello backup
1 autorestic -l hello restore
If the volume does not exist on restore, autorestic will create it for you and then fill it with the data.
link LimitationsUnfortunately there are some limitations when backing up directly from a docker volume without mounting the volume to the host:
Incremental updates are not possible right now due to how the current docker mounting works. This means that it will take significantely more space. Exclude patterns and files also do not work as restic only sees a compressed tarball as source and not the actual data. If you are curious or have ideas how to improve this, please read more here . Any help is welcomed 🙂
\ No newline at end of file
diff --git a/docs/md/location/docker.md b/docs/location/docker.md
similarity index 100%
rename from docs/md/location/docker.md
rename to docs/location/docker.md
diff --git a/docs/location/exclude.html b/docs/location/exclude.html
deleted file mode 100644
index 4675f26..0000000
--- a/docs/location/exclude.html
+++ /dev/null
@@ -1,62 +0,0 @@
-Autorestic | Excluding files link Excluding filesIf you want to exclude certain files or folders it done easily by specifiyng the right flags in the location you desire to filter.
The flags are taken straight from the restic cli exclude rules so you can use any flag used there.
1 locations :
2 my-location :
3 from : /data
4 to : my- backend
5 options :
6 backup :
7 exclude :
8 - '*.nope'
9 - '*.abc'
10 exclude-file : .gitignore
\ No newline at end of file
diff --git a/docs/md/location/exclude.md b/docs/location/exclude.md
similarity index 100%
rename from docs/md/location/exclude.md
rename to docs/location/exclude.md
diff --git a/docs/location/forget.html b/docs/location/forget.html
deleted file mode 100644
index 196da80..0000000
--- a/docs/location/forget.html
+++ /dev/null
@@ -1,62 +0,0 @@
-Autorestic | Forget/Prune Policies link Forget/Prune PoliciesAutorestic supports declaring snapshot policies for location to avoid keeping old snapshot around if you don't need them.
This is based on Restic's snapshots policies , and can be enabled for each location as shown below:
Note This is a full example, of course you also can specify only one of them
.autorestic.yml 1 locations :
2 etc :
3 from : /etc
4 to : local
5 options :
6 forget :
7 keep-last : 5
8 keep-hourly : 3
9 keep-daily : 4
10 keep-weekly : 1
11 keep-monthly : 12
12 keep-yearly : 7
13 keep-within : '2w'
\ No newline at end of file
diff --git a/docs/md/location/forget.md b/docs/location/forget.md
similarity index 100%
rename from docs/md/location/forget.md
rename to docs/location/forget.md
diff --git a/docs/location/hooks.html b/docs/location/hooks.html
deleted file mode 100644
index e71dc6e..0000000
--- a/docs/location/hooks.html
+++ /dev/null
@@ -1,62 +0,0 @@
-Autorestic | Hooks link HooksSometimes you might want to stop an app/db before backing up data and start the service again after the backup has completed. This is what the hooks are made for. Simply add them to your location config. You can have as many commands as you wish.
.autorestic.yml 1 locations :
2 my-location :
3 from : /data
4 to : my- backend
5 hooks :
6 before :
7 - echo "Hello"
8 - echo "Human"
9 after :
10 - echo "kthxbye"
\ No newline at end of file
diff --git a/docs/md/location/hooks.md b/docs/location/hooks.md
similarity index 100%
rename from docs/md/location/hooks.md
rename to docs/location/hooks.md
diff --git a/docs/location/overview.html b/docs/location/overview.html
deleted file mode 100644
index 76e29c1..0000000
--- a/docs/location/overview.html
+++ /dev/null
@@ -1,63 +0,0 @@
-Autorestic | 🗂 Locations link 🗂 LocationsLocations can be seen as the input to the backup process. Generally this is simply a folder.
-The paths can be relative from the config file. A location can have multiple backends, so that the data is secured across multiple servers.
.autorestic.yml 1 locations :
2 my-location-name :
3 from : path/to/backup
4 to :
5 - name- of- backend
6 - also- backup- to- this- backend
link from
This is the source of the location.
link How are paths resolved?Paths can be absolute or relative. If relative they are resolved relative to the location of the config file. Tilde ~
paths are also supported for home folder resolution.
link to
This is einther a single backend or an array of backends. The backends have to be configured in the same config file.
\ No newline at end of file
diff --git a/docs/md/location/overview.md b/docs/location/overview.md
similarity index 100%
rename from docs/md/location/overview.md
rename to docs/location/overview.md
diff --git a/docs/qa.html b/docs/qa.html
deleted file mode 100644
index 7bd1045..0000000
--- a/docs/qa.html
+++ /dev/null
@@ -1,63 +0,0 @@
-Autorestic | ❓ QA link ❓ QAlink My config file was moved?This happens when autorestic needs to write to the config file. This happend e.g. when we are generating a key for you.
-Unfortunately during this process formatting and comments are lost. That is why autorestic will place a copy of your old config next to the one we are writing to.
\ No newline at end of file
diff --git a/docs/md/qa.md b/docs/qa.md
similarity index 100%
rename from docs/md/qa.md
rename to docs/qa.md
diff --git a/docs/quick.html b/docs/quick.html
deleted file mode 100644
index 096d41b..0000000
--- a/docs/quick.html
+++ /dev/null
@@ -1,62 +0,0 @@
-Autorestic | 🚀 Quickstart link 🚀 Quickstartlink Installation1 curl -s https://raw.githubusercontent.com/CupCakeArmy/autorestic/master/install.sh | bash
link Write a simple config file1 vim .autorestic.yml
For a quick overview:
locations
can be seen as the inputs and backends
the output where the data is stored and backed up.One location
can have one or multiple backends
for redudancy. One backend
can also be the target for multiple locations
. Backup the config file as it will contain the generated keys . If you don't have a copy of that keys, the backups are useless as they are encrypted and data will be not recoverable..autorestic.yml 1 locations :
2 home :
3 from : /home/me
4 to : remote
5
6 important :
7 from : /path/to/important/stuff
8 to :
9 - remote
10 - hdd
11
12 backends :
13 remote :
14 type : s3
15 path : 's3.amazonaws.com/bucket_name'
16 AWS_ACCESS_KEY_ID : account_id
17 AWS_SECRET_ACCESS_KEY : account_key
18
19 hdd :
20 type : local
21 path : /mnt/my_external_storage
link Check1 autorestic check -a
This checks if the config file has any issues. If this is the first time this can take longer as autorestic will setup the backends.
Now is good time to backup the config . After you run autorestic at least once we will add the generated encryption keys to the config.
link Backup1 autorestic backup -a
This will do a backup of all locations.
link Restore1 autorestic restore -l home --from hdd --to /path/where/to/restore
This will restore the location home
from the backend hdd
to the given path.
\ No newline at end of file
diff --git a/docs/md/quick.md b/docs/quick.md
similarity index 100%
rename from docs/md/quick.md
rename to docs/quick.md