Chapter 2 HTML/CSS 2
2.1 教材
網頁程式設計基礎: https://www.openedu.tw/course.jsp?id=765
下載RmdTemplateHtml.Rmd與plainHTML.Rmd(必需有加入Google classroom此連結才會有效)
2.2 學習主題
建立一個Project.
Rmd檔引入外部檔案。
路徑。
2.3 主題內容
2.3.1 建立Project
File > New Project > New Directory/Existing Directory
2.3.2 Rmd frontmatter
- 由Rmd產生單純html檔的設定
output:
html_document:
theme: null
highlight: null
mathjax: null
self_contained: false
- head content外部引入
output:
html_document:
includes:
in_header: "外部檔案路徑"
若frontmatter已有output > html_document設定,只需貼上includes的部份,如:
output:
html_document:
theme: null
highlight: null
mathjax: null
self_contained: false
includes:
in_header: "外部檔案路徑"
- after-body content外部引入
output:
html_document:
includes:
after_body: "外部檔案路徑"
若frontmatter已有output > html_document > includes設定,只需貼上after_body的部份,如:
output:
html_document:
theme: null
highlight: null
mathjax: null
self_contained: false
includes:
in_header: "外部檔案路徑"
after_body: "外部檔案路徑"
2.3.3 Rmd產生body內容
- 其他body部份放入html語法。
Rmd裡,frontmatter以外的部份knit完都會是body的內容,如果要在body裡放html 語法有兩種作法:
- 直接放html語法(但不可內縮超過一層)
內縮一層可以
<table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
</table>
內縮兩層不行
<table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
</table>
- 先插入一個r chunk (點Knitr鍵右邊的Insert > R 可產生r chunk), 再輸入
htmltools::includeHTML("外部html檔案")
此法不受html語法內縮幾層影響。
2.4 課後練習
2.4.1 A
下載資料匣02_A_exercise完成page1.Rmd及subpage/page2.Rmd使兩者knit完的html畫面如下,使用table及img相關html tags.
2.4.2 B
網頁設計往往會使用某些現成架構(framework)來簡化設計過程,如Bootstrap。要使用現成framework通常需要在head及after body加上某些html語句。請使用Rmd,依Bootstrap Quick Start
下載02_B_exercise.Rmd(必需有加入Google classroom此連結才會有效),透過includes
設定來產生Bootstrap的架構。