1 前言
一文多发的时候文章排版就成了一个大问题。经过多种试验对比,最终选择使用Typora编辑器。即使不发文,使用Typora编辑个人日常积累文档写也是极好的。Typora 是一款Markdown文本编辑器,通过markdown语言可以很容易实现优雅的排版,可以很容易的在源代码和视图模式间切换,真正的所见即所得。目前一些平台,如CSDN,简书,已经支持markdown语言编辑,是一种标记语言。我们在Typora中编辑完了以后只需要将markdown代码粘贴即可,无需再进行排版。不同网站会根据自己的主题设置将markdown翻译成自己的风格。不过,不同平台一些特殊的markdown标记可能有些许不同,不过一般常用的标记都是通用的,日常的发文够用了。粘完了预览看下,遇到了稍微改下就好,比重新排版强多了。使用markdown语言编辑文档最大的一个问题就是图片链接问题。markdown代码中不存放图片,是图片地址。文中引用本地图片直接粘贴到网络平台肯定是不行的,是需要重新上传编辑的,太麻烦。使用网络中的图片就可以在本地和网络平台通用。因此,我们需要把自己的图片上传到网络,拿到图片的地址填写到文中。本文主要介绍的就是如何用最简单的方式实现该功能。同样经过多种试验对比,最终选用gitee+PicGo+pandoc对Typora功能进行扩展实现。
gitee作为图床,存放图片,国内服务,快。PicGo作为图床管理工具,实现图片上传,图片网络链接获取等功能。pandoc可以将Typora的markdown文件导出成pdf、docx等格式。该插件对个人发文作用可能不大,但可以很方便的将自己写的文档转存发给别人。
2 软件安装
2.1 安装node.js
该软件在PicGo安装gitee-uploader插件时会用。一路Next默认安装就好,也可以安装到指定目录。无需勾选安装下图所示的工具。安装工具会从国外的网站下载,速度比较慢。不安装也不影响插件下载,所以就不用装了。安装完成后,在cmd中输入如下图所示的命令查看相关工具是否安装成功。2.2 安装PicGo
该软件用于管理gitee图床。一路Next默认安装就好,也可以安装到指定目录。2.3 安装Typora
该软件用于编辑markdown文件。一路Next默认安装就好,也可以安装到指定目录。2.4 安装pandoc
该软件在Typora将markdown文件导出成pdf、docx等格式时使用。一路Next默认安装就好,也可以安装到指定目录。安装完成后,在cmd中输入如下图所示的命令查看相关工具是否安装成功。2.5 安装包下载
以上软件大家可以直接到对应官网上下载最新版本。由于服务器在国外,下载比较慢。嫌慢的,本人下载了一份存在了网盘,可直接使用下面链接下载。node.js:v12.14.1pandoc:v2.9.2.1PicGo:v2.2.2Typora:v0.9.86链接:/s/1DtnAwinZjex1yU79iVzKFA提取码:x0x9所有软件安装完后,强烈建议重启下计算机。
3 软件配置
3.1 配置PicGo
3.1.1 下载gitee-uploader插件
PicGo默认不支持gitee图床,可使用如下图所示的方法进行下载。为了查看方便,可使用下图所示的方法只显示gitee图床。3.1.2 配置gitee仓库信息
在配置gitee仓库前,需要先在gitee上建一个公开的仓库用作图床。进入如下图所示的配置界面。不是程序员也没有关系,gitee操作界面比较简单,网上搜下基本就可以掌握。
repo:用户名/仓库名字。打开图床仓库,可在地址栏中直接复制。branch:分支名字,直接写master。token:码云的私人令牌。在码云的个人主页->个人设置->私人令牌中申请。令牌只需要如下图所示权限即可。path:仓库里的文件目录,可不填。customPath和customURL:git的提交消息,可不填。使用如上图所示的配置后,每次上传图片后git提交信息形如:
Upload 图片名字 by picGo - -05-27 23:18:28
3.1.3 设置图片上传重命名
因为我们截图命名一般都很随意,很可能有命名冲突导致上传不成功。可使用如下图所示设置对图片进行重命名后上传。3.2 Typora配置
3.2.1 上传服务设置
在偏好设置->图像配置相关内容。本人的配置如下图所示。插入图片设置看个人喜好,为了避免重复复制的情况,本人未勾选任何动作,全部手动进行。这两个动作在Typora编辑器右击手动完成也挺方便,还可以避免一些不必要的麻烦。配置完成后,点击“验证图片上传选项”按钮。若配置正确会向gitee仓库中上传Typora的两个icon,并弹出如下图所示的信息。配置成功后,只要将PicGo在后台运行就行了,每次使用Typora上传图片会自动调用PicGo。
3.2.2 错误排查
若上传失败,可使用如下图所示的方法查看下Server的端口是不是36677,如果不是改下。要遇到其他错误,可在如下图所示的地方查看下PicGo的日志,一般都可以发现端倪。4 Typora使用
markdown的语法很简单,记不住也没有关系。界面上点点看下,基本就可以找到想要的格式。若找不到,网上搜下就好了。当文章编辑完了以后,使用“格式->图像->上传所有本地图片”会将本地图片上传到gitee上。上传成功以后,图片的本地url会自动替换成网络url。实测发现一次行上传所有本地图片有时候会失败。一篇文章一般也没有多少图,右击一个个的上传就好。为什么?这是别人写的程序有错了也没办法。其实gitee提供了OpenAPI接口。有兴趣的话,可以自己对着接口写个脚本,将Typora上传服务配置成自定义命令,就可以替代PicGo的功能。有错的话改下,就完全可控了。我是懒得搞了就直接找插件的。会写代码就这点好,别人能写的你也可以,只不过是时间问题。
5 Typora异地同步
Typora只是个本地软件,不支持远程同步。如果多处编辑的话,需要自己通过网络,比如网盘,实现异地同步。推荐使用gitee实现异地同步。国内的,快。gitee本身是一个代码远程托管平台,支持私有仓库,默认版本控制工具使用的是git。能同步代码就可以同步文档。利用gitee可以很方便的弥补Typora不能多处同步这个缺陷,还可以查看修改记录,不比一些云笔记香么。不是程序员亦可以学习下,就可以把gitee当成一个有修改记录的网盘。多处同步也无需每次都全新下载,可以在原位置直接更新,这个是网盘比不了的。gitee可以完美的实现文件的版本控制。如果你担忧有天gitee不能作为图床了,文章中的图片会显示不出来。你可以在存放文章的仓库里添加一个子仓库,这个子仓库就是图床仓库,复用图床仓库做本地备份。子仓库相关git命令可以搜索submodule相关的指令。比如本人图床仓库的名字是img,最终的目录结构如下:即使将来有一天gitee的外链失效了,只需要将图片的网络地址换成本地就行了。由于本地图片和网络图片名字相同,只需要使用Ctrl+h将目录换下即可。
/xxxx/raw/master换成
../img这样就文章内的图片就可以使用本地图片显示出来了。如果觉得每次使用git命令提交太麻烦,可以将其做成脚本包含在库里,每次修改后点下就行了。呐,已经写好放在下面了。
@echo off:: pull from remote repositorygit pull || GOTO label:: init submodulegit submodule init || GOTO label:: update submodulegit submodule update --remote --recursive || GOTO label:: checkout submodule to master branchgit submodule foreach git checkout master || GOTO label:: show git statusgit status || GOTO label:: add all changinggit add -A || GOTO label:: local commitgit commit -m "upload by bat" || GOTO label:: push to remote repositorygit push || GOTO label:labelpauseexit
END