? B3log distributed community blog-end node, welcome to join the next generation community network. B3log 分布式社区的 Go 博客端节点系统,欢迎加入下一代社区网络。
Pipe 是一款小而美的开源博客平台,专为程序员设计。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。
这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
欢迎到 Pipe 官方讨论区了解更多。同时也欢迎关注 B3log 开源社区微信公众号 B3log开源
:
Pipe 仅支持通过 Docker 进行部署,如果你需要从源码构建可参考这里。
获取最新镜像:
docker pull b3log/pipe
使用 MySQL
先手动建库(库名 pipe
,字符集使用 utf8mb4
,排序规则 utf8mb4_general_ci
),然后启动容器:
docker run --detach --name pipe --network=host \
b3log/pipe --mysql="root:123456@(127.0.0.1:3306)/pipe?charset=utf8mb4&parseTime=True&loc=Local&timeout=1s" --runtime_mode=prod --port=5897 --server=http://localhost:5897
为了简单,使用了主机网络模式来连接主机上的 MySQL。
使用 SQLite
docker run --detach --name pipe --volume ~/pipe.db:/opt/pipe/pipe.db --publish 5897:5897 \
b3log/pipe --sqlite="/opt/pipe/pipe.db" --runtime_mode=prod --port=5897 --server=http://localhost:5897
注意:需先确保 SQLite 数据库文件已存在。如果数据库文件不存在时,docker run —volume 参数默认将宿主路径识别为目录,并自动创建这个目录,这可能导致 pipe 创建 sqlite 数据库文件失败。新建数据库文件可以简单用 touch 命令,如:
$ touch ~/pipe.db
启动参数说明:
--port
:进程监听端口--server
:访问时的链接完整启动参数的说明可以使用 -h
来查看。
可参考这里编写一个重启脚本,并通过 crontab 每日凌晨运行来实现自动更新。
upstream pipe {
server localhost:5897;
}
server {
listen 80;
server_name pipe.b3log.org; # 配置为你自己的域名
location / {
proxy_pass http://pipe$request_uri;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
}
}
另外,可以参考 https://ld246.com/article/1517474627971 进行配置。
Pipe 使用 木兰宽松许可证, 第2版 开源协议。
Pipe 的文章编辑器支持 Markdown,并支持复制/粘贴图片、粘贴 HTML 自动转换 Markdown、流程图、数学公式等。
另外,可以为文章启用自动配图,会自动在文章最前面插入所选择的配图。
Pipe 使用“自底向上”的分类方式:
也就是说一篇文章在编辑时只需要打标签,访问分类时会根据该分类包含的标签将文章关联出来。这是一个自底向上的信息架构,在使用时更灵活一些,可以随时调整分类而不必重新更新文章。
在 Pipe 平台上的每个博客都可以配置域名,需要博主和服务器运维者分别操作:
server {
listen 80;
server_name vanessa.b3log.org;
location / {
proxy_pass http://pipe/blogs/Vanessa/;
}
}
Pipe 支持导入 Hexo/Jekyll 的 Markdown 文件,将需要导入的 Markdown 文件使用 zip 压缩上传即可。导入时会按标题去重,并自动按原文章的创建时间生成存档。
同样地,Pipe 也支持 Markdown 导出,格式为 Hexo。
在 Pipe 上发布文章时可选择是否自动推送到链滴上,这样能让更多人看到你创作的内容,更容易引起大家的关注和互动。
Pipe 使用 SQLite3 数据库引擎,数据文件默认情况下存放在 ~/pipe.db,可以通过修改 pipe.json 的 DataFilePath
指定新的存放路径。
建议定期备份数据文件,避免意外情况导致数据丢失。
在管理后台的关于中可以检查版本更新,如果提示有更新请尽快升级,一般来说升级只需要下载新的发布包然后部署重启,实际升级方式以每次版本发布公告为准。
Pipe 没有单独的友链管理功能。可以通过发一篇文章,然后在导航管理中新建一个友链导航跳转过去。