当前位置: 首页 > 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; 二、双亲委派…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启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 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

全球首个30米分辨率湿地数据集(2000—2022)

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

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

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

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

让AI看见世界:MCP协议与服务器的工作原理

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

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...