iconfont.js:

const fs = require(‘fs’);
const https = require(‘https’);
// 解压工具,需要安装
const Admzip = require(‘adm-zip’);

// 项目成员在阿里图标库网站的cookie
const cookie = require(‘./iconfont.json’).cookie;
// 阿里图标库域名
const iconfont_Host = cookie.iconfont_Host;
// 下载链接路径
const downloadPath = cookie.downloadPath
// 文件放置路径
const releasePlace = ‘./src/font’;

//get 请求下载
function downloadResourse(options) {
return new Promise((resolve, reject) => {
const req = https.get(options, res => {
// 监听返回数据
const code = res.statusCode;
console.log(code);
resolve(res)
})
req.on(‘error’, (err) => {
reject(err)
})
})
}
// 找到文件夹 提取需要的文件到font文件夹
function moveFile() {
mkdir();
const folders = fs.readdirSync(‘./’);
folders.forEach(folder => {
if (/^font_[0-9]_[\S]KaTeX parse error: Expected 'EOF', got '&' at position 16: /.test(folder) &̲& fs.statSync('…{folder}`);
files.forEach(file => {
if (file.indexOf(‘demo’) != -1 || file.indexOf(‘js’) != -1 || file.indexOf(‘json’) != -1) return;
try {
fs.renameSync(`./folder/{folder}/folder/{file}`, `${releasePlace + ‘/’ + file}`);
} catch (e) {
console.log(err);
throw Error(‘提取文件失败’);
}
})
console.log(‘提取完成 删除无用文件。。。’);
fs.unlinkSync(‘./iconfont.zip’)
deleteUnUseFile(folder);
console.log(‘完成’);
}
})

}
// 创建文件夹
function mkdir() {
const path = releasePlace.split(‘/’);
let p = ‘’;
path.forEach(item => {
p = p + item + ‘/’;
if (!fs.existsSync§)
fs.mkdirSync§;
})
}

// 删除压缩包与解压文件
function deleteUnUseFile(folder) {
if (fs.statSync(folder).isFile()) {
try {
fs.unlinkSync(folder);
} catch (e) {
console.log(e);
throw Error(‘删除文件失败’);
}
} else if (fs.statSync(folder).isDirectory()) {
const childs = fs.readdirSync(folder);
childs.forEach(item => {
deleteUnUseFile(folder + ‘/’ + item);
})
fs.rmdirSync(folder);
}
}

(() => {
downloadResourse({
host: iconfont_Host,
path: downloadPath,
headers: {
cookie,
}
}).then(res => {
const file = fs.createWriteStream(‘./iconfont.zip’);
res.pipe(file);
console.log(‘下载完成 开始解压。。。’);
file.on(‘finish’, () => {
const admz = new Admzip(‘./iconfont.zip’);
admz.extractAllTo(‘./’);
console.log(‘解压完成 提取文件。。。’);
moveFile();
})
}).catch(err => {
console.log(‘下载失败’, err);
});
})()

iconfont.json:

{
“cookie”: “cna=XsCuG9LGDlYCAbff3ndhk1yk; EGG_SESS_ICONFONT=Hu68kBY7XO7C6Udp3T99M1asKmUZ0gxjps8xjTrjx4ZtNCIR_nFu9Li15nxoPAWLO9jWOinfLD-GMNkm-98jZPi6-T5fp4YKES9sJDnJ_KEDMCJ502-BoX8D5275fBWGO1LNkVK3XE3yNprGvNBXqSvZD_krf0aInYABWxNYULcP6th-NaypN0i7r86HZ9bp; ctoken=1F1AVKOsi2PT5maGs5i1P2vo; u=9520313; u.sig=G9zcCYfw_09gtwdTeFgNrQ01pFrfzMbS2RfxU4wZPWE; xlly_s=1; isg=BGdnS9bdyA9xe0y0UFbpSN9A9psx7DvOi-H2zznWyPYdKIbqRb08Hj9uSii2wBNG”,
“downloadPath”: “/api/project/download.zip?spm=a313x.7781069.1998910419.d7543c303&pid=3341572&ctoken=1F1AVKOsi2PT5maGs5i1P2vo”,
“iconfont_Host”: “www.iconfont.cn”
}

package.json:

“scripts”: {
“serve”: “vue-cli-service serve”,
“build”: “vue-cli-service build”,
“font”: “node iconfont.js”
},

main.js引入

import ‘@/font/iconfont.css’

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片:

带尺寸的图片:

居中的图片:

居中并且带尺寸的图片:

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目

    • 项目

      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分

Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞​tz−1e−tdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

#mermaid-svg-f7vvxK2t4eyIoEY6 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-f7vvxK2t4eyIoEY6 .error-icon{fill:#552222;}#mermaid-svg-f7vvxK2t4eyIoEY6 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-f7vvxK2t4eyIoEY6 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-f7vvxK2t4eyIoEY6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-f7vvxK2t4eyIoEY6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-f7vvxK2t4eyIoEY6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-f7vvxK2t4eyIoEY6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-f7vvxK2t4eyIoEY6 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-f7vvxK2t4eyIoEY6 .marker.cross{stroke:#333333;}#mermaid-svg-f7vvxK2t4eyIoEY6 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-f7vvxK2t4eyIoEY6 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-f7vvxK2t4eyIoEY6 text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-f7vvxK2t4eyIoEY6 .actor-line{stroke:grey;}#mermaid-svg-f7vvxK2t4eyIoEY6 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-f7vvxK2t4eyIoEY6 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-f7vvxK2t4eyIoEY6 #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-f7vvxK2t4eyIoEY6 .sequenceNumber{fill:white;}#mermaid-svg-f7vvxK2t4eyIoEY6 #sequencenumber{fill:#333;}#mermaid-svg-f7vvxK2t4eyIoEY6 #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-f7vvxK2t4eyIoEY6 .messageText{fill:#333;stroke:#333;}#mermaid-svg-f7vvxK2t4eyIoEY6 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-f7vvxK2t4eyIoEY6 .labelText,#mermaid-svg-f7vvxK2t4eyIoEY6 .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-f7vvxK2t4eyIoEY6 .loopText,#mermaid-svg-f7vvxK2t4eyIoEY6 .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-f7vvxK2t4eyIoEY6 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-f7vvxK2t4eyIoEY6 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-f7vvxK2t4eyIoEY6 .noteText,#mermaid-svg-f7vvxK2t4eyIoEY6 .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-f7vvxK2t4eyIoEY6 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-f7vvxK2t4eyIoEY6 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-f7vvxK2t4eyIoEY6 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-f7vvxK2t4eyIoEY6 .actorPopupMenu{position:absolute;}#mermaid-svg-f7vvxK2t4eyIoEY6 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-f7vvxK2t4eyIoEY6 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-f7vvxK2t4eyIoEY6 .actor-man circle,#mermaid-svg-f7vvxK2t4eyIoEY6 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-f7vvxK2t4eyIoEY6 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间, 文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

这将产生一个流程图。:

#mermaid-svg-LFVdkzKsFlEVlIN7 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-LFVdkzKsFlEVlIN7 .error-icon{fill:#552222;}#mermaid-svg-LFVdkzKsFlEVlIN7 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-LFVdkzKsFlEVlIN7 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-LFVdkzKsFlEVlIN7 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-LFVdkzKsFlEVlIN7 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-LFVdkzKsFlEVlIN7 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-LFVdkzKsFlEVlIN7 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-LFVdkzKsFlEVlIN7 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-LFVdkzKsFlEVlIN7 .marker.cross{stroke:#333333;}#mermaid-svg-LFVdkzKsFlEVlIN7 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-LFVdkzKsFlEVlIN7 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-LFVdkzKsFlEVlIN7 .cluster-label text{fill:#333;}#mermaid-svg-LFVdkzKsFlEVlIN7 .cluster-label span{color:#333;}#mermaid-svg-LFVdkzKsFlEVlIN7 .label text,#mermaid-svg-LFVdkzKsFlEVlIN7 span{fill:#333;color:#333;}#mermaid-svg-LFVdkzKsFlEVlIN7 .node rect,#mermaid-svg-LFVdkzKsFlEVlIN7 .node circle,#mermaid-svg-LFVdkzKsFlEVlIN7 .node ellipse,#mermaid-svg-LFVdkzKsFlEVlIN7 .node polygon,#mermaid-svg-LFVdkzKsFlEVlIN7 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-LFVdkzKsFlEVlIN7 .node .label{text-align:center;}#mermaid-svg-LFVdkzKsFlEVlIN7 .node.clickable{cursor:pointer;}#mermaid-svg-LFVdkzKsFlEVlIN7 .arrowheadPath{fill:#333333;}#mermaid-svg-LFVdkzKsFlEVlIN7 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-LFVdkzKsFlEVlIN7 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-LFVdkzKsFlEVlIN7 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-LFVdkzKsFlEVlIN7 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-LFVdkzKsFlEVlIN7 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-LFVdkzKsFlEVlIN7 .cluster text{fill:#333;}#mermaid-svg-LFVdkzKsFlEVlIN7 .cluster span{color:#333;}#mermaid-svg-LFVdkzKsFlEVlIN7 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-LFVdkzKsFlEVlIN7 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.3.0开始我的操作确认?结束yesno
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

下载iconfont图标相关推荐

  1. 如何一键批量下载Iconfont图标

    正文 直接上链接: iconfont图标一键下载浏览器插件(2000+图标一秒下载打包) iconfont在vue3中按需使用和编译打包示例 背景 在图标应用中,遇到过大小.居中.多色.下载.使用.打 ...

  2. 微信小程序之如何使用iconfont图标?

    文章目录 一.下载iconfont图标 1.进入iconfont,选择要下载的图标,点购物车添加入库 2. 添加至项目 3. 下载至本地 二.如何引入? 1. ttf文件转换base64格式 2.合并 ...

  3. vue项目中使用阿里iconfont图标(下载并在本地引用)

    vue项目中使用阿里iconfont图标(下载并在本地引用) step1 step2 step3 在scr/asstets/css目录下新建icons文件夹,把图中所需要的四个文件放进去即可 记得在m ...

  4. iconfont平台如何上传和下载字体图标

    iconfont平台如何上传和下载字体图标 打开iconfont网站,登录之后点击图中的上传图标 点击上传图标,将设计师妹妹给我们的svg矢量图打开 ​ 点击去除颜色并提交 点击图中的批量操作,然后框 ...

  5. iconfont图标引入及线上使用流程(无需下载图标到本地)

    1.选择图标加购物车 进入阿里巴巴矢量图标库https://www.iconfont.cn/ 输入图标名称,搜索图标 找到想要的图标,加入购物车 2.打开购物车,添加至项目 打开购物车,点击添加至项目 ...

  6. Swift使用iconfont图标

    iconfont怎么在iOS中使用了 什么是iconfont? 简而言之就是将图标用文字(通过编码)字体的形式显示. 优点:减少项目体积包,  减少切2倍图和3倍图 ,  各设备显示效果都不错,  可 ...

  7. flutter显示图标_Flutter使用Iconfont图标

    Iconfont 阿里妈妈MUX倾力打造的矢量图标管理.交流平台. 设计师将图标上传到Iconfont平台,用户可以自定义下载多种格式的icon,平台也可将图标转换为字体,便于前端工程师自由调整与调用 ...

  8. 前端知识:如何创建自己的Iconfont图标库

    在日常的开发过程中,前端页面经常会引用一些图标,iconfont图标库是前端开发者非常友好的在线字体图标库.大家可以根据平常所涉及的项目,收藏自己需要的图标库,方便在后续的项目中使用,今天小编给大家介 ...

  9. WPF 如何将IconFont图标转成Geometry

    之前每次使用IconFont图标,都要去下载一个png图片,每次颜色什么的改了,都要重新下载,太苦逼了. 现在好了,终于找到如何方便快速地使用IconFont图标了. 是应该的演示如何从IconFon ...

  10. 项目中引入阿里巴巴图标——iconfont图标的使用-svg格式

    项目中引入阿里巴巴图标--iconfont图标的使用-svg格式 一.下载图标 1.先进入iconfont.cn页面 iconfont官网:https://www.iconfont.cn/ 2.登陆, ...

最新文章

  1. php-cgi占用cpu资源过高的解决方法
  2. 校园网安全问题分析与对策
  3. Android之linux基础教学之二 总体架构
  4. maven deploy plugin_学习Maven之Maven Surefire Plugin
  5. Apache(1)——安装
  6. Java 字符,整型,字符串三者转换
  7. 将Java应用程序本地编译为EXE的几种方法
  8. 一条数据的HBase之旅,简明HBase入门教程1:开篇
  9. 32通过tcp发送数组_【干货】TCP协议详解
  10. [课程相关]homework-03
  11. 批量网刻安装操作系统之PXE网络克隆图文教程
  12. DOM浏览器的渲染原理简介
  13. 我所钟爱的电影之一-文艺片
  14. Java用HttpClient爬大学英语四六级考试成绩查询接口
  15. vue通过自定义指令 v-py 将名字转拼音
  16. html实体手册,完整的 HTML 4 + HTML 5 实体参考手册
  17. java将汉字转成拼音首字母大写字母_java实现将汉字转为首字母、拼音
  18. 第三代人工智能基础设施背后,是一次技术应用的常识普及运动
  19. 使用windows自带diskpart转换磁盘格式
  20. 编译原理三大圣经——龙书、虎书、鲸书

热门文章

  1. 《MGMatting:Mask Guided Matting via Progressive Refinement Network》论文笔记
  2. [易飞]同一单据如何根据不同用户或组限定仓库(客户)
  3. allegro 封装shape焊盘问题 Unable to load shape symbol
  4. C语言——类型限定词
  5. 录制App操作生成Gif动态图教程(Android)
  6. 为什么可以做Shopyy独立站
  7. 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程!
  8. Spring之IOC概念、Bean对象创建及DI注入的三种方式
  9. Android audio 三 AudioRecord 分析下
  10. Linux查看程序端口占用情况 netstat -apn | grep 8080