docs: add vitepress docs
This commit is contained in:
parent
a07ddb6a74
commit
3d5d80dc05
@ -1,4 +1,6 @@
|
|||||||
## YaBL monorepo
|
# YaBL monorepo
|
||||||
- /apps/api
|
- /apps/api
|
||||||
- /apps/web
|
- /apps/web
|
||||||
- /apps/book-reaper
|
- /apps/book-reaper
|
||||||
|
|
||||||
|
## [Wiki](https://yabl.codeberg.page/)
|
||||||
35
docs/.vitepress/config.ts
Normal file
35
docs/.vitepress/config.ts
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import { defineConfig } from 'vitepress';
|
||||||
|
|
||||||
|
// refer https://vitepress.dev/reference/site-config for details
|
||||||
|
export default defineConfig({
|
||||||
|
lang: 'en-US',
|
||||||
|
title: 'YaBL wiki',
|
||||||
|
description: 'Next-gen digital library',
|
||||||
|
|
||||||
|
themeConfig: {
|
||||||
|
nav: [
|
||||||
|
{ text: 'Get started', link: '/get-started' },
|
||||||
|
|
||||||
|
// {
|
||||||
|
// text: 'Dropdown Menu',
|
||||||
|
// items: [
|
||||||
|
// { text: 'Item A', link: '/item-1' },
|
||||||
|
// { text: 'Item B', link: '/item-2' },
|
||||||
|
// { text: 'Item C', link: '/item-3' },
|
||||||
|
// ],
|
||||||
|
// },
|
||||||
|
|
||||||
|
// ...
|
||||||
|
],
|
||||||
|
|
||||||
|
/*sidebar: [
|
||||||
|
{
|
||||||
|
// text: 'Guide',
|
||||||
|
items: [
|
||||||
|
{ text: 'Example', link: '/example' },
|
||||||
|
// ...
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],*/
|
||||||
|
},
|
||||||
|
});
|
||||||
12
docs/.vitepress/theme/custom.css
Normal file
12
docs/.vitepress/theme/custom.css
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
:root {
|
||||||
|
--vp-c-brand-1: #fd7c1a;
|
||||||
|
--vp-c-brand-2: #ff913d;
|
||||||
|
--vp-home-hero-name-color: transparent;
|
||||||
|
--vp-home-hero-name-background: -webkit-linear-gradient(
|
||||||
|
120deg,
|
||||||
|
#ff712f 30%,
|
||||||
|
#ffb555
|
||||||
|
);
|
||||||
|
--vp-button-brand-bg: var(--vp-c-brand-1);
|
||||||
|
--vp-button-brand-hover-bg: var(--vp-c-brand-2);
|
||||||
|
}
|
||||||
4
docs/.vitepress/theme/index.js
Normal file
4
docs/.vitepress/theme/index.js
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
import DefaultTheme from 'vitepress/theme';
|
||||||
|
import './custom.css';
|
||||||
|
|
||||||
|
export default DefaultTheme;
|
||||||
74
docs/get-started.md
Normal file
74
docs/get-started.md
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# Get started
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
Установка YaBL на linux, необходим предустановленный docker и docker-compose
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir YaBL && cd YaBL
|
||||||
|
wget https://git.mi6e4ka.dev/YaBL/app/raw/branch/main/docker-compose.yaml
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Пример docker compose файла:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: git.mi6e4ka.dev/yabl/app:latest
|
||||||
|
container_name: yabl
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
environment:
|
||||||
|
- DATA_DIR=/app/data
|
||||||
|
- LIBRARY_DIR=/app/lib
|
||||||
|
- UPLOADS_DIR=/app/uploads
|
||||||
|
# - BIND_ADDR=:8080 # адрес, который прослушивает yabl
|
||||||
|
volumes:
|
||||||
|
- ./lib:/app/lib # папка для хранения внешней библиотеки
|
||||||
|
- ./uploads:/app/uploads # папка для загруженных файлов
|
||||||
|
- ./data:/app/data # папка для хранения файла БД и ключей JWT
|
||||||
|
```
|
||||||
|
|
||||||
|
### OOBE
|
||||||
|
|
||||||
|
После запуска контейнера страница первоначальной установки будет доступна по адресу `http://ваш-ip:порт/oobe`. Она предложит создать пользователя - администратора библиотеки
|
||||||
|
::: info
|
||||||
|
Пройти первоначальную настройку возможно только один раз
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Импорт книг
|
||||||
|
|
||||||
|
YaBL предоставляет возможность загружать книги через web-интерфейс, однако если необходимо загрузить большое количество книг в docker контейнер интегрирован инструмент `book-reaper`
|
||||||
|
Упакуйте свои книги в формате `fb2` в `zip` архивы и поместите в папку, указанную для хранения внешней библиотеки (по умолчанию `./lib`), поддерживается любой уровень вложенности
|
||||||
|
|
||||||
|
```
|
||||||
|
lib
|
||||||
|
├── 1.zip
|
||||||
|
├── 2.zip
|
||||||
|
└── sub
|
||||||
|
├── 3.zip
|
||||||
|
└── subdir
|
||||||
|
└── 4.zip
|
||||||
|
```
|
||||||
|
|
||||||
|
Затем, запустите `book-reaper` через docker:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker compose exec -it app ./book-reaper
|
||||||
|
```
|
||||||
|
|
||||||
|
Дождитесь окончания процесса индексирования, и после этого все книги будут доступны через web-интерфейс!
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
После индексирования файлы книг необходимо сохранить, иначе доступ к обложкам, файлам и чтению книг из web-интерфейса будет недоступен
|
||||||
|
:::
|
||||||
|
|
||||||
|
::: danger
|
||||||
|
На данный момент не поддерживается инкриментальное индексирование, при повторном запуске book-reaper'а книги дублируются
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Приятного чтения!
|
||||||
35
docs/index.md
Normal file
35
docs/index.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
layout: home
|
||||||
|
|
||||||
|
hero:
|
||||||
|
name: YaBL
|
||||||
|
text: Next-gen digital library
|
||||||
|
tagline: Easier, more convenient and safer
|
||||||
|
image:
|
||||||
|
src: https://raw.githubusercontent.com/yetanotherbooklibrary/landing/39d4a77008f001914c1cfc48eebb8a3926aa39e3/icon.png
|
||||||
|
alt: YaBL logo
|
||||||
|
actions:
|
||||||
|
- theme: brand
|
||||||
|
text: Get started
|
||||||
|
link: /get-started
|
||||||
|
- theme: alt
|
||||||
|
text: Source
|
||||||
|
link: https://git.mi6e4ka.dev/YaBL
|
||||||
|
features:
|
||||||
|
- icon: 🚀
|
||||||
|
title: High-performance
|
||||||
|
details: Written in go, converting books on the fly
|
||||||
|
- icon: 💻
|
||||||
|
title: Simple
|
||||||
|
details: Intuitive UX, easy installation
|
||||||
|
- icon: ✨
|
||||||
|
title: Beautiful
|
||||||
|
details: Uses the Material 3 UI
|
||||||
|
- icon: 💾
|
||||||
|
title: Self-host
|
||||||
|
details: Keep all your favorite books on your fridge!
|
||||||
|
- icon: 🔐
|
||||||
|
title: Security
|
||||||
|
details: Manage your data yourself (TOTP and passkey auth on the way)
|
||||||
|
|
||||||
|
---
|
||||||
Loading…
x
Reference in New Issue
Block a user