Skip to content

jmptrader/go-rst

 
 

Repository files navigation

go-rst - reStructuredText for Go

Modified

Tue Dec 09 21:41 2014

image

image

image

image

A reStructuredText parser for and implemented in the Go programming language.

How to contribute

  • Convert tests into JSON

    The docutils tests are implemented in a "psuedo xml" which is non-standard. Translating the tests into JSON has the benefit of making the reStructuredText tests programming language neutral so that reStructuredText parsers can be implemented in other programming languages. See https://github.com/demizer/go-rst/tree/master/testdata for more information.

  • Implement an element

    Implement an element from the list above.

  • Write documentation

    All projects need good documentation.

  • Test and report

    Not actually possible in the current state, but using the library and writing bug reports is always helpful.

Status

Work is currently underway on translating the docutils tests from psuedo xml into JSON.

The go-rst Library Implements 9% of the Official Specification (26 of 283 Items)
0% Complete -- whitespace
Done | Item | Note
no | tab-to-space |
no | form-feed-to-space |
no | vertical-tab-to-space |
0% Complete -- whitespace :: blank-lines
no | multiple-blank-lines-is-a-single-blank-line |
no | whitespace-preserved-in-literal-blocks |
20% Complete -- whitespace :: indentation
no | indented-list-item-content |
no | indented-literal-block-content |
yes | indented-block-quote |
no | indented-explicit-markup-blocks |
yes | indented-bullet-list-paragraph |
no | indented-footnote-paragraph |
no | indented-line-after-field-list-marker |
no | indented-line-after-option-list-marker |
no | dedent-ends-previous-indent-level |
0% Complete -- escaping-mechanism
no | escaping-mechanism |
0% Complete -- reference-names
no | elemenormalized-whitespace-in-reference-names |
no | case-insensitive-reference-name |
no | simple-reference-footnote-label |
no | simple-reference-citation-label |
no | simple-reference-interpreted-text-roles |
no | simple-reference-hyperlink-references |
no | simple-reference-backquotes |
no | phrase-reference-backquotes |
no | shared-reference-namespace |
0% Complete -- document-structure
0% Complete -- document-structure :: document
no | doctree-top-level-element-document |
100% Complete -- document-structure :: sections
yes | section | All tests from docutils converted to JSON and implemented.
yes | title |
yes | underline |
yes | overline |
yes | overline-underline-match-length |
yes | overline-underline-match-character |
yes | overline-underline-with-inset-title |
yes | overline-underline-is-distinct-from-underline-only-section |
yes | underline-only-section-no-inset |
yes | enforced-section-hierarchy-using-adornments |
yes | nested-sections |
yes | section-body-elements |
yes | six-level-section-for-html |
yes | automatic-section-hyperlink |
25% Complete -- document-structure :: transitions
yes | transition-marker |
no | sallow-begin-or-end-transitions |
no | sallow-adjacent-transitions |
0% Complete -- body-elements
no | doctest-blocks | Use Go instead of python.
50% Complete -- body-elements :: paragraphs
yes | basic-paragraph |
yes | paragraph-separated-by-blankline |
no | paragraph-with-inline-markup |
0% Complete -- body-elements :: bullet-lists
no | basic-unordered-bullet-list |
no | bullet-list-item-body-text-is-relatively-left-aligned |
no | bullet-list-with-blankline-and-left-aligned-body-element |
no | left-aligned-sublist-separated-by-blanklines |
no | bullet-list-dedent-level-return |
no | optional-blankline-after-bullet-list-item-body |
no | warning-on-missing-blankline-after-bullet-item |
0% Complete -- body-elements :: enumerated-lists
no | arabic-numerals |
no | uppercase-alphabet-characters |
no | lowercase-alphabet-characters |
no | uppercase-roman-numerals |
no | lowercase-roman-numerals |
no | auto-enumerator |
no | period-suffix |
no | parenthesis-suffix |
no | parenthesis-prefix-and-suffix |
no | newlist-on-enumerator-mismatch |
no | newlist-on-enumerator-sequence-interruption |
no | level-1-system-message-on-non-ordinal-one-start |
no | roman-numerals-must-begin-with-i-or-ii |
no | alphabetical-list-cannot-begin-with-i |
no | second-line-after-enumerated-list-item-is-valid |
no | escape-mechanism-for-paragraphs-that-begin-with-enumerator |
no | nested-enumerated-lists |
43% Complete -- body-elements :: definition-lists
yes | definition-term |
no | definition-term-inline-markup |
yes | indented-definition-block |
yes | indented-definition-block-with-body-elements |
no | definition-classifier |
no | definition-multiple-classifiers |
0% Complete -- body-elements :: field-lists
no | field-name |
no | field-name-colon-escape |
no | field-name-inline-markup |
no | field-name-case-insensitive |
no | field-name-multi-word |
no | field-body |
no | field-body-relative-indented-body-elements |
no | field-body-long-with-relative-indent |
no | rcs-keywords |
0% Complete -- body-elements :: field-lists :: bibliographic-fields
no | first-element-field-list-to-bibliographic-data |
no | author-field-name |
no | authors-field-name |
no | authors-field-name-with-colon |
no | authors-field-name-with-comma |
no | authors-field-name-with-bullet-list |
no | organization-field-name |
no | contact-field-name |
no | address-field-name |
no | address-field-name-multi-line-whitespace-preservation |
no | version-field-name |
no | status-field-name |
no | date-field-name |
no | copyright-field-name |
no | dedication-field-name |
no | dedication-field-name-is-unique |
no | dedication-field-name-with-body-elements |
no | abstract-field-name |
no | abstract-field-name-is-unique |
no | abstract-field-name-with-body-elements |
0% Complete -- body-elements :: option-lists
no | short-posix-style |
no | long-posix-style |
no | gnu-plus-style |
no | dos-style |
no | argument-placeholder-alphabetic |
no | argument-placeholder-angle-brackets |
no | multiple-option-synonyms |
no | option-description |
no | option-description-with-multiple-body-elements |
no | option-description-opening-blank-line |
no | option-description-optional-blank-lines |
no | option-description-closing-blank-line |
0% Complete -- body-elements :: literal-blocks
no | literal-blocks |
no | double-colon-is-removed-from-output |
no | double-colon-ends-paragraph |
no | double-colon-partial-minimization |
no | double-colon-full-minimization |
no | indented-literal-blocks |
no | quoted-literal-blocks |
0% Complete -- body-elements :: line-blocks
no | line-blocks |
no | line-blocks-with-inline-markup |
no | indented-line-blocks |
no | line-blocks-with-preserved-blank-lines |
no | line-blocks-with-preserved-indentation |
no | line-blocks-with-line-continuation |
no | line-blocks-end-with-blankline |
25% Complete -- body-elements :: block-quotes
yes | block-quote |
yes | block-quote-with-body-elements |
no | block-quote-with-inline-markup |
no | block-quote-with-attribution |
no | multiple-block-quotes-with-attribution |
no | empty-comment-starts-block-quote |
no | empty-comment-separates-block-quotes |
0% Complete -- body-elements :: tables
no | indented-table-is-blockquote |
no | tables-are-left-aligned |
0% Complete -- body-elements :: tables :: grid-table
no | body-elements |
no | row-separator |
no | column-separator |
no | header-rows |
0% Complete -- body-elements :: tables :: simple-tables
no | top-and-bottom-borders |
no | column-spans |
no | row-separation-character |
no | header-rows |
no | one-space-column-boundary |
no | two-space-column-boundary |
no | two-column-minimum-table-header |
no | no-blank-line-after-header-row-separator |
no | table-rows |
no | table-rows-contain-body-elements |
no | table-cell-line-continuation |
no | first-column-cells-of-new-rows-must-contain-text |
no | first-column-comment-omits-cell-text |
no | first-column-back-slash-space-escape |
no | ignore-blanklines-between-rows |
no | blanklines-within-multilne-rows |
no | rightmost-column-is-unbounded |
17% Complete -- body-elements :: explicit-markup-blocks
no | start-notation |
no | indented-block-body |
no | blank-lines |
no | citations |
yes | comments |
0% Complete -- body-elements :: explicit-markup-blocks :: footnotes
no | manual-numbered |
no | auto-numbered |
no | auto-symbol |
no | mixed-manual-and-auto-numbered |
0% Complete -- body-elements :: explicit-markup-blocks :: explicit-hyperlink-targets
no | named-targets |
no | anonymous-targets |
no | internal-targets |
no | internal-targets-chained |
no | external-targets |
no | indirect-targets |
0% Complete -- body-elements :: explicit-markup-blocks :: explicit-hyperlink-targets :: directives
no | directive-markers |
0% Complete -- body-elements :: explicit-markup-blocks :: explicit-hyperlink-targets :: directives :: directive-blocks
no | directive-arguments |
no | directive-options |
no | directive-content |
0% Complete -- body-elements :: explicit-markup-blocks :: explicit-hyperlink-targets :: directives :: directives
no | code |
no | image |
no | admonitions |
no | figure |
no | math |
no | list-table-yaml |
no | contents |
no | sectnum |
no | meta | HTML meta tags.
no | replace |
no | date |
no | include |
no | raw |
no | class | For HTML output.
no | role |
0% Complete -- body-elements :: explicit-markup-blocks :: substitution-definitions
no | definition-block |
no | circular-reference-error |
no | case-sensitive-matching |
0% Complete -- implicit-hyperlink-targets
no | from-section-titles |
no | from-footnotes |
no | from-citations |
no | from-extensions |
no | explicit-hyperlink-targets-have-priority |
no | level-1-system-message-for-duplicate-implici-hyperlink-targets |
no | level-2-system-message-for-duplicate-explicit-hyperlink-targets |
no | unique-hyperlink-targets |
0% Complete -- inline-markup
no | cannot-begin-or-end-with-whitespace |
no | cannot-be-nested |
no | recognition-order |
no | character-level-inline-markup |
no | emphasis |
no | strong-emphasis |
no | inline-literals |
no | inline-internal-targets |
no | footnote-references |
no | citation-references |
no | substitution-references |
0% Complete -- inline-markup :: inline-markup-recognition-rules
no | start-strings-must-start-text-block |
no | start-strings-preceded-by-whitespace |
no | start-strings-preceded-by-supported-ascii-chars |
no | start-strings-preceded-by-supported-unicode-chars |
no | start-strings-preceded-by-supported-unicode-chars |
no | start-strings-followed-by-non-whitespace |
no | end-strings-preceded-by-non-whitespace |
no | end-strings-must-end-text-block |
no | end-strings-are-followed-by-whitespace |
no | end-strings-are-followed-by-supported-ascii-chars |
no | end-strings-are-followed-by-supported-unicode-chars |
no | start-strings-preceded-with-immediate-supported-chars-must-not-be-followed-by-closing-chars |
no | end-string-must-be-separated-by-start-string-char |
no | unescaped-back-slash-disables-markup |
0% Complete -- inline-markup :: interpreted-text
no | emphasis-role |
no | literal-role |
no | code-role |
no | math-role |
no | pep-reference |
no | rfc-reference |
no | strong-role |
no | subscript-role |
no | superscript-role |
no | title-reference-role |
no | raw-role |
0% Complete -- inline-markup :: hyperlink-references
no | named-references |
no | anonymous-references |
no | embedded-uris-and-aliases |
0% Complete -- inline-markup :: standalone-hyperlinks
no | absolute-uri |
no | email-addresses |

About

Parse reStructuredText with Go.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 98.9%
  • Shell 1.1%