标题: 基于MarkDown和Github图床以及SourceTree的一站式文章编辑和发布
作者: 梦幻之心星 sky-seeker@qq.com
标签: [MarkDown,Github,图床,SourceTree,编辑,发布]
目录: [文章管理]
日期: 2020-6-24

前提说明

对于一篇技术文章而言,技术文章一般开始于一个问题的解决或者一个想法的产生,文章的写作过程同时也是笔记整理和思考总结的过程。一般来说,写作主要包括三个过程,写作前,写作中,写作后。文章的发布主要包括三个部分,文字内容,图片,文章样式。

写作前

在解决一个问题时,有对内分析思考和对外寻求帮助两种方式,无论那种方式都不可避免信息碎片的产生。随着对问题的探究逐渐深入,问题树开始枝繁叶茂,离最初的问题越来越远,大量的信息碎片和重复劳动也分散了时间精力。因此需要对探究的过程进行记录,思维导图虽然可以解决这个问题,但是不能很好的解决信息碎片和全局检索的问题,同时也无法解决知识的可迁移性问题。对于这一点,推荐使用Mybase软件。轻量记录也可以使用CherryTree替代,虽然软件的程序源码中使用了MarkDown语法,但遗憾的是提供给用户的编辑器并不支持MarkDown语法。在这一过程中,重点是记录所需要的信息碎片和信息碎片的来源,并采用树形结构组织信息,网状更佳,对于所使用的记录软件,应支持高级搜索。

写作中

在解决一个问题后,对问题进行场景复现并抽象化,思考问题出现的原因和解决问题的过程以及最终的解决方式能够有效的帮助我们更好的理解问题的本质。通过写作,对问题的认识更加清晰,也便于日后遇到类似的问题时,通过复盘曾经的解决方案,更加高效的解决当前所遇到的问题。

写作后

对于一篇技术文章,既是自己解决问题和思考的笔记,同时也是一个问题的解决方案。出于开源共享和学习交流以及便于自己查找又或是作为本地备份等原因,经常需要在网上发布文章。对于只是简单记录分享的人而言,自己建站和购买图床都不是必要的。对于国内的博客平台,相比于CSDN,博客园简洁干净,自定义程度高,是个不错的选择。部分人选择博客园和微信公众号双平台发布,本文便是对这一问题的解决提出自己的方案。

文章管理

对于一篇技术文章,为了保证文章内容的可迁移性,建议采用MarkDown语法编写,MarkDown同时也能做到文本和样式分离,保证了文章内容的本质不变性以及简约性。

  • 对于本地保存,采用Typora或MarkdownPad 2作为MarkDown编辑器,并且这两款编辑器都支持自定义预览页面CSS 代码。
  • 对于发布在博客园,采用官方提供的MarkDown编辑器,博客园支持自定义页面CSS 代码和HTML代码,自由程度高。
  • 对于发布在公众号,采用第三方提供的Markdown Nice作为MarkDown编辑器,Markdown Nice支持自定义页面CSS 代码。
  • 对于发布在其他平台,采用第三方提供的Markdown Here作为MarkDown编辑器,Markdown Here支持自定义页面CSS 代码。

图片管理

对于一篇技术文章,为了保证文章内容的可靠性,就要保证图片的可靠性。为了便于交流分享,本地图片应该能够简单快速的替换为网页图片;为了在网页图片丢失的情况下本地依旧能够正常阅读,网页图片应该能够简单快速的替换为本地图片。为了减少空间占用,不建议建立两个版本的文件。因此,本地图片文件名与网页图片文件名应同名,为了便于管理和备份,本地和云端的图片应能以文件夹的形式进行组织管理。

图片操作方法

操作规范

  • 尺寸大小:建议不超过800x800
  • 命名规范:Image_%y-%m-%d_%h-%n-%s(PicPick文件名设置)
  • 引用规范:![显示文字](G:/Pictrue_Bed/Image_%y-%m-%d_%h-%n-%s[_*] '提示文字')
  • 本地临时路径前缀

    G:/Pictrue_Bed_Class/${filename}/
  • 本地仓库路径前缀

    G:/Pictrue_Bed/
  • 云端路径前缀(Github图床;CDN加速)

    https://cdn.jsdelivr.net/gh/Sky-seeker/Pictrue_Bed/img/

操作说明

  • 网页上显示的图片大小只与图片的像素(px)有关,与打印尺寸(厘米、英寸、DPI)无关

  • 对于同一篇文章,应保证图片文件名的年、月、日相同,建议时、分也相同,秒可以用来定位图片在文章中出现的顺序。

  • 如果文章较多,根据实际情况建立年、月、日文件夹以进一步细分。

  • 在文章编辑时,先将临时图片暂存于本地临时路径中以便于管理,Typora支持本地路径设置。

  • 文章定稿并且图片已经规范命名后,将图片复制到GitHub图床在本地仓库的文件夹中。如果只需要本地访问,批量替换图片的引用路径为本地仓库。

  • GitHub本地仓库的图片上传到云端仓库后,批量替换图片的引用路径为云端仓库。

图片上传工具选择

Picgo

  • 虽然可以上传图片,但不支持图片管理,也不方便后期对图片进行管理。

SourceTree

  • Git管理工具,配置起来并不比Picgo复杂,能够轻松高效的管理图片。
  • 配置好软件和仓库后,依次点击暂存所有->提交->推送就可以完成图片的上传,还可以提交图片描述信息。

注意事项

图片防盗链和GitHub访问加速

  • 经过测试,上传到GitHub的图片,博客园和公众号是无法直接访问的,而且国内访问GitHub速度较慢,采用CDN加速后,同时解决了防盗链和访问速度的问题。






版权声明:本文为「梦幻之心星」原创,依据 CC BY-NC-SA 4.0 许可证进行授权,转载请附上原文出处链接及本声明。


博客园地址:https://www.cnblogs.com/Sky-seeker

微信公众号:关注微信公众号,获取即时推送


基于MarkDown和Github图床以及SourceTree的一站式文章编辑和发布的更多相关文章

  1. PigGo+Github图床,编写本地markdown

    平时用markdown做笔记比较多,比较正式完整一点的笔记会用CmdMarkdown,编写过程贴图比较方便,但是有时候需要做本地的笔记,会用typora,typora虽然好用,但是贴图比较麻烦,这里可 ...

  2. 有道云笔记配合MPic+七牛云 自制MarkDown文档图床(适用Typora)

    注:从有道云笔记v6.5开始,有道云笔记会员可以使用MarkDown有道自带的图床.(但是非会员可以采用下面的七牛云图床+MarkDown方法) 0x00 前言 一直用有道云笔记,粘贴图片,做笔记没问 ...

  3. PicGo+GitHub 图床搭建

    前言 用GitHub搭建图床,在很久之前我就有了解,但由于市面上有挺多免费的图床,比如我之前一直在用的 路过图床,所以一直懒得动手搭建GitHub图床.一直到前两天我在完善博客的相册时,发现 路过图床 ...

  4. 如何制作一个手机上的Github图床捷径(workflow)

    准备工作 github账号与绑定邮箱 建立一个仓库用于存放图片 生成github token 注意生成之后要备份以免后面要用到(页面刷新之后会看不见) 了解github上传文件的 GitHub API ...

  5. Markdown编辑器及图床推荐

    Typora和自动图床工具 Typora 地址 ,极致简洁,界面很漂亮,最重要的是所见即所得 百度云搬运 密码:xi01 自动图床工具 需要七牛云做图床,感谢作者,详见博客 使用方法,只需两步即可完成 ...

  6. Github图床设置

    创建新仓库 点击右上角加号->新建仓库,填写基本信息后点击下面的创建即可 https://github.com/new 创建新令牌 点击设置->开发者设置->私人令牌->生成新 ...

  7. Typora[MarkDown编辑器]+(PicGo+Github+JsDelivr)[个人图床] ,开启你的高效创作

    使用Typora搭配Picgo开启你的高效创作 0x00 一切都要从MarkDown说起 富文本语言的弊端 平常我们最常用的写作工具,无非是富文本编辑器中的代表--微软家的Office Word.这种 ...

  8. 七牛云图床和Markdown使用

    七牛云图床和Markdown使用 1.图床是什么? 图床一般是指储存图片的服务器,有国内和国外之分.国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度.国内也分为单线空间.多线空间和cdn ...

  9. 使用Github 当作自己个人博客的图床

    使用Github 当作自己个人博客的图床 前提 本文前提: 我个人博客的草稿是存放在 github上的一个仓库 diarynote 截图存放的图片或者需要放在文章中图片,会固定存放在对应的文件夹中,我 ...

随机推荐

  1. Shell编程案例:修改运维脚本输出效果

    1. 需求:每日运维检查脚本dailymonitor.sh显示对服务器测试结果,其中命令 zabbix_get -s 192.168.111.21 -p 10050 -k "net.tcp. ...

  2. Rocket - debug - TLDebugModuleInner - ABSTRACTAUTO

    https://mp.weixin.qq.com/s/adSB7lmKcqmwVd80-gmdIw 简单介绍TLDebugModuleInner中ABSTRACTAUTO寄存器的实现. 1. ABST ...

  3. Rocket - debug - Example: DMI

    https://mp.weixin.qq.com/s/7suuJ7m2BKCpsHk1K2FzJQ 介绍riscv-debug的使用实例:如何使用DMI. 1. dm Debug Module实现了调 ...

  4. Docker容器同步主机时间

    方法一: 查看本地是否有/etc/localtime文件 cat /etc/localtime   如果没有就新建文件 cp /usr/share/zoneinfo/Asia/Shanghai /et ...

  5. 使用turtle库绘制图形

    1.使用turtle库绘制红色五角星图形 import turtle n = eval(input("请输入五角星的长度")) turtle.begin_fill() #开始填充颜 ...

  6. WALT(Window Assisted Load Tracking)学习

    QCOM平台使用WALT(Window Assisted Load Tracking)作为CPU load tracking的方法:相对地,ARM使用的是PELT(Per-Entity Load Tr ...

  7. Java实现蓝桥杯凑算式(全排列)

    题目6.凑算式 凑算式 B DEF A + - + ------- = 10 C GHI (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. 比如: ...

  8. Java实现 LeetCode 97 交错字符串

    97. 交错字符串 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的. 示例 1: 输入: s1 = "aabcc", s2 = " ...

  9. Java实现 LeetCode 75 颜色分类

    75. 颜色分类 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红 ...

  10. java实现人民币金额大写

    在与财务相关的应用中,经常会用到人民币金额的大写,比如发票的打印程序. 本题的任务是:从键盘输入一个十亿以内的正整数(int类型),把它转换为人民币金额大写(不考虑用户输入错误的情况). 比如,用户输 ...