Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@frantic1048/est

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@frantic1048/est

reStructuredText parser and renderer

  • 0.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
Maintainers
1
Weekly downloads
 
Created
Source

Est

|license|_ |code quality|_ |ci|_ |dm|_

.. |license| image:: https://img.shields.io/github/license/frantic1048/est.svg?style=flat-square .. _license: https://github.com/frantic1048/est/blob/master/LICENSE .. |code quality| image:: https://img.shields.io/codacy/grade/3aa60448106f4001b7ac194829f98397.svg?style=flat-square .. _code quality: https://www.codacy.com/app/frantic1048/Est/dashboard .. |ci| image:: https://img.shields.io/travis/frantic1048/Est.svg?style=flat-square .. _ci: https://travis-ci.org/frantic1048/Est .. |dm| image:: https://img.shields.io/david/frantic1048/Est.svg?style=flat-square .. _dm: https://david-dm.org/frantic1048/Est

reStructuredText parser and renderer.

Install

Use yarn to fetch the package, or npm if you prefer.

.. code:: sh

yarn add @frantic1048/Est

Usage

After build:

.. code:: js

// do not forget the ``@frantic1048`` scope
import est from '@frantic1048/Est'

// directly render rST into HTML string
const html = est.rst2html('reStructuredText string...')


// or...?
// welcome to the dark side...

// generate parsing tree
// which is an ASTy instance
const parse_t = est.parse('reStructuredText string...')

// transfrom parsing tree into doc tree
// which is an ASTy instance
const doc_t = est.transfrom(parse_t)

// render the doc tree into HTML string
const html_the_harder_way = est.render(doc_t)

All node types of the parsed tree can be found from est.TokenTypes .

.. _ASTy: https://github.com/rse/asty

The node structure of a specific markup could be referred in test/grammar.<MarkupName>.js

Render function is under constructing.

Build

Prepare:

.. code:: sh

# fetch source code
git clone https://github.com/frantic1048/Est.git

# fetch dependencies
yarn

Build and run test:

.. code:: sh

yarn ci

Production build:

.. code:: sh

yarn dist

Develop:

.. code:: sh

yarn dev

The build output is under lib folder. All possible files are:

:est.dev.js: trace on, CommonJS module, debug and develop oriented. :est.min.js: trace off, single variable, Browser oriented. :est.js: trace off, CommonJS module, Node.js oriented.

Recognized Markups

:Inline:

  • emphasis <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#emphasis>_

  • strong emphasis <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#strong-emphasis>_

  • interpreted text <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#interpreted-text>_

  • inline literal <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#inline-literals>_

  • hyperlink reference <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#hyperlink-references>_

  • substitution reference <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#substitution-references>_

  • inline internal target <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#inline-internal-targets>_

  • standalone hyperlink <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#standalone-hyperlinks>_

    URI is refer to RFC 3986 <https://tools.ietf.org/html/rfc3986#appendix-A>_ 's absolute-URI definition, no scheme restriction.

    Email address is a simplified subset of URI. See TextEmailAdress rule in src/parser.pegjs

:Block-level:

  • section <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#sections>_

    Unlike adorment line should be longer than title text in spec, section adornment length > 3 is accepted length.

  • transition <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#transitions>_

  • paragraph <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#paragraphs>_

  • bullet list <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#bullet-lists>_

    fixed 2 spaces indent.

  • enumerated list <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#enumerated-lists>_

    the text immediately after the enumerator determines the indentation (same as spec).

  • definition list <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#definition-lists>_

    fixed 4 spaces indent.

  • field list <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#field-lists>_

  • option list <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#option-lists>_

  • footnote <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#footnotes>_

    standalone hyperlink is not recognized in field name, while the other inline markups is recognized.

  • citation <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#citations>_

  • hyperlink target <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#hyperlink-targets>_

  • directive <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#directives>_

  • substitution definition <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#substitution-definitions>_

Keywords

FAQs

Package last updated on 30 Aug 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc