多年经验总结,写出最惊艳的 Markdown 高级用法
点赞再看,养成习惯,微信搜索【高级前端进阶】关注我。
本文 GitHub https://github.com/yygmind 已收录,有一线大厂面试完整考点和系列文章,欢迎 Star。
最近在学习的时候看到了 Markdown 代码 diff 高亮的效果,感觉挺有意思的。突然发现还有这么一个好玩的用法,然后我就想着整理一波 Markdown 的高级用法,下面是我整理的一些内容,如果还没用过 Markdown 这些技巧,快来试试吧。
代码diff
如果你做过代码 Code Review,对下面这种效果肯定很熟悉
// 数组去重
const unique = (arr)=>{
- return Array.from(new Set(arr))
+ return [...new Set(arr)]
}
这种代码的增删对比效果就是通过 diff 来做的,原始代码如下
```diff
// 数组去重
const unique = (arr)=>{
- return Array.from(new Set(arr))
+ return [...new Set(arr)]
}
```
在 Markdown 中,``` 用来表示代码块,跟在后面的是语言类型,比如 js、java 和 diff 等
上面的 diff 代码最终在 html 中会转换成下面这段(不过在不同转化器中转换效果会有所差异),最终通过修改样式达到上面的效果。
<pre>
<code>
"// 数组去重"
<br>
"const unique = (arr)=>{"
<br>
<span class="deletion">"- return Array.from(new Set(arr))"</span>
<br>
<span class="addition">"+ return [...new Set(arr)]"</span>
<br>
"}"
<br>
</code>
</pre>
待办事项
很多 Demo 代码都会实现一个 TodoList,我们用 Markdown 来做一个,实现下面这种 Todo 效果
- [ ] 待完成
- [x] 已完成
- [ ] 未完成
原始写法是下面这样
-空格[空格]空格待完成
-空格[x]空格已完成
-空格[空格]空格~~未完成~~
图片设置宽高

插入图片方式比较简单,上面这张图片原始写法如下,只要有 ![]() 就行了

但是这时候的图片宽高是不受限制的,如何生成给定宽高的图片,我们先来看下效果。

这时候我们可以使用 img 标签,原始写法如下
<img src='https://img2020.cnblogs.com/other/1550214/202101/1550214-20210111091359236-1514429303.png' width=300px height=200px />
// 写法二,自动缩放
<img src='https://img2020.cnblogs.com/other/1550214/202101/1550214-20210111091359236-1514429303.png' width=40%/>
原理也很简单,因为 ![]() 转化成 html 后就会变成 img 标签,所以我们直接在 Markdown 中写 img 标签并且加上宽高就可以了。
// 原始 markdown 语法

// 转化成 html 后语法
<img src="https://img2020.cnblogs.com/other/1550214/202101/1550214-20210111091359236-1514429303.png" alt="图片描述">
折叠
之前写过一篇 Array 原型方法源码实现大解密 的文章,里面就用到了这一能力。点击下面例子的「展开查看规范」后,就会展开更多内容。
展开查看规范
这是展开后的内容1
原始写法比较简单,用到了 <details>和 <summary> 标签
<details>
<summary>展开查看规范</summary>
这是展开后的内容1
</details>
锚点链接
锚点是网页制作中的一种,又叫命名锚记。命名锚记就像一个迅速定位器一样,它是一种页面内的超级链接。
锚点链接就是点击后会跳转到对应的锚点位置,想到链接跳转就能想到 <a></a> 标签
在这里我们有 2 种方式实现这个效果
Markdown 原始写法
[名称](#id)HTML 语法
<a href="#id">名称</a>
原始写法就是下面这种了
[点击我跳转到目录树](#目录树)
<a href="#目录树">名称</a>
目录树
这种直接在文章中使用 [TOC] 就可以,会转化成下面这种格式
<div class="table-of-contents">
<ul>
<li><a href="">代码diff</a></li>
<li><a href="">待办事项</a></li>
...
</ul>
</div>
不过这样也存在兼容性问题,Github 中并不支持,可以使用 github-markdown-toc 这个库自动生成,其实它的原理就是自动生成锚标记,然后就可以页面内跳转了。
换行
最后来介绍下怎么换行,比如最长使用的 Markdown 工具是 Typora,换行后发到 github 发现并没有什么卵用,其实这时候使用 CSS 的 <br> 标签就可以了。
上面这一行就是换行效果了
文章持续更新,可以微信搜索「高级前端进阶 」第一时间阅读,回复【资料】【面试】【简历】有我准备的一线大厂面试资料,本文 GitHub https://github.com/yygmind 已收录,有一线大厂面试完整考点和系列文章,欢迎 Star。
有任何问题都可以来问我
多年经验总结,写出最惊艳的 Markdown 高级用法的更多相关文章
- 多年经验,教你写出最惊艳的 Markdown 高级用法
点赞再看,养成习惯,微信搜索[高级前端进阶]关注我. 本文 GitHub https://github.com/yygmind 已收录,有一线大厂面试完整考点和系列文章,欢迎 Star. 最近在学习的 ...
- 奇思妙想 CSS 3D 动画 | 仅使用 CSS 能制作出多惊艳的动画?
本文将从比较多的方面详细阐述如何利用 CSS 3D 的特性,实现各类有趣.酷炫的动画效果.认真读完,你将会收获到: 了解 CSS 3D 的各种用途 激发你新的灵感,感受动画之美 对于提升 CSS 动画 ...
- 纯HTML+CSS写出一颗会飘动的树,有没有惊艳到你呢?
前言 使用HTML+CSS能写出什么惊人的效果呢? 针对这个问题,我总会看到类似的回答,比如没有JS,前端永远都是静态的:HTML5要搭配JS,要不然一文不值. JS固然强大,但CSS也并非一文不值, ...
- 使用 HTML5 Canvas 绘制出惊艳的水滴效果
HTML5 在不久前正式成为推荐标准,标志着全新的 Web 时代已经来临.在众多 HTML5 特性中,Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作 ...
- 理解C# 4 dynamic(4) – 让人惊艳的Clay
Clay非常类似于ExpandoObject, 可以看做是ExpandoObject的加强版. 它们能够让我们在不需要定义类的情况下,就构建出我们想要的对象.Clay和ExpandoObject相比, ...
- [转载] 根据多年经验整理的《互联网MySQL开发规范》
原文: http://weibo.com/p/2304181380b3f180102vsg5 根据多年经验整理的<互联网MySQL开发规范> 写在前面:无规矩不成方圆.对于刚加入互联网的朋 ...
- 迄今最安全的MySQL?细数5.7那些惊艳与鸡肋的新特性(上)【转载】
转自: DBAplus社群 http://www.toutiao.com/m5762164771/ 迄今最安全的MySQL?细数5.7那些惊艳与鸡肋的新特性(上) - 今日头条(TouTiao.com ...
- 如何写出没有BUG的代码
1947年9月9日,美国海军准将 Grace Hopper 在哈佛学院计算机实验室里使用 Mark II 和 Mark III 计算机进行研究工作.她的团队跟踪到 Mark II 上的一个错误,操作人 ...
- 理解C# 4 dynamic(4) – 让人惊艳的Clay(转)
作者:Justrun名字来自<阿甘正传>,是希望自己能够更更傻一点. link: http://www.cnblogs.com/JustRun1983/p/3529157.html 理 ...
随机推荐
- 效率神器-uTools推荐和使用
提高办公开发效率...非常好用 功能很多很全,官网:https://u.tools/ 文档:https://u.tools/docs/guide/about-uTools.html
- Python(二) 安装PIL
1. 在使用PIL之前我们需先安装PIL. 在cmd中使用 pip 指令,竟报错,没有这个指令 2. 我就给环境变量加上这个指令,找到本机上安装python的位置,找到scrips文件夹, 看到里面的 ...
- 关于svg格式问题
背景介绍: 在使用photoswipe的时候,引入了css,按钮是使用svg进行展示的,在用vs2010开发调试过程中,发现不能显示按钮.在请求.svg 的文件时,响应头中的content Type始 ...
- K8s 终将废弃 docker,TKE 早已支持 containerd
近日 K8s 官方称最早将在 1.23版本弃用 docker 作为容器运行时,并在博客中强调可以使用如 containerd 等 CRI 运行时来代替 docker.本文会做详细解读,并介绍 dock ...
- ASP.NET Core静态文件中间件[1]: 搭建文件服务器
虽然ASP.NET Core是一款"动态"的Web服务端框架,但是由它接收并处理的大部分是针对静态文件的请求,最常见的是开发Web站点使用的3种静态文件(JavaScript脚本. ...
- 我叫Mongo,干了「索引探索篇」提升我的效率,值得您拥有
这是mongo第四篇"索引探索",后续会连续更新4篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流.通过 ...
- 安装xshell6
xshell作为一个强大的安全终端模拟软件,深受广大人民喜爱,本文将介绍如何在Windows环境下安装最新版本的xshell客户端. 一,下载 1,打开官网下载链接https://www.netsar ...
- Navicat12白嫖安装
读书人怎么能算白嫖呢 搬运链接https://my.oschina.net/ZL520/blog/3070953 链接:https://pan.baidu.com/s/1jNBO9EzTzhalMgm ...
- JavaScript判断视频编码是否为h.264
1.视频编码是什么? 现在视频编码主流是h.264,对应着输入格式为AVC H.264/AVC是2003年制定的视频编码压缩标准 ,集中了以往标准的优点,并吸收了以往标准制定中积累的经验,采用简洁设计 ...
- 网络知识扫盲——DNS
参考文章链接 : https://baijiahao.baidu.com/s?id=1668393227924896391&wfr=spider&for=pc 一.DNS 是什么? ...