วิกิพีเดีย:เนมสเปซเทมเพลต

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

เนมส เปซเทมเพลตบน Wikipedia ใช้เพื่อจัดเก็บเทมเพลตซึ่งประกอบด้วยมาร์กอัป Wiki ที่มีไว้สำหรับรวมไว้ในหลาย ๆ หน้า โดยปกติ แล้วจะผ่านการtransclusion แม้ว่าเนมสเปซเทมเพลตจะใช้สำหรับจัดเก็บเทมเพลตส่วนใหญ่ แต่ก็เป็นไปได้ที่จะรวมและแทนที่จากเนมสเปซอื่น[1]ดังนั้นหน้าเทมเพลตบางหน้าจึงถูกวางไว้ในเนมสเปซอื่น เช่น เนมสเป ผู้ใช้

แม่แบบช่วยรักษารูปแบบที่สอดคล้องกันและช่วยในการนำทางระหว่างบทความ มักจะมีองค์ประกอบทางเลือกและ/หรือตัวแปรที่ควบคุมโดยพารามิเตอร์เพื่อให้ใช้งานได้เฉพาะ เทมเพลตยังใช้เพื่อช่วยในงานบำรุงรักษาวิกิพีเดีย ที่หลากหลายอีกด้วย แต่ละเทมเพลตมีหน้าที่ตรงกันTemplate talk:ซึ่งผู้แก้ไขสามารถหารือเกี่ยวกับการออกแบบและการใช้งานเทมเพลตที่เกี่ยวข้อง (ดูวิธีใช้:การใช้หน้าพูดคุยสำหรับวิธีเข้าร่วมในการอภิปรายในหน้าพูดคุย)

เทมเพลตจะถูกรวมไว้ในหน้าอื่นโดยใส่แท็กเทมเพลตในเนื้อหาของหน้านั้น แท็กเทมเพลตประกอบด้วยชื่อหน้า เทมเพลตที่ ล้อมรอบด้วยเครื่องหมายปีกกาคู่{{Disambiguation}}เช่น หากชื่อหน้าของเทมเพลตไม่ได้ขึ้นต้นด้วยเนมสเปซและโคลอน จะถือว่าอยู่ในเนมสเปซของเทมเพลต

ลิงก์ภายในไปยังหน้าเทมเพลตสามารถทำได้โดยใช้Template:คำนำหน้า[[Template:Disambiguation]]เช่น ลิงก์เหล่านี้ไปยังหน้าที่มีเทมเพลตพื้นฐานโดยตรงและมักจะมีเอกสารประกอบ

แนวปฏิบัติ

  • ปกติไม่ควรใช้เทมเพลตเพื่อเก็บข้อความบทความเนื่องจากจะทำให้การแก้ไขเนื้อหาทำได้ยากขึ้น ไม่ ควรใช้เพื่อ "ยุบ" หรือ "ซ่อน" เนื้อหาจากผู้อ่าน
  • แม่แบบที่ใช้ในบทความได้รับการออกแบบมาเพื่อให้ข้อมูลเพื่อช่วยเหลือผู้อ่าน เช่น เครื่องช่วยนำทาง การจัดรูปแบบ หรือคำเตือนว่าเนื้อหาไม่ได้มาตรฐาน เท็มเพลตที่ให้บริการข้อมูลแก่บรรณาธิการเท่านั้นไม่ควรปรากฏบนหน้าบทความ – ใช้หน้าพูดคุยของบทความหรือเนมสเปซอื่นที่ไม่ใช่บทความ
  • ฟังก์ชันเทมเพลตควรมีความชัดเจนจากชื่อเทมเพลตแต่สามารถสร้างการเปลี่ยนเส้นทาง เพื่อช่วยให้ใช้งานเทมเพลตยอดนิยมได้ทุกวัน
  • แม่แบบที่มีความเสี่ยงสูงควรได้รับการปกป้องแบบกึ่งป้องกันแม่แบบได้รับการปกป้องหรือได้รับการปกป้องอย่างเต็มที่ตามความเหมาะสม (ดูWikipedia:นโยบายการป้องกัน ) สิ่งนี้ใช้กับการเปลี่ยนเส้นทางเทมเพลตที่มีการใช้งานสูงด้วย
  • เทมเพลตควรมีการ จัดทำ เอกสาร อย่างชัดเจนเกี่ยว กับการใช้งานและขอบเขต
  • ไม่ควรใช้เทมเพลตเพื่อสร้างรายการลิงก์ไปยังบทความอื่นๆ เมื่อหมวดหมู่หน้ารายการหรือรายการส่วน "ดูเพิ่มเติม"สามารถทำหน้าที่เดียวกันได้
  • เทมเพลตสำหรับข้อความชั่วคราวสั้นๆ ที่จะถูกลบออกอย่างรวดเร็ว (เช่น ในหน้า User_talk:) หรือมีข้อความที่ไม่น่าจะมีการเปลี่ยนแปลง ควรเรียกใช้ด้วยการแทนที่ (subst:) เทมเพลตทั่วไปที่มีจุดประสงค์เพื่อการใช้งานในระยะยาวและมีแนวโน้มว่าจะต้องเปลี่ยนแปลงควรรวมไว้เพื่อให้อัปเดตได้ง่ายในอนาคต
  • แม่แบบที่ละเมิดหลักเกณฑ์ในหน้านี้ มีฟังก์ชันที่กำหนดไว้ไม่ดี มีความซ้ำซ้อน กลายเป็นเด็กกำพร้าหรือใช้ในหน้าเดียว หรือละเมิดนโยบายวิกิพีเดียอื่นๆ อาจถูกเสนอชื่อให้ลบได้ที่Wikipedia:Templates for talking

ข้อปฏิบัติที่แนะนำ

แม่แบบอ้างอิง

บางครั้ง คุณอาจต้องการอ้างอิงถึงเทมเพลต แทนที่จะเรียกใช้จริง วิธีง่ายๆ ในการทำเช่นนี้คือเรียกเทมเพลต:Tl (ย่อมาจาก "ลิงก์เทมเพลต") ตัวอย่างเช่น หากต้องการอ้างอิงเทมเพลต Cleanup ให้พิมพ์{{tl|Cleanup}}ผลลัพธ์ใน {{ Cleanup }} คุณยังสามารถเพิ่มพารามิเตอร์โดยใช้แม่แบบ:Tlp ; ตัวอย่างเช่น{{tlp|Convert|1|m}}แสดงเป็น{{ Convert | 1 |m}}

ตรวจสอบเอกสารประกอบแม่แบบบนแม่แบบ:Tlสำหรับตัวเลือกอื่นๆ เช่น {{ tlb }} (ตัวหนา), (รหัส), (พารามิเตอร์ตัวเอียง) และอื่นๆ อีกมากมาย {{tlx}}{{tlxi|param1|param2}}

ชื่อเทมเพลต

ชื่อเทมเพลตสามารถสร้างขึ้นจากคำได้ตั้งแต่หนึ่งคำขึ้นไป เช่น{{Train topics}}. อักขระตัวแรก (เท่านั้น) ไม่คำนึงถึงขนาดตัวพิมพ์ ดังนั้นจึง{{cleanup}}เป็น{{Cleanup}}เทมเพลตเดียวกัน แต่ไม่ใช่{{cfd}}และ{{cfD}}ไม่ใช่ ชื่อเทมเพลตจะจดจำได้ง่ายที่สุดหากเป็นไปตามการสะกด การเว้นวรรค และการใช้อักษรตัวพิมพ์ใหญ่ภาษาอังกฤษแบบมาตรฐาน (โปรดดูแบบแผนการตั้งชื่อสำหรับบทความ) หลีกเลี่ยงการใช้เทมเพลตที่มีชื่อต่างกันเฉพาะในกรณีที่ เว้นวรรค หรือเครื่องหมายวรรคตอน

แซนด์บ็อกซ์สำหรับการทดลอง

หากคุณต้องการทดลองกับแม่แบบ (และไม่ได้ลบการทดสอบของคุณก่อนที่จะทำการทดลอง) คุณสามารถทำได้ในแซนด์บ็อกซ์แม่แบบ คุณสามารถใช้เทมเพลตX1 , X2 , X3 , X4 , X5 , X6 , X7 , X8 , X9 , X10 , X11และX12เพื่อวัตถุประสงค์ในการทดลอง เมื่อต้องการรวมเทมเพลตทดสอบ ให้ใช้แบบฟอร์ม{{X1}}สำหรับเทมเพลต X1 {{X2}}สำหรับเทมเพลต X2 เป็นต้น

เทมเพลตที่มีอยู่มักจะมีแซนด์บ็อกซ์และหน้ากรณีทดสอบ ของตัวเอง (โดยเฉพาะเทมเพลตที่ใช้ {{ Documentation }}) ควรทำการทดสอบการเปลี่ยนแปลงอย่างละเอียดก่อนที่จะนำไปใช้กับเทมเพลตหลัก เพื่อป้องกันความเสียหายที่ไม่ได้ตั้งใจในหลายหน้า

ความสามารถในการอ่าน

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

{{ตัวอย่างชื่อเทมเพลต
| first_parameter = ข้อความของ first_value
| second_parameter = ข้อความของ second_value
| Third_parameter = ข้อความของ third_parameter
| etc = etc
}}

ตัวแบ่งบรรทัด

แม่แบบบางอย่างอาจทำให้มีการแบ่งบรรทัดเพิ่มเติมโดยไม่ได้ตั้งใจในบทความที่แสดงผล โดยเฉพาะอย่างยิ่งกับเทมเพลตกล่องข้อมูลและกล่องเทมเพลตอื่นๆ ที่มักจะลอยอยู่ทางด้านขวาของบทความ เนื่องจากจะไม่เห็นบรรทัดเพิ่มเติมในหน้าเทมเพลต สำหรับข้อมูลเพิ่มเติม โปรดดูWikipedia:การจัดการตัวแบ่งบรรทัด

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

การแทน

เรียกใช้เทมเพลตโดยใช้ form

{{subst:name of template (|parameters |...)}}

(นั่นคือการแทรกsubst:ทันทีหลังจากวงเล็บปีกกาคู่เปิด) จะทำสำเนาข้อความเทมเพลตและวางไว้บนหน้าซึ่งจะสามารถดูได้ในแหล่งที่มา เทมเพลตจะไม่ถูกรวมอีกต่อไปและการเปลี่ยนแปลงในอนาคตของเทมเพลตจะไม่เปลี่ยนข้อความ ตามแนวทางควรใช้วิธีนี้สำหรับข้อความชั่วคราวสั้นๆ ที่ลบออกอย่างรวดเร็ว เช่น ในหน้า User_talk: ข้อความ ผู้ใช้มาตรฐานใหม่เป็นตัวอย่างที่ดี {{Welcome}}

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

เอกสาร

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

ทางเลือกหนึ่งคือการใช้ <noinclude> เพื่อเพิ่มคำอธิบายเล็กน้อยลงในเทมเพลตโดยตรง ตัวอย่างเช่น

'''นี่คือบทความ {{{1}}}'''<noinclude>
วางเทมเพลตนี้ในบทความที่ต้องการคำอธิบาย มัน
ใช้พารามิเตอร์หนึ่งตัว ซึ่งเป็นคำคุณศัพท์ที่ใช้อธิบายบทความ
ตัวอย่างเช่น {{article-describe|bad}} สร้างข้อความ
'''นี่เป็นบทความที่ไม่ดี'''
</noinclude>

อีกทางเลือกหนึ่งคือการสร้างหน้าย่อยอย่างเป็นทางการ /docสำหรับเอกสารประกอบ (แนะนำให้ใช้กับเทมเพลตที่มีหลายพารามิเตอร์ ฯลฯ) และเพิ่มหลังเทมเพลตจริง แท็ก "noinclude" ตัวแรกควรอยู่ในบรรทัดเดียวกับวงเล็บปีกกาของเทมเพลตจริงในลักษณะต่อไปนี้: <noinclude>{{Documentation}}</noinclude>

{{(ชื่อเทมเพลต)
(พารามิเตอร์ท่อ)
}}<ไม่รวม>...

หากแท็ก "noinclude" เริ่มต้นในบรรทัดใต้เครื่องหมายปีกกาของเทมเพลต ระบบจะแนะนำช่องว่างที่ไม่ต้องการที่ด้านล่างของเทมเพลตเมื่อใช้ในบทความและในหน้าอื่นๆ

โมดูล

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

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

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

ประวัติศาสตร์

ในอดีต จะต้องเพิ่มคำนำหน้า "msg:" ไว้ข้างหน้าชื่อเทมเพลตเมื่อใช้บนหน้า ตัวอย่างเช่น พิมพ์ {{msg:stub}} แทน {{stub}} นี้ไม่จำเป็นอีกต่อไป

ในช่วง 35 เดือนแรกของ Wikipedia ไม่มีเทมเพลตหรือกลไกการถอดเลย หน้าWikipedia:ข้อความ Boilerplateสร้างขึ้นในเดือนกันยายน 2002 เพื่อรวบรวมข้อความที่ใช้บ่อยในกระบวนการต่างๆ ของ Wikipedia เนมส เปซมีเดียวิกิได้รับการแนะนำให้รู้จักกับมีเดียวิกิ 1.2.6 เมื่อวันที่ 6 ธันวาคม พ.ศ. 2546 และไม่เพียงแต่ใช้สำหรับอินเทอร์เฟซผู้ใช้เท่านั้น แต่ยังใช้สำหรับการสร้างข้อความต้นแบบที่จะแทรกในบทความโดยใช้ไวยากรณ์ {{msg: ...}} ฟังก์ชันนี้ถูกแทนที่ด้วยเนมสเปซเทมเพลตระหว่างการอัพเกรดซอฟต์แวร์เป็นมีเดียวิกิ 1.3 เมื่อวันที่ 30 พฤษภาคม พ.ศ. 2547 โดยเป็นฟังก์ชันของ " สคริปต์การเริ่มต้นเนมสเปซเทมเพลต" ข้อความที่ไม่ใช่ระบบทั้งหมดถูกย้ายไปยังเนมสเปซใหม่ สคริปต์การเริ่มต้นยังแทนที่ MediaWiki: การอ้างอิงในบทความด้วยเทมเพลต: เพื่อข้ามการเปลี่ยนเส้นทางที่สร้างโดยการย้าย

ในช่วงเวลาสั้นๆWikipedia:Articles for deletion (ซึ่งในขณะนั้นรู้จักกันในชื่อโหวตให้ลบหรือVfD ) ใช้ MediaWiki: ข้อความที่มีชื่ออยู่ในรูปแบบ "MediaWiki:VfD- articlename " สิ่งเหล่านี้ถูกย้ายไปที่ Template: space ในเดือนมิถุนายน 2004 และได้รับการตั้งชื่อว่า "Template:VfD- articlename " การใช้งานนี้เลิกใช้แล้วในขณะนี้เพื่อสนับสนุนหน้าย่อย

ประมาณปี 2548 ความซับซ้อนที่เพิ่มขึ้นของฟังก์ชันเทมเพลตและความปรารถนาที่จะรวมเทมเพลตที่คล้ายกันทำให้เกิดการแฮ็กตามเงื่อนไขที่ซับซ้อนมาก เช่นเทมเพลตที่ซ้อนกันและเทคนิคCSS วิธีการที่ไม่พึงประสงค์เหล่านี้นำไปสู่การพัฒนาm:Extension:ParserFunctionsซึ่งเพิ่มเข้ามาในปี 2006 ด้วย MediaWiki 1.7 ภายในปี 2009 ปัญหามากมายเกี่ยวกับความสามารถในการอ่านเทมเพลตและความซับซ้อนยังคงอยู่ ( บนเทมเพลตและภาษาโปรแกรม ) ในปี 2013 เพื่อที่จะแก้ไขเวลาในการโหลดหน้าเว็บ ซึ่งส่วนใหญ่เกิดจากการแสดงเทมเพลตที่ช้าLuaได้เปิดใช้งาน สร้างโมดูล: เนมสเปซสำหรับโปรแกรมเมอร์ที่จะใช้งาน ( เทมเพลต Lua ใหม่ทำให้หน้า wiki ของคุณเร็วขึ้นและยืดหยุ่นมากขึ้น )

กำลังค้นหาแม่แบบ

ใช้แบบฟอร์มนี้เพื่อค้นหาในเทมเพลต: หรือ Template_talk: เนมสเปซ ดูวิธีใช้:การค้นหาข้อมูลเพิ่มเติม

หน้าที่มีข้อมูลเกี่ยวกับเทมเพลตที่ใช้กันทั่วไป:

หากคุณไม่พบเทมเพลตที่มีอยู่สำหรับสถานการณ์ของคุณ แต่รู้สึกไม่สบายใจที่จะสร้างเทมเพลตขึ้นมาเอง คุณสามารถขอความช่วยเหลือได้ที่Wikipedia :Requested templates

ดูสิ่งนี้ด้วย

หมายเหตุ

  1. ^ เนมสเปซที่ไม่อนุญาตให้แยกจากกันถูกระบุบนวิกิโดยตัวแปร $wgNonincludableNamespaces