多年經驗總結,寫出最驚艷的 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>
		"//&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] 已完成
  • [ ] 未完成

原始寫法是下面這樣

-空格[空格]空格待完成

-空格[x]空格已完成

-空格[空格]空格~~未完成~~

圖片設置寬高

圖片描述

插入圖片方式比較簡單,上面這張圖片原始寫法如下,只要有 ![]() 就行了

![圖片描述](https://img2020.cnblogs.com/other/1550214/202101/1550214-20210111091359236-1514429303.png)

但是這時候的圖片寬高是不受限制的,如何生成給定寬高的圖片,我們先來看下效果。

這時候我們可以使用 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 語法
![圖片描述](https://img2020.cnblogs.com/other/1550214/202101/1550214-20210111091359236-1514429303.png)

// 轉化成 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。

有任何問題都可以來問我


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM