"简介 [链接] 是一款小而美的开源博客平台,专为程序员设计。 安装与配置 启动 [链接]最新版本的发布包解压,修改 pipe.json。其中最关键的配置项是 Server,该项用于配置最终访问时的 IP 或域名。修改配置文件后运行 pipe,正常的话服务就启动了。 另外,运行 pipe 时可以带参数,用于覆盖 pipe .."

Pipe 用户指南

简介

Pipe 是一款小而美的开源博客平台,专为程序员设计。

安装与配置

启动

下载最新版本的发布包解压,修改 pipe.json。其中最关键的配置项是 Server,该项用于配置最终访问时的 IP 或域名。修改配置文件后运行 pipe,正常的话服务就启动了。

另外,运行 pipe 时可以带参数,用于覆盖 pipe.json 中的对应配置,具体可执行 pipe -h 进行参考。

数据库

默认的配置是使用 SQLite 作为数据库,如果要使用 MySQL 请将 SQLite 配置项的值改为空字符串:

{
    "Server": "http://localhost:5897",
    "StaticServer": "",
    "StaticResourceVersion": "1514429331501",
    "RuntimeMode": "dev",
    "LogLevel": "debug",
    "SessionSecret": "BEYOND",
    "SessionMaxAge": 86400,
    "SQLite": "",
    "MySQL": "user:password@(localhost:3306)/pipe?charset=utf8&parseTime=True&loc=Local",
    "StaticRoot": "",
    "Port": "5897",
    "AxiosBaseURL": "/api",
    "MockServer": "http://localhost:8888"
}

手动建立对应配置的数据库,字符集使用 utf8mb4 以支持 emoji 存储。

主题

下载的发布包中自带了所有官方皮肤,如果你是自己拉源码构建的,可以到这里下载主题。

下载后放到 theme/x 目录下后重启服务,在设置 -> 主题切换中选择使用即可。

NGINX 示例

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;
    }
}

另外,可以参考 Pipe 安装补充说明 进行配置。

特性说明

发布文章

Pipe 的文章编辑器支持 Markdown,并支持复制 / 粘贴图片、粘贴 HTML 自动转换 Markdown、流程图、数学公式等。

另外,可以为文章启用自动配图,会自动在文章最前面插入所选择的配图。

聚合分类

Pipe 使用“自底向上”的分类方式:

  1. 定义分类,并配置该分类包含的标签
  2. 查询某个分类文章列表时通过分类 -> 标签集 -> 标签关联的文章进行聚合

也就是说一篇文章在编辑时只需要打标签,访问分类时会根据该分类包含的标签将文章关联出来。这是一个自底向上的信息架构,在使用时更灵活一些,可以随时调整分类而不必重新更新文章。

域名绑定

在 Pipe 平台上的每个博客都可以配置域名,需要博主和服务器运维者分别操作:

  1. 博主在设置 -> 基础配置 -> 博客地址一栏填写域名
  2. 运维者通过配置 NGINX 实现域名到 /blogs/{username} 的反向代理
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 指定新的存放路径。

建议定期备份数据文件,避免意外情况导致数据丢失。

版本升级

在管理后台的关于中可以检查版本更新,如果提示有更新请尽快升级,一般来说升级只需要下载新的发布包然后部署重启,实际升级方式以每次版本发布公告为准。

FAQ

如何做友链页面?

Pipe 没有单独的友链管理功能。可以通过发一篇文章,然后在导航管理中新建一个友链导航跳转过去。

结语

  • Pipe

    Pipe 是一款小而美的开源博客平台。如果你不想自己搭建,可以直接使用我们运维的 http://pipe.b3log.org

    93 引用 • 750 回帖 • 266 关注
  • 安装

    你若安好,便是晴天。

    56 引用 • 769 回帖
  • 文档
    51 引用 • 926 回帖 • 1 关注
优质回帖
87 回帖   
请输入回帖内容...
  • ZephyrJung  

    确实很精美,DV 合璧果然无敌啊~
    ps. 为啥不搞静态博客

  • Akkuman  

    在你们运营的这个 pipe 博客平台上,我把我 hexo 的几十个 md 全打包成一个 zip 后,点击导入那里的静态博客,选择后就没反应了,博客也没导入???😭

    1 回复
  • 88250      

    方便发一下你的 zip 包么,我本地调试看看。

  • Ethan  

    在 Pipe 上发布的文章将自动同步到黑客派上
    这个同步的内容在黑客派上怎么查看?

    1 回复
  • 88250      

    同步过来的文章都会放到 https://hacpai.com/domain/b3

    1 回复
  • Ethan        

    我测试了一下发现没有同步, 我搜索不到帖子

    1 回复
  • 88250      

    需要文章比较长才会同步到社区的

  • iTanken  

    pipegif

    1 回复
  • Vanessa        

    啥浏览器?

    1 回复
  • iTanken        

    Chrome 浏览器

    1 回复
  • Vanessa        

    你换个最新版本看看?

    1 回复
  • iTanken        

    imagepng

    应该是最新的 😂

    1 回复
  • Vanessa        

    和 D 的一样。分辨率是多少?怎么操作的呀?

    1 回复
  • iTanken        

    在后台管理,直接把鼠标移到右上角的图标,然后滚动滑轮就这样了

    1 回复
  • Vanessa        

    你为啥要滚动滑轮呀

    2 回复
  • iTanken        

    因为有滚动条,所以就下意识的滚动滑轮了 😆

  • iTanken        

    imagepng

    把 .menu__content 的 position 改成 fixed 就不会了

  • Ethan  

    如果能自定义配图就好了!

    1 回复
  • 88250      

    会自动选择第一幅图片作为文章配图。

    1 回复
  • Ethan  

    不知道这里的链接是干什么的

    imagepng

    1 回复
  • 88250      

    文章的自定义路径

  • Ethan  

    原来如此

  • Vanessa  

    test

    1 回复
  • 88250      

    test

  • yp

    pipe 首页是显示是不是告诉我 可以配置多个博客呢?

    imagepng
    我需要怎么配置多个博客

    1 回复
  • 88250      

    是有这个计划:一个用户可以加入到多个博客中写作。具体请关注这个 issue

    1 回复
  • Ethan  

    博客的内容分享到微博之后在微博中只能看到一个标题, 没有网页的链接

    3 回复
  • 88250      

    谢谢反馈,我们改一下 @Vanessa

  • yp

    博客分类只有新建分类和编辑分类,没有和文章关联在一起,

    1 回复
  • 88250      

    是这样的,分类关联标签,标签关联文章

    2 回复
  • yp      

    好的,明白了

  • xhaoxiong        

    请问该如何反向代理配置 https 呢

    1 回复
  • 88250      

    常规配置反代,然后 pipe.json 里面改一下 Server 字段为实际域名。

  • Vanessa        
  • Vanessa        

    可以把你的分享的地址和点击的位置告诉我一下么? 我这里无法重现

  • 54FCS        

    我就是回复一下

  • miaomiaoguoke        

    请问如何从 b3 迁移到 pipe?

    1 回复
  • 88250      

    升级到最新版的 Solo,里面有导出 Markdown 功能,然后导入 Pipe。

    1 回复
  • hacpai1174  

    [1] 现在 domain 下面缺了的标签
    找了很久没在黑客派找到 pipe 的入口,不知道发生了什么事情
    [2] 还有就是搜索 pipe 这个关键词,原本预料应该是
    imagepng
    在开头,下面是搜索出来的帖子
    [3] 或者说没有找到标签搜索地址,或者是不明显没找到
    仅找到了热门 / 冷门标签
    我是通过手打 tag/pipe 找到的....
    这三点疑问,望引发思考

    1 回复
  • 88250      

    谢谢建议。其实帮助页有个入口的,现在不想推主要是 Pipe 只是一个服务端点,类似的还有 Solo 以及其他一些博客平台的 B3 同步插件,社区还是以黑客派为主导,放太多产品入口的话会显得有点乱。

    1 回复
  • hacpai1174        

    收到回复
    总结 23 就是增加搜索标签的功能和优化搜索单个关键词的呈现效果
    方才用两个尖括号写了 b3 和 pipe 竟然被隐藏了,无疑中触发了隐藏功能😄

  • miaomiaoguoke        

    已经升到 2.7,只有导出 jason,sql,hexo,没见到 markdown 啊

    1 回复
  • 88250      

    导出 Hexo 就行

  • hacpai1174  

    自动创建的那个 pipe 博客同步到社区的时候,这边的发帖数量一直显示不变,一直以为自己同步是失败了呢

    1 回复
  • 88250      

    没有同步成功么?

    1 回复
  • hacpai1174        

    奇怪的是,搭了个 solo 的,填了 B3 的四个,带 8080 端口的、不带端口的、(8080/ 用户名)带上用户名的都没同步成功 blog.yikongyin.com

    1 回复
  • 88250      

    用户名,邮箱要和社区的一致,不然同步不了的。

    1 回复
  • hacpai1174        

    这样啊嗷嗷

  • hacpai1174  

    貌似现在这个号刚开始没有绑定邮箱,请问咋更换邮箱

    1 回复
  • 88250      

    现在没有绑定邮箱功能..

请输入回帖内容 ...