最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 多年经验总结,写出最惊艳的 Markdown 高级用法

    正文概述 掘金(木易杨说)   2021-01-11   336

    最近在学习的时候看到了 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>
    		"//&nbsp;数组去重"
    		<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]空格已完成
    
    -空格[空格]空格~~未完成~~
    

    图片设置宽高

    多年经验总结,写出最惊艳的 Markdown 高级用法

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

    ![图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image)
    

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

    多年经验总结,写出最惊艳的 Markdown 高级用法

    这时候我们可以使用 img 标签,原始写法如下

    <img src='https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image' width=300px height=200px />
    
    // 写法二,自动缩放
    <img src='https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image' width=40%/>
    

    原理也很简单,因为 ![]() 转化成 html 后就会变成 img 标签,所以我们直接在 Markdown 中写 img 标签并且加上宽高就可以了。

    // 原始 markdown 语法
    ![图片描述](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image)
    
    // 转化成 html 后语法
    <img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/13973f2a07bb45feb159aa2584997913~tplv-k3u1fbpfcp-zoom-1.image" >
    

    折叠

    之前写过一篇 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> 标签就可以了。


    上面这一行就是换行效果了

    有任何问题都可以来问我


    起源地下载网 » 多年经验总结,写出最惊艳的 Markdown 高级用法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元