乐趣区

关于程序员:文章全平台发布

这篇文章次要是记录如何构建一个能够把文章公布到各平台的环境。

平台

之所以把文章公布到多平台有如下几点起因:

  • 扩充浏览的受众,让各个平台的用户都能独特学习,变得更好。
  • 避免文章被其它平台的用户复制、盗版。
  • 扩充集体的影响力。

文章公布的平台我抉择了如下几个:

  • 本人的博客主页: LRF 成长记
  • 知乎:leng
  • 简书: LRF 成长记
  • 掘金: LRF 成长记
  • SegmentFault:LRF 成长记
  • 微信公众号:菜鸟随笔

写文章

上述平台简直都反对公布 Markdown 文件,除了微信公众号除外,前面我会讲到怎么用工具把 Markdown 间接转换为微信公众号可承受的内容。

1、图片

在写文档的过程中总会有须要用到图片,因而咱们须要一个能够不便上传图片的工具,这里咱们选用PicGo

PicGo能疾速上传图片并获取上传后的 url,且兼容多平台。而且图片能够抉择上传到多个平台:七牛、腾讯云、又拍云、github、阿里云、gitee 等等,并且能够和 typora 无缝集成,typora是用来写 Markdown 的工具,稍后再来解说。

此处我选用 Github 作为我的图片存储,之所以没有抉择 gitee,是因为gitee 有文件 1M 的限度,如果文件大于 1M 就不能创立外链了。

(1)下载 PicGo

PicGoGithub 地址:https://github.com/Molunerfinn/

(2) 配置

点击 PicGo关上具体窗口 ,进行图床配置,此处配置为Github,须要设置仓库名:lengrongfu/images, 分支:master,以及Token 三个必要参数。

(3)验证

配置好之后能够上传一张图片进行测试。

2、写文档

写文章咱们采纳 Typora 工具,Typora 是一款 反对实时预览的 Markdown 文本编辑器 。它有OS XWindowsLinux 三个平台的版本,并且因为仍在测试中,是 完全免费 的,好用就对了。

(1)Typora 下载安装

Typora的官网地址:Typora

(2)配置 PicGo

配置 PicGo,这样就能够间接从Typora 中触发图片的上传了。设置形式(Typora-> 偏好设置 -> 图像)

3、工作排期

写文章和做我的项目一样,要把重要的工夫拿来写简单、重要的内容,因而最好对要写的货色做一个工作排期,什么时候做什么,这样会好很多。

此处举荐应用trello,https://trello.com/

4、代码图片

有些网站不反对代码格局,所以能够把代码转换为图片,能够应用现有的网站实现这个性能:https://carbon.now.sh/

如果代码是在 IDEA 或者 VSCode 中也能够间接应用,通过装置 carbon 的插件即可。

公布

这里次要记录把文章公布到各个平台的形式,此处举荐两种形式:

  • openwrite,一个免费产品,能够做到公布到上诉的所有平台,以及微信公众号。收费每个月能够公布 10 次,免费是 199 一年。
  • bloghelper,一个开源产品,益处就是收费,并且能够本人增加公共,目前它只反对公布到上述的博客平台,不能发送到微信公众号。此处我次要是用这个工具来公布,前面我会扩大它使其能够公布到微信公众号。
公布到公众号

因为文章采纳 markdown 写作,而微信公众号编辑器不反对渲染 markdown,这就导致咱们须要本人排版。能够应用主动排版 markdown 的网站,外面反对款式也是比拟简洁难看。

  • http://md.aclickall.com/
  • https://mdnice.com/ (这个我的项目目前要开始免费)

下面这些工具更多的是只能从页面把 Markdown 转换为微信公众号文章,咱们能够通过代码的形式,使其转换、公布做到自动化,并最初集成到 bloghelper 中去。

  • 转换

此处借用一个开源我的项目 wechat-format-cli,能够做到应用命令行来转换Markdown 到公众号的文章去。

# 装置工具
$ npm install wechat-format-cli -g
# 执行转换命令
$ wechat-format-cli [your_md_path.md]
  • 公布

上述的工具把文档转换好之后,咱们再应用一款主动预览 / 公布文章的命令行工具,也是一个开源我的项目wechat-mp-automation

# 装置
$ npm install wechat-mp-automation -g
$ wechat-mp-automation -h
Usage: wechat-mp-automation [options]

Options:
  -V, --version                 output the version number
  -C, --configPath [xxx]        配置文件的本地门路(反对所有自定义参数)-t, --title [xxx]             文章题目
  -a, --author [xxx]            文章作者
  -c, --content [xxx]           文章内容[可选],默认从粘贴板复制
  -u, --username [xxx]          公众号账号
  -p, --password [xxx]          公众号明码
  -o, --original                申明原创[可选]
  --preview                     预览而不公布[可选]
  --preview_username [xxx~yyy]  预览名单[可选],以~ 距离多个微信号(自行保障微信号已关注公众号)--skip_typing                 跳过文章题目、作者、文章的填写和封面图片抉择(申明原创除外)[可选]
  --last_edit                   选中最近编辑的文章[可选],请自行确保以后有“最近编辑”的文章
  -h, --help                    output usage information
  
# 只预览
$ wechat-mp-automation -C YOUR_CONFIG_JSON_FILE_PATH --preview_username XXXXX --preview
# 公布
$ wechat-mp-automation -t [题目] -a [作者] -u [账号] -p [明码] -o
# 配合 wechat-format-cli 工具可做到主动转换和公布
$ wechat-format-cli test.md && wechat-mp-automation -t [题目] -a [作者] -u [账号] -p [明码] -o

全平台公布流程

下图我定义了全平台公布流程,把图床、公布工具设置好之后,用户只须要在 Typora 上进行编写 Markdown 格局的内容即可,编写完之后就能够全平台的公布了。

我的流程

​ 在应用过程中发现一个好的 Chrome 插件 Wechatsync,能够在发微信文章的时候主动把内容容不到其它平台下来。

退出移动版