FSE Outreach Round #8: การเรียกที่เน้นนักพัฒนาซอฟต์แวร์สำหรับการทดสอบธีม JSON Configuration

เผยแพร่แล้ว: 2021-06-26

รอบ #8 ของโปรแกรมเผยแพร่ประชาสัมพันธ์ฉบับสมบูรณ์ (FSE) เริ่มขึ้นเมื่อวานนี้ แทนที่จะเรียกร้องให้ผู้ใช้เป็นศูนย์กลางในการทดสอบคุณลักษณะจาก UI หัวหน้าโครงการ Anne McCarthy ขอให้อาสาสมัครดำดิ่งลงไปในโค้ด การผจญภัยครั้งใหม่นี้เกี่ยวกับการทดสอบไฟล์ theme.json

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

ก่อนที่จะกระโดดไฟล์ JSON ของธีม headfirst เราทุกคนน่าจะเข้าใจตรงกัน

ฉันได้เรียก theme.json ว่าเป็นจุดเปลี่ยนระหว่าง WordPress เก่ากับ WordPress ใหม่ เมื่อเวอร์ชัน 5.0 ของแพลตฟอร์มหลักเปิดตัวในปลายปี 2018 ถือเป็นการปฏิวัติก้าวไปข้างหน้า แต่ไม่ใช่บนพื้นผิว ตัวแก้ไขใหม่เป็นเพียงตัวแก้ไขใหม่ บางคนจะรักมัน คนอื่นจะเกลียดมัน และมันก็มักจะเป็นก้อนมากกว่าไม่ ส่วนใหญ่ WordPress ยังคงเป็น WordPress

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

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

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

สิ่งนี้หมายความว่าอย่างไร?

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

การ์ดโปรไฟล์ที่ออกแบบในตัวแก้ไขบล็อกของ WordPress
การปรับแต่งการ์ดโปรไฟล์สำหรับแมวของฉันโดยใช้ตัวเลือกบล็อก

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

นั่นคือที่มาของไฟล์ theme.json ซึ่งช่วยให้ธีมและ WordPress อยู่ในหน้าเดียวกัน สร้างระบบมาตรฐานที่ช่วยปรับปรุงประสบการณ์ของผู้ใช้

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

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

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

ตามที่นักออกแบบ Tammie Lister ชี้ให้เห็นในผลงานของเธอสำหรับ Efermeral Themes ซึ่ง Theme.json เป็นแรงบันดาลใจ ธีมต่างๆ ยังคงติดอยู่ ซอฟต์แวร์ซึ่งเป็นชุมชนได้มอบความรับผิดชอบให้กับพวกเขามากเกินไปในช่วงหลายปีที่ผ่านมา พวกเขาต้องคิดค้นและสร้างระบบที่น่าจะมาจาก WordPress แพลตฟอร์มหลักไม่เพียงแต่จะต้องเปิดขึ้นเท่านั้น แต่ระบบการออกแบบก็สมควรได้รับการยกเครื่องใหม่

“ฉันตระหนักดีว่าการพูดว่า 'กระบวนการหลักแรกสู่แกนหลัก' ในช่วงหลายปีที่ผ่านมานั้นค่อนข้างจะเป็นคำกล่าวอ้าง” Lister เขียน “Theme.json สำหรับฉันก็คือว่า ฉันไม่ได้บอกว่าสิ่งนี้ละเลยการทำซ้ำและการปรับปรุง WordPress เป็นโครงการที่ไหลไปด้วยพลังของสิ่งเหล่านั้น อย่างไรก็ตาม หัวข้อต่างๆ เกี่ยวกับการช่วยชีวิตที่ติดอยู่ในแผ่นดินเมื่อการพัฒนาส่วนหน้าที่เหลือกำลังดำเนินไป ไม่ใช่สำหรับบางคนที่พยายามจะเปลี่ยนสิ่งนั้น ส่วนใหญ่เมื่อพวกเขาทำเวลาไม่ถูกต้อง และเนื่องจากมันไม่ได้มาจากแกนหลัก การเปลี่ยนแปลงจึงยากกว่าเสมอ”

ถึงเวลาสำหรับยุคการออกแบบส่วนหน้าใหม่ แต่ก่อนอื่นเราต้องทดสอบ

ธีมการทดสอบ JSON

สกรีนช็อตของไฟล์ theme.json ในโปรแกรมแก้ไขโค้ด
ไฟล์ theme.json ในโลกแห่งความเป็นจริง

ยิ่งฉันเดินทางเข้าสู่การทดสอบนี้มากเท่าไหร่ ฉันก็ยิ่งรู้ว่ามันไม่เหมาะกับฉัน ในช่วงสองสามเดือนที่ผ่านมา ฉันทำงานอย่างหนักจากไฟล์ theme.json ฉันรู้จักนิสัยใจคอเล็ก ๆ น้อย ๆ ส่วนใหญ่และเห็นช่องว่าง เคล็ดลับในการทำงานกับมันให้ความรู้สึกเป็นธรรมชาติสำหรับฉัน

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

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

สเตจขั้นสูงเรียกร้องให้สร้างธีมคลาสสิกขึ้นใหม่โดยใช้ theme.json เป็นการดีที่สุดที่จะยึดติดกับสิ่งที่เรียบง่าย มิฉะนั้น คุณอาจจะดูการทดลองที่ยาวนานหลายสัปดาห์ McCarthy แนะนำ Twenty Twenty หรือหน้าร้าน ฉันได้แสดงเพลงนี้และเต้นไปแล้วด้วย โครงการทดสอบของฉันเป็นธีมเก่าที่ฉันเสียใจและกลายเป็นธีมบล็อก

มีปัญหาครอบคลุมหนึ่งที่ฉันให้กลับมา ผู้เขียนธีมต้องทำงานจากไฟล์ JSON เลย

ฉันเข้าใจ "เหตุผล" ที่อยู่เบื้องหลังการใช้ JSON เป็นรูปแบบสากลที่เราสามารถส่งผ่านจาก JavaScript ไปยัง PHP API ของบริษัทอื่นสามารถเข้าใจได้

อย่างไรก็ตาม ขณะนี้ฉันกำลังนั่งอยู่บนโค้ดมากกว่า 900 บรรทัดใน theme.json ของฉัน ฉันเคยได้ยินจากผู้เขียนธีมคนอื่นๆ สองสามคนที่ทำงานอย่างหนักกับตัวเลขที่คล้ายคลึงกัน ฉันคาดหวังว่ามันจะเติบโตเท่านั้น

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

นอกจากนี้ เมื่อถึงจุดหนึ่ง คุณเริ่มต้องการแยกชิ้นส่วนออกเป็นกลุ่มของตัวเอง รหัสจำนวนมากนี้กำลังขอร้องให้องค์กรดีขึ้น

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

  1. พวกเขาสามารถจัดระเบียบสิ่งที่น่าจะเป็น 1,000 บรรทัดของรหัส
  2. การเปลี่ยนไปใช้ระบบใหม่จะง่ายขึ้น

ข้อหลังน่าจะเด่นที่สุด PHP เป็นภาษาของการสร้างธีมตั้งแต่มีการสร้างธีม นักพัฒนารู้และใช้งานมันได้อย่างสบายใจ และ WordPress ก็น่าจะตอบโจทย์ได้ตรงจุด หากเรากำลังปิดช่องว่าง นี่คือสิ่งที่จำเป็นต้องกรอกก่อนที่จะเพิ่มความเป็นไปได้ในการกำหนดค่าเพิ่มเติม และไฟล์ theme.json จะขยายใหญ่โตในขนาด 5,000 บรรทัดเทอะทะ