腾讯云COS+PicGO+截图工具+Obsidian+Typora+蚁小二:打造丝滑稳定的Markdown写作和分发环境
背景
很久很久以前,我写过一篇《有道云笔记+Everything+Typora+GitHub图床+PicGo+jsDelivr加速+截图工具——创造丝滑免费的Markdown写作环境》(https://blog.csdn.net/qq_43721542/article/details/9685957),当时的目的是打造一个云同步免费的Markdown写作环境。
现在,我有了新的诉求:打造一个本地丝滑的Markdown写作环境,且输出的文章可以直接复制到博客平台进行发表,甚至可以一键分发到多个博客平台。
于是,研究了如下做法,供大家参考。
工具说明
腾讯云COS
腾讯云COS(Cloud Object Storage)是腾讯云提供的一种稳定、安全、高效、易用的云端存储服务,您可以通过RESTful API接口、控制台、SDK工具等多种方式将数据安全地存储到腾讯云的存储系统上,实现海量数据的存储、备份和归档。
在这里,我们用COS代替之前的GitHub,作为新的图床。
为什么用COS,一是因为COS稳定而且速度很快,而是因为COS性价比极高,50G的存储容量一年不到10块钱。而GitHub在国内访问的速度实在不敢恭维。
腾讯云COS网址:https://console.cloud.tencent.com/cos
PicGO图片上传工具
目的:将图片自动上传到你的GitHub图床,并返回一个Markdown格式的图片地址。
网址:https://github.com/Molunerfinn/PicGo/releases
截图工具
目的:截图并编辑图片。
这里使用Snipaste,网址:https://www.snipaste.com/
Obsidian
目的:只用于管理Markdown文件。
网址:https://obsidian.md/
Typora
目的:只用于编辑Markdown文件(之所以不用Obsidian编辑,是因为我觉得Typora编辑起来更爽哈哈)。
官网:https://typora.io/
蚁小二
目的:用于将写好的文章一键分发到各个博客平台。
官网:https://www.yixiaoer.cn/
首次配置完整演示步骤
腾讯云COS
来到腾讯云“访问管理”控制台(https://console.cloud.tencent.com/cam/capi),点击“访问密钥”-->“API密钥管理“-->“新建密钥”,记录下APPID, SecretId, SecretKey。
来到COS“存储桶列表”,创建存储桶(如果还没用过COS,需要新建COS)。注意:这里要设置访问权限为“公有读私有写”,否则外界无法访问你的URL。
在确认配置之后,就创建完存储桶了。这时,我们需要把“存储桶名称”和“所属地域“的英文名记下来,后面需要使用。
然后,在桶中创建文件夹,这个文件夹就可以用来存储你的图片啦。
至此,COS配置完毕。
PicGO图片上传工具
对于MAC中apple芯片的电脑(M1、M1 pro、M2等),在安装完PicGO打开时可能会遇到提示文件损坏的问题。
这时我们我要打开终端输入这两行命令:
sudo spctl --master-disable
xattr -cr /Applications/PicGo.app
sudo spctl --master-disable 这条命令是用来关闭Mac的Gatekeeper功能的。Gatekeeper是Mac系统中用来防止用户运行恶意软件的一种安全机制。默认情况下,它只允许用户从App Store和已知开发者处安装应用。这条命令可以暂时关闭这个功能,允许从任何来源安装应用。sudo是一个在Unix和类Unix系统中的命令,用来以超级用户的身份执行命令。spctl是Gatekeeper的命令行工具,--master-disable是禁用Gatekeeper的选项。
xattr -cr /Applications/PicGo.app 这条命令是用来清除一个文件或目录的扩展属性的。在Mac系统中,某些文件会被系统自动添加扩展属性,比如下载的程序会被添加一个标记,表明这个程序是从Internet上下载的。这个标记会导致Gatekeeper阻止这个程序的运行。xattr是一个命令行工具,用来查看和修改文件的扩展属性,-c选项是清除所有属性,-r选项是递归处理目录。/Applications/PicGo.app是要处理的目录。
这两条命令通常一起使用,用来允许从未知来源安装的程序在Mac上运行。
打开PicGO后,选择“图床设置”-->“腾讯云COS”,根据之前在COS中记录的信息对应填写:
可以自定义配置一些PicGo设置,比如快捷键、上传后自动复制URL等:
至此,PicGO配置完毕。
截图工具
我使用的是Snipaste,好处是在截图当时有很多好用的编辑功能
当然,用其他的也可以,主要就是把需要上传到图床的图片放到我们电脑的剪切板中,随时准备上传。
Obsidian
Obsidian其实是一个非常好用的笔记软件,用来构建自己的知识图谱非常合适
(奈何我还没完全学会它的使用,所以我这里用来管理.md文件)
Typora
管理不是Typora的强项,编辑才是,因此,我选择使用Typora作为我认为完美的Markdown编辑器。
在这里要说一下相关的配置,要结合PicGo来无缝获取上传图片后的markdown格式,需要配置如下:
这样配置之后,我们使用Snipaste得到的截图,就可以直接粘贴到Typora了(Typora会为我们自动上传该截图),得到的就是一个标准的Markdown图片格式,如:
蚁小二
我们在本地编辑完成Markdown文件后,“蚁小二”这样的一键分发平台就派上用场了。它能将我们的文章一键发布到多个平台,如:知乎、B站、CSDN、微信公众号等。
因为免费版最多支持5个不同的平台,我就绑定了5个平台的账号(我觉得差不多也够用了)
(如果大家有更好用的一键分发软件,也欢迎评论推荐哈)
实际上它支持很多平台:
我们可以在“一键发布”页面进行发布
首选选择需要发布的账号:
在Typora中将想要发布的文章Ctrl+A全选后粘贴到“一键发布”中的编辑器:
填写各个平台的发布设置后点击下面的”发布“,等待发布完成即可。
使用总结(简单又丝滑的编辑步骤)
配置完成后,我们来一个使用的示例来结尾:
使用Obsidian创建一个新的.md文件
使用Typora打开新建的.md文件
使用截图工具截取想要放到文章中的图片,期间可以进行图片编辑
直接ctrl+v粘贴到Typora
最后,到蚁小二进行一键发布到各平台
相关文章:

腾讯云COS+PicGO+截图工具+Obsidian+Typora+蚁小二:打造丝滑稳定的Markdown写作和分发环境
背景 很久很久以前,我写过一篇《有道云笔记EverythingTyporaGitHub图床PicGojsDelivr加速截图工具——创造丝滑免费的Markdown写作环境》(https://blog.csdn.net/qq_43721542/article/details/9685957),当时的目的是打造一个云同…...

LeetCode--HOT100题(18)
目录 题目描述:73. 矩阵置零(中等)题目接口解题思路1代码解题思路2代码 PS: 题目描述:73. 矩阵置零(中等) 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都…...
ES6的语法兼容IE浏览器
案例1 zdsxData.zdsxData.forEach(el>{let str <tr> <td><a href${el.url} target"_blank"><font color"#79EEFF">${el.sxms}</font></a></td> <td>${el.gjjd}</td> <td>${el.zrr}<…...
【opencv学习】鼠标回调函数、鼠标控制画矩形
#include <iostream> #include <opencv2/opencv.hpp> using namespace cv; #define WinDow "程序窗口"void MouseHandle(int event, int x, int y, int flags, void* param);//鼠标回调函数 void Drawrectangle(cv::Mat& img, cv::Rect box);//矩形绘…...
Typescript面试题
文章目录 了解过TS吗?使用ts写一个对象属性约束说一下typescript中的泛型如何在TS中对函数的返回值进行类型约束ts和js相比有什么区别 了解过TS吗? ts是一种基于静态类型检查的强类型语言 let num:number20 console.log(num) console.log("str&qu…...

GB28181智能安全帽方案探究及技术实现
什么是智能安全帽? 智能安全帽是一种集成先进科技的安全帽,可基于GB28181规范,适用于铁路巡检、电力、石油化工等高风险行业的作业人员,以及消防、救援等紧急情况下的安全防护。 智能安全帽通常具有以下功能: 实时…...

【css】解决元素浮动溢出问题
如果一个元素比包含它的元素高,并且它是浮动的,它将“溢出”到其容器之外:然后可以向包含元素添加 overflow: auto;,来解决此问题: 代码: <!DOCTYPE html> <html> <head> <style>…...

SOC FPGA之流水灯设计
一、DS-5简介 Altera Soc EDS开发套件的核心是Altera版ARM Development Studio 5(DS-5)工具包,为SoC器件提供了完整的嵌入式开发环境、FPGA自适应调试和对Altera工具的兼容。 1.1 DS-5 eclipse破解 首先下载破解器 然后进入cmd运行,进入到破解器所在文…...

无涯教程-Lua - Iterators(迭代器)
迭代器是一种构造,使您可以遍历所谓的集合或集合的元素。在Lua中,这些集合通常引用表,这些表用于创建各种数据结构(如数组)。 通用迭代器 通用的 for 迭代器提供集合中每个元素的键值对。下面给出一个简单的示例。 array{"Lua",…...

HTML+CSS+JavaScript:实现B站评论发布效果
一、需求 1、用户输入内容,输入框左下角实时显示输入字数 2、为避免用户输入时在内容左右两端误按多余的空格,在发送评论时,检测用户输入的内容左右两端是否带有空格,若有空格,发布时自动取消左右两端的空格 3、若用…...
实战 - 利用 ThreadLocal 线程局部变量实现数据缓存
文章目录 1. 利用 ThreadLocal 缓存 AssetBranchCache 数据1. 定义 AssetBranchCache 类2. 定义 BranchContext 类操作 AssetBranchCache 对象3. 配置拦截器实时更新和清除缓存数据4. 定义 SaasThreadContextDataHolderBranch 类持有 AssetBranchCache 对象5. 定义 SaasThreadC…...

wxwidgets Ribbon使用简单实例
// RibbonSample.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <wx/wx.h> #include "wx/wxprec.h" #include "wx/app.h" #include "wx/frame.h" #include "wx/textctrl.h" #include "…...

2023年第四届“华数杯”数学建模思路 - 案例:最短时间生产计划安排
文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 0 赛题思路 (赛题出来以后第一时间在CSDN分享) 最短时间生产计划模型 该模型出现在好几个竞赛赛题上&#x…...

LeetCode404. 左叶子之和
404. 左叶子之和 文章目录 [404. 左叶子之和](https://leetcode.cn/problems/sum-of-left-leaves/)一、题目二、题解方法一:递归方法二:迭代 一、题目 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: root [3,9…...

Nginx 高性能内存池 ----【学习笔记】
跟着这篇文章学习: c代码实现一个高性能内存池(超详细版本)_c 内存池库_linux大本营的博客-CSDN博客https://blog.csdn.net/qq_40989769/article/details/130874660以及这个视频学习: nginx的内存池_哔哩哔哩_bilibilihttps://w…...

iOS--frame和bounds
坐标系 首先,我们来看一下iOS特有的坐标系,在iOS坐标系中以左上角为坐标原点,往右为X正方向,往下是Y正方向如下图: bounds和frame都是属于CGRect类型的结构体,系统的定义如下,包含一个CGPoint…...

docker logs 使用说明
docker logs 可以查看某个容器内的日志情况。 前置参数说明 c_name容器名称 / 容器ID logs 获取容器的日志 , 命令如下: docker logs [options] c_name option参数: -n 查看最近多少条记录:docker logs -n 5 c_name--tail与-n 一样 &#…...
Ceph入门到精通-Ceph PG状态详细介绍(全)
本文主要介绍PG的各个状态,以及ceph故障过程中PG状态的转变。 Placement Group States(PG状态) creating Ceph is still creating the placement group. Ceph 仍在创建PG。activating The placement group is peered but not yet active.…...

【数据结构】二叉树、二叉搜索树、平衡二叉树、红黑树、B树、B+树
概述 二叉树(Binary Tree):每个节点最多有两个子节点(左子节点和右子节点),没有限制节点的顺序。特点是简单直观,易于实现,但查找效率较低。 二叉搜索树(Binary Search…...

【JVM】(二)深入理解Java类加载机制与双亲委派模型
文章目录 前言一、类加载过程1.1 加载(Loading)1.2 验证(Verification)1.3 准备(Preparation)1.4 解析(Resolution)1.5 初始化(Initialization) 二、双亲委派…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...