【Marp】基于Markdown-Marp快速制作PPT

【Marp】基于Markdown-Marp快速制作PPT

文章目錄

  • 【Marp】基于Markdown-Marp快速制作PPT
    • 零、參考資料
    • 一、Marp基本語法(創建分頁,排版圖片,更換主題,Marp擴展指令修改樣式)
      • 1、創建新的PPT頁面
      • 2、插入圖片 & 排版圖片
      • 3、更改全局主題(default,uncover,gaia)
      • 4、更換單個幻燈片的背景和文字顏色(Marp擴展指令(Directives))
      • 5、將幻燈片導出為 PDF/PPT
    • 二、Marp高階(Marp擴展指令,CSS全局樣式,CSS局部樣式,自定義CSS樣式)
      • 1、通過Marp擴展指令設置相應樣式(全局指令,局部指令)
      • 2、CSS全局樣式修改/局部樣式修改(CSS與MD的映射,CSS與Marp擴展指令的映射)
        • 1)全局樣式修改
        • 2)局部樣式修改
      • 3、自定義CSS主題文件(路徑配置,聲明主題并在MD中引用)
    • 三、Marp實戰
      • 1、關于組會PPT的Demo
      • 2、在PPT中快速插入代碼和表格

零、參考資料

  • Marp官網
  • Marp Github
  • MyMd2PPT
  • Markdown轉組會模板ppt
  • Marp for VS Code v1: IntelliSense for Marp directives
  • 又一款VSCode神級插件Marp,用Markdown來做PPT
  • Markdown PPT | 如何自定義Marp主題
  • 用Markdown制作幻燈片-五分鐘學會Marp(上篇)-M110a
  • 用Markdown制作幻燈片-五分鐘學會Marp(下篇)-M110b
  • Awesome Marp:我開發了一整套 Marp 主題,Markdown 轉換的 PPT 也可以很好看!

除了Marp,Slidev也可以將md轉成PPT

  • Slidev 官網(生態比Marp好)
  • Slidev-更適合程序員使用的PPT制作工具

一、Marp基本語法(創建分頁,排版圖片,更換主題,Marp擴展指令修改樣式)

參考

  • 又一款VSCode神級插件Marp,用Markdown來做PPT

  • 用Markdown制作幻燈片-五分鐘學會Marp(上篇)-M110a

  • 用Markdown制作幻燈片-五分鐘學會Marp(下篇)-M110b

    點擊 VS Code「文件」選項卡,選擇「新建文件」,在彈出的面板,文件類型選擇 Marp Markdown。選擇 Marp Markdown 文件后,會新建一個下圖的文件,開頭有一個配置選項 marp: true,表示使用 Marp 來創建 PPT。點擊文件右上角的「預覽」按鈕,就可以在右側看到第一個幻燈片頁面。

1、創建新的PPT頁面

末尾添加 3 個短橫線 -,下方就會多出一張新的幻燈片。

2、插入圖片 & 排版圖片

如果我們想要在幻燈片中插入圖片,就會略微麻煩一些。直接插入的本地圖片,渲染后會顯示為丟失,解決的方法是先將本地圖片上傳到網上(圖床),再粘貼圖片鏈接 ,圖片才能正常顯示。關于圖片的語法如下:

  • 圖片縮放
    在這里插入圖片描述

  • 圖片處理

    在這里插入圖片描述

  • 背景圖片排版

    • 水平排版:
      在這里插入圖片描述

    • 垂直排版:

    在這里插入圖片描述

    關于圖片的更多排版參數,參考 Image syntax

    在這里插入圖片描述

3、更改全局主題(default,uncover,gaia)

Marp 渲染得到的幻燈片默認為白底藍/黑字,如果你不喜歡默認的樣式,可以在 Markdown 文件的開頭,更改 theme 字段的值,來更改幻燈片的全局主題。

theme 字段有 3 個值:

  • default(默認值,左對齊排版)
    在這里插入圖片描述

  • uncover:所有內容都居中顯示,引用內容的樣式從豎線變為雙引號

    在這里插入圖片描述

  • gaia:白色背景更改為淺黃色,有點像一些閱讀類 App 的暖光/護眼模式,但我不確定這種顏色是否真的護眼……;如果又想像 uncover 主題那樣,讓內容居中顯示,則再添加一個 class 字段,值設置為 lead 即可;

    在這里插入圖片描述

4、更換單個幻燈片的背景和文字顏色(Marp擴展指令(Directives))

參考 Directives

如果想自定義其中一個或多個頁面的顏色,則在想要更改幻燈片背景色的頁面開頭,加上 <!-- _backgroundColor: 顏色--> 字段,就可以更改頁面的背景色。

在這里插入圖片描述

這里的顏色可以是顏色的英文,例如上面的藍色 blue,也可以是 rgb 值,這有點像是在寫 CSS 樣式了;更改文本內容的顏色,需要在下面多配置一個選項 <!-- _color: 顏色-->,就能自定義文本的顏色
在這里插入圖片描述

5、將幻燈片導出為 PDF/PPT

點擊 Marp Markdown 文件右上角的 Marp 圖標(三角形圖標),在彈出的面板,選擇「Export Slide Deck」,就可以將 PPT 導出為 PDF 啦~

二、Marp高階(Marp擴展指令,CSS全局樣式,CSS局部樣式,自定義CSS樣式)

參考 Markdown PPT | 如何自定義Marp主題

1、通過Marp擴展指令設置相應樣式(全局指令,局部指令)

參考Directives

常用的Marp擴展指令包括

  • 全局指令(指令前不加_)和局部指令(指令前加_)的用法

    # Global directives
    <!-- backgroundColor: aqua -->
    This page has aqua background.# Local directives
    <!-- _backgroundColor: aqua -->
    Add underscore prefix `_` to the name of local directives.
    
  • 全局指令

    在這里插入圖片描述

  • 局部指令

    在這里插入圖片描述

2、CSS全局樣式修改/局部樣式修改(CSS與MD的映射,CSS與Marp擴展指令的映射)

CSS與MD的映射:section - ‘畫布‘,h1 - ‘#‘,blockquote - ‘>‘… ;

CSS與Marp擴展指令的映射:footer - footer,header - header, …

命令只能對Slide的小部分內容進行調整,如果想要對Slide的文字樣式做出調整,那么就需要對全局樣式和局部樣式做出修改,支持CSS語法。

1)全局樣式修改
  • 1)直接在markdown頂部設置style樣式

    --
    marp: true
    theme: gaia
    style: | section { background-color: #ccc; } h1 { text-align:left; }
    ---
    

    全局樣式的修改是以 style 命令進行的,如上面展示的那樣,我們可以在style命令中對樣式進行相關修改。

  • 2)自定義CSS樣式文件,修改全局樣式主題

    ---
    marp: true
    theme: myThemes
    paginate: false
    ---# 基于大數據技術的農業產業園智能化管理與優化研究
    
    /* @theme myThemes */@charset "UTF-8";
    @import 'uncover';/* @import-theme 'default'; */h1 {text-align:left;color: #D32E33;margin-top: 20px;margin-bottom: 20px;font-size:40px;line-height: 25px;
    }
    

    其中myThemes.css為自定義的CSS樣式文件,其中的<h1>標簽對應MD中的#,會影響MD對應內容的顯示效果

2)局部樣式修改

在MD中添加CSS樣式(加上scoped

參考 Scoped style

如果只想修改本頁PPT的樣式,可以通過<style scoped>...</style>來添加當前頁指定標簽的樣式,如果不帶上scoped,該樣式默認會作為下一個分頁的樣式。

---
marp: true
theme: myThemes
paginate: false
---
<!-- backgroundImage: url("./images/homePage.png") -->
<style scoped>
h1 {text-align:center;color: #D32E33;margin-top: 20px;margin-bottom: 20px;font-size:60px;line-height: 70px;
}
</style># 基于大數據技術的農業產業園智能化管理與優化研究---
<!-- backgroundImage: url("./images/header.png") -->
<!-- _header: 經驗分享 --># markdown筆記轉為帶模板的組會ppt

比如上面展示了首頁大標題且居中的效果,但不會影響到下一個分頁的樣式

在這里插入圖片描述

3、自定義CSS主題文件(路徑配置,聲明主題并在MD中引用)

1)關于CSS文件的路徑配置

如果想要使用自己的CSS主題文件,你首先需要在當前md文件夾下新建.vscode 文件夾,在該文件夾下新建settings.json文件,添加如下內容。

{"markdown.marp.themes": ["https://example.com/foo/bar/custom-theme.css","custom theme.css path",]}

custom theme.css path 要添加自定義主題文件的路徑,例如 ./themes/UCASSimple.css

2)關于CSS文件中的主題別名設置

除去上面的文件,在CSS 文件頭部需要添加 /* @theme <custom theme name>*/ 來聲明是這是一個Marp主題,這樣在編寫.md 文件時就可以借助 theme: <custom theme name> 使用自定義的主題了。

隨后CSS文件中需要利用@import 導入已有的主題文件,目前Marp官方有default gaia uncover 三款主題。

接著就可以編寫CSS文件自定義主題了。

3)CSS文件示例

/* @theme UCASSce */@charset "UTF-8";
@import 'uncover';section {font-size: 25px;padding: 50px;text-align: left;font-family:Arial, Helvetica, sans-serif;background:whitesmoke;}h1 {text-align:left;color: rgb(60, 112, 198);margin-top: 150px;margin-bottom: 0px;font-size:72px;}header {left: 50px;right: 50px;top: 10px;height: 50px;background-image: url("./images/logo.png"); background-position: right top;background-repeat: no-repeat;background-size: 200px;text-align:left;color: rgb(60, 112, 198);font-weight: bold;font-size:36px;}

自定義CSS樣式文件沒有起效果的主要原因

  • .vscode文件夾不是項目文件夾下的一級文件夾

    在這里插入圖片描述

  • .vscode/setting.json中引用的css文件相對路徑有誤,此時md文件會報錯:

    The specified theme "myThemes" is not recognized by Marp for VS Code.marp-vscode(unknown-theme)
    

    在這里插入圖片描述

三、Marp實戰

1、關于組會PPT的Demo

參考MyMd2PPT

---
marp: true
theme: TsinghuaPPT
paginate: false
---
<!-- backgroundImage: url("./images/title.png") --><!-- _header: 經驗分享 --># markdown筆記轉為帶模板的組會ppt## 動機
個人習慣用markdown來記錄筆記,但是組會匯報又需要固定的模板,一遍遍復制過去太耗時間,于是需要尋找一個高效的md轉換為組會ppt的方法## 步驟1. 安裝Marp for VSCode
2. 看其他教程學習Marp基礎用法
3. 在.vscode中注冊自定義主題
4. 編寫自定義theme的.css文件
5. 享受效率吧!---<!-- headingDivider:  -->
<!-- prerender: true -->
<!-- _header: 工作匯報 --># 一級標題
一級內容
> “How well does simulation match the real world? What is the value of simulation vis-a-vis testing in a physical environment that includes other vehicles, pedestrians, and other road users?  
> 模擬與真實世界的匹配程度如何?在包含其他車輛、行人和其他道路使用者的物理環境中,仿真對測試的價值是什么?” ([pdf](zotero://open-pdf/library/items/9AULW8RM?page=1))
## 二級標題
二級內容<!-- _footer:  ■ 總結框模板  -->---![bg](./images/thanks.png)

其中PPT主題用到的CSS樣式如下:

/* @theme TsinghuaPPT */@charset "UTF-8";
@import 'uncover';/* @import-theme 'default'; */section {font-size: 25px;padding-left: 50px;padding-right: 45px;text-align: left;letter-spacing: 2px;font-family:Arial, Helvetica, sans-serif;background-image: url('./title2.jpg') ;/* background-repeat:no-repeat; *//* background-attachment:fixed; *//* background-position:center; *//* margin-top: 40px; */padding-top: 75px;}h1 {
text-align:left;
color: rgb(146, 46, 142);
margin-top: 20px;
margin-bottom: 20px;
font-size:40px;
line-height: 25px;
}h2 {
text-align:left;
margin-top: 12px;
font-size: 30px;
line-height: 25px;
margin-bottom: 15px;
}h3 {text-align:left;margin-top: 10px;margin-bottom: 12px;font-size: 27px;line-height: 25px;}p {text-align:left;font-size: 22px;margin-top: 7px;margin-bottom: 10px;letter-spacing: 1px;/* text-indent: 50px; */
}header {left: 57px;right: 50px;top: 15px;height: 50px;/* background-image: url("./header.png"); background-position: center;background-repeat: no-repeat; *//* background-size: 200px; */text-align:left;color: rgb(146, 46, 142);font-weight: bold;font-size:40px;
}footer {height: auto;font-size:28px;border-color: rgb(146, 46, 142);/* border: 10px; */border-width: 4px;border-style: solid;font-weight: bold;list-style-type: square;content: 'shsh';padding-left: 20px;padding-top: 12px;padding-bottom: 12px;color: rgb(37, 64, 97);/* display:inline-block; */
}/* blockquote {background-color: rgba(231,247,239,1.0);padding: 10px;padding-inline-start: 20px;border-radius: 10px;
} */blockquote {background: rgba(173, 216, 230, 0.15);border-left: 10px solid rgb(173, 216, 230);/* margin: 1.5em 10px; */padding: 0.5em 10px;border-top-right-radius: 3px;border-bottom-right-radius: 3px;/* quotes: "\201C""\201D""\2018""\2019"; */
}
blockquote:before {color: #ccc;content: none;/* font-size: 4em;line-height: 0.1em;margin-right: 0.25em;vertical-align: -0.4em; */
}
blockquote:after {color: #ccc;content: none;/* font-size: 4em;line-height: 0.1em;margin-right: 0.25em;vertical-align: -0.4em; */
}
blockquote p {display: inline;
}

效果如下:

在這里插入圖片描述

在這里插入圖片描述

2、在PPT中快速插入代碼和表格

這里可以結合Markdown語法優勢,在PPT中快速插入代碼、公式和表格

在這里插入圖片描述
在這里插入圖片描述

但是存在的問題是markdown的表格和代碼不太好水平排版

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214612.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214612.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214612.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小功能實現(二十)分類統計,Map取值自增

前言 從Map取值&#xff0c;根據獲取的類型進行統計&#xff0c;若有則1&#xff0c;若無則新增新的分類純屬靈機一動 步驟 for (String str : stringList) {int counttypeMap.getOrDefault(str,0);typeMap.put(resultList[2],count); }

解決刪除文件后 WSL2 磁盤空間不釋放的問題

查看 Linux distributions 打開 PowerShell 并執行如下命令&#xff1a; wsl -l -v 搜索并找到 ext4.vhdx 文件 我的 ext4.vhdx 文件如下&#xff1a; C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx 由于…

vue中yarn install超時問題

囚籠中的網絡固然可以穩定局勢&#xff0c;不讓猴子們得以隨時醒悟&#xff01;給你吃的你就好好吃&#xff0c;不要有其他的翻然醒悟的時刻。無論如何&#xff0c;愚蠢的活著也是一種幸福&#xff0c;聽著那些耐心尋味的統計幸福指數&#xff0c;我們不由的幸福的一批。。 最…

軟件開發流程分析

軟件開發流程分析 相關概念1 原型設計2 產品設計3 交互設計4 代碼實現詳細步驟 相關概念 前端&#xff1a;自研API&#xff0c;調用第三放API 后端&#xff1a;自研API&#xff0c;第三方API 數據庫&#xff1a;Mysql&#xff0c;數據采集&#xff0c;數據遷移 服務器&#xf…

算法與數據結構--最短路徑Dijkstra算法

題目&#xff1a; 算法與數據結構實驗題 10.20 迷路 ★實驗任務 學長經常迷路&#xff0c;現在他又遇到問題了&#xff0c;需要求救。 假設他有一張地圖&#xff0c;上面有N個點&#xff0c;M條路&#xff0c;他現在在編號為S的地方&#xff0c;想要去編號為E的地方&#x…

Linux中的幾個重要指令

關於 Process 處理的指令 1. ps ps 是用來顯示目前你的 process 或系統 processes 的狀況。 以下列出比較常用的參數: 其選項說明如下: -a 列出包括其他 users 的 process 狀況。 -u 顯示 user - oriented 的 process 狀況 。 -x 顯示包括沒有 terminal 控制的 process 狀…

程序員養生指南。。。

【關注微信公眾號&#xff1a;跟強哥學SQL&#xff0c;回復“筆試”免費領取大廠SQL筆試題。】 作為一個程序員&#xff0c;確實需要特別關注健康問題。長時間的熬夜加班、久坐不動等工作習慣可能會導致身體亞健康狀態。以下是一些養生延壽的建議&#xff1a; 1. 定期運動&…

數據結構:第13關:查找兩個單詞鏈表共同后綴的起始結點

任務描述編程要求 輸入輸出測試說明來源 任務描述 本關任務&#xff1a;假定采用帶頭結點的單鏈表保存單詞&#xff0c;當兩個單詞有相同的后綴時&#xff0c;則可共享相同的后綴空間。 例如&#xff0c;“loading”和“being”的存儲映像如下圖所示&#xff1a; 設str1和str2…

離線環境下安裝python庫(推薦pip download)

離線環境下安裝python庫&#xff08;推薦pip download&#xff09; 目錄 1.需求 2.失敗操作&#xff08;注意&#xff09; 3.成功操作 4.其它參考 1.需求 機器部署web系統環境后&#xff0c;就不可再次聯網&#xff0c;所以升級python web后端&#xff0c;需要離線安裝pyt…

【LLM】大模型之RLHF和替代方法(DPO、RAILF、ReST等)

note SFT使用交叉熵損失函數&#xff0c;目標是調整參數使模型輸出與標準答案一致&#xff0c;不能從整體把控output質量&#xff0c;RLHF&#xff08;分為獎勵模型訓練、近端策略優化兩個步驟&#xff09;則是將output作為一個整體考慮&#xff0c;優化目標是使模型生成高質量…

火山引擎邊緣計算用硬核助力賽事直播

經過一個多月激烈爭奪&#xff0c;2023英雄聯盟全球總決賽終于在11月19日落下帷幕。精彩的對決和高熱話題使得直播平臺觀賽人數暴增&#xff0c;給直播平臺穩定性和資源儲備提出了巨大的考驗。

推薦3dmax常用15款插件,快來了解一下吧!

推薦3dmax常用15款插件&#xff0c;快來了解一下吧&#xff01; 插件是3ds MAX軟件的重要組成部分&#xff0c;提供了太多便利&#xff0c;也提升了建模、渲染和動畫的效率&#xff0c;下面就給大家推薦25款常用的3dMax插件。 1&#xff09;DashedShape DashedShape實線轉虛線…

CentOS修改SSH端口號和禁止root用戶直接登錄

原文在 https://cloud.tencent.com/developer/article/1124500 1、使用vi編輯器打開ssh配置文件 /etc/ssh/sshd_config Port 22 #在第三行或第四行&#xff0c;如果前面有井號&#xff0c;請刪除&#xff0c;修改為65534以下即可 2、更加安全的設置&#xff0c;禁止ROOT登陸…

3c分支語句和循環語句(非重點)

文章目錄 1. 什么是語句&#xff1f;2. 分支語句&#xff08;選擇結構&#xff09;2.1 if語句2.1.1 懸空else2.1.2 if書寫形式的對比 2.2 switch語句2.2.1 在switch語句中的 break2.2.2 default子句 3. 循環語句3.1 while循環3.1.1 while語句中的break和continue3.2 for循環3.2…

C++(17):invoke_result聲明函數的返回值類型

通常的C++程序,函數的返回值是確定的類型,那么為什么需要通過invoke_result來聲明函數的返回值類型呢? 用一個簡單但不一定實際的例子進行說明: #include <iostream> using namespace std;int funcAdd(int a, int b) {return a + b; }int wrapFuncAdd(int a, int b…

研表究明,文字的序順并不定一能響影GPT-4讀閱

深度學習自然語言處理 原創作者&#xff1a;yy 很多年前&#xff0c;你一定在互聯網上看過這張圖&#xff0c;展示了人腦能夠閱讀和理解打亂順序的單詞和句子&#xff01;而最近東京大學的研究發現&#xff0c;大語言模型&#xff08;LLMs&#xff09; 尤其是 GPT-4&#xff0c…

對象與對象數組

對象與對象數組 實驗介紹 本章節主要介紹對象數組和對象成員。在實際的開發中&#xff0c;對象數組和對象成員是經常使用的&#xff0c;所以首先需要學習對象數組與對象成員的各種使用方法。 提示&#xff1a;為了方便課程講解&#xff0c;示例代碼使用類內定義的方式實現&a…

19 redis緩存數據同步問題

1、緩存穿透 指緩存和數據庫中都沒有的數據&#xff0c;而用戶不斷發起請求。由于緩存不命中&#xff0c;并且出于容錯考慮&#xff0c;如果從存儲層查不到數據則不寫入緩存&#xff0c;這將導致這個不存在的數據每次請求都要到存儲層去查詢&#xff0c;緩存就沒有意義了。 在…

掌控安全 -- header注入

http header注入 該注入是指利用后端驗證客戶端口信息&#xff08;比如常用的cookie驗證&#xff09;或者通過http header中獲取客戶端的一些信息&#xff08;比如useragent用戶代理等其他http header字段信息&#xff09;&#xff0c;因為這些信息是會重新返回拼接到后臺中的&…

JAVA定時任務技術總結

在日常的項目開發中&#xff0c;多多少少都會涉及到一些定時任務的需求。例如每分鐘掃描超時支付的訂單&#xff0c;每小時清理一次數據庫歷史數據&#xff0c;每天統計前一天的數據并生成報表&#xff0c;定時去掃描某個表的異常信息&#xff08;最終一致性的方案也可能涉及&a…