เรียนรู้ Markdown: เครื่องมือการเขียนสำหรับนักพัฒนาซอฟต์แวร์
เผยแพร่แล้ว: 2022-03-11หากคุณเป็นวิศวกรซอฟต์แวร์ คุณอาจใช้เวลามากในการปรับแต่งสภาพแวดล้อมของคุณเพื่อเพิ่มประสิทธิภาพการทำงาน คุณมี IDE ที่คุณชื่นชอบ คุณมีดีบักเกอร์ที่คุณชื่นชอบ คุณมีเครื่องมือตรวจสอบประสิทธิภาพที่คุณโปรดปราน แต่เครื่องมือของคุณสำหรับการเขียนเอกสาร คู่มือ และรายงานล่ะ ท้ายที่สุดแล้ว การเขียนใช้เวลาของคุณเพียงเล็กน้อยใช่ไหม ถึงเวลาจริงจังกับเครื่องมือในการเขียนของคุณแล้ว
และอย่าลืมว่า คุณเป็นช่างเทคนิค ดังนั้นโปรแกรมแก้ไขแบบ WYSIWYG อาจเป็นตัวเลือกที่ดีที่สุดสำหรับคุณหรือไม่ก็ได้ คุณไม่จำเป็นต้อง (หรือแม้แต่ชอบ!) การนำทางเมนู แถบเครื่องมือ และริบบอนเพื่อจัดรูปแบบข้อความของคุณ
แล้วจะเกิดอะไรขึ้นถ้าคุณสามารถเพิ่มรูปแบบการจัดรูปแบบทั้งหมดลงในข้อความในรูปแบบไวยากรณ์อินไลน์อย่างง่ายเพื่อให้ได้ข้อความที่มีรูปแบบครบถ้วน
ในความเป็นจริงคุณสามารถ นั่นคือ Markdown และนั่นคือสิ่งที่เกี่ยวกับบทช่วยสอนนี้
เมื่อมากน้อย...
ซอฟต์แวร์ประมวลผลคำถูกเขียนขึ้นเพื่อตอบสนองผู้ใช้ที่หลากหลายและกรณีการใช้งาน ด้วยเหตุนี้ จึงจำเป็นต้องมีฟังก์ชันการทำงานทุกประเภท แต่เห็นได้ชัดว่า มีเพียงส่วนย่อยของฟังก์ชันนั้นเท่านั้นที่มีแนวโน้มว่าจะเกี่ยวข้องกับผู้ใช้แต่ละราย และสำหรับผู้ใช้ส่วนใหญ่ที่ต้องการเขียนเอกสาร (และไม่จำเป็นต้องออกแบบโบรชัวร์หรือโปสเตอร์ทางการตลาด) ชุดย่อยเล็กๆ ของตัวเลือกจำนวนมากที่มีอยู่นั้นมีความเกี่ยวข้อง
ในความเป็นจริง Microsoft ตระหนักดีถึงสิ่งนี้เมื่อไม่กี่ปีที่ผ่านมาเมื่อพวกเขาออกแบบส่วนต่อประสานผู้ใช้ของ Microsoft Word ใหม่เป็นกลุ่มการทำงานที่แตกต่างกันซึ่งเรียกว่า "ริบบิ้น" ที่น่าสนใจคือ ผู้ใช้ส่วนใหญ่จะบอกคุณว่าพวกเขาพบอินเทอร์เฟซใหม่ที่สร้างความสับสนและนำทางได้ยากกว่ารุ่นก่อน
อันที่จริง จำนวนมากขึ้นในบางครั้งอาจน้อยลงเมื่อต้องคำนึงถึงความสะดวกในการใช้งานและประสิทธิผล
… และเมื่อ Less is More
เผชิญหน้า คุณเป็นวิศวกรซอฟต์แวร์ ไม่ใช่นักออกแบบกราฟิก คุณเพียงแค่ต้องการเขียนคู่มือหรือเอกสารทางเทคนิคหรือรายงานนั้นและดำเนินการให้เสร็จสิ้น คุณจะพอใจและพอใจกับความสามารถในการจัดรูปแบบพื้นฐานบางอย่าง เช่น ส่วนหัว รายการสัญลักษณ์แสดงหัวข้อย่อยหรือลำดับเลข และบล็อกโค้ด และใช่ การจัดรูปแบบฟอนต์ (ตัวหนา ตัวเอียง ฯลฯ) ก็ช่วยได้เช่นกัน เกี่ยวกับมัน. (และถ้าคุณสามารถทำมันได้ใน vi คงจะเยี่ยมมาก!)
ป้อน Markdown
Markdown คืออะไร?
John Gruber (ด้วยความช่วยเหลือมากมายจากกูรูด้านเทคนิคและนักกิจกรรมทางอินเทอร์เน็ต Aaron Swartz) ได้สร้างภาษา Markdown ในปี 2547 โดยมีเป้าหมายเพื่อให้ผู้คน "เขียนโดยใช้รูปแบบข้อความธรรมดาที่อ่านง่าย เขียนง่าย และเป็นทางเลือก แปลงเป็น XHTML ที่มีโครงสร้างที่ถูกต้อง (หรือ HTML)”
Markdown ได้รับการออกแบบมาให้อ่านได้ตามที่เป็นอยู่ โดยไม่ต้องดูว่ามีการทำเครื่องหมายด้วยแท็กหรือคำแนะนำการจัดรูปแบบ (ต่างจากข้อความที่จัดรูปแบบด้วยภาษามาร์กอัป เช่น RTF หรือ HTML ซึ่งทั้งเขียนยากและอ่านยากในรูปแบบดิบ ).
Markdown ให้คุณเขียนโดยใช้รูปแบบข้อความธรรมดาที่อ่านง่าย เขียนง่าย ซึ่งสามารถแปลงเป็น HTML ที่ถูกต้องตามโครงสร้างได้ ดังนั้น เพื่อให้แม่นยำที่สุด Markdown มีสองสิ่งจริงๆ:
- ไวยากรณ์การจัดรูปแบบข้อความธรรมดา
- เครื่องมือซอฟต์แวร์ (เวอร์ชันแรกที่เขียนด้วยภาษา Perl) ที่แปลงการจัดรูปแบบข้อความธรรมดาเป็น HTML
Markdown รวมรูปแบบไวยากรณ์ที่เรียบง่าย เข้าใจง่าย และใช้งานง่ายจำนวนหนึ่ง โดยเฉพาะอย่างยิ่งสำหรับคุณในฐานะวิศวกรซอฟต์แวร์ – ที่ไม่เลื่อนลอยโดยต้องการเรียนรู้และใช้รูปแบบไวยากรณ์พื้นฐานเหล่านี้ – Markdown อาจเป็นเส้นทางที่มีความต้านทานน้อยที่สุดระหว่างสิ่งที่คุณต้องการเขียนและการเขียน
เรียนรู้ Markdown: เริ่มต้นใช้งาน
Markdown นั้นง่ายต่อการเรียนรู้ ง่ายมาก คุณสามารถเรียนรู้พื้นฐานในห้านาทีและจะกลายเป็นธรรมชาติที่สองอย่างรวดเร็ว และเช่นเดียวกับความสัมพันธ์ระหว่างตัวประมวลผลล่วงหน้า CSS และ CSS คุณสามารถใช้เพียงเล็กน้อยหรือมากเท่าที่คุณต้องการ
หากคุณคุ้นเคยกับรูปแบบการเขียนข้อความธรรมดาแบบใดก็ตาม คุณอาจคุ้นเคยกับรูปแบบการมาร์กดาวน์บางอย่างอยู่แล้ว เช่น ตัวเลขหรือขีดกลางที่ตอนต้นของประโยคเพื่อสร้างรายการ เครื่องหมายดอกจันรอบคำเพื่อเน้น เป็นต้น บน. ตัวอย่างเช่น หากคุณต้องการแสดงบางอย่างเป็นตัวเอียง ให้ใส่เครื่องหมายดอกจัน *this*
(ซึ่งต่างจากไวยากรณ์ HTML ที่ดูซับซ้อนกว่า เช่น <span>this</span>
)
ในทำนองเดียวกัน คุณสามารถระบุส่วนหัว H1 โดยเพียงแค่เพิ่มคำนำหน้า '#' ลงในบรรทัดของคุณ (เช่น # Section Heading
แทนที่จะเป็น <h1>Section Heading</h1>
)
ประโยชน์ที่ยอดเยี่ยมอีกประการหนึ่งสำหรับการเรียนรู้ Markdown โดยเฉพาะอย่างยิ่งสำหรับวิศวกรซอฟต์แวร์อย่างเรา คือการใช้สำหรับเอกสารประกอบเกี่ยวกับที่เก็บซอร์สโค้ด repos ส่วนใหญ่มีไฟล์ README.md
( .md
เป็นนามสกุลมาตรฐานสำหรับไฟล์ Markdown) ตัวอย่างเช่น Github มี "Github-flavored Markdown" ของตัวเอง ซึ่งเพิ่มฟังก์ชันการทำงานเพิ่มเติมสำหรับเอกสารการพัฒนาโดยเฉพาะ สามารถประหยัดเวลาในการเขียนเอกสารนี้ในรูปแบบ HTML ได้อย่างแน่นอน

เป็นตัวอย่างง่ายๆ สมมติว่าคุณต้องการรวมข้อมูลโค้ดต่อไปนี้ในเอกสารของคุณ:
<h2 style=color:#3863a0;font-size:1.5em;font-weight:600;margin-top:2em;margin-bottom:1em;line-height:1.3em;>กำลังเริ่มต้นปลั๊กอิน</h2>
เริ่มต้น
pluginName
บนคอนเทนเนอร์ของคุณโดยใช้ jQuery ดังนี้:
$(function() { $('#container').pluginName(); });
โดยใช้ ID คอนเทนเนอร์ของเรา เราสามารถเริ่มต้นpluginName
ด้วยเมธอด jQuery.pluginName()
นี่คือการเปรียบเทียบว่าจะทำอย่างไรใน HTML กับ Markdown:
HTML | Markdown |
<h1>การเริ่มต้นปลั๊กอิน</h1> | # การเริ่มต้นปลั๊กอิน |
<p>เริ่มต้น <code>pluginName</code> บนคอนเทนเนอร์ของคุณโดยใช้ jQuery ดังนี้:</p> | เริ่มต้น `pluginName` บนคอนเทนเนอร์ของคุณโดยใช้ jQuery ดังนี้: |
<code> $(ฟังก์ชัน() { $('#container').pluginName(); }); </code> | `$(ฟังก์ชัน() { $('#container').pluginName(); });` |
<p><em>ใช้ ID คอนเทนเนอร์ของเรา เราสามารถเริ่มต้น <code>pluginName</code> ด้วยเมธอด jQuery <code>.pluginName()</code></em></p> | *โดยใช้ ID คอนเทนเนอร์ของเรา เราสามารถเริ่มต้น `pluginName` ด้วยเมธอด jQuery `.pluginName()`* |
สำหรับความช่วยเหลือเพิ่มเติมในการเริ่มต้น มีบทช่วยสอน Markdown ออนไลน์มากมายที่จะช่วยให้คุณได้รับข้อมูลล่าสุด รวมถึงภาพรวม Markdown โดย John Gruber (ผู้สร้างของ Markdown) ตลอดจนบทช่วยสอน Markdown ออนไลน์
Markdown Parsers และเครื่องมือ
เมื่อคุณเขียนบทความใน Markdown แล้ว คุณจะต้องมีแอปเพื่อแยกวิเคราะห์ไวยากรณ์เป็น HTML มีบางอย่างที่ยอดเยี่ยม ฟรี ได้แก่ :
- StackEdit - โปรแกรมแก้ไข Markdown บนเบราว์เซอร์ที่มีตัวเลือกการซิงค์บางอย่างกับบริการยอดนิยมเช่น Google Drive และ Dropbox
- Online Kramdown Editor - โปรแกรมแก้ไข Markdown อื่นที่ใช้เบราว์เซอร์พร้อมอินเทอร์เฟซที่ง่ายมาก
- Mou - นักเขียน Markdown บน Mac ที่ดีที่สุดที่ฉันเคยเจอมาในฐานะตัวเลือกที่ยอดเยี่ยมสำหรับนักพัฒนา คุณสมบัติมากมายและฟรี (ในขณะที่อยู่ในรุ่นเบต้า) [นี่คือสิ่งที่ฉันเคยเขียนบทความนี้]
- MarkdownPad - โปรแกรมแก้ไข Markdown ที่ยอดเยี่ยมสำหรับ Windows
- ข้อความ - โปรแกรมแก้ไขข้ามแพลตฟอร์ม (Mac และ Windows) ที่ดี ส่งออกไปยังหลายรูปแบบ เช่น PDF, .doc และ ePub
แพลตฟอร์มหลักบางแพลตฟอร์มได้นำ Markdown มาใช้ในโปรแกรมแก้ไขแล้ว (หรืออย่างน้อยก็ได้รับอนุญาต) สำหรับผู้ที่ต้องการใช้ กับคนอื่น ๆ เช่น WordPress, Evernote และ Google Docs การสนับสนุนดั้งเดิม (ในขณะที่เขียนบทความนี้) ยังไม่ได้รับการสนับสนุน แต่บุคคลที่สามได้แนะนำโซลูชันที่กำหนดเอง ซึ่งรวมถึง:
- แพลตฟอร์มบล็อกใหม่ยอดนิยม Ghost ในการแสวงหาการปรับปรุงการเขียนออนไลน์ ใช้ Markdown สำหรับโปรแกรมแก้ไขเนื้อหา
- สำหรับ WordPress ปลั๊กอิน Jetpack รองรับ Markdown อย่างเป็นทางการแล้ว ซึ่งคุณสามารถเปิดใช้งานได้ใน การตั้งค่า > การสนทนา หากคุณใช้ปลั๊กอิน หรือคุณสามารถใช้ปลั๊กอินเช่น WP-Markdown ซึ่งจะแปลงเนื้อหามาร์กดาวน์โพสต์ของคุณเป็น HTML และกลับไปเป็น Markdown เมื่อคุณต้องการแก้ไข
- สำหรับ Evernote แอพ Markdown บางแอพ เช่น โปรแกรมแก้ไขออนไลน์ Markable หรือโปรแกรมแก้ไข Mac Byword อนุญาตให้ส่งออกและเผยแพร่ไปยังบันทึกย่อได้โดยตรง หรือหากคุณต้องการใช้เว็บแอป Evernote โดยตรง คุณสามารถใช้ส่วนขยายของเบราว์เซอร์ที่เรียกว่า Markdown Here ซึ่งจะแปลงบันทึกย่อที่เลือกซึ่งเขียนเป็น Markdown ให้เป็นข้อความที่จัดรูปแบบแล้วด้วยการคลิกปุ่มแถบเครื่องมือ
- Google เอกสารยังไม่สนับสนุน Markdown แต่ตัวแก้ไขบางส่วน (เช่น StackEdit) จะส่งออก/ซิงค์โดยตรงกับไดรฟ์
ข้อเสีย
แน่นอนว่าความเรียบง่ายย่อมมาพร้อมกับข้อจำกัด ตามที่ฉันได้อธิบายไปแล้ว Markdown ไม่ได้ถูกเขียนขึ้นสำหรับงานประมวลผลคำที่ซับซ้อนซึ่งต้องการคุณสมบัติการจัดรูปแบบขั้นสูง หากนั่นคือสิ่งที่คุณต้องการ Markdown ไม่ใช่เครื่องมือที่เหมาะสม
แต่สำหรับนักพัฒนาที่ต้องการเขียนคู่มือผู้ใช้หรือเอกสารทางเทคนิคหรือรายงานทางเทคนิค Markdown ให้ความสมดุลที่เกือบจะสมบูรณ์แบบระหว่างความเรียบง่ายและคุณสมบัติที่คุณต้องการ
บางทีข้อเสียเปรียบที่ใหญ่ที่สุด – โดยเฉพาะอย่างยิ่งสำหรับวิศวกรของเราที่ควบคุมการเปลี่ยนแปลง – คือการไม่สามารถทำงานร่วมกันใน Markdown และติดตามการเปลี่ยนแปลงได้ (ข้อยกเว้นที่โดดเด่นอย่างหนึ่งคือปลั๊กอิน StackEdit สำหรับ Google เอกสาร) และแน่นอน ด้วยความพยายามเพียงเล็กน้อย คุณสามารถทำงานร่วมกันบนเอกสาร Markdown ผ่านที่เก็บ git และรับการติดตามการเปลี่ยนแปลงและการทำงานร่วมกันทั้งหมดที่จำเป็น
บทสรุป
การเรียนรู้ Markdown สำหรับทุกคนคืออะไร? แน่นอนไม่ ไม่มีเครื่องมือใดที่เคยเป็น
แต่ถ้าคุณเป็นวิศวกรซอฟต์แวร์ มันอาจเป็นเครื่องมือในการเขียนที่คุณต้องการได้อย่างแม่นยำ ดังนั้นหากคุณยังไม่ได้ลองใช้งาน คุณควรลองใช้งานดู