前言
還沒接觸 Notion 時的我都是利用 Evernote + 馬克飛象來做程式筆記,程式筆記比較難以用紙筆作為筆記工具,要找某個片段也很難搜尋,但在使用 Evernonte 時最大的困擾是它的程式碼片段太過於簡單,也無法增加註解或是連結到筆記其他頁面做相關說明,導致無法做知識管理庫、知識串連的效果,只能單篇存筆記。
直到我發現了 Notion, Notion 提供程式碼編輯區塊不僅可以標記是哪種程式語言,主流語言都可以選擇,也能做程式碼高亮 Height Light,也能標記是屬於哪個檔案
上圖可以看到我選擇語言為 JavaScript,也能夠標示此處程式碼為 permission.js 檔案,於是我立刻拋下 Evernote ,轉向 Notion 懷抱。
下面我會圖文做範例,向你展示 Notion 程式碼區塊功能到底有哪些,以及 2021.7月 Notion 也開放 嵌入Replit 囉!在自己的筆記上也可以輕易跑程式碼囉,範例部分參考官方說明文件
Notion 程式碼高亮
可以直接用 /code 來呼叫程式碼區塊(Code Block),下面的程式碼區塊是以 JavaScript 來做範例
Notion 支援超多種格式,包含 Bash、C、Clojure、C++、CSS、Dart 、Docker、Go、HTML、Less、JavaScript、Markdown、Php、Python、R、SQL、TypeScript、 XML、Sass、Scss、Shell、Scheme,我並沒有完整列出來,實際上還有更多!
Notion 程式碼區塊可以讓我們展示之外,也能夠分享給其他開發者,或是你想要做一個 Library 記錄程式碼片段(Code Snippets)
新增 Code Block
點擊加號圖案之後,再輸入 Code 按下 Enter,也可以用 /code 按下 Enter 來快速呼叫程式碼區塊,你便可以在底下輸入框打下程式碼,也可以貼上程式碼,別忘了選擇程式語言是哪一種
排列程式碼區塊
利用拖曳方式將程式碼區塊移動,變成一行有兩欄的成果,當你滑鼠移到區塊最左邊會出現⋮⋮ Icon,便可以開始拖曳
程式碼自動換行
程式碼區塊太長,不喜歡出現橫向捲軸怎麼辦?Notion 也有提供 Wrap Code 的功能,也就是自動換行。
將滑鼠移到程式碼區塊,會出現•••
Icon,點擊後會出現選單,再將 Wrap Code 開啟即可,它會將過長的程式碼自動換行,消滅橫向捲軸
一鍵複製程式碼
Notion 也有提供複製程式碼的功能,將滑鼠移到程式碼區塊右上角,會出現「Copy to clipboard」的按鈕,點擊後便會複製整個區塊程式碼,你可以貼在任何你喜歡的地方
注意:若是僅能閱讀(Read-Only)的使用者,是看不到「Copy to clipboard」按鈕的
程式碼加上說明、評論
你可以在程式碼區塊(Code Block)留下評論,就像其他區塊留下評論的操作一樣。
滑鼠移到程式碼區塊最左邊會出現•••
,點擊 Icon,會出現小選單,其中點擊 Comment,便可以留下評論
你也可以和協作對象用 @
標記他們,當評論完成後,Notion 便會跳通知給你的協作對象
此此之外 Notion 也開放嵌入 Replit 囉!這代表著你可以在 Notion 寫 Code 也可以直接運行代碼
Replit 是什麼
如果你沒有聽過 Replit,你有可能聽過 CodePen,這些服務都是相同的,讓你直接在瀏覽器上編輯和執行程式,有效降低你在學程式初期因為架設環境的難題而放棄,你可能有聽過諸如此類的話:「從 0 到 1 放棄學程式」,都是因為光是架設環境寫出一句 Hello World 就會讓很多初學者放棄
Replit 提供目前常見的程式語言,包含像是 Java、Python、Php 、JavaScript 等等,也是一個很好的教學平台,有些線上課程像是 知名AlphaCamp 也曾用過 Replit 作為學生練習平台。
Embed Replit
在 Notion 貼上 Replit 網址,出現小選單,選擇 Embed a Repl,便會自動嵌入