/pipe

🎷 一款小而美的博客平台,专为程序员设计。

Primary LanguageGoGNU General Public License v3.0GPL-3.0

Pipe

小而美的博客平台,为未来而构建





        

简介

Pipe 是一款小而美的开源博客平台,专为程序员设计。Pipe 有着非常活跃的社区,文章自动推送到社区后可以让很多人看到,产生丰富的交流互动。

案例

功能

  • 多用户博客平台
  • Markdown / Emoji
  • 聚合分类 / 标签
  • 自定义导航
  • 多主题 / 多语言
  • Atom / RSS / Sitemap
  • 文章搜索
  • Hexo/Jekyll 导入 / 导出
  • 可配置动静分离
  • 支持 SQLite / MySQL

界面

开始使用

start

管理后台

console

编辑文章

post

主题选择

theme

主题 Gina

gina

安装

本地试用

  • 下载最新的发布包解压,进入解压目录运行 pipe/pipe.exe
  • 从源码构建可参考这里

请注意:我们不建议通过发布包或者源码构建部署,因为这样的部署方式在将来有新版本发布时升级会比较麻烦。 这两种方式请仅用于本地试用,线上生产环境建议通过 Docker 部署。

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" --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

启动参数说明:

  • --port:进程监听端口
  • --server:访问时的链接

完整启动参数的说明可以使用 -h 来查看。

Docker 升级

  1. 拉取最新镜像
  2. 重启容器

可参考这里编写一个重启脚本,并通过 crontab 每日凌晨运行来实现自动更新。

文档

社区

授权

Pipe 使用 GPLv3 开源协议。

鸣谢

  • jQuery:JavaScript 工具库,用于主题页面
  • Vue.js:渐进式 JavaScript 框架
  • Nuxt.js:Vue.js 框架
  • Vuetify:Vue.js 的 Material 组件框架
  • Vditor: 浏览器端的 Markdown 编辑器
  • Gin:又快又好用的 golang HTTP web 框架
  • GORM:极好的 golang ORM 库
  • Blackfriday:golang Markdown 处理器
  • SQLite:使用广泛的嵌入式 SQL 引擎
  • GCache:golang 缓存库
  • Gulu:Go 语言常用工具库,这个轱辘还算圆

开源项目推荐

  • 如果你需要搭建一个个人博客系统,可以考虑使用 Solo
  • 如果你需要搭建一个社区平台,可以考虑使用 Sym
  • 欢迎加入我们的小众开源社区,详情请看这里