基于MarkDown和Github图床以及SourceTree的一站式文章编辑和发布
标题: 基于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的一站式文章编辑和发布的更多相关文章
- PigGo+Github图床,编写本地markdown
平时用markdown做笔记比较多,比较正式完整一点的笔记会用CmdMarkdown,编写过程贴图比较方便,但是有时候需要做本地的笔记,会用typora,typora虽然好用,但是贴图比较麻烦,这里可 ...
- 有道云笔记配合MPic+七牛云 自制MarkDown文档图床(适用Typora)
注:从有道云笔记v6.5开始,有道云笔记会员可以使用MarkDown有道自带的图床.(但是非会员可以采用下面的七牛云图床+MarkDown方法) 0x00 前言 一直用有道云笔记,粘贴图片,做笔记没问 ...
- PicGo+GitHub 图床搭建
前言 用GitHub搭建图床,在很久之前我就有了解,但由于市面上有挺多免费的图床,比如我之前一直在用的 路过图床,所以一直懒得动手搭建GitHub图床.一直到前两天我在完善博客的相册时,发现 路过图床 ...
- 如何制作一个手机上的Github图床捷径(workflow)
准备工作 github账号与绑定邮箱 建立一个仓库用于存放图片 生成github token 注意生成之后要备份以免后面要用到(页面刷新之后会看不见) 了解github上传文件的 GitHub API ...
- Markdown编辑器及图床推荐
Typora和自动图床工具 Typora 地址 ,极致简洁,界面很漂亮,最重要的是所见即所得 百度云搬运 密码:xi01 自动图床工具 需要七牛云做图床,感谢作者,详见博客 使用方法,只需两步即可完成 ...
- Github图床设置
创建新仓库 点击右上角加号->新建仓库,填写基本信息后点击下面的创建即可 https://github.com/new 创建新令牌 点击设置->开发者设置->私人令牌->生成新 ...
- Typora[MarkDown编辑器]+(PicGo+Github+JsDelivr)[个人图床] ,开启你的高效创作
使用Typora搭配Picgo开启你的高效创作 0x00 一切都要从MarkDown说起 富文本语言的弊端 平常我们最常用的写作工具,无非是富文本编辑器中的代表--微软家的Office Word.这种 ...
- 七牛云图床和Markdown使用
七牛云图床和Markdown使用 1.图床是什么? 图床一般是指储存图片的服务器,有国内和国外之分.国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度.国内也分为单线空间.多线空间和cdn ...
- 使用Github 当作自己个人博客的图床
使用Github 当作自己个人博客的图床 前提 本文前提: 我个人博客的草稿是存放在 github上的一个仓库 diarynote 截图存放的图片或者需要放在文章中图片,会固定存放在对应的文件夹中,我 ...
随机推荐
- JavaScript 简版-菜鸟中的菜鸟
JavaScript 简介 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScrip ...
- php序列化和反序列化学习
1.什么是序列化 序列化说通俗点就是把一个对象变成可以传输的字符串. 1.举个例子,不知道大家知不知道json格式,这就是一种序列化,有可能就是通过array序列化而来的.而反序列化就是把那串可以传输 ...
- centos7部署ELK测试
一.背景 学习ELK,动手实验. 参考:https://blog.csdn.net/qq_33406938/article/details/80307679 二.环境 虚拟机一台,已安装jdk1.8, ...
- Java实现 LeetCode 813 最大平均值和的分组 (DFS+DP记忆化搜索)
813. 最大平均值和的分组 我们将给定的数组 A 分成 K 个相邻的非空子数组 ,我们的分数由每个子数组内的平均值的总和构成.计算我们所能得到的最大分数是多少. 注意我们必须使用 A 数组中的每一个 ...
- Java实现 LeetCode 999 车的可用捕获量(简单搜索)
999. 车的可用捕获量 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R"," ...
- Java实现 LeetCode 502 IPO(LeetCode:我疯起来连自己都卖)
502. IPO 假设 力扣(LeetCode)即将开始其 IPO.为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本. 由于资源有限,它只能在 IPO 之前完 ...
- Java实现 LeetCode 49 字母异位词分组
49. 字母异位词分组 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", & ...
- Java实现猜底牌问题(贪婪法)
1 问题描述 设计一种策略,使在下面的游戏中,期望提问的次数达到最小.有一副纸牌,是由1张A,2张2,3张3,-9张9组成的,一共包含45张牌.有人从这副牌洗过的牌中抽出一张牌,问一连串可以回答是或否 ...
- Java实现第九届蓝桥杯方格计数
方格计数 题目描述 如图p1.png所示,在二维平面上有无数个1x1的小方格. 我们以某个小方格的一个顶点为圆心画一个半径为1000的圆. 你能计算出这个圆里有多少个完整的小方格吗? 注意:需要提交的 ...
- list基本运用
#include<iostream> #include<list> using namespace std; list<int>list1,list2; void ...