# 快速开始

# 简介

BookStack 是一个开源的、自托管的文档与知识库系统。

---

## 官网与源码

- 官网：[https://www.bookstackapp.com](https://www.bookstackapp.com)
- 例子：[https://demo.bookstackapp.com](https://demo.bookstackapp.com)
- 源码：[https://github.com/BookStackApp/BookStack](https://github.com/BookStackApp/BookStack)
- 许可证：[MIT](https://github.com/BookStackApp/BookStack/blob/development/LICENSE)

---

## 功能

BookStack 使用层级结构来组织内容：

```text
书架
└─ 书籍
   └─ 章节
      └─ 页面
```

- 支持可视化编辑器和 Markdown 编辑。
- 提供全文搜索、权限控制和版本修订。
- 支持图片、附件、链接分享与 API 集成。


# 功能定制

本站在 BookStack 项目的基础上做了一些定制化的扩展和优化。

::: tip 亿点点强迫症
在审美和体验上花了不少功夫。
:::

---

## 界面与体验优化

- 在页面整体布局中，将原本较为宽松的三栏结构调整为向中间聚拢。
- 优化了书籍导航和页面导航的布局与功能，信息层级更清晰。
- 优化了书籍中间页面内容区域的滚动体验，阅读更流畅。
- 添加了在线 [Monaco Editor](/editor) 编辑器功能，增强代码与文本编辑体验。
- 优化了明亮主题与暗主题的切换体验。

---

## 书架列表视图

书架和图书支持列表视图，即使没有封面图片也可以正常展示。

![书架列表视图](https://demo.kugarocks.com/images/shelves.png)

---

## 移动端视图

优化了移动端的图书导航和页面导航栏。

![移动端视图](https://demo.kugarocks.com/images/mobile-ui.png)

---

## VitePress

Markdown 的渲染风格整体上与 [VitePress](https://vitepress.dev/guide/what-is-vitepress) 基本一致，并支持部分 [Markdown 扩展](https://vitepress.dev/guide/markdown)。

### 代码块标题

````markdown
```bash [title]
echo hello
```
````

```bash [title]
echo hello
```

### 代码组

````markdown
::: code-group

```bash [macOS]
macOS
```

```bash [Linux]
Linux
```

:::
````

::: code-group

```bash [macOS]
macOS
```

```bash [Linux]
Linux
```

:::

### 提示块

```markdown
::: info 信息
你好，世界
:::
```

::: info 信息
你好，世界
:::

```markdown
::: tip 提示
专家提醒：早上尽量不要空腹吃早餐
:::
```

::: tip 提示
专家提醒：早上尽量不要空腹吃早餐
:::

```markdown
::: warning 警告
做我们这行最忌讳的就是做我们这行
:::
```

::: warning 警告
做我们这行最忌讳的就是做我们这行
:::

```markdown
::: danger 危险
Null Pointer Exception
:::
```

::: danger 危险
Null Pointer Exception
:::

---

## Hero 首页

支持 Hero Page 风格首页，Hero Link 可在后台进行配置。

![首页 Hero 配置](https://demo.kugarocks.com/images/home-hero.png)

![首页 Features 配置](https://demo.kugarocks.com/images/home-features.png)

---

## 评论体验与限流

优化了评论回复的嵌套显示，层级关系更清晰。

![评论配置](https://demo.kugarocks.com/images/comment-ui.png)

支持全局级别和用户级别的评论限流。

![评论配置](https://demo.kugarocks.com/images/comment-config-1.png)

![评论配置](https://demo.kugarocks.com/images/comment-config-2.png)

---

## 安全增强

- 增加了禁止账号密码登录的功能，可用于仅保留外部认证登录方式的场景。


# 安装与配置

::: tip 我也不知道
2026 年了，遇事不决，请找 AI。
:::

---

## 环境依赖

- PHP：必须，世界上最好的语言。
- MySQL：必须，我的[发音](https://dev.mysql.com/doc/refman/8.4/en/what-is-mysql.html)是 `My S-Q-L`，不是 `My sequel`，更不是 `My 色扣`。
- Redis：可选，仅在需要使用 Redis 作为缓存、会话或队列驱动时使用。
- Nginx：可选，生产部署常用，本地可直接使用 `php artisan serve`。
- Composer：部署使用，安装 PHP 依赖。
- Npm：部署使用，构建前端资源。

> The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind if you pronounce it as “my sequel” or in some other localized way.

---

## 部署步骤

进入项目的根目录：

```bash
cd bookstack-basic
```

安装 PHP 依赖：

```bash
composer install
```

安装前端依赖：

```bash
npm install
```

构建静态资源：

```bash
npm run build
```

复制环境配置：

```bash
cp .env.example .env
```

修改 `.env`，确认以下配置：

```env
APP_URL=http://localhost:8402

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bookstack
DB_USERNAME=root
DB_PASSWORD=
```

如果你要使用 Redis，可额外设置：

```env
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
REDIS_SERVERS=127.0.0.1:6379:0
```

生成应用密钥：

```bash
php artisan key:generate
```

执行数据库迁移：

```bash
php artisan migrate
```

导入示例数据（可选）：

```bash
php artisan bookstack:import-demo-content
```

运行项目，直接启动内置服务：

```bash
php artisan serve --host=127.0.0.1 --port=8402
```

访问：

```text
http://127.0.0.1:8402
```

---

## 账号密码

```bash [账号]
admin@admin.com
```

```bash [密码]
password
```