Introduction to reStructuredText

45
Introduction to reStructuredText Mosky

description

It is the slides of the share at PyHUG on 2013/10/31.

Transcript of Introduction to reStructuredText

Page 1: Introduction to reStructuredText

Introduction to reStructuredText

Mosky

Page 2: Introduction to reStructuredText

Mosky

• A Python engineer at Pinkoi

• An author of some Python packages(MoSQL, Clime, ...)

• A speaker at some conferences(PyCon APAC, PyCon TW, COSCUP, ...)

• A Python trainer

• mosky.tw

Page 3: Introduction to reStructuredText

reStructuredText

• reST, RST

• no REST(Representational State Transfer)

• A part of Python's Docutils

• A Lightweight Markup Language(like Markdown)

Page 4: Introduction to reStructuredText

Installation

Page 5: Introduction to reStructuredText

Installation• Test if you already have:

• rst2html.py --version

• If you have pip:

• pip install docutils

• Other:

• http://docutils.sourceforge.net/README.html#installation

Page 6: Introduction to reStructuredText

Markups

Page 7: Introduction to reStructuredText

Markups

• Implicit Markups

• Explicit Markups

Page 8: Introduction to reStructuredText

Implicit Markups• Inline Markups

• Section & Paragraph

• Lists (5 types)

• Blocks (4 types)

• Table (2 styles)

• Transition

• (Formatting Markups)

Page 9: Introduction to reStructuredText

Explicit Markups• Footnotes (2 types)

• Citation

• Hyperlink Targets (4 t.)

• Directive

• Substitution

• Comment

• (Dot-Dot Markups)

Page 10: Introduction to reStructuredText

Implicit Markups

Page 11: Introduction to reStructuredText

Inline Markups*emphasis*

**strong emphasis**

`interpreted text`

``inline literal``

\*escape*, \**esacpe**

A backslash literal: \\

emphasis

strong emphasis

interpreted text

inline literal

*escape*, **esacpe**

A backslash literal: \

Page 12: Introduction to reStructuredText

Section & Paragraph=====Title=====

Subtitle--------

The first paragraph.

The second paragraph.

=-`:'"~^_*+#<>

Title

Subtitle

The first paragraph.

The second paragraph.

=-`:'"~^_*+#<>

Page 13: Introduction to reStructuredText

Lists

• Enumerated List

• Bullet List

• Definition List

• Option List

Page 14: Introduction to reStructuredText

Enumerated ListA enumerated list:

3. The first item.4. The second item.#. The third item.

``1.``, ``A.``, ``I.``, ``(1)``, ``1)`` are also work.

A enumerated list:

3. The first item.4. The second item.5. The third item.

1., A., I., (1), 1) also work.

Page 15: Introduction to reStructuredText

Bullet ListA bullet list:

- This is item 1 - This is item 2- "-", "*" or "+". Continuing text must be aligned.

The two blank lines is required.

A bullet list:

• This is item 1 • This is item 2• "-", "*" or "+".

Continuing text must be aligned.

The two blank lines is required.

Page 16: Introduction to reStructuredText

Definition ListA definition list:

Python Python is a programming language.

reStructuredText reStructuredText is a markup syntax and parser system.

A Definition List:

PythonPython is a programming language.

reStructuredTextreStructuredText is a markup syntax and parser system.

Page 17: Introduction to reStructuredText

Field List:Author: Mosky Liu

Thanks the Quickref

:Date: 2013/10/29

Author: Mosky LiuThanks the Quickref

Date: 2013/10/29

Page 18: Introduction to reStructuredText

Option List-a      opt and long desc-b file  opt with arg--long   long opt

-a-b--long

opt and long decopt with arglong opt

Page 19: Introduction to reStructuredText

Blocks

• Literal Block

• Line Block

• Block Quote

• Doctest Block

Page 20: Introduction to reStructuredText

Literal BlockA literal block:

::

  Everything will be kept here.

Out of the literal block.

A literal block:

Everything will bekept here.

Out of the literal block.

Page 21: Introduction to reStructuredText

Literal BlockA literal block: ::

  Everything will be kept here.

Out of the literal block.

A literal block:

Everything will bekept here.

Out of the literal block.

Page 22: Introduction to reStructuredText

Line BlockA line block:

| Line breaks and| initial indents| are preserved.

A line block:

Line breaks and initial indentsare preserved.

Page 23: Introduction to reStructuredText

Block QuoteBlock quotes are just:

    Indented paragraphs.

Block quotes are just:

Indented paragraphs.

Page 24: Introduction to reStructuredText

Doctest BlockA doctest block:

>>> print "Hey!" Hey!

A doctest block:

>>> print "Hey!" Hey!

Page 25: Introduction to reStructuredText

Table

• Grid Table

• Simple Table

• These are styles of table.

Page 26: Introduction to reStructuredText

Grid TableA grid table:

+----------+----------+| Header 1 | Header 2 |+==========+==========+| Column 1 | Column 2 |+----------+----------+| Spanned Column |+---------------------+

A grid table:

Header 1 Header 2

Column 1 Column 2

Spanned ColumnSpanned Column

Page 27: Introduction to reStructuredText

Simple TableA simple table:

======== ========Header 1 Header 2======== ========Column 1 Column 2-------- --------Spanned Column==================

A simple table:

Header 1 Header 2

Column 1 Column 2

Spanned ColumnSpanned Column

Page 28: Introduction to reStructuredText

Transition4 or more punctuation chars.

----

No begin or end a sect or doc.

4 or more punctuation chars.

No begin or end a sect or doc.

Page 30: Introduction to reStructuredText

Footnotes

• Numerical Footnote

• Symbol Footnote

Page 31: Introduction to reStructuredText

Numerical Footnote

PyHUG [1]_ and Taipei.py [2]_ are both the Python user groups in Taiwan.

.. [1] http://www.meetup.com/pythonhug/

.. [2] http://taipei.python.org.tw/

PyHUG [1] and Taiepi.py [2] both are the Python user groups in Taiwan.[1] http://www.meetup.com/pythonhug/[2] http://taipei.python.org.tw/

Page 32: Introduction to reStructuredText

Numerical Footnote

PyHUG [#]_ and Taipei.py [#]_ are both the Python user groups in Taiwan.

.. [#] http://www.meetup.com/pythonhug/

.. [#] http://taipei.python.org.tw/

PyHUG [1] and Taiepi.py [2] both are the Python user groups in Taiwan.[1] http://www.meetup.com/pythonhug/[2] http://taipei.python.org.tw/

Page 33: Introduction to reStructuredText

Symbol Footnote

PyHUG [*]_ and Taipei.py [*]_ are both the Python user groups in Taiwan.

.. [*] http://www.meetup.com/pythonhug/

.. [*] http://taipei.python.org.tw/

PyHUG [*] and Taiepi.py [†] both are the Python user groups in Taiwan.[*] http://www.meetup.com/pythonhug/[†] http://taipei.python.org.tw/

Page 34: Introduction to reStructuredText

Citation[PyHUG]_ and [Taipei.py]_ are both the Python user groups in Taiwan.

.. [PyHUG] http://www.meetup.com/pythonhug/

.. [Taiepi.py] http://taipei.python.org.tw/

[PyHUG] and [Taiepi.py] both are the Python user groups in Taiwan.[PyHUG] http://www.meetup.com/pythonhug/[Taipei.py] http://taipei.python.org.tw/

Page 35: Introduction to reStructuredText

Hyperlink Targets

• External

• Internal

• Indirect

• Implicit

Page 36: Introduction to reStructuredText

ExternalHyperlink Target

PyHUG_ and Taipei.py_ are both the `Python <http://python.org/>`_ user groups in Taiwan.

.. _PyHUG: http://www.meetup.com/pythonhug/

.. _Taiepi.py: http://taipei.python.org.tw/

PyHUG and Taiepi.py both are the Python user groups in Taiwan.

Page 37: Introduction to reStructuredText

InternalHyperlink Target

PyHUG_ and Taipei.py_ are both the Python user groups in Taiwan.

.. _PyHUG:

PyHUG is ...

.. _Taiepi.py:

Taipei.py is ...

PyHUG and Taiepi.py both are the Python user groups in Taiwan.

Page 38: Introduction to reStructuredText

IndirectHyperlink Target

Python_ is `my favourite programming language`__.

.. _Python: http://www.python.org/

__ Python_

Python is my favourite programming language.

Page 39: Introduction to reStructuredText

ImplicitHyperlink Target

Titles are targets, too =======================

Implict references, like `Titles are targets, too`_.

Title are targets, too

Implict references, like Titles are targets, too.

Page 42: Introduction to reStructuredText

Comment

PyHUG and Taipei.py are both the Python user groups in Taiwan.

.. TODO: Put Tainan.py in this paragraph.

PyHUG and Taipei.py are both the Python user groups in Taiwan.

Page 43: Introduction to reStructuredText

Links

Page 44: Introduction to reStructuredText

Links

• Quick reStructuredTexthttp://docutils.sourceforge.net/docs/user/rst/quickref.html

• reStructuredText Directiveshttp://docutils.sourceforge.net/docs/ref/rst/directives.html

• Sphinxhttp://sphinx-doc.org/

• Markdownhttp://markdown.tw/

Page 45: Introduction to reStructuredText

Any Question?