Skip to content

Commit 3f1a582

Browse files
committed
DOC: Readme and website improvements
1 parent 29fa4b5 commit 3f1a582

File tree

4 files changed

+74
-49
lines changed

4 files changed

+74
-49
lines changed

.github/scripts/aspell-ignorewords.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,8 @@ vqwg
8080
worktree
8181
zsh
8282
vL
83+
FAQPage
84+
acceptedAnswer
85+
addEventListener
86+
mainEntity
87+
typeof

.github/scripts/build-website.sh

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,20 @@ mkdir -p output
44
cp icon.svg output
55

66
preamble='<!doctype html>
7-
<html lang=en itemscope itemtype="https://schema.org/SoftwareApplication">
7+
<html lang=en vocab="https://schema.org/" typeof="SoftwareApplication">
88
<head>
99
<meta charset="utf-8">
1010
<meta name="viewport" content="width=device-width, initial-scale=1.0">
1111
<title>Myba - git-based file backup with encryption</title>
1212
<link rel="logo icon" href="icon.svg">
1313
<meta name="theme-color" content="#333">
14-
<meta itemprop="applicationCategory" content="BusinessApplication"><meta itemprop="applicationCategory" content="DeveloperApplication"><meta itemprop="applicationCategory" content="SecurityApplication"><meta itemprop="applicationCategory" content="UtilitiesApplication">
15-
<meta itemprop="operatingSystem" content="Linux"><meta itemprop="operatingSystem" content="macOS"><meta itemprop="operatingSystem" content="Windows">
16-
<meta itemprop="isAccessibleForFree" content="true">
17-
<meta itemprop="license" content="https://www.gnu.org/licenses/agpl-3.0.txt">
18-
<meta itemprop="sameAs" content="https://github.com/kernc/myba/">
19-
<meta itemprop="url" content="/">
14+
<meta property="name" content="myba">
15+
<meta property="applicationCategory" content="BusinessApplication"><meta property="applicationCategory" content="DeveloperApplication"><meta property="applicationCategory" content="SecurityApplication"><meta property="applicationCategory" content="UtilitiesApplication">
16+
<meta property="operatingSystem" content="Linux"><meta property="operatingSystem" content="macOS"><meta property="operatingSystem" content="Windows">
17+
<meta property="isAccessibleForFree" content="true">
18+
<link property="license" href="https://www.gnu.org/licenses/agpl-3.0.txt">
19+
<link property="sameAs" href="https://github.com/kernc/myba/">
20+
<meta property="url" content="./">
2021
<script async src="https://www.googletagmanager.com/gtag/js?id=G-JT9W3RXCJD"></script>
2122
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag("js",new Date());gtag("config","G-JT9W3RXCJD");</script>
2223
<style>
@@ -30,26 +31,33 @@ h1 img {vertical-align: middle; margin: 0 1em 1em 0;}
3031
h1 {line-height: 1.3em;}
3132
a:link {color:navy}
3233
a:hover {color:blue !important}
33-
a:visited {color:darkmagenta}
34+
a:visited {color:#230}
3435
summary {width:fit-content; border:2px solid silver; cursor:pointer; padding:.2em .6em; margin:.3em 0; font-weight:bold}
3536
details[open] summary {border:2px solid black;}
3637
</style>
3738
<meta property="og:title" content="Myba - git-based file backup with encryption">
3839
<meta property="og:type" content="website">
3940
<meta property="og:url" content="https://kernc.github.io/myba/">
4041
<meta property="og:image" content="https://kernc.github.io/myba/icon.svg">
41-
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/highlight.min.js" integrity="sha512-6yoqbrcLAHDWAdQmiRlHG4+m0g/CT/V9AGyxabG8j7Jk8j3r3K6due7oqpiRMZqcYe9WM2gPcaNNxnl2ux+3tA==" crossorigin></script>
42-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/github-dark.min.css" integrity="sha512-rO+olRTkcf304DQBxSWxln8JXCzTHlKnIdnMUwYvQa9/Jd4cQaNkItIUj6Z4nvW1dqK0SKXLbn9h4KwZTNtAyw==" crossorigin>
42+
<script async src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/highlight.min.js" integrity="sha512-6yoqbrcLAHDWAdQmiRlHG4+m0g/CT/V9AGyxabG8j7Jk8j3r3K6due7oqpiRMZqcYe9WM2gPcaNNxnl2ux+3tA==" crossorigin></script>
43+
<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/github-dark.min.css" integrity="sha512-rO+olRTkcf304DQBxSWxln8JXCzTHlKnIdnMUwYvQa9/Jd4cQaNkItIUj6Z4nvW1dqK0SKXLbn9h4KwZTNtAyw==" crossorigin>
44+
<link rel="preconnect" href="https://www.gstatic.com/">
45+
<link rel="preconnect" href="https://ssl.gstatic.com/">
46+
<link rel="preconnect" href="https://fonts.gstatic.com/">
47+
<link rel="preconnect" href="https://ajax.googleapis.com/">
48+
<link rel="preconnect" href="https://fonts.googleapis.com/">
49+
<link rel="preconnect" href="https://www.google.com/">
4350
</head>
4451
<body><main><article>
4552
'
4653
postamble='</article></main>
47-
<script>hljs.highlightAll();</script>
54+
<div property="aggregateRating" typeof="AggregateRating"><meta property="reviewCount" content="1"><meta property="ratingValue" content="5"></div>
55+
<div property="offers" typeof="Offer"><meta property="price" content="0"><meta property="priceCurrency" content="BTC"></div>
56+
<script>addEventListener("load", () => hljs.highlightAll());</script>
4857
<script>[...document.links].forEach(a => { if (a.hostname !== location.hostname) a.target = "_blank"; })</script>
4958
</body></html>'
5059

5160
ext_config_file="$(dirname "$0")/markdown-ext-config.json"
52-
5361
{
5462
echo "$preamble"
5563
python -m markdown -v -o html -x extra -x toc -c "$ext_config_file" README.full.md

README.full.md

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
<img src="icon.svg" width="64" alt/> Myba — git-based backup utility with encryption
22
=====
33

4-
[![Build Status](https://img.shields.io/github/actions/workflow/status/kernc/myba/ci.yml?branch=master&style=for-the-badge)](https://github.com/kernc/myba/actions)
5-
[![Source lines of code](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/kernc/myba/badge?filter=myba.sh$&style=for-the-badge&logo=github&color=skyblue&label=SLOC)](https://github.com/kernc/myba)
6-
[![Script size](https://img.shields.io/github/size/kernc/myba/myba.sh?style=for-the-badge&logo=github&color=skyblue)](https://github.com/kernc/myba)
4+
[![Build status](https://img.shields.io/github/actions/workflow/status/kernc/myba/ci.yml?branch=master&style=for-the-badge)](https://github.com/kernc/myba/actions)
5+
[![Language: shell / Bash](https://img.shields.io/badge/lang-Shell-skyblue?style=for-the-badge)](https://github.com/kernc/myba)
6+
[![Source lines of code](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/kernc/myba/badge?filter=myba.sh$&style=for-the-badge&color=skyblue&label=SLOC)](https://github.com/kernc/myba)
7+
[![Script size](https://img.shields.io/github/size/kernc/myba/myba.sh?style=for-the-badge&color=skyblue)](https://github.com/kernc/myba)
78
[![Issues](https://img.shields.io/github/issues/kernc/myba?style=for-the-badge)](#)
8-
[![GitHub Sponsors](https://img.shields.io/github/sponsors/kernc?color=pink&style=for-the-badge)](https://github.com/sponsors/kernc)
9+
[![Sponsors](https://img.shields.io/github/sponsors/kernc?color=pink&style=for-the-badge)](https://github.com/sponsors/kernc)
910

1011
[TOC]
1112

12-
**Myba** (pronounced: mỹba) **is an
13+
**_Myba_** (pronounced: [_mỹba_](https://www.google.com/search?q=myba)) **is an
1314
open-source, secure, distributed, version-controlled, encrypted
1415
file backup software based on `git`**,
1516
for **Linux, MacOS, BSDs**, and possibly even **Windows/WSL**.
@@ -77,8 +78,9 @@ that **large binaries don't change too often**.
7778
**Myba** is **Git + Shell**, preconfigured and wrapped as thinly as needed to provide
7879
fully **encrypted backups** that are really **easily replicated and synced to the cloud**.
7980

80-
<script src="https://ssl.gstatic.com/trends_nrtr/3826_RC01/embed_loader.js"></script>
81-
<script>var now=(new Date()).toISOString().split('T')[0]; window.trends.embed.renderExploreWidget("TIMESERIES", {"comparisonItem":[{"keyword":"/m/02mhh1","geo":"","time":"2004-01-01 "+now},{"keyword":"/m/05vqwg","geo":"","time":"2004-01-01 "+now},{"keyword":"/m/0ryppmg","geo":"","time":"2004-01-01 "+now}],"category":0,"property":""}, {"exploreQuery":"q=%2Fm%2F02mhh1,%2Fm%2F05vqwg,%2Fm%2F0ryppmg&date=all#TIMESERIES","guestPath":"https://trends.google.com:443/trends/embed/"})</script>
81+
<script async src="https://ssl.gstatic.com/trends_nrtr/3826_RC01/embed_loader.js"></script>
82+
<div id="trends"></div>
83+
<script>addEventListener("load", () => window.trends.embed.renderExploreWidgetTo(document.getElementById("trends"), "TIMESERIES", {"comparisonItem":[{"keyword":"/m/02mhh1","geo":"","time":"all"},{"keyword":"/m/05vqwg","geo":"","time":"all"},{"keyword":"/m/0ryppmg","geo":"","time":"all"},{"keyword":"myba","geo":"","time":"all"}],"category":0,"property":""}, {"exploreQuery":"date=all&q=%2Fm%2F02mhh1,%2Fm%2F05vqwg,%2Fm%2F0ryppmg,myba#TIMESERIES","guestPath":"https://trends.google.com:443/trends/embed/"}));</script>
8284

8385

8486
### Use-cases
@@ -99,7 +101,7 @@ To install everything on a Debian/Ubuntu-based system, run:
99101
# Install dependencies
100102
sudo apt install gzip git git-lfs openssl gpg
101103

102-
# Download and make available somewhere in path
104+
# Download and put somewhere on PATH
103105
curl -vL 'https://bit.ly/myba-backup' > ~/.local/bin/myba
104106
export PATH="$HOME/.local/bin:$PATH"
105107

@@ -110,14 +112,14 @@ Note, only one of `openssl` _or_ `gpg` is needed, not both!
110112
It should be similar, if not nearly equivalent, to install on other platforms.
111113
Hopefully you will find most dependencies already satisfied.
112114

113-
Please report back if you find / manage to get this working under anything but the above configuration and especially Windows/WSL!
115+
Please report back if you find / manage to get this working under everything but the above configuration and especially Windows/WSL!
114116

115117

116118
Usage
117119
-----
118120
You run the script with arguments according to the usage printout below.
119121
Myba heavily relies on `git` and thus **its command-line usage largely follows that of git convention**.
120-
Most subcommands pass obtained arguments and options (`"@"`) straight to matching `git` subcommands!
122+
Most subcommands pass obtained arguments and options (`"$@"`) straight to matching `git` subcommands!
121123
```text
122124
Usage: myba <subcommand> [options]
123125
Subcommands:
@@ -173,7 +175,7 @@ myba add Documents Photos Etc .dotfile
173175
PASSWORD='secret' myba commit -m "my precious"
174176
myba remote add origin "/media/usb/backup"
175177
myba remote add github "git@github.com:user/my-backup.git"
176-
myba push # Push to all configured remotes & free disk space
178+
VERBOSE=1 myba push # Push to all configured remotes & free up disk space
177179

178180
# Somewhere else, much, much later, avoiding catastrophe ...
179181

@@ -186,21 +188,23 @@ See [_smoke-test.sh_](https://github.com/kernc/myba/blob/master/smoke-test.sh) f
186188

187189
Contributing
188190
------------
189-
The project is [hosted on github](https://github.com/kernc/myba/).
191+
The project is [hosted on GitHub](https://github.com/kernc/myba/).
190192

191193
The script is considered _mostly_ feature-complete, but there remain
192194
bugs and design flaws to be discovered and ironed out, as well as any
193195
[TODOs and FIXMEs](https://github.com/search?q=repo%3Akernc%2Fmyba+%28todo+OR+fixme+OR+xxx%29&type=code)
194196
marked in the source.
195197
**All source code lines are open to discussion.**
196-
Especially appreciated are clear pointers to targets for simplification.
198+
Especially appreciated are targets for simplification.
197199

198200

199201
FAQ
200202
---
203+
<div property="about" typeof="FAQPage">
201204

202-
<details markdown="1">
203-
<summary>Is git a good tool for backups?</summary>
205+
<details markdown="1" property="mainEntity" typeof="Question">
206+
<summary property="name">Is git a good tool for backups?</summary>
207+
<div property="acceptedAnswer" typeof="Answer"><div property="text">
204208

205209
Git/myba's inherently core features allow you to:
206210

@@ -217,11 +221,12 @@ Git/myba's inherently core features allow you to:
217221
of people and organizations worldwide,
218222
with long and rigorous release / support cycles.
219223

220-
</details>
221-
<details markdown="1">
222-
<summary>Git doesn't track file owner and access control / permissions ...</summary>
224+
</div></div></details>
225+
<details markdown="1" property="mainEntity" typeof="Question">
226+
<summary property="name">Git doesn't track file owner and access control / permissions ...?</summary>
227+
<div property="acceptedAnswer" typeof="Answer"><div property="text">
223228

224-
True. Files commited by any user are restorable by any user with the right password.
229+
Correct. Files commited by any user are restorable by any user with the right password.
225230
In order to restore files with specific file permission bits set, **defer to
226231
[umask](https://pubs.opengroup.org/onlinepubs/9799919799/utilities/umask.html)**,
227232
e.g.:
@@ -236,23 +241,27 @@ simply **write a small shell wrapper** that takes care of it.
236241
**Welcome to contrib** anything short to the respect
237242
you find widely-applicable and useful.
238243

239-
</details>
240-
<details markdown="1">
241-
<summary>Git isn't optimized for continuously-changing databases and binary files ...</summary>
244+
</div></div></details>
245+
<details markdown="1" property="mainEntity" typeof="Question">
246+
<summary property="name">Is git optimized for continuously-changing databases and binary files?</summary>
247+
<div property="acceptedAnswer" typeof="Answer"><div property="text">
242248

243-
That is correct. Git saves whole file snapshots and doesn't do any in-file or within-file
249+
It's not. Git saves whole file snapshots and doesn't do any in-file or within-file
244250
or across-file deduplication, so it's not well suited to automatic continuous backing up
245251
of databases that change often.
246252

247253
However, while git repositories bloat when commiting large binary and media files,
248254
**_myba_ only ever uses sparse-checkout**, keeping overhead disk space use to a minimum.
249255

250-
</details>
251-
<details markdown="1">
252-
<summary>How to influence what files / filetypes to ignore from backup?</summary>
256+
</div></div></details>
257+
<details markdown="1" property="mainEntity" typeof="Question">
258+
<summary property="name">How to configure what files / filetypes to ignore from backup?</summary>
259+
<div property="acceptedAnswer" typeof="Answer"><div property="text">
253260

254-
You can edit `$PLAIN_REPO/info/exclude`, which is prepopulated with default common ignore patterns.
261+
You can edit `$PLAIN_REPO/info/exclude`, which is prepopulated with
262+
[default common ignore patterns](https://github.com/search?q=repo%3Akernc%2Fmyba+%22default_gitignore%3D%22&type=code).
255263
You can tweak various other git settings (like config, filters, hooks)
256-
by modifying files in `$PLAIN_REPO` and `$PLAIN_REPO/_encrypted/.git`.
264+
by modifying respective files in `$PLAIN_REPO` and (encrypted repo) `$PLAIN_REPO/_encrypted/.git`.
257265

258-
</details>
266+
</div></div></details>
267+
</div>

README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
<img src="icon.svg" width="64" alt/> Myba — git-based backup utility w/ encryption
22
=====
33

4-
[![Build Status](https://img.shields.io/github/actions/workflow/status/kernc/myba/ci.yml?branch=master&style=for-the-badge)](https://github.com/kernc/myba/actions)
5-
[![Source lines of code](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/kernc/myba/badge?filter=myba.sh$&style=for-the-badge&logo=github&color=skyblue&label=SLOC)](https://github.com/kernc/myba)
6-
[![Script size](https://img.shields.io/github/size/kernc/myba/myba.sh?style=for-the-badge&logo=github&color=skyblue)](https://github.com/kernc/myba)
4+
[![Build status](https://img.shields.io/github/actions/workflow/status/kernc/myba/ci.yml?branch=master&style=for-the-badge)](https://github.com/kernc/myba/actions)
5+
[![Language: shell / Bash](https://img.shields.io/badge/lang-Shell-skyblue?style=for-the-badge)](https://github.com/kernc/myba)
6+
[![Source lines of code](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/kernc/myba/badge?filter=myba.sh$&style=for-the-badge&color=skyblue&label=SLOC)](https://github.com/kernc/myba)
7+
[![Script size](https://img.shields.io/github/size/kernc/myba/myba.sh?style=for-the-badge&color=skyblue)](https://github.com/kernc/myba)
78
[![Issues](https://img.shields.io/github/issues/kernc/myba?style=for-the-badge)](#)
8-
[![GitHub Sponsors](https://img.shields.io/github/sponsors/kernc?color=pink&style=for-the-badge)](https://github.com/sponsors/kernc)
9+
[![Sponsors](https://img.shields.io/github/sponsors/kernc?color=pink&style=for-the-badge)](https://github.com/sponsors/kernc)
910

10-
**Myba** (pronounced: mỹba) **is an
11+
**_Myba_** (pronounced: _mỹba_) **is an
1112
open-source, secure, distributed, version-controlled, encrypted
1213
file backup software based on `git`**,
1314
for **Linux, MacOS, BSDs**, and possibly even **Windows/WSL**.
@@ -29,7 +30,9 @@ See [_smoke-test.sh_](https://github.com/kernc/myba/blob/master/smoke-test.sh) f
2930

3031
Contributing
3132
------------
32-
The script is considered _mostly_ feature-complete, but there remain bugs and design flaws to be discovered and ironed out,
33-
as well as any TODOs and FIXMEs marked in the source.
33+
The script is considered _mostly_ feature-complete, but there remain
34+
bugs and design flaws to be discovered and ironed out, as well as any
35+
[TODOs and FIXMEs](https://github.com/search?q=repo%3Akernc%2Fmyba+%28todo+OR+fixme+OR+xxx%29&type=code)
36+
marked in the source.
3437
**All source code lines are open to discussion.**
35-
Especially appreciated are clear pointers to targets for simplification.
38+
Especially appreciated are targets for simplification.

0 commit comments

Comments
 (0)