Suporte à ferramenta reStructuredText


128

Sou um grande fã do reStructuredText , no entanto, as ferramentas que o suportam estão espalhadas por toda a Internet. A lista oficial de ferramentas está incompleta e / ou desatualizada e pode ser atualizada apenas por meio de privilégios de confirmação. Por algum tempo, houve uma lista abrangente na página reStructuredText da Wikipedia , mas aparentemente " não atendeu às diretrizes de notabilidade para conteúdo da Web " e foi removida .

Então, para colocá-lo em um formulário de pergunta: Que suporte de ferramenta podemos esperar ao trabalhar com reStructuredText, por exemplo, editores de texto, software Wiki, conversores de e para reStructuredText etc.?

Respostas:


440

Recuperando (e estendendo) a lista de uma versão antiga da página da Wikipedia :

Documentação

Implementações

Embora a implementação de referência de reStructuredText seja escrita em Python, também existem analisadores de reStructuredText em outros idiomas.

Python - Docutils

A principal distribuição do reStructuredText é o pacote Python Docutils . Ele contém várias ferramentas de conversão:

  • rst2html - de reStructuredText para HTML
  • rst2xml - de reStructuredText para XML
  • rst2latex - de reStructuredText para LaTeX
  • rst2odt - de reStructuredText para documento ODF Text (processador de texto).
  • rst2s5 - de reStructuredText para S5 , um sistema simples de apresentação de slides baseado em padrões
  • rst2man - da página reStructuredText para Man

Haskell - Pandoc

Pandoc é uma biblioteca Haskell para converter de um formato de marcação para outro e uma ferramenta de linha de comando que usa essa biblioteca. Ele pode ler Markdown e (subconjuntos de) reStructuredText, HTML e LaTeX, e pode escrever Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, marcação MediaWiki, groff man páginas e apresentações de slides em HTML S5.

Existe uma ferramenta online Pandoc (POT) para experimentar esta biblioteca. Infelizmente, comparado ao renderizador on-line reStructuredText (ROR),

  • POT trunca a entrada um pouco mais em breve. O usuário POT deve renderizar a entrada em partes que podem ser renderizadas inteiras pelo ROR.
  • A saída POT não possui as mensagens de erro úteis exibidas pelo ROR (e geradas por docutils)

Java - JRst

JRst é um analisador Java reStructuredText. Atualmente, ele pode gerar HTML, XHTML, DocBook xdoc e PDF, mas parece ter sérios problemas: nem a geração de PDF ou (X) HTML funciona usando o download completo atual, as páginas de resultado em (X) HTML estão vazias e a geração de PDF falha no IO problemas com arquivos XSL (não incluídos no pacote ??). Observe que o JRst original foi removido do site; um garfo é encontrado no GitHub .

Scala - Laika

Laika é uma nova biblioteca para transformar linguagens de marcação em outros formatos de saída. Atualmente, ele suporta entrada de Markdown e reStructuredText e produz saída HTML. A biblioteca é escrita em Scala, mas também deve ser utilizável em Java.

Perl

PHP

C # /. NET

Nim / C

O compilador Nim apresenta os comandos rst2html e rst2texque transformam os arquivos reStructuredText em arquivos HTML e TeX. A biblioteca padrão fornece os seguintes módulos (usados ​​pelo compilador) para manipular arquivos reStructuredText programaticamente:

  • rst - implementa um analisador reStructuredText
  • rstast - implementa um AST para o analisador reStructuredText
  • rstgen - implementa um gerador de HTML / Látex a partir de reStructuredText

Outros conversores de terceiros

A maioria (mas não todas) dessas ferramentas é baseada no Docutils (veja acima) e fornece conversão para / de formatos que podem não ser suportados pela distribuição principal.

De reStructuredText

  • restview - Este pippacote python instalável requer docutils, que faz a renderização real. restviewO principal recurso de facilidade de uso é que, quando você salva as alterações no (s) seu (s) documento (s), ele é automaticamente re-processado e reexibido.restview
    1. inicia um pequeno servidor web
    2. chamadas docutilspara renderizar seu (s) documento (s) em HTML
    3. chama o navegador do seu dispositivo para exibir o HTML de saída.
  • rst2pdf - de reStructuredText para PDF
  • rst2odp - de reStructuredText para apresentação em ODF
  • rst2beamer - de reStructuredText para LaTeX beamer Classe de apresentação
  • Wikir - de reStructuredText para um Google (e possivelmente outros) formatos Wiki
  • rst2qhc - Converte uma coleção de arquivos reStructuredText em um arquivo de Ajuda do Qt (kit de ferramentas) e (opcional) em um arquivo do Projeto de Ajuda do Qt

Para reStructuredText

  • xml2rst é um script XSLT para converter a representação XML interna do Docutils (voltar) em reStructuredText
  • Pandoc (veja acima) também pode converter de Markdown, HTML e LaTeX para reStructuredText
  • O db2rst é um DocBook simples e limitado ao tradutor reStructuredText
  • pod2rst - converte arquivos .pod em arquivos reStructuredText

Extensões

Alguns projetos usam o reStructuredText como linha de base para desenvolver ou fornecem funcionalidade extra, estendendo o utilitário das ferramentas reStructuredText.

Esfinge

O gerador de documentação Sphinx converte um conjunto de arquivos de origem reStructuredText em vários formatos de saída, produzindo automaticamente referências cruzadas, índices etc.

rest2web

O rest2web é uma ferramenta simples que permite criar seu site a partir de um único modelo (ou quantos você desejar) e manter o conteúdo em reStructuredText.

Pigmentos

Pygments é um marcador de sintaxe genérico para uso geral em todos os tipos de software, como sistemas de fóruns, Wikis ou outros aplicativos que precisam pré-codificar o código-fonte. Consulte Usando pigmentos em documentos reStructuredText .

Editores gratuitos

Enquanto qualquer editor de texto sem formatação é adequado para gravar documentos reStructuredText, alguns editores têm um suporte melhor que outros.

Emacs

O suporte ao Emacs via rst-mode vem como parte do pacote Docutils em/docutils/tools/editors/emacs/rst.el

Vim

O vim-commonpacote fornecido com a maioria das distribuições GNU / Linux possui destaque de sintaxe reStructuredText e suporte de indentação de reStructuredText pronto para uso:

Jed

Existe um primeiro modo para o editor de programadores Jed .

gedit

gedit, o editor de texto oficial do ambiente de área de trabalho GNOME. Existe um plug-in gedit reStructuredText .

Geany

Geany , um ambiente de desenvolvimento integrado pequeno e leve, inclui suporte ao reStructuredText da versão 0.12 (10 de outubro de 2007).

Leo

Leo , um editor de estrutura de tópicos para programadores, suporta reStructuredText via rst-plugin ou através de nós "@ auto-rst" (não está bem documentado, mas os nós @ auto-rst permitem editar arquivos rst diretamente, analisando a estrutura no esquema Leo) .

Ele também fornece uma maneira de visualizar o HTML resultante, em um painel "viewrendered".

ETI

O editor de texto dobrável FTE - um editor de texto gratuito (licenciado sob a GNU GPL) para desenvolvedores. O FTE possui um modo para suporte ao reStructuredText. Ele fornece destaque em cores dos elementos básicos do RSTX e menu especial que fornece uma maneira fácil de inserir os elementos mais populares do RSTX em um documento.

PyK

O PyK é um sucessor do PyEdit e do reStInPeace, escrito em Python com a ajuda do kit de ferramentas Qt4.

Eclipse

O IDE Eclipse com o plug-in ReST Editor fornece suporte para editar arquivos reStructuredText.

NoTex

O NoTex é um editor de texto (de uso geral) baseado em navegador, com gerenciamento de projeto integrado e destaque de sintaxe. Além disso, ele permite escrever livros, relatórios, artigos etc. usando o rST e convertê-los em LaTex, PDF ou HTML. Os arquivos PDF são de alta qualidade para publicação e são produzidos via Sphinx com o conjunto Texlive LaTex.

Notepad ++

O Notepad ++ é um editor de texto de uso geral para Windows. Possui destaque de sintaxe para muitos idiomas integrados e suporte para reStructuredText por meio de um idioma definido pelo usuário para reStructuredText .

Código do Visual Studio

O Visual Studio Code é um editor de texto de uso geral para Windows / macOS / Linux. Possui destaque de sintaxe para muitos idiomas embutidos e suporta reStructuredText através de uma extensão do LeXtudio .

Editores reestruturados de texto dedicados

Editores proprietários

Texto sublime

Sublime Text é um editor de código-fonte completamente personalizável e extensível disponível para Windows, OS X e Linux. O registro é necessário para uso a longo prazo, mas todas as funções estão disponíveis na versão não registrada, com lembretes ocasionais para a compra de uma licença. As versões 2 e 3 (atualmente em beta) suportam o realce da sintaxe reStructuredText por padrão, e vários plug-ins estão disponíveis por meio do Package Control do gerenciador de pacotes para fornecer trechos e conclusão de código, realce adicional da sintaxe, conversão de / para RST e outros formatos e visualização de HTML no navegador.

BBEdit / TextWrangler

O BBEdit (e sua variante gratuita TextWrangler ) para Mac pode realçar a sintaxe reStructuredText usando este módulo de linguagem sem código .

TextMate

O TextMate , um editor de texto de GUI de uso geral exclusivo para Mac OS X, possui um pacote para reStructuredText .

Intype

O Intype é um editor de texto proprietário para Windows, que suporta o reStructuredText pronto para uso.

E Editor de texto

E é um editor de texto proprietário licenciado sob a "Open Company License". Ele suporta pacotes configuráveis ​​do TextMate, portanto, deve suportar reStructuredText da mesma forma que o TextMate.

PyCharm

O PyCharm (e outros IDEs da plataforma IntelliJ?) Tem suporte para ReST / Sphinx (realce de sintaxe, preenchimento automático e visualização). visualização instantânea)

Wiki

Aqui estão alguns programas Wiki que oferecem suporte à marcação reStructuredText como sintaxe de marcação nativa ou como complemento:

MediaWiki

A extensão reStructuredText do MediaWiki permite a marcação reStructuredText no MediaWiki cercado por <rst>e </rst>.

MoinMoin

O MoinMoin é um WikiEngine avançado, fácil de usar e extensível, com uma grande comunidade de usuários. Dito em poucas palavras, trata-se de colaboração em páginas da web facilmente editáveis.

Existe um analisador reStructuredText para o MoinMoin .

Trac

O Trac é um wiki aprimorado e um sistema de rastreamento de problemas para projetos de desenvolvimento de software. Existe um suporte reStructuredText no Trac .

Este Wiki

Este Wiki é um Webware para Python Wiki escrito por Ian Bicking. Este wiki usa ReStructuredText para sua marcação.

rstiki

O rstiki é um wiki pessoal minimalista de arquivo único, usando a sintaxe reStructuredText (via docutils) inspirada no pwyky . Ele não suporta indicação de autoria, versão, hierarquia, chrome / framing / modelo ou estilo. Ele utiliza docutils / reStructuredText como sintaxe do wiki. Como tal, tem menos de 200 linhas de código e em um único arquivo. Você o coloca em um diretório e ele é executado.

ikiwiki

Ikiwiki é um compilador wiki. Ele converte páginas wiki em páginas HTML adequadas para publicação em um site. O Ikiwiki armazena páginas e histórico em um sistema de controle de revisão, como Subversion ou Git. Existem muitos outros recursos, incluindo suporte para blogs, além de uma grande variedade de plugins. É o plugin reStructuredText , no entanto, é um pouco limitado e não é recomendado como sua 'principal linguagem de marcação no momento.

Serviços web

Caixa de areia

Um editor reStructuredText online pode ser usado para brincar com a marcação e ver os resultados imediatamente.

Estruturas de blogs

WordPress

WordPreSt reStructuredText plugin para WordPress. (PHP)

Zine

O plug-in do analisador reStructuredText para o Zine (ficará obsoleto na versão 0.2 quando o Zine estiver agendado para obter um suporte nativo ao reStructuredText). O Zine foi descontinuado. (Pitão)

pelicano

O Pelican é um gerador de blog estático que suporta a escrita de artigos no ReST. (Pitão)

hyde

Hyde é um gerador de site estático que suporta ReST. (Pitão)

Acrilamida

Acrilamida é um gerador de blog estático que suporta a escrita de artigos no ReST. (Pitão)

Nikola

Nikola é um site estático e gerador de blog que suporta ReST. (Pitão)

gêneros ipsum

O gênero Ipsum é um gerador de blog estático escrito em Nim.

Yozuch

Yozuch é um gerador de blog estático escrito em Python.

Mais


Para PHP, o pacote de documentos da Zeta Components tem um bom suporte a reStructuredText.
Rob Allen

Talvez você também esteja interessado em ter uma visualização ao vivo , algo semelhante ao que a Markedapp está oferecendo para documentos Markdown. Não é uma ferramenta reStructredText, mas acho realmente útil.
Wilfred Springer

1
Através do comentário de Amy Brown , aprendi que você pode configurar o Marked.app para renderizar primeiro, vá em Preferências> Comportamento, habilitando o "Processador Markdown personalizado" e apontando-o para um arquivo rst2html.py.
Shon

O tempo tornará essa resposta também desatualizada. Eu verifiquei casal apenas de sugestões, como PYK e RIP, que não pode ser executado em sistemas de hoje como eles dependem de módulos desatualizados, então ...
teta

3
Adicionei um link ao vim addon riv.vim, que fornece o que eu estava procurando há muito tempo. github.com/Rykka/riv.vim
Jan Vlcinsky
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.