github ลิงก์ไปยังหน้าวิกิจาก README


92

ฉันจะสร้างลิงค์จากไฟล์ README.md ไปยังเพจ Wiki ใน github ได้อย่างไร ทุกตัวอย่างดูเหมือนจะแสดงการเชื่อมโยงจากเพจวิกิหนึ่งไปยังเพจวิกิอื่นหรือจากไฟล์ README หนึ่งไปยังไฟล์อื่นในที่เก็บ แต่ไม่มีที่แสดงการเชื่อมโยงจากที่หนึ่งไปยังอีกที่หนึ่ง


คุณถูก. "จากไฟล์ README หนึ่งไปยังอีกไฟล์ในที่เก็บ" ใช้งานได้อ้างอิงอย่างเป็นทางการhelp.github.com/articles/relative-links-in-readmesบล็อกอย่างเป็นทางการgithub.com/blog/1395-relative-links-in-markup- ไฟล์ให้ดูที่bibwild.wordpress.com/2013/01/30/… .
Stéphane Gourichon

ข้อมูลเชิงลึกเกี่ยวกับสาเหตุที่ลิงก์จาก README ไปยังวิกิไม่เป็นที่ต้องการ: "แน่นอนว่าคุณสามารถเชื่อมโยงไปยังวิกิของคุณได้ แต่วิกิไม่ได้อยู่ในเวอร์ชันพร้อมกับซอร์สโค้ดและคุณต้องการเชื่อมโยงไปยังเวอร์ชันของเอกสารที่เข้ากันได้ สแนปชอตที่แน่นอนของ repo ต้นทางที่คุณกำลังดูแน่นอนว่าคุณสามารถเชื่อมโยงโดยใช้การเชื่อมโยงหลายมิติ URL แบบสัมบูรณ์ แต่ปัญหาเดียวกันคือคุณจะเชื่อมโยงไปยังต้นแบบเสมอเมื่อคุณต้องการเชื่อมโยงไปยังไฟล์ในภาพรวมเดียวกันกับผู้อ่าน กำลังดู README ใน " ที่มา: bibwild.wordpress.com/2013/01/30/…
Stéphane Gourichon

คำตอบ:


68

คุณจะต้องใช้ URL ที่สมบูรณ์ซึ่งตรงข้ามกับ URL ที่สัมพันธ์กัน

ตัวอย่างเช่น:

[Sites Using React](https://github.com/facebook/react/wiki/Sites-Using-React)

4
โอเคนั่นคือสิ่งที่ฉันคิด - แค่อยากให้แน่ใจว่าไม่มีวิธีที่ดีกว่านี้
veilig

2
ในเอกสารที่เชื่อมโยงโดย @ jmar777 คำเตือนเกี่ยวกับการใช้ URL ที่สมบูรณ์: "ผู้ใช้ที่โคลนที่เก็บของคุณจะมีช่วงเวลาที่ยากขึ้นในการทำให้ลิงก์ทำงานได้มากกว่าที่คาดไว้"
Dave Sexton

@DaveSexton นั่นหมายถึงการเชื่อมโยงไปยังไฟล์อื่น ๆ ในที่เก็บโดยเฉพาะ (ซึ่งจะสัมพันธ์กับ README เสมอ) เมื่อเชื่อมโยงกับสิ่งภายนอก (เช่นวิกิ) คุณต้องการใช้ URL ที่สมบูรณ์
maxdeviant

94

ฉันเพิ่งเจอคำถามนี้และเห็นว่ามันเป็นไปไม่ได้ แต่ก็ยังคงพยายามต่อไป ข่าวดีเพราะสิ่งนี้สามารถทำได้ด้วยลิงก์ที่เกี่ยวข้อง!

หากคุณดูเอกสารสำหรับลิงก์สัมพัทธ์บน GitHubคุณจะเห็นว่ามันรองรับ./และ../ถูกดำเนินการ

ระบุว่า README ของคุณตั้งอยู่ที่:

https://github.com/<user-name>/<repo-name>/blob/master/README.md

... และ wiki ตั้งอยู่ที่:

https://github.com/<user-name>/<repo-name>/wiki

... นั่นหมายความว่าคุณสามารถรวบรวมข้อมูลจาก README ไปยัง wiki ได้ดังนี้:

[My Awesome Wiki](../../wiki)


อัปเดต:ตามที่บางคนได้ระบุไว้ในความคิดเห็น (ขอบคุณ!) โปรดทราบว่าลิงก์ที่เกี่ยวข้องเหล่านี้จะพังลงบนโคลนและส้อมดังนั้นอย่าลืมชั่งน้ำหนักสิ่งนั้นในการตัดสินใจของคุณ!


15
น่าสนใจ แต่โปรดสังเกตว่า README.md อาจดูได้จากโคลนในเครื่องแทนที่จะเป็นเว็บ ในกรณีนี้สิ่งเดียวที่ใช้ได้คือลิงก์ที่มี URL ที่สมบูรณ์
Stéphane Gourichon

1
จุดดี @ StéphaneGourichonฉันไม่ได้พิจารณาการดู Readme ในท้องถิ่น แม้ว่าฉันคิดว่าหากต้องการลิงก์แบบสัมพัทธ์นั่นเป็นข้อ จำกัด ที่ยอมรับได้
jmar777

2
คุณสามารถโคลนวิกิในเครื่องเป็น git repo แยกต่างหาก: stackoverflow.com/questions/15080848/…
EriF89

3
คำเตือน: เมื่อดูไฟล์เดียวเช่น a README.mdและหยดเฉพาะสำหรับคอมมิตสิ่งนี้จะไม่ทำงาน
kaiser

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

1

เพียงเพื่อเพิ่มที่นี้ถ้าคุณต้องการที่จะอ้างถึงไฟล์ repo ../../blob/master/ของคุณจากการใช้วิกิพีเดียภายใน เมื่อรวมกับคำตอบจาก jmar777 สิ่งนี้จะช่วยให้สามารถรวมโค้ดและวิกิได้อย่างสมบูรณ์และขจัดความต้องการ readme.md ที่บวม

เพื่อให้สามารถใช้งานได้ในเครื่องและโครงสร้างไฟล์ของคุณจะต้องเป็น

./Wiki/YourWikiRepo
./blob/master/YourCodeRepo

1

ฉันพบว่าฉันต้องคลานกลับ 3 ระดับเทียบกับ 2 ระดับตามที่อธิบายไว้ในแนวทางของ jmar777

เมื่อฉันใช้

../../wiki

ลิงก์ที่สร้างขึ้นคือ https://github.com/<username>/blob/wiki

ฉันต้องการใช้:

../../../wiki

สิ่งนี้สร้างขึ้น https://github.com/<username>/wiki


1

ฉันใช้ GitLab ลิงก์ของฉันไปยังหน้า Wiki ของฉันมีลักษณะดังนี้

Checkout the [Wiki page](/%2E%2E/wikis/Welcome)

ฉันลองทำตามคำแนะนำอื่น ๆ ที่โพสต์ไว้ที่นี่ แต่มันยังคงเปลี่ยน URL ด้วยการเขียนซ้ำที่ทำให้ลิงก์เสียหาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.