1. 程式人生 > >多年經驗總結,寫出最驚豔的 Markdown 高階用法

多年經驗總結,寫出最驚豔的 Markdown 高階用法

> 點贊再看,養成習慣,微信搜尋【**高階前端進階**】關注我。 > > 本文 **GitHub** [https://github.com/yygmind](https://github.com/Advanced-Frontend/Daily-Interview-Question) 已收錄,有一線大廠面試完整考點和系列文章,歡迎 Star。 最近在學習的時候看到了 Markdown 程式碼 diff 高亮的效果,感覺挺有意思的。突然發現還有這麼一個好玩的用法,然後我就想著整理一波 Markdown 的高階用法,下面是我整理的一些內容,如果還沒用過 Markdown 這些技巧,快來試試吧。 ## 程式碼diff 如果你做過程式碼 Code Review,對下面這種效果肯定很熟悉 ```diff // 陣列去重 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 中會轉換成下面這段(不過在不同轉化器中轉換效果會有所差異),最終通過修改樣式達到上面的效果。 ```bash
	
		"// 陣列去重"
		
"const unique = (arr)=>{"
"- return Array.from(new Set(arr))"
"+ return [...new Set(arr)]"
"}"
``` ## 待辦事項 很多 Demo 程式碼都會實現一個 TodoList,我們用 Markdown 來做一個,實現下面這種 Todo 效果 - [ ] 待完成 - [x] 已完成 - [ ] ~~未完成~~ 原始寫法是下面這樣 ```bash -空格[空格]空格待完成 -空格[x]空格已完成 -空格[空格]空格~~未完成~~ ``` ## 圖片設定寬高 ![圖片描述](https://img2020.cnblogs.com/other/1550214/202101/1550214-20210111091359236-1514429303.png) 插入圖片方式比較簡單,上面這張圖片原始寫法如下,只要有 `![]()` 就行了 ```bash ![圖片描述](https://img2020.cnblogs.com/other/1550214/202101/1550214-20210111091359236-1514429303.png) ``` 但是這時候的圖片寬高是不受限制的,如何生成給定寬高的圖片,我們先來看下效果。
這時候我們可以使用 `img` 標籤,原始寫法如下 ```bash // 寫法二,自動縮放 ``` 原理也很簡單,因為 `![]()` 轉化成 html 後就會變成 `img` 標籤,所以我們直接在 Markdown 中寫 `img` 標籤並且加上寬高就可以了。 ```bash // 原始 markdown 語法 ![圖片描述](https://img2020.cnblogs.com/other/1550214/202101/1550214-20210111091359236-1514429303.png) // 轉化成 html 後語法 ``` ## 摺疊 之前寫過一篇 [Array 原型方法原始碼實現大解密](https://muyiy.cn/blog/6/6.3.html) 的文章,裡面就用到了這一能力。點選下面例子的「展開檢視規範」後,就會展開更多內容。
展開檢視規範
這是展開後的內容1
原始寫法比較簡單,用到了 `
`和 `` 標籤 ```bash
展開檢視規範 這是展開後的內容1
``` ## 錨點連結 > 錨點是網頁製作中的一種,又叫命名錨記。命名錨記就像一個迅速定位器一樣,它是一種頁面內的超級連結。 錨點連結就是點選後會跳轉到對應的錨點位置,想到連結跳轉就能想到 `` 標籤 在這裡我們有 2 種方式實現這個效果 * Markdown 原始寫法 `[名稱](#id)` * HTML 語法 `名稱` [點選我跳轉到目錄樹](#目錄樹) 名稱 原始寫法就是下面這種了 ```js [點選我跳轉到目錄樹](#目錄樹) 名稱 ``` ## 目錄樹 這種直接在文章中使用 ` [TOC]` 就可以,會轉化成下面這種格式 ```bash
  • 程式碼diff
  • 待辦事項
  • ...
``` 不過這樣也存在相容性問題,Github 中並不支援,可以使用 github-markdown-toc 這個庫自動生成,其實它的原理就是自動生成錨標記,然後就可以頁面內跳轉了。 ## 換行 最後來介紹下怎麼換行,比如最長使用的 Markdown 工具是 Typora,換行後發到 github 發現並沒有什麼卵用,其實這時候使用 CSS 的 `
` 標籤就可以了。
上面這一行就是換行效果了 > 文章持續更新,可以微信搜尋「**高階前端進階** 」第一時間閱讀,回覆【資料】【面試】【簡歷】有我準備的一線大廠面試資料,本文 **GitHub** [https://github.com/yygmind](https://github.com/Advanced-Frontend/Daily-Interview-Question) 已收錄,有一線大廠面試完整考點和系列文章,歡迎 Star。 有任何問題都可以來問我