markdown编辑微信公众号

article/2025/9/12 10:52:20

前言

早前进入it这个行业就有写博客的习惯,之前用的一款百度出的【百度空间】的产品,当时一些文章还有不少的浏览量,可惜后来【百度空间】这款产品下线了,就这样自己的一点小积累付诸东流了。后来接触到了git和github。心想不能再被别人牵着鼻子走了,写博客本地必须得留个备份,正好git满足这一点,如是就在github上间了一个个人仓库。把每次写的博客commit上去。但仓库的权限设置成了private,毕竟有些文章只是自己纯粹的个人笔记,不太好公开了,随着各大创作平台的兴起,掘金、简书、知乎、CSDN、还有微信公众号,其中微信公众号我觉得是一个非常不错的方式,因为只要用户关注,博主就可以给其推送文章。在知识纯粹分享的基础上加了一点强行安利的意思。那么怎么把我github上面的文章导入到微信公众号里面呢,下面就以我的这篇博文为例介绍下我是怎么操作的。

阻碍的地方和解决思路

  • 微信公众号不支持markdown格式,这个markdown-nice这款产品可以解决,免费的亲!
  • github在线图片链接直接粘贴到微信公众号里是不能上传的会抱这个错:原因估计是因为被墙了

image-20210206113635544.png

  • 这点可以用jsdelivr进行CDN加速,比如有一张github图片地址是:https://github.com/chuliangcai/study/blob/master/src/computer-science-education.jpg?raw=true study是仓库名,分支是master,文件路径是/src/computer-science-education.jpg,加速后的地址是:https://cdn.jsdelivr.net/gh/chuliangcai/study/src/computer-science-education.jpg
  • 由于过程中需要解析markdown,flexmark是个不错的选择。

开搞

  1. 选择一篇写好的本地文章,比如markdown写微信公众号.md ,需要特别注意的是图片一定要使用标准的markdown格式,形如![title](本地图片路径),否则后面转换的时候会不支持。

  2. 在github新建一个仓库,设置成public ,取名freedom寓意自由。做一个自由的👨‍💻

image-20210206120334441.png

  1. 使用git clone https://github.com/chuliangcai/freedom.git 将仓库下载到本地
  2. 将本地文章拷贝到目标仓库中。因为单纯的文件拷贝无法将引用的图片一起拷走,所以此处写代码进行自动拷贝,代码如下:
package com.family.flexmark;import java.io.File;
import java.io.FileReader;import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;import com.vladsch.flexmark.ast.Image;
import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.util.ast.Node;
import com.vladsch.flexmark.util.collection.iteration.ReversiblePeekingIterator;
import com.vladsch.flexmark.util.data.MutableDataSet;public class FlexMarkDemoApplication {private static String dirPath = "";public static File destFileDir;public static void main(String[] args) throws Exception {MutableDataSet options = new MutableDataSet();Parser parser = Parser.builder(options).build();String file = "/Users/chuliangcai/data/projects/blog/app/blog/editor/markdown写微信公众号.md";String descFile = "/Users/chuliangcai/data/projects/freedom/technology/other/markdown写微信公众号.md";dirPath = StringUtils.substringBeforeLast(file, "/");destFileDir = new File(StringUtils.substringBeforeLast(descFile, "/"));//noinspection ResultOfMethodCallIgnoreddestFileDir.mkdirs();FileUtils.copyFileToDirectory(new File(file), destFileDir);Node document = parser.parseReader(new FileReader(file));extractNode(document);}public static void extractNode(Node node) throws Exception {if (!node.hasChildren()) {return;}ReversiblePeekingIterator<Node> iterator = node.getChildIterator();while (iterator.hasNext()) {Node node1 = iterator.next();if (node1 instanceof Image) {Image image = (Image) node1;File imgFile = new File(dirPath + "/" + image.getUrl().toString());FileUtils.copyFileToDirectory(imgFile, destFileDir);} else {extractNode(node1);}}}
}

使用typora 打开freedom文件夹,查看效果。

image-20210206122154575.png

  1. 提交文章git push
  2. 编写java代码将文章中的图片全部转换为jsdelivr的路径,代码如下
public class RegexDemo {public static final String OUTPUT_PATH = "/Users/chuliangcai/Desktop/markdown写微信公众号.md";public static final Pattern PATTERN = Pattern.compile("!\\[[0-9a-zA-Z_.-]+]\\([0-9a-zA-Z_.-]+\\)");public static final String IMAGE_PATH_PREFIX = "https://cdn.jsdelivr.net/gh/chuliangcai/freedom/technology/algorithm/";public static void main(String[] args) throws Exception {FileInputStream fis = new FileInputStream("/Users/chuliangcai/data/projects/freedom/technology/other/markdown写微信公众号.md");BufferedReader br = new BufferedReader(new InputStreamReader(fis));BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(OUTPUT_PATH)));String str;while ((str = br.readLine()) != null) {Matcher matcher = PATTERN.matcher(str);if (matcher.find()) {String image = matcher.group();String fileName = StringUtils.substringBetween(image, "(", ")");String replaced = str.replace(image, "![" + fileName + "](" + IMAGE_PATH_PREFIX + fileName + ")");bw.write(replaced + "\n");} else {bw.write(str + "\n");}}br.close();bw.flush();bw.close();}
}
  1. 进入markdown nice官网注册账户
  2. 将刚才的输出内容拷贝到markdown编辑区域

image-20210206142803863.png

  1. 进入微信公众号后台,新建图文素材,找个漂亮的首图,粘贴刚才的内容。

  2. 最终手机效果如下,效果满分!

image-20210206143255427.png

扩展到其他平台

让自己的文章传播出去吧

  • 知乎 markdown-nice就支持哦!
    image-20210424160847211.png
  • 简书博客园csdn博客均支持markdown编辑器,直接拷贝进去即可

不足之处

整个过程手动的地方有点多,最好集成一下各大平台的授权。然后做一个简单的桌面应用。实现一键发布。

附录

jsdelivr 网站地址:https://www.jsdelivr.com/?docs=gh
markdown-nice官网:https://www.mdnice.com/
mark解析器flexmark地址:https://github.com/vsch/flexmark-java

wei_xin_tail


http://chatgpt.dhexx.cn/article/2JdJTpR9.shtml

相关文章

微信公众号html标签,微信公众号用户标签管理

开发者可以使用用户标签管理的相关接口&#xff0c;实现对公众号的标签进行创建、查询、修改、删除等操作&#xff0c;也可以对用户进行打标签、取消标签等操作。 标签管理 1. 创建标签 一个公众号&#xff0c;最多可以创建100个标签。 接口调用请求说明http请求方式&#xff1…

Java微信公众号开发

本文从本人博客搬运&#xff0c;原文格式更加美观&#xff0c;可以移步原文阅读&#xff1a;Java微信公众号开发 微信公众号介绍 1.公众号的分类 我们平常在微信应用上会看到有很多的公众号&#xff0c;但是各自并不一样&#xff0c;公众号也分很多种类型&#xff0c;不过最…

如何建立一个微信公众号

如何建立一个微信公众号 一、定位 首先你要对公众号有定位&#xff0c;比如美妆&#xff0c;时尚&#xff0c;校园生活&#xff0c;好物分享等&#xff0c;每日推荐适合大学生的电影&#xff0c;连续剧&#xff0c;推荐大学生日常会做的好事。 二、准备工作 在建立一个微信…

公众号 菜单 代码 php,如何使用Vue.js实现微信公众号菜单编辑器(案例代码)

这次给大家带来如何使用Vue.js实现微信公众号菜单编辑器(案例代码)&#xff0c;使用Vue.js实现微信公众号菜单编辑器的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。 实现菜单删除方法 在vue实例中添加删除菜单方法&#xff0c;根据选中的菜单级别和索…

在微信公众号中写html代码吗,微信公众号内容如何利用html编辑?

微信公众号内容如何利用html编辑?以下是小编整理的怎么利用html代码去更换微信公众号里的内容&#xff0c;有需要的朋友们请往下看具体怎么去操作的。以下内容供大家参考。 登录微信公众号 点击左侧分类的“素材管理”&#xff0c;在出现的页面中选择“图片” 点击右侧的“本地…

微信公众号使用Chrome插件:Markdown Nice优化微信公众号排版教程

Markdown Nice 是一个为了解决微信公众号排版而生的 Markdown 编辑器&#xff0c;当前有在线编辑器和 Chrome 插件 2 种产品形态。 下面介绍Chrome 插件&#xff1a;Markdown Nice 一、下载和安装Markdown Nice 1.从 墨滴 网站下载mdnice谷歌浏览器插件&#xff0c;如下图&a…

微信公众号的html5界面用什么软件,微信公众号编辑排版用什么软件(推荐这4款编辑器)...

做 但是市面上的公众号排版编辑器层出不穷&#xff0c;到底哪一款最好用呢&#xff1f;下面就带来主流公众号排版编辑器的对比&#xff0c;看下最受欢迎的编辑器中&#xff0c;哪款最好用吧。 1、秀米编辑器 秀米编辑器可以说是一款比较受欢迎的公众号排版编辑器了&#xff0c;…

java微信公众号图文消息编辑器,如何使用微信公众号自带的编辑器做出简洁舒适的图文排版...

所谓云想衣裳花想容&#xff0c;写文章也讲内容与形式&#xff0c;做微信公众号、新媒体、自媒体&#xff0c;光生产内容还不够&#xff0c;编辑排版也非常重要。 一个简洁、美观、使读者看起来舒适的排版能更好地抓住读者的眼球&#xff0c;愉悦读者的眼睛&#xff0c;才能更好…

微信公众平台菜单编辑php,Vue.js实现微信公众号菜单编辑器步骤详解(上)

这次给大家带来Vue.js实现微信公众号菜单编辑器步骤详解(上)&#xff0c;Vue.js实现微信公众号菜单编辑器的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。 学习一段时间Vue.js&#xff0c;于是想尝试着做一个像微信平台里那样的菜单编辑器&#xff0c…

微信文章编辑的html在哪里,微信公众号的文章编辑界面在哪里?怎么编辑排版? | 微信公众号指南...

今天给大家介绍公众号文章编辑页面在哪里&#xff0c;怎么编辑排版&#xff0c;怎么推送文章。 申请了微信公众号后怎么发布文章&#xff1f;公众号的文章编辑页面在哪里?部分刚接触公众号运营的小伙伴是不太了解公众号后台功能的&#xff0c;今天就给大家介绍公众号文章编辑页…

微信公众号编辑底部自定义菜单解决方案

微信公众号编辑底部自定义菜单解决方案 1.需求背景 最近开发公众号项目&#xff0c;关于公众号里面底部的菜单栏设置一般常用有两种方法。 1&#xff0c;是进入公众号后台&#xff0c;找到自定义菜单&#xff0c;点击后进入编辑页面&#xff0c;进行编辑即可。2&#xff0c;是…

如何在微信公众号编辑器发布免费好看的排版内容

闲谈 最近很久没更新硬核的技术内容&#xff0c;也没发布最近人工智能的大动作文章&#xff0c;总感觉有点跟这个社区脱节的样子&#xff0c;不过没关系&#xff0c;经历了痛苦的一个月找工作冲刺后&#xff0c;我悟了&#xff0c;还是混吃等死水文章舒服。 爪巴的知乎文章 …

markdown转微信公众号编辑器

Foxmd&#xff5c;markdown微信公众号编辑器 https://foxmd.cn 支持两端对齐可以调整字间距、行间距、段间距以及文字大小可以设置图片圆角和图片阴影可以设置自动在中英文之间插入一个空格

php+仿微信公众号样式,仿微信公众号富文本编辑器

微信公众号富文本编辑器使用百度ueditor插件为基础加以封装 百度ueditor配置提供替换皮肤,只要添加相应的样式即可(码云代码链接) TIM截图20190404150153.png 以下处理富文本编辑器里面内容是别处复制粘贴而来(如果是微信或者百度的图片资源,有些图片不会显示出来),此时需要我…

程序员的专属微信公众号编辑器:定制 Markdown 转 HTML

原文地址&#xff1a; https://www.fang1688.cn/study-code/3158.html 今天介绍的这款开源项目&#xff1a;cdk8s-markdown-to-html-master 平时我们用微信公众号的编辑器写文章功能比较简陋&#xff0c;主题样式也不美观&#xff0c;最近小编方包找到一款实用的可一键转换&…

微信公众号 Markdown 编辑器

微信公众号文章 Markdown 在线编辑器&#xff0c;使用 markdown 语法创建一篇简介美观大方的微信公众号图文。由于发版本麻烦&#xff0c;和一些功能无法扩展停滞开发了&#xff0c;未来不再开发 Chrome 的插件(暂存在 chrome 分支)&#xff0c;通过 web 版本定制更丰富的功能。…

4款微信公众号编辑器,哪个最好用?

微信公众号的文案编辑一定都有这样的感受&#xff1a;微信后台的编辑器功能太少了&#xff0c;想要做出一篇样式精美、内容丰富的文章&#xff0c;非常有必要找到一款好用的微信编辑器。 市面上的微信编辑器那么多&#xff0c;哪一款最好用呢&#xff1f;今天我们就一起来对比分…

人工智能语音如何实现?

语音识别是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论…

人工智能之语音识别技术(四)

1. 语音信号基础 1.1 语音信号处理的目的 语音信号处理是一门新兴的边缘科学&#xff0c;它是语音学与数字信号处理两个学科相结合的产物。它和认知科学、心理学、语音学、计算机科学、模式识别和人工智能等学科有着紧密的联系。语音信号处理的目的是要得到某些语音特征参数以…

【第2篇】人工智能(AI)语音测试原理和实践

第1章第1节 人工智能语音测试介绍 本章首先介绍语音的基本概念及语音的产生原理&#xff0c;然后介绍什么是人工智能语音、人工智能语音交互和人工智能语音测试&#xff0c;最后阐述人工智能语音测试的目的和意义&#xff0c;引领大家走入人工智能语音测试的世界。 目录 第1章…