Skip to content

Commit 13785a6

Browse files
authored
docs: update docs (#184)
2 parents 05f6cd7 + e95d34d commit 13785a6

File tree

2 files changed

+99
-71
lines changed

2 files changed

+99
-71
lines changed

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@ Türkçe Açıklama: [README.tr.md](README.tr.md)
1717
> Detailed information: [wiki.md](docs/wiki.md)
1818
1919
- **Supported Applications:**
20-
- Super-Productivity, Siyuan, Joplin, Standard-notes, Logseq, QOwnNotes, Tagspaces, Zen-Browser, weektodo, Zettlr, HeroicGamesLauncher, KDiskMark, AppFlowy
20+
- Super-Productivity, Siyuan, Joplin, Standard-notes, Logseq, QOwnNotes, Tagspaces, Zen-Browser, weektodo, Zettlr, HeroicGamesLauncher, KDiskMark, AppFlowy, Obsidian
2121
- Applications without verification (developer doesn't provide hash):
2222
- FreeTube
2323
- Related issue: https://github.com/FreeTubeApp/FreeTube/issues/4720)
24-
- Obsidian
2524
- More can be found in the [catalog](my_unicorn/catalog/) folder.
2625
- **Supported hash types:**
2726
- sha256, sha512

docs/wiki.md

Lines changed: 98 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -13,59 +13,70 @@
1313

1414
## 🛠️ Usage Examples
1515

16+
### my-unicorn self-update
17+
18+
```bash
19+
# Check for update
20+
my-unicorn self-update --check-only
21+
22+
# Update my-unicorn
23+
my-unicorn self-update
24+
```
25+
1626
### Installation
1727

1828
```bash
1929
# Install via URL
20-
python run.py install https://github.com/johannesjo/super-productivity
30+
my-unicorn install https://github.com/johannesjo/super-productivity
2131

2232
# Install from catalog
23-
python run.py install appflowy,qownotes
33+
my-unicorn install appflowy,qownotes
34+
my-unicorn install appflowy qownotes
2435

2536
# Install with options
26-
python run.py install appflowy --no-icon --no-verify
37+
my-unicorn install appflowy --no-icon --no-verify
2738
```
2839

2940
### Updates
3041

3142
```bash
32-
# Check for updates
33-
python run.py update --check-only
43+
# Check for updates without installation
44+
my-unicorn update --check-only
3445

3546
# Update specific apps
36-
python run.py update appflowy,joplin
47+
my-unicorn update appflowy,joplin
3748

3849
# Update all installed apps
39-
python run.py update
50+
my-unicorn update
4051
```
4152

4253
### Management
4354

4455
```bash
4556
# List installed apps
46-
python run.py list
57+
my-unicorn list
4758

4859
# List available catalog apps
49-
python run.py list --available
60+
my-unicorn list --available
5061

5162
# Remove apps
52-
python run.py remove appflowy --keep-config
63+
my-unicorn remove appflowy --keep-config
5364

5465
# Show configuration
55-
python run.py config --show
66+
my-unicorn config --show
5667
```
5768

5869
### Authentication
5970

6071
```bash
6172
# Save GitHub token
62-
python run.py auth --save-token
73+
my-unicorn auth --save-token
6374

6475
# Check auth status
65-
python run.py auth --status
76+
my-unicorn auth --status
6677

6778
# Remove token
68-
python run.py auth --remove-token
79+
my-unicorn auth --remove-token
6980
```
7081

7182
### Backup
@@ -74,45 +85,48 @@ python run.py auth --remove-token
7485

7586
```bash
7687
# Create backup of current version
77-
backup <app_name>
88+
my-unicorn backup <app_name>
7889

7990
# Restore latest backup version
80-
backup <app_name> --restore-last
91+
my-unicorn backup <app_name> --restore-last
8192

8293
# Restore specific version
83-
backup <app_name> --restore-version <version>
94+
my-unicorn backup <app_name> --restore-version <version>
8495
```
8596

8697
#### Information & Management
8798

8899
```bash
89100
# List backups for specific app
90-
backup <app_name> --list-backups
101+
my-unicorn backup <app_name> --list-backups
91102

92103
# List all apps with backups
93-
backup --list-backups
104+
my-unicorn backup --list-backups
94105

95106
# Show detailed backup info
96-
backup <app_name> --info
107+
my-unicorn backup <app_name> --info
97108

98109
# Clean up old backups
99-
backup --cleanup # All apps
100-
backup <app_name> --cleanup # Specific app
110+
my-unicorn backup --cleanup # All apps
111+
my-unicorn backup <app_name> --cleanup # Specific app
101112

102113
# Migrate old backup format
103-
backup --migrate
114+
my-unicorn backup --migrate
104115
```
105116

106117
## 📋 Dependencies
107118

108-
### Core (working now)
119+
### Core
109120

110121
- Python 3.12+
111122

112123
### Required Dependencies
113124

125+
> [!TIP]
126+
> These dependencies are already installed when you used my-unicorn-installer.sh to install my-unicorn.
127+
114128
```bash
115-
pip install aiohttp uvloop tqdm keyring orjson
129+
pip install aiohttp uvloop tqdm keyring orjson packaging
116130
```
117131

118132
### Config Management
@@ -172,9 +186,24 @@ cache = "~/.config/my-unicorn/cache"
172186
tmp = "~/.config/my-unicorn/tmp"
173187
```
174188

175-
#### Catalog Entry (catalog/appflowy.json)
189+
#### Catalog Configuration
176190

177-
```json
191+
##### 1. **Catalog Configuration Folder Structure**
192+
193+
> [!NOTE]
194+
> Catalog entries are JSON files that contain metadata about the app, such as its name, version, and download URL.
195+
> It's stored in the repository.
196+
197+
```
198+
my-unicorn/my_unicorn/catalog/
199+
├── appflowy.json
200+
├── freetube.json
201+
└── obsidian.json
202+
```
203+
204+
##### Catalog Entry JSON Structure
205+
206+
```jsonc
178207
{
179208
"owner": "AppFlowy-IO",
180209
"repo": "AppFlowy",
@@ -183,13 +212,13 @@ tmp = "~/.config/my-unicorn/tmp"
183212
"rename": "AppFlowy",
184213
"name_template": "{rename}-{latest_version}-linux-{characteristic_suffix}.AppImage",
185214
// List of suffixes that are preferred for the AppImage filename. (e.g `x86_64`, `linux`, `Qt6`)
186-
"characteristic_suffix": [""]
215+
"characteristic_suffix": [""],
187216
},
188217
"github": {
189218
// app installed from github repo
190219
"repo": true,
191220
// Beta/prerelease used to download the latest beta version of the appimage.
192-
"prerelease": false
221+
"prerelease": false,
193222
},
194223
"verification": {
195224
// provided by the github api if the developer provides it.
@@ -201,50 +230,48 @@ tmp = "~/.config/my-unicorn/tmp"
201230
// This is the hash type of the checksum file.
202231
// - sha256 example files: SHA256SUMS.txt, <appimage_name>.AppImage.sha256sum
203232
// - sha512 example files: latest-linux.yml, <appimage_name>.AppImage.sha512sum
204-
"checksum_hash_type": ""
233+
"checksum_hash_type": "",
205234
},
206235
"icon": {
207236
// direct link to an SVG image file hosted on GitHub's raw content server
208237
"url": "https://raw.githubusercontent.com/AppFlowy-IO/AppFlowy/main/frontend/resources/flowy_icons/40x/app_logo.svg",
209238
// used to name the icon file.
210-
"name": "appflowy.svg"
211-
}
239+
"name": "appflowy.svg",
240+
},
212241
}
213242
```
214243

215-
```json
216-
{
217-
"owner": "FreeTubeApp",
218-
"repo": "FreeTube",
219-
"appimage": {
220-
"rename": "freetube",
221-
"name_template": "{rename}-{latest_version}-{characteristic_suffix}.AppImage",
222-
"characteristic_suffix": ["amd64", "x86_64"]
223-
},
224-
"github": {
225-
"repo": true,
226-
"prerelease": true
227-
},
228-
"verification": {
229-
"digest": false,
230-
"skip": true,
231-
"checksum_file": "",
232-
"checksum_hash_type": "sha256"
233-
},
234-
"icon": {
235-
"url": "https://raw.githubusercontent.com/FreeTubeApp/FreeTube/development/_icons/icon.svg",
236-
"name": "freetube.svg"
237-
}
238-
}
244+
#### App-specific Configuration
245+
246+
> [!NOTE]
247+
> Each of these files also represents the state of the installed appimages.
248+
> appimage_version and appimage_name are mandatory fields.
249+
> Other fields are needed only if the user installed unsupported appimage(with URL install)
250+
251+
##### 1. **Configuration Folder Structure**
252+
253+
```
254+
~/.config/my-unicorn/
255+
├── tmp/
256+
├── cache/
257+
├── settings.conf
258+
├── apps/
259+
│ ├── appflowy.json
260+
│ ├── obsidian.json
261+
│ └── qownnotes.json
262+
└── logs/
263+
├── my-unicorn.log
264+
├── my-unicorn.log.1
265+
├── my-unicorn.log.2
266+
├── my-unicorn.log.3
239267
```
240268

241-
#### App-specific Config (~/.config/my-unicorn/apps/appflowy.json)
269+
##### 2. **App-Specific Configuration JSON Structure**
242270

243-
- Each of these files also represents the state of the installed appimages.
244-
- appimage_version and appimage_name are mandatory fields.
245-
- Other fields are needed only if the user installed unsupported appimage(with URL install)
271+
> [!NOTE]
272+
> Directory: `~/.config/my-unicorn/apps`
246273
247-
```json
274+
```jsonc
248275
{
249276
// Configuration version for future migrations
250277
"config_version": "1.0.0",
@@ -261,13 +288,13 @@ tmp = "~/.config/my-unicorn/tmp"
261288
// installed date of the appimage
262289
"installed_date": "2025-08-03T14:57:00.204029",
263290
// digest algorithm used to verify the integrity of the appimage, provided by github api assets
264-
"digest": "sha256:bd8b9374ec9c59fa98b08080fa7f96696d135e6173213d039939f94cc757c587"
291+
"digest": "sha256:bd8b9374ec9c59fa98b08080fa7f96696d135e6173213d039939f94cc757c587",
265292
},
266293
"owner": "AppFlowy-IO",
267294
"repo": "AppFlowy",
268295
"github": {
269296
"repo": true,
270-
"prerelease": false
297+
"prerelease": false,
271298
},
272299
"verification": {
273300
// Verify the appimage with digest algorithm
@@ -277,16 +304,18 @@ tmp = "~/.config/my-unicorn/tmp"
277304
// checksum file used to verify the integrity of the appimage
278305
"checksum_file": "",
279306
// hash type used to verify the integrity of the appimage
280-
"checksum_hash_type": "sha256"
307+
"checksum_hash_type": "sha256",
281308
},
282309
"icon": {
283310
"url": "https://raw.githubusercontent.com/AppFlowy-IO/AppFlowy/main/frontend/resources/flowy_icons/40x/app_logo.svg",
284311
"name": "appflowy.svg",
285-
"installed": true
286-
}
312+
"installed": true,
313+
},
287314
}
288315
```
289316

317+
Example joplin.json:
318+
290319
```json
291320
{
292321
"config_version": "1.0.0",
@@ -365,6 +394,6 @@ tmp = "~/.config/my-unicorn/tmp"
365394
> [!TIP]
366395
> This would remove the package if you installed globally.
367396
368-
```bash
369-
pip uninstall my-unicorn
370-
```
397+
```bash
398+
pip uninstall my-unicorn
399+
```

0 commit comments

Comments
 (0)