当前位置: 首页 > news >正文

腾讯云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。

6fd04a896f78595f889df523798ad2eb.jpeg

来到COS“存储桶列表”,创建存储桶(如果还没用过COS,需要新建COS)。注意:这里要设置访问权限为“公有读私有写”,否则外界无法访问你的URL。

6c44c05927f434661bd5d0c7e2d007bd.jpeg

在确认配置之后,就创建完存储桶了。这时,我们需要把“存储桶名称”和“所属地域“的英文名记下来,后面需要使用。

8c2b3c15cbfebba8705dafa328b1e525.jpeg

然后,在桶中创建文件夹,这个文件夹就可以用来存储你的图片啦。

605e79333a711dacf395aad855b34648.jpeg

至此,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中记录的信息对应填写:

d4a1260576a0b22be4e2749ece3af724.jpeg

可以自定义配置一些PicGo设置,比如快捷键、上传后自动复制URL等:

201993365434ba075ae2c4fccfc9e402.jpeg

至此,PicGO配置完毕。

截图工具

我使用的是Snipaste,好处是在截图当时有很多好用的编辑功能

da19e07ae8d21782d01f7705ca1aa43c.jpeg

402445ee387b83671724289aaf399270.jpeg

当然,用其他的也可以,主要就是把需要上传到图床的图片放到我们电脑的剪切板中,随时准备上传。

Obsidian

Obsidian其实是一个非常好用的笔记软件,用来构建自己的知识图谱非常合适

(奈何我还没完全学会它的使用,所以我这里用来管理.md文件)

61978c623b9734495cb08fa0d702dadb.jpeg

Typora

管理不是Typora的强项,编辑才是,因此,我选择使用Typora作为我认为完美的Markdown编辑器。

在这里要说一下相关的配置,要结合PicGo来无缝获取上传图片后的markdown格式,需要配置如下:

11413b81013f6a3424c3111b562ada11.jpeg

这样配置之后,我们使用Snipaste得到的截图,就可以直接粘贴到Typora了(Typora会为我们自动上传该截图),得到的就是一个标准的Markdown图片格式,如:

33b9293860d30fbd08e32ae91ce5f378.jpeg

蚁小二

我们在本地编辑完成Markdown文件后,“蚁小二”这样的一键分发平台就派上用场了。它能将我们的文章一键发布到多个平台,如:知乎、B站、CSDN、微信公众号等。

因为免费版最多支持5个不同的平台,我就绑定了5个平台的账号(我觉得差不多也够用了)

(如果大家有更好用的一键分发软件,也欢迎评论推荐哈)

10fb03227db8ccf292b55d6de1333ca5.jpeg

实际上它支持很多平台:

5d343fa9f0b42072bcacd9efc572538e.jpeg

我们可以在“一键发布”页面进行发布

首选选择需要发布的账号:

517c6399c819996baef198e6eaf07520.jpeg

在Typora中将想要发布的文章Ctrl+A全选后粘贴到“一键发布”中的编辑器:

bcb4b95a7434c342697aff9c392a6f4e.jpeg

填写各个平台的发布设置后点击下面的”发布“,等待发布完成即可。

使用总结(简单又丝滑的编辑步骤)

配置完成后,我们来一个使用的示例来结尾:

  • 使用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吗&#xff1f;使用ts写一个对象属性约束说一下typescript中的泛型如何在TS中对函数的返回值进行类型约束ts和js相比有什么区别 了解过TS吗&#xff1f; ts是一种基于静态类型检查的强类型语言 let num:number20 console.log(num) console.log("str&qu…...

GB28181智能安全帽方案探究及技术实现

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

【css】解决元素浮动溢出问题

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

SOC FPGA之流水灯设计

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

无涯教程-Lua - Iterators(迭代器)

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

HTML+CSS+JavaScript:实现B站评论发布效果

一、需求 1、用户输入内容&#xff0c;输入框左下角实时显示输入字数 2、为避免用户输入时在内容左右两端误按多余的空格&#xff0c;在发送评论时&#xff0c;检测用户输入的内容左右两端是否带有空格&#xff0c;若有空格&#xff0c;发布时自动取消左右两端的空格 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 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; 最短时间生产计划模型 该模型出现在好几个竞赛赛题上&#x…...

LeetCode404. 左叶子之和

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

Nginx 高性能内存池 ----【学习笔记】

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

iOS--frame和bounds

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

docker logs 使用说明

docker logs 可以查看某个容器内的日志情况。 前置参数说明 c_name容器名称 / 容器ID logs 获取容器的日志 , 命令如下&#xff1a; docker logs [options] c_name option参数&#xff1a; -n 查看最近多少条记录&#xff1a;docker logs -n 5 c_name--tail与-n 一样 &#…...

Ceph入门到精通-Ceph PG状态详细介绍(全)

本文主要介绍PG的各个状态&#xff0c;以及ceph故障过程中PG状态的转变。 Placement Group States&#xff08;PG状态&#xff09; creating Ceph is still creating the placement group. Ceph 仍在创建PG。activating The placement group is peered but not yet active.…...

【数据结构】二叉树、二叉搜索树、平衡二叉树、红黑树、B树、B+树

概述 二叉树&#xff08;Binary Tree&#xff09;&#xff1a;每个节点最多有两个子节点&#xff08;左子节点和右子节点&#xff09;&#xff0c;没有限制节点的顺序。特点是简单直观&#xff0c;易于实现&#xff0c;但查找效率较低。 二叉搜索树&#xff08;Binary Search…...

【JVM】(二)深入理解Java类加载机制与双亲委派模型

文章目录 前言一、类加载过程1.1 加载&#xff08;Loading&#xff09;1.2 验证&#xff08;Verification&#xff09;1.3 准备&#xff08;Preparation&#xff09;1.4 解析&#xff08;Resolution&#xff09;1.5 初始化&#xff08;Initialization&#xff09; 二、双亲委派…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...