Grav - การเชื่อมโยงเพจ

ในบทนี้เราจะเข้าใจวิธีการเชื่อมโยงเพจใน Grav คุณสามารถเชื่อมโยงเพจหนึ่งไปยังอีกเพจหนึ่งได้ด้วยวิธีง่ายๆและแม้แต่เพจระยะไกลก็สามารถเชื่อมโยงด้วยการลิงก์เพจได้ Grav มีตัวเลือกการเชื่อมต่อที่ตอบสนองได้มากมาย หากคุณเคยใช้HTML เพื่อเชื่อมโยงไฟล์ก่อนจากนั้นจึงง่ายมากที่จะเข้าใจการเชื่อมโยงเพจใน Grav

ด้านล่างนี้เป็นตัวอย่างพื้นฐานของไดเรกทอรี Pages ของไซต์ Grav เราจะใช้ไดเร็กทอรีต่อไปนี้เป็นตัวอย่างดังที่แสดงในภาพ

ด้านล่างนี้เป็นส่วนประกอบทั่วไปบางส่วนของลิงก์ Grav

[Linked Content](../path/slug/page)
  • []- ระบุเพื่อเขียนข้อความหรือเนื้อหาทางเลือกที่เชื่อมโยง ใน HTML เราใช้ <a href=""> และ </a> เพื่อวางเนื้อหา

  • () - URL จะอยู่ในวงเล็บนี้ซึ่งวางไว้หลังวงเล็บเหลี่ยมโดยตรง

  • ../ - ระบุการเลื่อนขึ้นทีละไดเร็กทอรี

มีลิงค์ 4 ประเภทที่ใช้ในเนื้อหาตามรายการด้านล่าง -

  • Slug Relative

  • Directory Relative

  • Absolute

  • Remote

กระสุนญาติ

ลิงก์ภายในไม่ จำกัด เฉพาะบางชื่อภายในโครงสร้างไฟล์ / ไดเร็กทอรีของคุณ Slugs สามารถดึงได้จากทั้งส่วนหัวและชื่อไดเร็กทอรีทางเลือกซึ่งต่อมาจะช่วยให้คุณสร้างลิงก์ได้อย่างง่ายดายเนื่องจากไม่จำเป็นต้องจำชื่อไฟล์ใด ๆ แต่สามารถจำกระสุนที่เกี่ยวข้องได้ เครื่องมือสร้างเทมเพลตของ Grav ใช้ชื่อไฟล์เพื่อให้ทราบว่าควรใช้เทมเพลตใด

[link](../dog)

โค้ดด้านบนดึงผลลัพธ์ต่อไปนี้ให้คุณ -

ในตัวอย่างข้างต้นคุณต้องย้ายไดเร็กทอรีและโหลดเพจเริ่มต้นที่อยู่ในไฟล์ pages/01.home/02.nature/item.md ไดเรกทอรีจาก pages/01.home/02.dog/item.md. ไฟล์ item.md ไม่ได้กำหนด slug ดังนั้น Grav จึงใช้ชื่อไดเร็กทอรี

จากนั้นคุณจะพบตัวอย่างที่คล้ายกันซึ่งเชื่อมโยงจาก pages/01.home/01.dog/item.md ถึง pages/02.black/01.fish/item.mdแต่เมื่อโหลดไฟล์ item.md กระสุนจะถูกกำหนดให้กับไฟล์ของ 01.fish.

[link](../../black/fish)

รหัสด้านบนให้ผลลัพธ์ดังต่อไปนี้ -

ตอนนี้คุณจะเห็นว่าชื่อโฟลเดอร์ slug เริ่มต้นจะถูกแทนที่ด้วย black slug ในส่วนหัวของ item.md.

ไดเร็กทอรีญาติ

ชุดปลายทางที่สัมพันธ์กันใช้เพื่อเชื่อมโยงเพจปัจจุบันซึ่งอาจเป็นไฟล์รูปภาพหรือไฟล์อื่นก็ได้ตามต้องการ ตำแหน่งของไฟล์มีความสำคัญพอ ๆ กับปลายทาง หากไฟล์ถูกย้ายขณะเปลี่ยนเส้นทางลิงก์อาจเสียได้ ตราบใดที่ไฟล์ยังคงมีความสอดคล้องกันคุณสามารถสลับระหว่างเซิร์ฟเวอร์การพัฒนาภายในและเซิร์ฟเวอร์ที่ใช้งานจริงด้วยชื่อโดเมนที่แตกต่างกัน ลิงก์ควรใช้งานได้โดยไม่มีปัญหาใด ๆ

คุณจะชี้ลิงค์ของไฟล์ของคุณโดยตรงตามชื่อแทนที่จะเป็นไดเร็กทอรีหรือกระสุน คุณสามารถสร้างลิงค์จากpages/01.home/01.dog/item.md to pages/02.black/01.fish/item.md ใช้คำสั่งดังที่แสดงด้านล่าง

[link](../../02.black/01.fish/item.md)

รหัสด้านบนให้ผลลัพธ์ดังต่อไปนี้ -

ทั้งสองโฟลเดอร์จะถูกย้ายขึ้นตามที่แสดงโดย ../../จากนั้นที่โฟลเดอร์สองโฟลเดอร์ด้านล่างชี้ไปที่ item.md ไฟล์.

ลิงก์ที่สมบูรณ์

คล้ายกับลิงก์แบบสัมพัทธ์ซึ่งอยู่ในไฟล์ /user/pages/ไดเรกทอรีใน Grav นอกจากนี้สามารถทำได้ด้วยสองวิธี

  • Slug Relative style

  • Directory Relative style

สไตล์สัมพัทธ์ของกระสุน

คุณสามารถทำได้เช่นเดียวกับประเภทญาติของกระสุน ใช้ชื่อไดเร็กทอรีในพา ธ ช่วยขจัดข้อผิดพลาดของคำสั่งซื้อและการเปลี่ยนแปลงในภายหลังโดยการทำลายลิงก์ จะเปลี่ยนหมายเลขของชื่อโฟลเดอร์เมื่อเริ่มต้นซึ่งนำไปสู่การทำลายลิงก์

ด้านล่างนี้เป็นตัวอย่างของลิงก์สัมบูรณ์ลิงก์จะเปิดด้วย / ระบุว่าลิงก์สัมบูรณ์ถูกสร้างขึ้นในpages/01.home/01.dog/item.md ในสไตล์ Slug

[link](/home/nature)

รหัสด้านบนให้ผลลัพธ์ดังต่อไปนี้ -

Directory relative styleมีความสอดคล้องมากขึ้นเมื่อใช้กับบริการเช่น GitHub พวกเขาไม่ได้รับประโยชน์จากความยืดหยุ่นของ Grav ด้านล่างนี้คุณสามารถดูตัวอย่างของลิงก์สัมบูรณ์ที่สร้างขึ้นpages/01.home/01.dog/item.md โดยใช้สไตล์ Directory Relative

[link](/01.home/01.dog)

รีโมท

ลิงก์ระยะไกลช่วยให้คุณสามารถเชื่อมโยงโดยตรงไปยังไฟล์หรือเอกสารใด ๆ ผ่าน URL ไม่จำเป็นต้องรวมเนื้อหาของไซต์ของคุณเอง

ตัวอย่างต่อไปนี้แสดงวิธีการเชื่อมโยง TutorialsPoint หน้า.

[link](http://www.tutorialspoint.com)

รหัสด้านบนให้ผลลัพธ์ดังต่อไปนี้ -

คุณสามารถเชื่อมโยงโดยตรงไปยัง URL ใดก็ได้รวมถึงลิงก์ HTTPS ที่ปลอดภัย