微信公众号 Markdown 编辑器

指针珊瑚
• 阅读 2457

微信公众号 Markdown 编辑器

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

Github: https://github.com/jaywcjlove...
官网:https://jaywcjlove.github.io/...

功能特性

开发计划和一些功能介绍,有需求可以在 issue 中提,使得工具变得更加完善。下面示例用于 web 应用中效果展示。

  • [x] 支持 Markdown 所有基础语法
  • [x] 支持自定义 CSS 样式
  • [x] 支持主题选择 & 编辑预览。
  • [x] 支持明暗两种主题预览。
  • [ ] 支持色盘取色,快速替换文章整体色调
  • [x] 支持 URL 参数加载 Markdown 内容。
  • [x] 支持 URL 参数选择预览主题。

支持代码块样式

下面是 jsx 代码块展示示例,并高亮代码,用于 web 应用中效果展示。

function Demo() {
  return <div className="demo">Hello World!</div>
}

下面是 css 代码块展示示例,并高亮代码,用于 web 应用中效果展示。

li {
  font-size: 16px;
  margin: 0;
  line-height: 26px;
  color: rgb(30 41 59);
  font-family:-apple-system-font,BlinkMacSystemFont, Helvetica Neue, PingFang SC, Hiragino Sans GB , Microsoft YaHei UI , Microsoft YaHei ,Arial,sans-serif;
}

支持内联代码

用于 web 应用中效果展示。

Inline Code {code: 0}

支持表格

表格无法使用自定义样式,暂时没找到解决途径

Header 1Header 2
Key 1Value 1
Key 2Value 2
Key 3Value 3

支持 GFM 脚注

这是一个简单的 Markdown1 语法的脚注2。 页面最后有一些额外的文字描述。注意这不是完整的注脚3特性。

支持注释

<ruby>
  汉 <rt>Han</rt>
</ruby>

汉字注音效果:
<ruby>
汉 <rt>Han</rt>
字 <rt>zi</rt>
拼 <rt>pin</rt>
音 <rt>yin</rt>
注 <rt>zhu</rt>
音 <rt>yin</rt>
</ruby>

支持自定义样式

<!--rehype:style=color: red;-->

在 Markdown 中 HTML 注释也可以用在 markdown 中,利用这一特点,为一些内容自定一样式。使用 HTML 注释 <!--rehype:xxx--><!--rehype:style=color: red;background: #ff000033;--> 让 Markdown 支持样式自定义。

## 定义标题样式
<!--rehype:style=display: flex; height: 230px; align-items: center; justify-content: center; font-size: 38px;-->

支持对某些文字变更样式,如_文字颜色_<!--rehype:style=color: red;-->,文字颜色将被设置为红色(red)。

⚠️ 注意:这一特性可能适用于有一定 css 前端基础知识的用户,不过它也非常简单,使用 <!--rehype:style= 开始,--> 结束,中间包裹 css 样式,如 color: red; 设置文字红色。

标记忽略内容

此特性利用 HTML 注释在 markdown 中被忽略的特性,标记需要忽略的内容,标记开始 <!--rehype:ignore:start-->,标记结束 <!--rehype:ignore:end-->,被标记的内容在微信 Markdown 编辑器预览中不显示。在其它预览工具中展示内容,比如 GitHub 中能展示。

# 注释忽略

<!--rehype:ignore:start-->内容在微信 Markdown 编辑器预览中不显示。在其它预览工具中展示内容。<!--rehype:ignore:end-->

支持 URL 参数加载 Markdown 内容

https://<URL>?md=<Markdown 资源 URL>

加载 Markdown 内容的示例 URL:

https://jaywcjlove.github.io/wxmp/#/?theme=underscore&md=https://raw.githubusercontent.com/jaywcjlove/c-tutorial/master/README.md

Markdown URL 地址: https://raw.githubusercontent.com/jaywcjlove/c-tutorial/master/README.md

主题定制

在目录 src/themes 中存放默认主题,在 src/store/context.tsx 中配置主题,主题使用 css 定义样式,不支持复杂的选择器。提供在线主题编辑器,欢迎修改并 PR 进仓库供大家使用。

/* 1~6 标题样式定义 */
h1 {} h2 {} h3 {} h4 {} h5 {} h6 {}
a { color: red; } /* 超链接样式定义 */
strong {} /* 加粗样式定义 */
del {} /* 删除线样式定义 */
em {}  /* 下划线样式定义 */
u {}   /* 下划线样式定义 */
p {}   /* 段落样式定义 */
ul {}  /* 无序列表样式定义 */
ol {}  /* 有序列表样式定义 */
li {}  /* 列表条目样式定义 */
blockquote {} /* 块级引用样式定义 */
table {}
td {}
th {}
pre {}        /* 样式定义 */
.code-highlight {} /* 代码块样式定义 */
.code-line {}      /* 代码块行样式定义 */
.code-spans {}     /* 代码块行样式定义 */

sup {} /* GFM 脚注样式定义 */
.footnotes-title {} /* GFM 脚注,参考标题样式定义 */
.footnotes-list {} /* GFM 脚注,参考列表样式定义 */

.image-warpper {} /* 图片父节点样式定义 */
.image {} /* 图片样式定义 */

/* 部分代码高亮样式 */
.comment {}
.property {}
.function {}
.keyword {}
.punctuation {}
.unit {}
.tag {}
.color {}
.selector {}
.quote {}
.number {}
.attr-name {}
.attr-value {}

部署

微信公众号 Markdown 编辑器 微信公众号 Markdown 编辑器 微信公众号 Markdown 编辑器

轻松通过 docker 部署《微信公众号 Markdown 编辑器》网站应用。

docker pull wcjiang/wxmp
# Or
docker pull ghcr.io/jaywcjlove/wxmp:latest
docker run --name wxmp --rm -d -p 96611:3000 wcjiang/wxmp:latest
# Or
docker run --name wxmp -itd -p 96611:3000 wcjiang/wxmp:latest
# Or
docker run --name wxmp -itd -p 96611:3000 ghcr.io/jaywcjlove/wxmp:latest

在浏览器中访问以下 URL

http://localhost:96611/

贡献者

一如既往,感谢我们出色的贡献者!

微信公众号 Markdown 编辑器

上图贡献者列表,由 action-contributors4 自动生成贡献者图片。

License

根据 MIT 许可证获得许可。


  1. GitHub 风格的 Markdown 规范 https://github.github.com/gfm/
  2. 脚注 https://github.blog/changelog...
  3. 微信文章不支持锚点跳转和打开第三方 URL 超链接,所以不支持完整的注脚特性。
  4. Action Contributors https://github.com/jaywcjlove...
点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
微标题信公众号文章,阅读数,点赞数历史文章抓取
微标题信公众号文章,阅读数,点赞数历史文章抓取需求最近在做舆情与微信文章相关的数据抓取,发现微信公众号有些难点很难克服。市面上流行的数据抓取思路要么被腾讯封杀,要么操作难度大。解决方案搜狗微信无法采集历史,而且搜索也不按时间排序。获取的数据的价值不高,仅仅可以通过他获取公众号的biz。微信公众平台微信公
Jacquelyn38 Jacquelyn38
4年前
SimpleMarkDown编辑器离线版以及桌面应用版上线
之前,我们开发了。今天,我们又推出了离线版和桌面应用版。主要功能:1.页面简约;2.实时保存;3.一键清空内容;4.支持微信公众号、知乎、稀土掘金、CSDN等多个平台;5.可复制HTMl格式文本;6.可复制MarkDown格式文本;7.可下载为MarkDown文件;
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
MaxSky MaxSky
4年前
PHP 微信公众号消息加解密
公众号配置根据提示设置即可:【图中信息均为无意义数据,仅供参考。注意服务器地址需可接收GET/POST两种请求】AESKey直接点一下随机生成即可,Token可以生成一个UUID再把UUID进行MD5一次即可。接收关注事件消息示例请求参数校验这一步根据项目情况,可供参考:(Lumen框架)php$valida
Stella981 Stella981
4年前
AndroidStudio封装SDK的那些事
<divclass"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,2.55,5z"id"raphael
Wesley13 Wesley13
4年前
PHP微信小程序支付——签名错误
!(https://static.oschina.net/uploads/space/2018/0509/141657_Tqix_3477605.png)先分清几个概念:微信公众平台、微信开放平台、微信商户平台1.微信公众平台、微信开放平台、微信商户平台是三个不同的平台2.微信公众平台:用于公众号、小程序等等的设置平台,包括APPID、APP
Stella981 Stella981
4年前
JFinal极速开发微信公众号
10分钟搭建属于自己的ngork服务器,实现内网穿透(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.csdn.net%2Fzyw_java%2Farticle%2Fdetails%2F70341106)Android微信、支付App支付SDK(http
Stella981 Stella981
4年前
Blob分析
文章转自微信公众号:机器视觉那些事\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\公众号:机器视觉那些事儿\\\\\\
Stella981 Stella981
4年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2