公众号开篇-安利一款好用的公众号编辑器工具

前言

经过一番思索和考证,最终还是决定把微信公众号也捡起来。

以前没怎么搞过公众号,只是做了个注册并没有做后期维护和运营,所以这次如果要做的话也算是比较干净的从0到1的过程。

万事开头难,还望诸位能够多多支持,感激不尽~~~

前两天大概摸索了下微信公众平台发文用的编辑器,说实话真心不好用,主要不支持markdown,而且从别的地方复制过来的哪怕是html预览的时候格式都是乱的,心累。于是各种百度谷歌,终于发现了一款相对得心应手的工具-md,于是有了这公众号的第一篇文章。

PS: 当然关于微信公众号编辑器的替代品网上也是众说纷纭,有收费的有免费的,我也看过一些,个人感觉还是这个md比较好用,推荐给大家。

简介

首先这是一个开源的项目,在gitee上可以看到源码:https://gitee.com/Doocs/md?_from=gitee_search

引用gitee上的一些介绍:

Markdown 文档自动即时渲染为微信图文,让你不再为微信文章排版而发愁!只要你会基本的 Markdown 语法,就能做出一篇样式简洁而又美观大方的微信图文。

可以好不犹豫的说,没错,这就是我需要的。

其次如下是git上提到的功能特性:

  • 支持自定义 CSS 样式
  • 支持 Markdown 所有基础语法
  • 支持浅色、暗黑两种主题模式
  • 支持 Ctrl + F 快速格式化文档
  • 支持色盘取色,快速替换文章整体色调
  • 支持多图上传,可自定义配置图床
  • 支持自定义上传逻辑
  • 支持在编辑框右键弹出功能选项卡
  • 支持批量转换本地图片为线上图片

看到支持图片上传到图床,这个就很优秀啊有木有,完全可以替代markdown了。

开始

接下来,我们就先部署,然后体验下效果,再就是把图片上传到对象存储也就是所谓的图床上。

部署

提供了三种部署方案:

1. 通过源码部署

前提: 安装好node环境

# 安装依赖
npm i

# 启动开发模式
npm start

# 部署在 /md 目录
npm run build
# 访问 http://127.0.0.1:9000/md

# 部署在根目录
npm run build:h5-netlify
# 访问 http://127.0.0.1:9000/

这也是开发时使用的部署方式,可以做本地开发或者自定义一部分功能。

2. 通过md-cli启动

前提: 安装好node环境

# 安装
npm i -g @doocs/md-cli

# 启动
md-cli

# 访问
open http://127.0.0.1:8800/md/

# 启动并指定端口
md-cli port=8899

# 访问
open http://127.0.0.1:8899/md/

md-cli 支持以下命令行参数:

  • port 指定端口号,默认 8800,如果被占用会随机使用一个新端口。
  • spaceId dcloud 服务空间配置
  • clientSecret dcloud 服务空间配置

3. 通过docker容器启动

前提: 安装好docker

如果你是 Docker 用户,也可以直接使用一条命令,启动完全属于你的、私有化运行的实例。

docker run -d -p 8080:80 doocs/md:latest

容器运行起来之后,打开浏览器,访问 http://localhost:8080 即可。

4. 在线编辑

  • Gitee Pages:https://doocs.gitee.io/md
  • GitHub Pages:https://doocs.github.io/md

也可以使用以上两个在线编辑器地址进行编辑使用。

部署效果

部署完成后看到的是一个示例网页:

示例网页

打眼一看,效果还不错,起码比干撸强太多了。

功能梳理

通过页面我们再梳理下md支持的功能:

  • 开始

    • 导入markdown格式的文件
    • 导出.md和.html格式的文档
    • 暗黑模式切换
    • 左侧编辑和右侧编辑切换
  • 格式: 支持加粗、斜体、删除、超链接、格式化

  • 编辑:

    • 上传图片
    • 插入表格
  • 样式:

    • 支持字体、字号、颜色、代码主题设置
    • 支持自定义css样式
    • 支持自定义颜色
    • 支持mac样式的代码块,个人非常喜欢mac的风格

整体来说还是非常齐全的,起码普通的文章编辑是肯定够用了,赞。

文件上传

这里重点体验一下文件上传的配置流程。

进入编辑-上传图片,可以看到打开了对话框:

图片上传配置

看到它支持多个云平台的对象存储,甚至支持自定义代码,这里我以阿里云OSS为例进行说明。

  • 第一步必然是需要注册aliyun账号,自行完成,此处省略。

  • 登录进入控制台,搜索对象存储,进入对象存储控制台
    对象存储控制台

  • 点击创建bucket,记住这个bucket名称,后面参数会用到

对象存储控制台2

bucket参数配置

  • 创建上传用的accessKey

    通过控制台个人头像下拉菜单中的accessKey管理,进入accessKey管理控制台,并创建AccessKey。

创建accessKey

创建好后,需要对AccessKey和AccessKeySecret自行保存,后面再不会看到这个secret了。

  • 文件上传配置

继续回到md的文件上传配置那里,填入需要的参数:

文件上传参数配置

填写完成点击保存配置。

  • 切换到选择上传标签,选择需要上传的文件,点击上传

    这时会报错,通过前台console可以看到是跨域问题导致的,如下图:

    图片上传跨域报错

    去阿里云官网找到答案说是需要配置规则,参考链接:

    https://help.aliyun.com/zh/oss/user-guide/the-no-access-control-allow-origin-error-message-is-still-reported-when-you-call-oss-after-setting-cross-domain-rules

    配置后官网说是15分钟内生效,实测几乎可以立即生效。

  • 重新上传后成功。

至此文件上传就完成了。

发布

到发布就比较简单了,在页面编辑完成后,可以直接点击复制,然后粘贴到微信公众平台后台编辑器中进行预览和发布操作即可。

总结

本文介绍了微信公众平台编辑器的替代者-md的部署以及文件上传的相关过程,相对来说还是比较清晰明了的。

对于我这样的刚接触公众平台运营的人来说是个利器,也基本够用了。以后终于可以使用markdown写公众号文章了。

再次感谢开源作者的无私奉献。

后面会采用CSDN博客和公众号同步发布文章的方式进行,也希望大家能够持续关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/454593.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何开发SDK项目,详细带领理解实践

❤ 作者主页:李奕赫揍小邰的博客 ❀ 个人介绍:大家好,我是李奕赫!( ̄▽ ̄)~* 🍊 记得点赞、收藏、评论⭐️⭐️⭐️ 📣 认真学习!!!🎉🎉 文章目录 SDK-Starter …

从汇编来角度剖析C语言函数调用过程

目录 1.引言 2.寄存器 3.栈帧 4.函数调用前调用者的动作 5.被调用者在函数调用后的动作 6.被调用者返回前的动作 7.调用者在返回后的动作 8.总结 1.引言 当一个c函数被调用时,一个栈帧(stack frame)是如何被建立,又如何被消除的。这些细节跟操作…

学习c语言:单链表的应用

一、单链表经典算法 1.1 单链表相关经典算法OJ题1:移除链表元素 . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.…

代码随想录算法训练营Day45 ||leetCode 70. 爬楼梯 (进阶)|| 322. 零钱兑换 || 279.完全平方数

70. 爬楼梯 &#xff08;进阶&#xff09; 本质上和leetcode377一样 #include <iostream> #include <vector> using namespace std; int main() {int n, m;while (cin >> n >> m) {vector<int> dp(n 1, 0);dp[0] 1;for (int i 1; i < n; i…

图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制

LDBC&#xff08;Linked Data Benchmark Council&#xff09;Social Network Benchmark&#xff0c;简称 LDBC SNB&#xff0c;是一种针对社交网络场景的评估图数据库性能的基准测试。 LDBC 简介 除了 Social Network Benchmark&#xff0c;LDBC 旗下目前还有其他几种基准测试…

隧道技术和代理技术(三)

隧道技术 知识点 -隧道技术&#xff1a;解决不出网协议上线的问题&#xff08;利用出网协议进行封装出网&#xff09; -代理技术&#xff1a;解决网络通讯不通的问题&#xff08;利用跳板机建立节点后续操作&#xff09; 内环境示意图&#xff0c;方便理解 思路&#xff1a;…

C语言例2-3:从键盘输入一个正整数(位数小于或等于10),判断其是否是回文数

回文数是将自然数n的各位数字反向排列得到自然数n1&#xff0c;若n1与n相等&#xff0c;则称为回文数&#xff0c;例如12321 //从键盘输入一个正整数&#xff08;位数小于或等于10&#xff09;&#xff0c;判断其是否是回文数 //回文数是将自然数n的各位数字反向排列得到自然数…

企业信息化转型之企业统一门户搭建

一、当前企业门户实施的背景和痛点 企业随着公司业务的发展&#xff0c;公司运作的复杂度在不断加大&#xff0c;各部门的业务量和业务的复杂度都在不断增加&#xff0c;已经建设了ERP、HR、OA、考勤、合同、BPM、PLM等有效地支撑了过去和现有业务的发展。 企业在信息化办公是…

一款强大的逆向分析工具,开源!

工具介绍 Ghidra 是由美国国家安全局&#xff08;NSA&#xff09;研究部门开发的软件逆向工程&#xff08;SRE&#xff09;套件&#xff0c;用于支持网络安全任务。包括一套功能齐全的高端软件分析工具&#xff0c;使用户能够在各种平台(Windows、Mac OS和Linux)分析编译后的代…

【零基础学习04】嵌入式linux驱动中信号量功能基本实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天给大家分享一下,linux系统里面信号量操作的具体实现,操作硬件为I.MX6ULL开发板。 第一:信号量基本简介 信号量是同步的一种方式,linux内核也提供了信号量…

WebStorm报错

报错情况&#xff1a; npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: element-plus1.0.2-beta.40 npm ERR! Found: vue3.0.5 npm ERR! node_modules/vue npm ERR! peer vue"^3.0.0" from tinymce/tinymce-vue4…

课堂行为动作识别数据集

一共8884张图片 xml .txt格式都有 Yolo可直接训练 已跑通 动作类别一共8类。 全部为教室监控真实照片&#xff0c;没有网络爬虫滥竽充数的图片&#xff0c;可直接用来训练。以上图片均一一手工标注&#xff0c;标签格式为VOC格式。适用于YOLO算法、SSD算法等各种目标检测算法…

idea创建git仓库

选择根目录&#xff1a; 点ok&#xff0c;就创建好了 推送到本地仓库&#xff1a; push到github&#xff1a;

LJXpaper

表1-3引用出现较滞后 1.3文献[42]有问题 如图 如图 如图 如图 &#x1f447; &#x1f447; &#x1f447; &#x1f447; &#x1f447; &#x1f447; &#x1f447; 要不要加连接词&#xff1a;4-11 4-12之间 &#…

pycharm配置解释器

pycharm配置解释器 1.mac配置解释器 1.mac配置解释器

打卡学习kubernetes——了解k8s基本概念

目录 1 Container 2 Pod 3 Node 4 Namespace 5 Service 6 Label 7 Annotations 8 Volume 1 Container Container(容器)是一种便携式、轻量级的操作系统级虚拟化技术。它使用namespace隔离不同的软件运行环境&#xff0c;并通过镜像自包含软件的运行环境&#xff0c;从而…

K8s-CRD实战

CRD CRD的全称是CustomResourceDefinition,是Kubernetes为提高可扩展性, 让开发者去自定义资源&#xff08;如Deployment&#xff0c;StatefulSet等&#xff09;的一种方法. Controller controller是由controller-manager进行管理&#xff0c;通过API Server提供的接口实时监…

掌控无显示器Linux开发板:VNC远程桌面接入指南

掌控无显示器Linux开发板&#xff1a;VNC远程桌面接入指南 Linux开发板是许多技术人员常用的工具&#xff0c;但有时它们并不配备显示器。这时&#xff0c;VNC&#xff08;Virtual Network Console&#xff09;软件就成为了一个非常有用的工具&#xff0c;它允许用户通过网络远…

yarn工作机制

YARN架构组成 YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成 yarn的工作机制&#xff1a;这个把applicationMaster看成一种特殊task比较好理解 ,这个task负责一个job数据的切分&#xff0c;任务切分&#xff0c;任务资源申请&#xff0c;监…

【Web】浅聊XStream反序列化本源之恶意动态代理注入

目录 简介 原理 复现 具体分析之前 我们反序列化了个什么&#xff1f; XStream反序列化的朴素通识 具体分析 第一步&#xff1a;unmarshal解组 第二步&#xff1a;readClassType获取动态代理类的Class对象 第三步&#xff1a;调用convertAnother对动态代理类进行实例…