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