iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0

我們在上一篇文章將我們會共用的組件全都提取出來形成一個layout,接下來我們要做的是將md的內容也用一個模板去套用,這樣可以保持未來撰寫部落格內容的一致性:

https://ithelp.ithome.com.tw/upload/images/20241002/20169170ZNNwdJkh2X.png

在上圖中的右側我們新增了一個MarkdownBaseLayout.astro的layout組件,並且寫了一個名為frontmatter的astro props去取得md檔的頂部訊息,並且再應用frontmatter裡面的各項內容去顯示相關的內容,值得注意的是我們在MarkdownBaseLayout.astro下方寫了一個slot,這個slot將會是當我們將這個layout引入md檔的時候,md檔的內容就會呈現在這個slot中

在上圖的左側我們回到了post-1的檔案裡面去完善我們的頂部訊息,並且引入了一個MarkdownBaseLayout.astro的layout組件,圖片的部分為了示範我在public的資料夾中放了一個名為picture的圖片作為引用

讓我們來看看完成之後的結果吧!

https://ithelp.ithome.com.tw/upload/images/20241002/201691709s4QxfRP5s.png

我們可以看到圖片中網頁和post-1及MarkdownBaseLayout.astro都有著對應的紅框內容,而且下面橘框的內容也是各自對應,這是我覺得很酷的地方,我們接下來也可以將其他的頁面也都用相同的方法去處理,頁面就會有統一的格式內容了!!

不過有個困擾的地方是,當我們點進blog卻沒有導覽頁,這樣我們要看其他頁面的內容就很麻煩,所以我們勢必要在外面再套一層我們之前做好的layout才行

https://ithelp.ithome.com.tw/upload/images/20241002/20169170pkBKZN3ZaJ.png

就如同上圖所示,我們只要給我們MarkdownBaseLayout.astro在套上之前所做的baseLayout組件就可以啦,讓我們來看看最後的結果

https://ithelp.ithome.com.tw/upload/images/20241002/20169170uQlqCGFBP2.png

這麼一來我們裡面的文章也能夠擁有我們的layout啦~


上一篇
和2魚坐牢的第二十二天-Astro之佈局元件
下一篇
和2魚坐牢的第二十四天-Astro之動態獲取文章
系列文
和鱷魚組長的坐牢30天之vue的簡易todolist和Astro的簡易部落格實現30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言