<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      在 VSCode 下用 Markdown Preview Enhanced 愉快地寫文檔

      • 用 Markdown + Git 寫文檔真是爽
      • MPE 功能很強大,請吃安利
      • 用 ditta 畫簡圖輕松愉悅
      • 在文檔里插入代碼,隨時驗證自己的想法
      • 小型黑科技:制作動態Markdown
      • 小型黑科技:使用導入文件功能進行非線性寫作
      • 小型黑科技:用 Markdown 寫幻燈片

      目標用戶是有寫文檔需求的:策劃、有程序基礎的策劃、有策劃基礎的程序和美術,等等等等。

      1. 為什么要用 Markdown 寫文檔

      你可能沒聽說過 Markdown,也可能聽說過但沒有習慣用它寫文檔。為了這樣的你!我們首先來說 Markdown 是什么,以及使用它的優點。

      Markdown 是一種語言,這種語言的設計思路是:

      • 它是一種語言而不是二進制文件格式,可以純文本讀和寫
      • 寫的時候盡可能可讀性高(這里隆重對比另一種能純文本寫出格式的語言 LaTeX,雖然二者目的原理都完全不同)
      • 在顯示的時候被翻譯成 HTML 顯示,可以很清楚很好看

      我們一點一點分析:

      首先,Markdown 是一種純文本格式,因此特別適合于Git進行版本控制。

      想象一個項目有一個圖文并茂的描述文檔,doc 格式,大小5M。現在我們面臨一個抉擇——是把它放到 Git 上還是網盤上呢?

      • 如果放到 Git 上,那么對這個文檔的一丁點更改都會引起一個5M大小的二進制文件的改變。非常浪費。
      • 如果放到網盤上,那么這個文檔就會丟失大量的版本信息。重要的改動經常需要手動備份來保留。非常麻煩。

      但是用 Markdown 之后,文檔就和代碼一樣是一行行的純文本;圖片之類的資源是外鏈的,不改動圖片本身就不會產生提交。這就大大提高了版本控制的效率。文檔可以像代碼一樣享受版本控制的優點了。

      其次,Markdown 在設計時就考慮了可讀性,比如下面這段 Markdown 代碼:

      1. # Sec 1
      2. ## Sec 1.1
      3. The *quick* brown fox jumps over the **lazy** dog.

      我覺得對于一個沒接觸過 Markdown 的人來說這段話也不難理解。有一些奇怪的星號,但是不影響我們找到正文。

      如果是 LaTeX 的話,要寫成這樣:

      1. \documentclass{article}
      2. \begin{document}
      3. \section{Sec 1}
      4. \subsection{Sec 1.1}
      5. The \emph{quick} brown fox jumps over the {\bfseries lazy} dog.
      6. \end{document}

      放心吧,不加語法高亮初學者連正文和 LaTeX 命令都分不開。

      Markdown 的語法之所以如此簡潔,一方面是因為用一些簡單的符號代替了繁雜的格式描述,另一方面是因為 Markdown 本身不關心自己會被如何顯示,而是將顯示的工作交給了預覽工具。(這和 LaTeX 完全相反。)這也是接下來要說的:

      第三,Markdown 在顯示時會被預覽工具翻譯為 HTML。

      比如# XXX會被翻譯為<h1>XXX</h1>

      這一點非常了不起,因為:

      • Markdown 是 HTML 的一種簡寫,在顯示時會『解壓縮』成 HTML。理論上你可以在 Markdown 里直接插入合法的 HTML 塊,他們會成為最終的 HTML 的一部分,做到 Markdown 本身做不到的事。
      • Markdown 的格式可以由 CSS 描述
        • 預覽工具或者用戶可以自己決定用什么 CSS 顯示,怎么好看怎么來
        • CSS 這個東西我們都知道,是可以懟天懟地懟空氣的……
      很多學術論文都要求用 LaTeX 來寫,因為格式統一優美,不容易出錯。缺點是需要漫長的時間適應和學習 LaTeX,而且經常遇到一個模板就要處理一個模板特有的 bug。 有沒有這樣一種可能,一個 Markdown 預覽工具通過合理的翻譯和合理的 CSS 搭配,來滿足學術論文對于格式的精致要求。 我覺得在今天這是可能的。而且做出來是大功一件。如果你知道有這樣的成果的話請告訴我。

      2. 為什么要用VSCode

      因為我是微軟信者。

      ……咳咳,如果你不像我這樣有強迫癥的話,用 Atom、Sublime 之類的文本編輯器是完全可以的。(在VSCode之前我用Sublime寫了很久的 Markdown。)

      或者有很多軟件都是專門為編寫 Markdown 而開發,可以試一試。——但我不得不說,專門寫 Markdown 的軟件要么不好,要么收費,要么是在線的。

      3. 說起來,為什么要本地寫Markdown

      之前我都沒思考過這個問題。寫到剛才那一段的時候我才突然意識到:對啊,現在一些在線的編輯器對 Markdown 的支持已經非常好了。比如有道云筆記或者作業部落的Cmd Markdown。為什么不用這些在線編輯器呢。

      答案是沒什么不可以的。考慮到剛才說的兩款在線編輯器甚至有客戶端,甚至解決了沒有網絡時的寫作問題。再考慮到這種成熟的在線服務都有著還不錯的界面,我覺得特別適合剛上手 Markdown 的同學寫文檔。

      對我個人而言,選擇本地寫而不是在線寫的原因是:

      • 目前我看到的功能最強的 Markdown 工具仍然是 MPE
      • 在線文檔編輯是第三方服務,沒有放在自己的服務器上踏實——我們都知道第三方服務其實沒什么不安全的,但就是不踏實
      • 有一些私人文檔我們一點都不想它在線
      • 放在本地,或者放在 Git 上,可以讓項目文檔隨著項目進展第一時間更新,在團隊合作中避免『我不知道更新了』『我沒看到更新』『我網不好刷新不出來』之類的扯皮
      題外話,如果你要用這二者之一的話——Cmd Markdown 的功能十分豐富,甚至接近了本文要說的MPE;而有道云筆記雖然功能少,但更接近最初的 Markdown 設計,更簡明。

      4. 特別基本的Markdown語法

      基本的 Markdown 語法非常簡單:

      • 用#開頭的行表示這是一個標題,如果是二級標題,就兩個#,三級標題就三個#……
      • 以*開頭的行,表示這是一個無序列表;而以數字序號開頭的行,表示這是一個有序列表
      • 以大于號>開頭的行被認為是一段引用的文字(你可能在一些論壇,或者郵件客戶端里見過這種使用方法)
      • 沒有特殊符號開頭的文字就是正文段落。正文段落之間必須有空行。沒有空行的換行會被認為仍然是一段話
      • 在任何時候都可以用一對*將內部的文本標為斜體,用一對**將內部的文本標記為粗體
      • 前面空四格的段落被認為是代碼段,或者可以認為這個段落內容不會被解釋成任何格式
      • 連續敲出你能想到的合適的符號來生成一段分割線,比如***或者---或者___(但是能用---的時候為什么要寫___……)
      • 還可以插入鏈接、圖片等等,直接看例子吧。

      例子在這里:

      sdlfk

      這段是最最基礎的 Markdown 語法了。但是似乎還不太夠,缺了什么呢?

      對了,缺了表格。

      于是又出現了表格的語法。

      注意:表格已經不是Markdown的基礎語法了,詳見本文最后一部分的說明。 順帶一提,多年以前如果想在Markdown里插入表格要自己寫 HTML。

      即便不安裝任何插件,VSCode 也是支持 Markdown 的語法分析和預覽的。你可以建立一個 .md 的文件然后隨便寫著玩,按 Ctrl+Shift+V 預覽結果。

      理論上,沒有空行的文本塊會被解釋為同一段話。所以最佳的寫法是每寫句話回車一次。這樣改動任意一句話對整篇文章的影響都是最小的。 但是這樣不優雅。優雅很重要。 另外,唉……這里有一個悲傷的故事我們放到文末再說。

      就像這樣

      好了,到此為止 Markdown 的功能已經能夠應付簡單文檔的編寫了。對于游戲開發(或者說軟件開發)來說,以上這些功能足以編寫能夠讓人看懂的文檔。

      復雜的內容總是可以通過插入圖片來解決——但是不優雅。雖然在 Word 文檔里插入 Excel 表格這種邪道做法我一向是不支持的,但也不能什么事都用插入圖片解決啊。那我何不用 Photoshop 寫文檔……

      如何解決這個不優雅的問題呢?終于到了本文的主角登場了。


      5. 認識Markdown Preview Enhanced

      MPE 是什么?按照它自己的描述:

      Markdown Preview Enhanced 是一款為 Atom 以及 Visual Studio Code 編輯器編寫的 超級強大的 Markdown 插件。 這款插件意在讓你擁有飄逸的 Markdown 寫作體驗。

      根據我的使用經驗,它沒有自吹自擂。這里是它的文檔,中文的哦。

      MPE 的功能過于豐富因此我不想把他們全列出來,對我而言有用、我想安利的功能主要有:

      • 目錄
      • 批注
      • 合并單元格
      • 插入 LaTeX 公式
      • 用純文本繪圖
      • 運行代碼
      • 導入和導出
      • 制作幻燈片

      下面我們分類介紹。在此之前我們先要知道按 Ctrl+K, V 可以叫出功能強大的 MPE 預覽窗口。

      6. 對Markdown語法的增強

      首先就是目錄,對于長文檔來說,目錄很有必要。

      在 MPE 里最簡單的插入目錄的方法就是在單獨的行里使用 [TOC] 標記。這會在當前位置立即插入一個目錄。

      但是我經常喜歡另一種方式,在要插入目錄的地方加這么一行:

      <!-- @import "[TOC]" {cmd="toc" depthFrom=2 depthTo=3 orderedList=false} -->

      第二種方式會直接將生成目錄的 Markdown 文本插入到文中,就像這樣:

      看,編號還有bug呢

      這樣即使在不支持 [TOC] 標記的編輯器里也可以查看目錄。不過另一方面,使用 [TOC] 標記更簡單,而且現在支持 [TOC] 標記的環境越來越多。而且在 Markdown 里插 HTML 注釋比較難看。所以這是個見仁見智的事情。

      注意不管是哪種方法都有辦法設定顯示在目錄里的標題級別。比如可以忽略四級以下的標題,或者忽略一級標題——因為一級標題應該被用來寫文檔標題。

      其次是批注。MPE 支持用 == 來高亮一段文字。

      文字高亮可以有效提升閱讀體驗。尤其是對于中文來說,粗體和斜體都不是很顯眼,高亮是很實用的。

      不僅如此,MPE 還支持 CriticMarkup 進行更復雜的批注:

      你可能覺得有了版本控制就不再需要批注。但我覺得批注有助于我們看清一個東西在不同時間段是什么樣子、怎么變成了現在的樣子,是很有用的。有一些信息不應該被隱藏在歷史提交里,而應該讓所有人很清楚地查到。

      第三是單元格合并。這一點沒有想象中有用,但偶爾還是會用到的。

      最后關于上下標、Emoji啥的就請大家自己嘗試了。

      7. 一些讓文檔變得優雅的工具

      MPE 內嵌了很多工具,可以將策劃從尷尬的p圖工作中解放出來(投入尷尬的編程工作的懷抱)。

      首先是用 LaTeX 寫數學公式。LaTeX 這個東西我腹誹(不,我是明著罵)的地方非常多,但唯有寫數學公式我是很欣賞的。

      例子是 MPE 文檔給的,我懶得編了。
      咦?但是現在我可以不在 LaTeX 環境下寫公式了,是不是可以更加肆無忌憚噴 LaTeX 了?

      其次就是可以用代碼描述一些常用的圖表,比如流程圖、時序圖等等,也支持 Vega 的數學圖表(但支持相當有限)。對我來說最有用的反而是大多數人可能不會用到的 ditta

      用 ditta 繪制一個簡單界面

      用 ditta 繪制武器斬味(嗯???)

      ditta 是一個用字符描述圖形的語言,而且是真正的『所見即所得』——你看到的字符怎么擺放,畫出來的圖形就是什么樣的。看上去像是個玩具。但我覺得這個才是和 Markdown 『易寫易讀』氣質最相符的工具。

      ditta 很適合在文檔里插一張簡單的圖畫,描述一個簡單的畫面結構,講清楚自己的想法。大多數情況下我們的文檔里需要的就是這樣的簡圖,而不是特別精美的成品圖(因為它們永遠活在需求里)。從此,我想畫一張圖就不需要打開圖像編輯器畫一張幾十k的圖片,只需要幾十幾百個字符、直接寫在文檔里。然后還有諸如『純文本、易于版本控制』等等一系列的好處我就不贅述了。

      ditta 是我非常非常喜歡并推崇的工具,強烈推薦給喜歡純文本寫文檔的大家。

      如果代碼沒有被執行,沒有畫出圖的話,請  Ctrl+Shift+P 然后執行 Markdown Preview Enhanced: Run Code Chunk。

      8. 在文檔里跑代碼

      被三個單撇號(鍵盤左上角那個鍵)包裹的文本塊會被認為是代碼,這和 Github 的習慣是一致的。(注意!這和 Markdown 原始的規則是不同的。)在單撇號后面加上語言的名字就可以享受到對應語言的語法高亮。

      可以看到和前面那些繪圖的語句原理是一樣的(請對比一下前面的 ditta)。不同點在于前面的繪圖代碼可以被執行,而我們自己寫的這些代碼默認是不能執行的。畢竟隨便運行代碼是很危險的(尤其是代碼塊還可以被隱藏,十分危險)。如果要運行自己寫的語句的話,需要手動打開設置:

      沒變 here

      然后,既然可以跑代碼了,那……就已經沒有什么可怕的了。

      首先,在策劃文檔里隨時跑一跑數值有助于減輕策劃的睿智程度。

      這個傷害公式本身沒有問題,是有用武之地的。但睿智的策劃會在所有的地方都用這個公式。

      把代碼隱藏可以得到更好的文檔效果:

      只要改代碼里的參數,就可以直接在文檔中顯示結果。是不是很棒?

      更妙的是代碼的輸出不僅僅可以是文本,還可以是 HTML 甚至 Markdown。

      HTML 輸出就是把輸出的內容直接插入到 Markdown 生成的 HTML 里,無縫成為文檔的一部分:

      Markdown 輸出則是將輸出的內容當作 Markdown 源代碼的一部分。這意味著我們獲得了自由度極高的動態 Markdown。

      更更妙的是代碼可以分多塊書寫,然后按照一定的順序順次執行。這就使得各種測試調整變得稍微容易了一些。

      9. 導入和導出

      MPE 可以簡單地把其他文件導入到當前文檔中,語法是:

      @import "你的文件"

      簡單明了,鼓掌!

      這個東西的實用之處在于:

      • 直接插入圖片——不需要之前那么復雜的語法
      • 插入很長的代碼——代碼外鏈是個好習慣
      • 插入其他 Markdown

      插入圖片就不說了。插入代碼會讓文檔變得清爽許多:

      i am here

      test.lua 是個200多行的大文件,全寫在文檔內難以接受。

      插入 Markdown 很有意思。除了把多個小文檔合并成一個大文檔這種無腦的用法之外,我覺得最有潛力的用法是——非線性寫作啊!

      如果我們把一些小文件當作卡片的話,善用導入文件功能就可以實現類似 Scrivener 的功能了。雖然用戶體驗上相差甚遠,但是免費啊。

      導出文件比導入文件還好理解:

      • 首先在預覽窗口里右鍵,選擇 Open in Browser
      • 在瀏覽器里打印為 PDF……
      • ……完成

      你可能會說:我的老板需要我給他一個 doc 格式的文檔。嗯,如果你不是正在申請著作權的話,你的老板非要用 doc 而不是 pdf 文檔基本上只有一種可能——他想背著你修改你的文檔。你應該辱罵他。

      如果你不想辱罵他的話,MPE 也是可以導出 doc 文檔的,這個請查閱 MPE 的文檔吧,因為我沒嘗試過所以就不舉例子了。

      10. 幻燈片

      到上面為止,對我個人而言已經足以應付日常的文檔工作了。

      但是還有一種情況,就是要把自己的想法展示給別人。雖然我是覺得打開 A4 大小的 pdf 直接給人講也不錯,不過如果搞個幻燈片不是更讓人開心嘛。

      非常好笑的是 MPE 還支持用 Markdown (當然是增強版的)寫幻燈片。

      我覺得比起『真厲害』,這個功能更傾向于好笑啊哈哈哈哈哈哈哈哈哈

      可以先看看這個例子感受一下制作出來的幻燈片之強大:

      • MPE 支持的絕大部分功能都能用于幻燈片
      • 橫向/縱向切換幻燈片
      • 演講者視圖和注釋(厲害厲害)
      • 全局預覽
      • 動畫
      • 非常自由和比較方便的主題設置

      這個幻燈片的源代碼在這里,可以感受一下,還是很有趣的。

      功能全面,不得不服

      以前上學的時候,我的一個老師曾經說過:幻燈片不需要那些花里胡哨的效果、那么多顏色、那么多動畫,重要的是將內容表達清楚。單色背景+清晰的文字,遠比圖片+動畫表達的效率要高。我當時聽了如醍醐灌頂。

      后來過了幾年我發現——這就是你們賺錢不如隔壁美院輕松的原因啊!

      ……不說這個了,對于不是給外人看的幻燈片,用 MPE 寫還是有很多優點的:

      • 拿自己寫好的文檔稍微改改分頁就能生成幻燈片
      • 專注于內容,而不是表現
      • 非要表現的話也完全達到了一般人用 PowerPoint 能做出來的水平。

      但是客觀的說,這個幻燈片做出來也就是給自己人用的。如果要做給外人看的幻燈片,還是拜托有審美的同事幫忙好好做一個吧。


      X 總結一下

      這篇文章是想給有寫文檔需求的人安利一些好的工具。我覺得軟件,尤其是游戲的策劃都應該有一些程序基礎,在有一些程序基礎的前提下 Markdown 是非常方便的文檔工具,MPE 更可以讓文檔工作變得更有樂趣。

      回顧下這篇文章的主要內容:

      • 用 Markdown + Git 寫文檔真是爽
      • MPE 功能很強大,請吃安利
      • 用 ditta 畫簡圖輕松愉悅
      • 在文檔里插入代碼,隨時驗證自己的想法
      • 小型黑科技:制作動態Markdown
      • 小型黑科技:使用導入文件功能進行非線性寫作
      • 小型黑科技:用 Markdown 寫幻燈片

      這樣 Office 三件套里有兩個可以純文本解決了。Excel...目前真不行……

      XX 一些題外話

      我剛開始接觸 Markdown 的時候,語法異常簡明。沒有目錄、沒有 TODO 支持、甚至沒有表格。

      可以看看Markdown-語法說明來回顧下 Markdown 的香草時代。

      講道理那個時候的 Markdown 不是特別實用。(HTML 的表格手寫太復雜了,所以不如不用表格。)那個時候的 Markdown 更適合寫簡短的說明或者筆記。

      后來逐漸有了表格、有了 TODO 支持,我覺得特別好。再后來一些工具支持 [TOC],我覺得很方便。有了這些東西,完全可以寫出比較完整成熟的文檔了。

      再后來有了各種繪圖的插件,解放了畫圖的生產力。我對這件事懷著喜憂參半的心情。一方面這些功能真的很方便,我也經常用。另一方面,在 Markdown 里大規模插入代碼嚴重破壞了 Markdown 本身的風格。一個雖然全是文本但根本看不出渲染結果的 Markdown 一點也不讓人開心。

      大概也是這個時間前后,不同環境對 Markdown 語法的支持也出現了區別。我們現在甚至不能說最初的 Markdown 語法是大家支持的最小子集。舉例來說,在 MPE 里段落間不空行也不會連成一段,沒有空行的兩行會翻譯成軟回車,有空行的翻譯成硬回車。我之前舉的兩個在線平臺支持的語法也不盡相同。我覺得這種風氣很不好。如果最后每個平臺對 Markdown 的支持都不盡相同,形成了各自的壁壘,那 Markdown 就被毀了。

      我是信奉『沒有限制就沒有創造力』這一派的。所以我推薦下面這個 VSCode 插件:markdownlint,一個看名字就讓我笑出來的好東西。

      目前這個插件規定了45條書寫 Markdown 的規范。大多數非常有道理,少部分非常有道理但不方便。不過我們可以在設置里手動關閉一些特定規則的語法檢查,或者設置特定規則的細節。

      是的,規則025說:一級標題只能有一個,就是文檔標題。而文檔正文中的一級標題應該用二級 Markdown 標題。

      裝了這個插件之后你的 Markdown 文件就會和你的代碼文件一樣到處充斥著綠色波浪線了。如果你看本文到這里能夠 get 到我的笑點的話,你可能就會猜到我看到 Markdown 里面也有綠色波浪線經常會笑出來。

      遇到最嚴重的問題是,cosyvoice.flow.flow_matching - ModuleNotFoundError: No module named 'matcha.models'; 'matcha' is not a package ,那么這里的問題就出在環境變量上,文檔中設置變量的命令為:export PYTHONPATH=third_party/Matcha-TTS:$PYTHONPATH很明顯,這個指向了cosyvoice的子項目Matcha-TTS,所以為什么會遇到這個模塊缺少的原因也很明顯了。最后解決這個問題使用的命令為 $env:PYTHONPATH = "D:\test\cosyvoice\CosyVoice\third_party\Matcha-TTS;"+$env:PYTHONPATH (一次性的環境,下次需要重新設置)




      參考文獻
      http://www.rzrgm.cn/fanxiaozao/p/18578845
      https://blog.csdn.net/while0/article/details/124677531
      特別的請大家給原作者點贊,《Aya Magician 別鬧了》大佬創作不易:
      https://zhuanlan.zhihu.com/p/56699805

      posted on 2025-01-03 00:04  泰勒冪級數  閱讀(1134)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲精品乱码久久久久久蜜桃图片| 一区二区免费高清观看国产丝瓜 | 婷婷色婷婷深深爱播五月| 亚洲高请码在线精品av| 亚洲熟女乱综合一区二区三区| 国产亚洲一在无在线观看| 国产国语一级毛片| 国产午夜精品久久精品电影| 国产成人无码aa片免费看| 国产精品一区二区三区蜜臀| 深田えいみ禁欲后被隔壁人妻| 日韩大片看一区二区三区| 东方四虎在线观看av| 中文字幕乱码一区二区免费| 久久久久人妻精品一区三寸| 四虎国产精品永久免费网址| 欧美牲交a欧美牲交aⅴ图片| 亚洲国产色婷婷久久99精品91| 国产成人理论在线视频观看| 国产午夜伦鲁鲁| 亚洲无av在线中文字幕| 国产精品一区在线蜜臀| 亚洲 国产 制服 丝袜 一区| 蜜臀av一区二区三区精品| 亚洲精品成人A在线观看| 日韩精品久久久肉伦网站| 午夜成人鲁丝片午夜精品| 国产一区二区三区不卡自拍| 色香欲天天影视综合网| 国产精品一区在线蜜臀| 亚洲日韩欧美一区二区三区在线| 国产视色精品亚洲一区二区| 国产农村激情免费专区| av无码av无码专区| 国产亚洲一区二区三区av| 日韩国产精品中文字幕| 国产成人亚洲综合图区| 亚洲精品入口一区二区乱| 精品国产一区二区三区久久女人| 国产自产av一区二区三区性色| 丹凤县|