Wiki-Go 开源项目使用教程
1. 项目目录结构及介绍
Wiki-Go 是一个基于 Go 语言编写的现代、功能丰富的无数据库维基平台。以下是项目的目录结构及其介绍:
wiki-go/
├── .github/ # GitHub 工作流和配置文件
├── build/ # 构建脚本和配置
├── internal/ # 项目内部模块和库
├── screenshots/ # 项目截图
├── vendor/ # 依赖的外部库
├── .gitattributes # Git 属性文件
├── .gitignore # Git 忽略文件
├── Dockerfile # Docker 容器构建文件
├── LICENSE # 项目许可证
├── README.md # 项目自述文件
├── build-all.sh # 构建所有平台版本的脚本
├── docker-compose.yml # Docker Compose 配置文件
├── go.mod # Go 依赖模块配置文件
├── go.sum # Go 依赖模块校验文件
├── main.go # 项目入口文件
.github/
: 包含了 GitHub Actions 工作流和其它 GitHub 相关的配置文件。build/
: 构建脚本和构建过程中所需的配置文件。internal/
: 项目的主要逻辑和内部库。screenshots/
: 存放项目截图的文件夹。vendor/
: 存放项目依赖的外部库。.gitattributes
和.gitignore
: 分别用于设置 Git 的文件属性和定义哪些文件应该被 Git 忽略。Dockerfile
: 用于构建项目的 Docker 容器镜像。LICENSE
: 项目的开源许可证文件。README.md
: 项目的介绍和说明文件。build-all.sh
: 脚本用于构建项目所有支持的平台版本。docker-compose.yml
: 定义了项目在 Docker 环境下的服务配置。go.mod
和go.sum
: Go 项目的依赖管理文件。
2. 项目的启动文件介绍
项目的启动文件是 main.go
。以下是该文件的主要功能:
- 初始化项目的基本配置。
- 设置 HTTP 服务器监听的地址和端口。
- 载入并解析配置文件。
- 启动 HTTP 服务器,以接收和处理客户端请求。
在 main.go
文件中,你会找到以下关键代码片段:
package main
import (
"github.com/leomoon-studios/wiki-go/internal/server"
// 其他导入
)
func main() {
// 初始化和设置服务器
s := server.NewServer()
// 启动服务器
s.Start()
}
3. 项目的配置文件介绍
项目的配置文件是 data/config.yaml
。这个文件包含了项目的所有配置项,包括:
- 服务器设置,如监听的地址和端口。
- 维基设置,如根目录、文档目录、标题、所有者、版权声明等。
- 安全设置,如是否允许非安全的 cookie 传输。
- 用户管理,包括用户名、密码和权限。
- 文档管理,如版本历史记录的最大数量。
- 界面设置,如主题、语言等。
以下是配置文件的一个示例片段:
server:
host: 0.0.0.0
port: 8080
allow_insecure_cookies: true
wiki:
root_dir: data
documents_dir: documents
title: "📚 Wiki-Go"
owner: "wiki.example.com"
notice: "Copyright 2025 © All rights reserved."
timezone: "America/Vancouver"
private: false
disable_comments: false
max_versions: 10
max_upload_size: 10
language: en
users:
- username: admin
password: <bcrypt-hashed-password>
is_admin: true
确保在修改配置文件后,重新启动维基以应用更改。