Skip to content

Commit 8a4dcfe

Browse files
committed
DOC: Readme and website improvements
1 parent 29fa4b5 commit 8a4dcfe

File tree

4 files changed

+64
-47
lines changed

4 files changed

+64
-47
lines changed

.github/scripts/aspell-ignorewords.txt

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

.github/scripts/build-website.sh

Lines changed: 13 additions & 11 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,27 @@ 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+
<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>
4243
<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>
4344
</head>
4445
<body><main><article>
4546
'
4647
postamble='</article></main>
47-
<script>hljs.highlightAll();</script>
48+
<div property="aggregateRating" typeof="AggregateRating"><meta property="reviewCount" content="1"><meta property="ratingValue" content="5"></div>
49+
<div property="offers" typeof="Offer"><meta property="price" content="0"><meta property="priceCurrency" content="BTC"></div>
50+
<script>window.addEventListener("load", () => hljs.highlightAll());</script>
4851
<script>[...document.links].forEach(a => { if (a.hostname !== location.hostname) a.target = "_blank"; })</script>
4952
</body></html>'
5053

5154
ext_config_file="$(dirname "$0")/markdown-ext-config.json"
52-
5355
{
5456
echo "$preamble"
5557
python -m markdown -v -o html -x extra -x toc -c "$ext_config_file" README.full.md

README.full.md

Lines changed: 36 additions & 28 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**.
@@ -78,7 +79,7 @@ that **large binaries don't change too often**.
7879
fully **encrypted backups** that are really **easily replicated and synced to the cloud**.
7980

8081
<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>
82+
<script>var now=(new Date()).toISOString().split('T')[0];window.trends.embed.renderExploreWidget("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>
8283

8384

8485
### Use-cases
@@ -99,7 +100,7 @@ To install everything on a Debian/Ubuntu-based system, run:
99100
# Install dependencies
100101
sudo apt install gzip git git-lfs openssl gpg
101102

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

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

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

115116

116117
Usage
117118
-----
118119
You run the script with arguments according to the usage printout below.
119120
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!
121+
Most subcommands pass obtained arguments and options (`"$@"`) straight to matching `git` subcommands!
121122
```text
122123
Usage: myba <subcommand> [options]
123124
Subcommands:
@@ -173,7 +174,7 @@ myba add Documents Photos Etc .dotfile
173174
PASSWORD='secret' myba commit -m "my precious"
174175
myba remote add origin "/media/usb/backup"
175176
myba remote add github "git@github.com:user/my-backup.git"
176-
myba push # Push to all configured remotes & free disk space
177+
VERBOSE=1 myba push # Push to all configured remotes & free up disk space
177178

178179
# Somewhere else, much, much later, avoiding catastrophe ...
179180

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

187188
Contributing
188189
------------
189-
The project is [hosted on github](https://github.com/kernc/myba/).
190+
The project is [hosted on GitHub](https://github.com/kernc/myba/).
190191

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

198199

199200
FAQ
200201
---
202+
<div property="about" typeof="FAQPage">
201203

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

205208
Git/myba's inherently core features allow you to:
206209

@@ -217,11 +220,12 @@ Git/myba's inherently core features allow you to:
217220
of people and organizations worldwide,
218221
with long and rigorous release / support cycles.
219222

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

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

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

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

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

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

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

258-
</details>
265+
</div></div></details>
266+
</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)