การสนับสนุนเครื่องมือ reStructuredText


128

ฉันเป็นแฟนตัวยงของreStructuredTextอย่างไรก็ตามเครื่องมือที่รองรับมันกระจายอยู่ทั่วอินเทอร์เน็ต รายการเครื่องมืออย่างเป็นทางการไม่สมบูรณ์และ / หรือล้าสมัยและสามารถปรับปรุงได้เพียงผ่านกระทำสิทธิพิเศษ สำหรับบางคนเวลามีรายการที่ครอบคลุมที่หน้าวิกิพีเดีย reStructuredTextแต่ตอนนี้เห็นได้ชัดว่า " ไม่เป็นไปตามแนวทางที่โดดเด่นสำหรับเนื้อหาเว็บ " และจะถูกลบออก

ดังนั้นจะใส่ไว้ในรูปแบบคำถาม: สิ่งที่การสนับสนุนเครื่องมือสามารถคาดหวังที่จะพบเมื่อทำงานกับ reStructuredText เช่นโปรแกรมแก้ไขข้อความซอฟต์แวร์ Wiki, แปลงไปและกลับจาก reStructuredText ฯลฯ ?

คำตอบ:


440

กู้ (และขยาย) รายการจากหน้า Wikipedia เวอร์ชันเก่า :

เอกสาร

การใช้งาน

แม้ว่าการดำเนินการอ้างอิงของ reStructuredText จะถูกเขียนเป็น Python แต่ก็มี reStructuredText parsers ในภาษาอื่นด้วย

Python - Docutils

การกระจายหลักของ reStructuredText คือแพ็คเกจPython Docutils มันมีเครื่องมือการแปลงหลายอย่าง:

  • rst2html - จาก reStructuredText เป็นHTML
  • rst2xml - จาก reStructuredText ถึงXML
  • rst2latex - จาก reStructuredText ถึงLaTeX
  • rst2odt - จากเอกสาร reStructuredText เป็นODF Text (โปรแกรมประมวลผลคำ)
  • rst2s5 - จาก reStructuredText ถึงS5ซึ่งเป็นระบบการนำเสนอภาพนิ่งที่ใช้มาตรฐานอย่างง่าย
  • rst2man - จากหน้า reStructuredText ถึงMan

Haskell - Pandoc

Pandocเป็นไลบรารี Haskell สำหรับการแปลงจากรูปแบบมาร์กอัปหนึ่งเป็นอีกรูปแบบหนึ่งและเป็นเครื่องมือบรรทัดคำสั่งที่ใช้ไลบรารีนี้ มันสามารถอ่าน Markdown และ (ส่วนย่อยของ) reStructuredText, HTML และ LaTeX และสามารถเขียน Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo หน้าและ S5 สไลด์ HTML แสดง

มีเครื่องมือออนไลน์ Pandoc (POT) เพื่อลองห้องสมุดนี้ น่าเสียดายที่เมื่อเทียบกับreStructuredText online renderer (ROR)

  • POT จะตัดอินพุตให้เร็วขึ้น ผู้ใช้ POT ต้องแสดงผลอินพุตเป็นกลุ่มที่ ROR สามารถแสดงผลได้ทั้งหมด
  • เอาต์พุต POT ไม่มีข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์ซึ่งแสดงโดย ROR (และสร้างโดยdocutils)

Java - JRst

JRst เป็นตัวแยกวิเคราะห์ Java reStructuredText ขณะนี้สามารถส่งออก HTML, XHTML, DocBook xdoc และ PDF ได้ แต่ดูเหมือนว่าจะมีปัญหาร้ายแรง: ทั้งการสร้าง PDF หรือ (X) HTML ไม่สามารถใช้งานได้กับการดาวน์โหลดแบบเต็มหน้าปัจจุบันหน้าผลลัพธ์ใน (X) HTML ว่างเปล่าและการสร้าง PDF ล้มเหลวบน IO ปัญหาเกี่ยวกับไฟล์ XSL (ไม่ใช่บันเดิล ??) โปรดทราบว่าJRst ดั้งเดิมถูกลบออกจากเว็บไซต์ ส้อมพบบน GitHub

สกาลา - ไลก้า

Laikaเป็นห้องสมุดใหม่สำหรับเปลี่ยนภาษามาร์กอัปเป็นรูปแบบเอาต์พุตอื่น ๆ ปัจจุบันสนับสนุนอินพุตจาก Markdown และ reStructuredText และสร้างเอาต์พุต HTML ไลบรารี่เขียนใน Scala แต่ก็ควรใช้งานได้จาก Java เช่นกัน

Perl

PHP

  • Gregwar / RST - ตัวแยกวิเคราะห์ PHP5.3 ที่เป็นผู้ใหญ่พร้อมการทดสอบ
  • php-reformuredtext - การใช้งานที่ง่ายไม่สมบูรณ์ (แต่ใช้งานได้)

C # /. NET

นิ่ม / C

นิ่มคอมไพเลอร์มีคำสั่ง rst2htmlและrst2texที่แปลงไฟล์ reStructuredText เพื่อ HTML และไฟล์เท็กซ์ ไลบรารีมาตรฐานจัดเตรียมโมดูลต่อไปนี้ (ใช้โดยคอมไพเลอร์) เพื่อจัดการไฟล์ reStructuredText โดยทางโปรแกรม:

  • rst - ใช้ parser reStructuredText
  • rstast - ใช้ AST สำหรับตัวแยกวิเคราะห์ reStructuredText
  • rstgen - ใช้เครื่องมือสร้าง HTML / Latex จาก reStructuredText

ตัวแปลงบุคคลที่สามอื่น ๆ

เครื่องมือเหล่านี้ส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด) ขึ้นอยู่กับ Docutils (ดูด้านบน) และให้การแปลงเป็นหรือจากรูปแบบที่อาจไม่รองรับโดยการกระจายหลัก

จาก reStructuredText

  • restview - pipแพคเกจหลามที่ติดตั้งได้นี้ต้องการdocutilsซึ่งจะแสดงผลจริง restviewคุณสมบัติที่ใช้งานง่ายที่สำคัญของมันคือเมื่อคุณบันทึกการเปลี่ยนแปลงเอกสารของคุณมันจะแสดงผลใหม่โดยอัตโนมัติและแสดงอีกครั้งrestview
    1. เริ่มต้นเว็บเซิร์ฟเวอร์ขนาดเล็ก
    2. การโทรdocutilsเพื่อแสดงเอกสารของคุณเป็น HTML
    3. เรียกเบราว์เซอร์ของอุปกรณ์ของคุณเพื่อแสดง HTML ออก
  • rst2pdf - จาก reStructuredText เป็น PDF
  • rst2odp - จาก reStructuredText จนถึงการนำเสนอ ODF
  • rst2beamer - จาก reStructuredText ถึง LaTeX beamer คลาสการนำเสนอ
  • Wikir - จากข้อความที่ปรับโครงสร้างใหม่เป็นรูปแบบวิกิของ Google (และอื่น ๆ )
  • rst2qhc - แปลงชุดไฟล์ reStructuredText เป็นไฟล์ช่วยเหลือ Qt (ชุดเครื่องมือ) และ (เป็นทางเลือก) ไฟล์ Qt Help Project

เพื่อ reStructuredText

  • xml2rstเป็นสคริปต์ XSLT เพื่อแปลง Docutils XML ภายใน (ด้านหลัง) เป็น reStructuredText
  • Pandoc (ดูด้านบน) ยังสามารถแปลงจาก Markdown, HTML และ LaTeX เป็น reStructuredText
  • db2rstเป็น DocBook ที่เรียบง่ายและ จำกัด สำหรับนักแปล reStructuredText
  • pod2rst - แปลงไฟล์. Pod เป็นไฟล์ reStructuredText

ส่วนขยาย

บางโครงการใช้ reStructuredText เป็นพื้นฐานในการสร้างหรือให้การทำงานพิเศษที่ขยายยูทิลิตี้ของเครื่องมือ reStructuredText

บุคคลลึกลับ

ตัวสร้างเอกสารสฟิงซ์แปลชุดของไฟล์ต้นฉบับ reStructuredText เป็นรูปแบบเอาต์พุตต่างๆสร้างการอ้างอิงโยงดัชนีและอื่น ๆ โดยอัตโนมัติ

rest2web

rest2webเป็นเครื่องมือง่ายๆที่ช่วยให้คุณสร้างเว็บไซต์จากเทมเพลตเดียว (หรือมากเท่าที่คุณต้องการ) และเก็บเนื้อหาไว้ใน reStructuredText

Pygments

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

บรรณาธิการฟรี

ในขณะที่โปรแกรมแก้ไขข้อความธรรมดามีความเหมาะสมในการเขียนเอกสาร reStructuredText บรรณาธิการบางคนมีการสนับสนุนที่ดีกว่าคนอื่น ๆ

Emacs

การสนับสนุน Emacsผ่านโหมด rst มาเป็นส่วนหนึ่งของแพ็คเกจ Docutils ภายใต้/docutils/tools/editors/emacs/rst.el

เป็นกลุ่ม

vim-commonแพคเกจที่มาพร้อมกับการกระจายมากที่สุด GNU / Linux มี reStructuredText ไฮไลท์ไวยากรณ์และการสนับสนุนการเยื้องของ reStructuredText ออกจากกล่อง:

เจด

มีโหมด rstสำหรับตัวแก้ไขโปรแกรมเมอร์Jed

Gedit

gedit เครื่องมือแก้ไขข้อความอย่างเป็นทางการของเดสก์ท็อป GNOME มีความเป็นปลั๊กอิน Gedit reStructuredText

Geany

Geanyขนาดเล็กและน้ำหนักเบา Integrated Development Environment ได้รวมการสนับสนุน reStructuredText จากเวอร์ชัน 0.12 (10 ตุลาคม 2550)

สิงห์

Leoเครื่องมือแก้ไขโครงร่างสำหรับโปรแกรมเมอร์รองรับ reStructuredText ผ่านrst-pluginหรือผ่านทางโหนด "@ auto-rst" (ยังไม่ได้รับการบันทึกอย่างดี แต่โหนด @ auto-rst อนุญาตให้แก้ไขไฟล์ rst โดยตรงแยกวิเคราะห์โครงสร้างลงในเค้าโครง Leo .

นอกจากนี้ยังมีวิธีในการแสดงตัวอย่าง HTML ที่เป็นผลลัพธ์ในบานหน้าต่าง "viewrendered"

FTE

FTEแก้ไขข้อความพับ - ฟรี (ได้รับใบอนุญาตภายใต้ลิขสิทธิ์ GNU GPL) แก้ไขข้อความสำหรับนักพัฒนา FTE มีโหมดสำหรับการสนับสนุน reStructuredText มันให้การเน้นสีขององค์ประกอบ RSTX พื้นฐานและเมนูพิเศษที่ให้วิธีง่ายๆในการแทรกองค์ประกอบ RSTX ยอดนิยมไปยังเอกสาร

PYK

PyKเป็นตัวตายตัวแทนของ PyEdit และ reStInPeace ที่เขียนด้วย Python ด้วยความช่วยเหลือของชุดเครื่องมือ Qt4

คราส

Eclipse IDE พร้อมกับปลั๊กอิน ReST Editorจัดเตรียมการสนับสนุนสำหรับการแก้ไขไฟล์ reStructuredText

NoTex

NoTexเป็นโปรแกรมแก้ไขข้อความ (วัตถุประสงค์ทั่วไป) เบราว์เซอร์ที่มีการจัดการโครงการแบบบูรณาการและการเน้นไวยากรณ์ นอกจากนี้ยังช่วยให้สามารถเขียนหนังสือรายงานบทความ ฯลฯ โดยใช้ rST และแปลงเป็น LaTex, PDF หรือ HTML ไฟล์ PDF มีคุณภาพการเผยแพร่สูงและผลิตผ่าน Sphinx พร้อมชุด Texlive LaTex

Notepad ++

Notepad ++เป็นเครื่องมือแก้ไขข้อความทั่วไปสำหรับ Windows แต่ก็มีการเน้นไวยากรณ์สำหรับหลายภาษาในตัวและการสนับสนุนสำหรับ reStructuredText ผ่านภาษาที่ผู้ใช้กำหนดสำหรับ reStructuredText

รหัส Visual Studio

Visual Studio Codeเป็นโปรแกรมแก้ไขข้อความอเนกประสงค์สำหรับ Windows / macOS / Linux แต่ก็มีการเน้นไวยากรณ์สำหรับหลายภาษาในตัวและสนับสนุน reStructuredText ผ่านทางส่วนขยายจากLeXtudio

Dext reStructuredText Editors

บรรณาธิการที่เป็นกรรมสิทธิ์

ข้อความประเสริฐ

Sublime Textเป็นตัวแก้ไขซอร์สโค้ดที่สามารถปรับแต่งได้อย่างสมบูรณ์และสามารถขยายได้สำหรับ Windows, OS X และ Linux จำเป็นต้องลงทะเบียนสำหรับการใช้งานระยะยาว แต่ฟังก์ชั่นทั้งหมดมีให้ในรุ่นที่ไม่ได้ลงทะเบียนพร้อมเตือนให้ซื้อใบอนุญาตเป็นครั้งคราว เวอร์ชัน2และ3 (ปัจจุบันอยู่ในรุ่นเบต้า) รองรับการเน้นไวยากรณ์ reStructuredText ตามค่าเริ่มต้นและมีปลั๊กอินหลายรายการผ่านทางผู้จัดการแพคเกจการควบคุมแพ็คเกจเพื่อให้ข้อมูลโค้ดและการเติมโค้ดการเน้นไวยากรณ์เพิ่มเติมการแปลงเป็น / จาก RST และรูปแบบอื่น ๆ ในเบราว์เซอร์

BBEdit / TextWrangler

BBEdit (และตัวแปรอิสระของมันTextWrangler ) สำหรับ Mac สามารถ reStructuredText ไวยากรณ์ที่เน้นไวยากรณ์โดยใช้โมดูลภาษาที่ไม่มีรหัสนี้

TextMate

TextMate , วัตถุประสงค์ทั่วไปแก้ไขข้อความ GUI ที่เป็นกรรมสิทธิ์สำหรับ Mac OS X มีกำสำหรับ reStructuredText

Intype

Intypeเป็นโปรแกรมแก้ไขข้อความที่เป็นกรรมสิทธิ์สำหรับ Windows ที่รองรับ reStructuredText นอกกรอบ

แก้ไขข้อความ E

Eเป็นโปรแกรมแก้ไขข้อความที่เป็นกรรมสิทธิ์ได้รับอนุญาตภายใต้ "Open Company License" รองรับการรวมกลุ่มของ TextMate ดังนั้นจึงควรสนับสนุน reStructuredText แบบเดียวกับที่ TextMate ทำ

PyCharm

PyCharm (และ IDE แพลตฟอร์ม IntelliJ อื่น ๆ ?) มีการสนับสนุน ReST / Sphinx (การเน้นไวยากรณ์การเติมข้อความอัตโนมัติและดูตัวอย่าง) พรีวิวค้นหาทันใจ)

วิกิพีเดีย

นี่คือบางโปรแกรม Wiki ที่สนับสนุนมาร์กอัป reStructuredText เป็นไวยากรณ์มาร์กอัปดั้งเดิมหรือเป็นแอดออน:

มีเดียวิกิ

ขยายมีเดียวิกิ reStructuredTextช่วยให้มาร์กอัป reStructuredText ในมีเดียวิกิล้อมรอบด้วยและ<rst></rst>

MoinMoin

MoinMoin เป็น WikiEngine ขั้นสูงที่ใช้งานง่ายและสามารถขยายได้พร้อมกับชุมชนผู้ใช้ขนาดใหญ่ กล่าวสั้น ๆ ว่ามันเป็นเรื่องของการทำงานร่วมกันบนหน้าเว็บที่สามารถแก้ไขได้อย่างง่ายดาย

มีความเป็นreStructuredText Parser สำหรับ MoinMoin

Trac

Trac เป็น wiki ที่ปรับปรุงแล้วและระบบติดตามปัญหาสำหรับโครงการพัฒนาซอฟต์แวร์ มีความเป็นสนับสนุน reStructuredText ใน Trac

วิกินี้

Wikiนี้เป็นเว็บสำหรับ Python Wiki ที่เขียนโดย Ian Bicking วิกินี้ใช้ ReStructuredText สำหรับมาร์กอัพ

rstiki

rstikiเป็นที่เรียบง่ายไฟล์เดียวส่วนบุคคลโดยใช้วิกิพีเดีย reStructuredText ไวยากรณ์ (ผ่าน docutils) แรงบันดาลใจจากpwyky ไม่สนับสนุนการบ่งชี้การกำหนดเวอร์ชันลำดับชั้น chrome / framing / templating หรือการใส่สไตล์ มันใช้ประโยชน์จาก docutils / reStructuredText เป็นไวยากรณ์ wiki ดังนั้นจึงมีรหัสน้อยกว่า 200 บรรทัดและในไฟล์เดียว คุณใส่ไว้ในไดเรกทอรีและมันจะทำงาน

ikiwiki

Ikiwikiเป็นคอมไพเลอร์ wiki มันจะแปลงหน้าวิกิเป็นหน้า HTML ที่เหมาะสำหรับการเผยแพร่บนเว็บไซต์ Ikiwiki เก็บหน้าและประวัติในระบบควบคุมการแก้ไขเช่นการโค่นล้มหรือ Git มีคุณสมบัติอื่น ๆ อีกมากมายรวมถึงการสนับสนุนการเขียนบล็อกและปลั๊กอินขนาดใหญ่ มันเป็นปลั๊กอิน reStructuredTextแต่ค่อนข้าง จำกัด และไม่แนะนำให้ใช้เป็น 'ภาษามาร์กอัปหลักในขณะนี้

บริการเว็บ

Sandbox

บรรณาธิการออนไลน์ reStructuredTextสามารถใช้ในการเล่นกับมาร์กอัปและเห็นผลทันที

กรอบการเขียนบล็อก

WordPress

WordPreSt ปลั๊กอินการปรับโครงสร้างข้อความใหม่สำหรับ WordPress (PHP)

สังกะสี

ปลั๊กอินตัวแยกวิเคราะห์ reStructuredTextสำหรับZine (จะล้าสมัยในรุ่น 0.2 เมื่อ Zine ถูกกำหนดให้รับการสนับสนุน reStructuredText ดั้งเดิม) Zine ถูกยกเลิก (งูใหญ่)

นกกระทุง

Pelicanเป็นตัวสร้างบล็อกแบบคงที่ที่รองรับการเขียนบทความใน ReST (งูใหญ่)

Hyde

Hydeเป็นเครื่องมือสร้างเว็บไซต์แบบคงที่ที่รองรับ ReST (งูใหญ่)

อะคริลาไมด์

Acrylamidเป็นตัวสร้างบล็อกแบบสแตติกที่สนับสนุนการเขียนบทความใน ReST (งูใหญ่)

นิโคลา

Nikolaเป็น Static Site และ Blog Generator ที่รองรับ ReST (งูใหญ่)

ipsum จำพวก

Ipsum generaเป็นตัวสร้างบล็อกแบบสแตติกเขียนใน Nim

Yozuch

Yozuchเป็นตัวสร้างบล็อกแบบคงที่เขียนด้วย Python

มากกว่า


สำหรับ PHP แพ็คเกจเอกสารของ Zeta Components ได้รับการสนับสนุน reStructuredText ที่ดี
Rob Allen

คุณอาจสนใจที่จะดูตัวอย่างสดซึ่งเป็นสิ่งที่Markedappเสนอให้กับเอกสาร Markdown มันไม่ใช่เครื่องมือ reStructredText ที่มีอยู่ แต่ฉันคิดว่ามันมีประโยชน์จริงๆ
Wilfred Springer

1
ผ่านความคิดเห็นของเอมี่บราวน์ฉันเรียนรู้ว่าคุณสามารถตั้งค่า Marked.app ให้แสดงผล rst โดยไปที่การตั้งค่า> พฤติกรรมการเปิดใช้งาน "ตัวประมวลผล Markdown ที่กำหนดเอง" และชี้ไปที่ไฟล์ rst2html.py
Shon

เวลาจะทำให้คำตอบนี้ล้าสมัยไปแล้ว ฉันจะตรวจสอบคู่เพียงข้อเสนอแนะเช่น PYK และ RIP ซึ่งไม่สามารถทำงานบนระบบในวันนี้ขณะที่พวกเขาขึ้นอยู่กับโมดูลที่ล้าสมัยดังนั้น ...
ที

3
ฉันเพิ่มลิงก์ไปยัง vim addon riv.vim ซึ่งสำหรับฉันให้สิ่งที่ฉันค้นหามาเป็นเวลานาน github.com/Rykka/riv.vim
Jan Vlcinsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.