Table of Contents
หลักจากจบ Part 2 ไปแล้ว เราจะได้หน้า index แบบ Clean Blog แต่ว่ายังไม่มีหน้า Post รวมถึง ไฟล์ต่างๆ ก็ยังดูและจัดการค่อนข้างยาก สำหรับ Part 3 จะพูดถึง Partials Template ซึ่งจะช่วยให้เราแบ่งแยกไฟล์ต่างๆ ออกเป็นส่วนๆ เพื่อให้ง่ายต่อการเขียน เช่น แยกส่วน header
, navbar
, footer
เป็นต้น
Partials Template
การใช้งาน Partials Template ใน Middleman ก็มี syntax ง่ายๆ ดังนี้
ตัวอย่าง จะทำการสร้างโฟลเดอร์ใหม่ ขึ้นมาให้ชื่อว่า partials
อยู่ภายในโฟลเดอร์ source
และไฟล์ต่างๆ ที่เราต้องการจะแบ่งส่วน ก็จะเซฟไว้ในโฟลเดอร์นี้ เช่น partials/_header.erb
, partials/_footer.erb
เป็นต้น (ขึ้นต้นด้วย _)
คราวนี้ลองเปิดไฟล์ layout.erb
ซึ่งไฟล์ยาวมากๆ แต่เราสามารถแบ่งส่วนมันได้ จนทำให้ตอนนี้ไฟล์ layout.erb
เหลือแค่นี้
ส่วนอื่นๆ ก็จะถูกแยก ออกไปเซฟไว้แต่ละส่วน เพื่อให้ง่ายต่อการจัดการ เช่น
ไฟล์ partials/_header.erb
ไฟล์ partials/_navbar.erb
ไฟล์ partials/_footer.erb
Index Page
ตอนนี้หน้า index.html.erb
ก็จะมีการลิงค์ไปยัง Partials ชื่อว่า site_header.erb
ดังนี้
ไฟล์ partials/_site_header.erb
Create Post Template
ต่อมาทำหน้า Template สำหรับ Single Post โดยสร้างไว้ที่ partials/post.erb
ดังนี้
โดยเราสามารถเข้าถึง content ของ Post ได้ด้วย current_article.body
และไฟล์ partials/_post_header.erb
เป็นดังนี้
Config.rb
ต่อมาทำการแก้ไขไฟล์ config.rb
นิดหน่อย โดยตั้งค่าให้เป็น Pretty URLs
แก้ไขหน้า layout.erb
ทำการแก้ไขหน้า layout.erb
อีกครั้ง เพื่อเช็คว่า หากเป็นหน้า Single Post ให้แสดง Post Template หากเป็นหน้า index ก็ให้แสดงไฟล์ index.html.erb
สุดท้าย เพื่อเรามีบทความหลายๆบทความ การจะเซฟไว้ที่โฟลเดอร์ source
มันจะทำให้ดูรก ก็เลยสร้างโฟลเดอร์ใหม่ ขึ้นมาโดยเฉพาะ เพื่อเอาไว้จัดเก็บบทความทั้งหมด ผมตั้งชื่อให้มันว่า source/posts
นำไฟล์บทความทั้งหมด ย้ายไปไว้ในโฟลเดอร์นี้ และแก้ไข config.rb
โดยแก้จาก
เป็น
สำหรับไฟล์ Part 3 สามารถดูได้ที่นี