commit:     e8d6dbf2b8657c9e5f695c4e663b6d862ed46e87
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 31 00:57:47 2017 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Fri Mar 31 21:08:51 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8d6dbf2

dev-python/m2r: New package, dep of dev-python/automat

Package-Manager: Portage-2.3.5, Repoman-2.3.2_p30

 dev-python/m2r/Manifest         |   1 +
 dev-python/m2r/files/m2r.1      | 515 ++++++++++++++++++++++++++++++++++++++++
 dev-python/m2r/files/test.md    |   5 +
 dev-python/m2r/files/test.rst   |   8 +
 dev-python/m2r/m2r-0.1.5.ebuild |  50 ++++
 dev-python/m2r/metadata.xml     |  19 ++
 6 files changed, 598 insertions(+)

diff --git a/dev-python/m2r/Manifest b/dev-python/m2r/Manifest
new file mode 100644
index 00000000000..721b61b97fc
--- /dev/null
+++ b/dev-python/m2r/Manifest
@@ -0,0 +1 @@
+DIST m2r-0.1.5.tar.gz 13202 SHA256 
3448f770aed05ca10390d0917cd51836cbf82a2f095bc91507e6291cfab03223 SHA512 
78e9e8daa293b2466c95f0adad937fa0bbefaf0dd9663695bb916be13182633e0d462afa5331a595db424420485ef54bbfd4e0625962026fab4ce0c63104bc84
 WHIRLPOOL 
c701aa0a735eda9b7eaab7ff6f384bad7535337f6a7adcfce2d729f33b01aed9213d04fcfe1dc3521b2df0687f2b849a3eb5df628a87ea3ea2697ae389ad8438

diff --git a/dev-python/m2r/files/m2r.1 b/dev-python/m2r/files/m2r.1
new file mode 100644
index 00000000000..1a6c10b48a9
--- /dev/null
+++ b/dev-python/m2r/files/m2r.1
@@ -0,0 +1,515 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "M2R" "1" "Mar 30, 2017" "0.1.5" "M2R"
+.SH NAME
+m2r \- M2R Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+\fI\%PyPI\fP\fI\%PyPI version\fP\fI\%Build Status\fP\fI\%codecov\fP
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.sp
+M2R converts a markdown file including reST markups to a valid reST format.
+.SH WHY ANOTHER CONVERTER?
+.sp
+I wanted to write sphinx document in markdown, since it\(aqs widely used now 
and
+easy to write code blocks and lists. However, converters using pandoc or
+recommonmark do not support many reST markups and sphinx extensions. For
+example, reST\(aqs reference link like \fBsee \(garef\(ga_\fP (this is very 
convenient in
+long document in which same link appears multiple times) will be converted to
+a code block in HTML like \fBsee <code>ref</code>_\fP, which is not expected.
+.SH FEATURES
+.INDENT 0.0
+.IP \(bu 2
+Basic markdown and some extensions (see below)
+.INDENT 2.0
+.IP \(bu 2
+inline/block\-level raw html
+.IP \(bu 2
+fenced\-code block
+.IP \(bu 2
+tables
+.IP \(bu 2
+footnotes (\fB[^1]\fP)
+.UNINDENT
+.IP \(bu 2
+Inline\- and Block\-level reST markups
+.INDENT 2.0
+.IP \(bu 2
+single\- and multi\-line directives (\fB\&.. directive::\fP)
+.IP \(bu 2
+inline\-roles (\fB:code:\(gaprint(1)\(ga ...\fP)
+.IP \(bu 2
+ref\-link (\fBsee \(garef\(ga_\fP)
+.IP \(bu 2
+footnotes (\fB[#fn]_\fP)
+.IP \(bu 2
+math extension inspired by \fI\%recommonmark\fP
+.UNINDENT
+.IP \(bu 2
+Sphinx extension
+.INDENT 2.0
+.IP \(bu 2
+add markdown support for sphinx
+.IP \(bu 2
+\fBmdinclude\fP directive to include markdown from md or reST files
+.UNINDENT
+.UNINDENT
+.SH INSTALLATION
+.sp
+Python 2.7 or Python 3.3+ is required.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pip install m2r
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH USAGE
+.SS Command Line
+.sp
+\fBm2r\fP command converts markdown file to reST format.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+m2r your_document.md [your_document2.md ...]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Then you will find \fByour_document.rst\fP in the same directory.
+.SS Programmatic Use
+.sp
+Instantiate \fBM2R\fP class and call with markdown text. Then it will return 
converted text.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+from m2r import M2R
+m2r = M2R()
+rest = m2r(\(aq# Title\en\enSentence.\(aq)
+print(rest)
+# Title
+# =====
+#
+# Sentence.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Or, use \fBparse_from_file\fP function to load markdown file and obtain 
converted text.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+from m2r import parse_from_file
+output = parse_from_file(\(aqmarkdown_file.md\(aq)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This is an example of setup.py to write README in markdown, and publish it to 
PyPI as reST format.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+readme_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), 
\(aqREADME.md\(aq)
+try:
+    from m2r import parse_from_file
+    readme = parse_from_file(readme_file)
+except ImportError:
+    # m2r may not be installed in user environment
+    with open(readme_file) as f:
+        readme = f.read()
+setup(
+    ...,
+    long_description=readme,
+    ...,
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Sphinx Integration
+.sp
+In your conf.py, add the following lines.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+extensions = [
+    ...,
+    \(aqm2r\(aq,
+]
+
+# source_suffix = \(aq.rst\(aq
+source_suffix = [\(aq.rst\(aq, \(aq.md\(aq]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Write index.md and run \fBmake html\fP\&.
+.sp
+When \fBm2r\fP extension is enabled on sphinx and \fB\&.md\fP file is loaded, 
m2r
+converts to reST and pass to sphinx, not making new \fB\&.rst\fP file.
+.SS mdinclude directive
+.sp
+Like \fB\&.. include:: file\fP directive, \fB\&.. mdinclude:: file\fP 
directive inserts
+markdown file at the line.
+.sp
+Note: do not use \fB\&.. include:: file\fP directive to include markdown file 
even if
+in the markdown file, please use \fB\&.. mdinclude:: file\fP instead.
+.SH RESTRICTIONS
+.INDENT 0.0
+.IP \(bu 2
+In the reST\(aqs directives, markdown is not available. Please write in reST.
+.IP \(bu 2
+Column alignment of tables is not supported. (reST does not support this 
feature)
+.IP \(bu 2
+Heading with overline\-and\-underline is not supported.
+.INDENT 2.0
+.IP \(bu 2
+Heading with underline is OK
+.UNINDENT
+.UNINDENT
+.sp
+If you find any bug or unexpected behaviour, please report it to
+\fI\%Issues\fP\&.
+.SH EXAMPLE
+.sp
+See \fI\%example document\fP and \fI\%its
+source code\fP\&.
+.sp
+I\(aqm using m2r for writing user guide of \fI\%WDOM\fP\&.
+So you can see it as another example. Its \fI\%HTML is
+here\fP, and \fI\%its
+source code is here\fP\&.
+.SH ACKNOWLEDGEMENT
+.sp
+m2r is written as an extension of
+\fI\%mistune\fP, which is highly extensible
+pure\-python markdown parser.
+Without the mistune, I couldn\(aqt write this. Thank you!
+.SH LICENCE
+.sp
+\fI\%MIT\fP
+.SH CONTENTS
+.SS Example
+.sp
+This page is written in mixed markdown and reST.
+Source code is \fI\%here\fP\&.
+.SS Basic Markups (inline)
+.sp
+A \fBstrong\fP, \fIemphasis\fP, , \fBcode with single\-backtick\fP,
+\fBcode with two\-backticks\fP, ,
+\fBreST\(aqs code role\fP, and delete.
+.SS Link
+.sp
+Auto link to \fI\%http://example.com/\fP\&;.
+.sp
+Link to \fI\%example.com\fP in markdown.
+.sp
+Link to \fI\%example.com\fP in reST.
+.sp
+Link to \fI\%example\fP in reST_ref.
+.SS Basic Markups (block)
+.sp
+This is a simple sentence.
+.nf
+sentence with
+newlines
+(reST)
+.fi
+.sp
+.sp
+Sentence with
+hard\-wrap (markdown, trailing two spaces)
+.INDENT 0.0
+.INDENT 3.5
+block quote
+second line
+.INDENT 0.0
+.INDENT 3.5
+nested quote
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+Block quote after raw\-html directive
+.UNINDENT
+.UNINDENT
+.SS List
+.SS Unordered list
+.INDENT 0.0
+.IP \(bu 2
+unordered list
+new line
+.IP \(bu 2
+next item
+.INDENT 2.0
+.IP \(bu 2
+nested list
+with new line
+.IP \(bu 2
+nested list item 2
+.UNINDENT
+.IP \(bu 2
+original depth
+.INDENT 2.0
+.IP 1. 3
+ordered list item
+.IP 2. 3
+second
+with new line
+.UNINDENT
+.IP \(bu 2
+original depth again
+.UNINDENT
+.SS Ordered list
+.INDENT 0.0
+.IP 1. 3
+ordered list
+in new line
+.IP 2. 3
+second item
+.INDENT 3.0
+.IP \(bu 2
+nested unordered list
+.IP \(bu 2
+second item
+with new line
+.UNINDENT
+.IP 3. 3
+original depth
+.INDENT 3.0
+.IP 1. 3
+nested ordered list
+with new line
+.IP 2. 3
+again
+.UNINDENT
+.IP 4. 3
+original depth again
+.UNINDENT
+.SS Code Block
+.sp
+Simple, indented code block
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pip install sphinx
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Code block with triple backticks and language.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+def a(n: int) \-> None:
+    for i in range(n):
+        print(i)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Triple\-tildes (\fB~~~\fP) are also available.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+def a(n: int) \-> None:
+    for i in range(n):
+        print(i)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Here is reST style code block.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if True:
+    print(\(aq\en\(aq)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Extensions
+.SS Table (Markdown\-Style)
+.sp
+(cell\-alignment is not supported currently)
+.TS
+center;
+|l|l|l|.
+_
+T{
+Table Header 1
+T}     T{
+Table Header 2
+T}     T{
+Table Header 3
+T}
+_
+T{
+normal
+T}     T{
+\fIitalic\fP
+T}     T{
+\fBbold\fP
+T}
+_
+T{
+\fBcode\fP
+T}     T{
+T}     T{
+T}
+_
+.TE
+.SS Math
+.sp
+This is E = mc^2 inline math.
+.sp
+The below is math\-block (markdown\-style).
+.sp
+.ce
+
+.ce 0
+.sp
+The below is reST\-style math\-block.
+.sp
+.ce
+
+.ce 0
+.SS Footnote
+.sp
+Footnote[2] and footnote[3] with markdown.
+.sp
+Footnote with reST[1]\&.
+.sp
+
+.IP [1] 5
+reST footnote
+.IP [2] 5
+footnote 1
+.IP [3] 5
+footnote key
+.SS Change Log
+.SS Version 0.2
+.sp
+(next version)
+.SS Version 0.1.5 (2016\-06\-21)
+.INDENT 0.0
+.IP \(bu 2
+Support multiple backticks in inline code, like: 
+.UNINDENT
+.SS Version 0.1.4 (2016\-06\-08)
+.INDENT 0.0
+.IP \(bu 2
+Support indented directives/reST\-comments
+.IP \(bu 2
+Support role\-name after backticks (\fB\(gatext\(ga:role: style\fP)
+.UNINDENT
+.SS Version 0.1.3 (2016\-06\-02)
+.INDENT 0.0
+.IP \(bu 2
+Remove extra escaped\-spaces (\(aq\(aq)
+.INDENT 2.0
+.IP \(bu 2
+before and after normal spaces
+.IP \(bu 2
+at the beginning of lines
+.IP \(bu 2
+before dots
+.UNINDENT
+.UNINDENT
+.SS Version 0.1.2 (2016\-06\-01)
+.INDENT 0.0
+.IP \(bu 2
+Add reST\(aqs \fB::\fP marker support
+.IP \(bu 2
+Add options to disable emphasis by underscore (\fB_\fP or \fB__\fP)
+.UNINDENT
+.SS Version 0.1.1 (2016\-05\-30)
+.INDENT 0.0
+.IP \(bu 2
+Fix Bug: when code or link is placed at the end of line, spaces to the next 
word is disappeared
+.UNINDENT
+.SS Version 0.1 (2016\-05\-30)
+.sp
+First public release.
+.INDENT 0.0
+.IP \(bu 2
+genindex
+.IP \(bu 2
+modindex
+.IP \(bu 2
+search
+.UNINDENT
+.SH AUTHOR
+Hiroyuki Takagi
+.SH COPYRIGHT
+2016, Hiroyuki Takagi
+.\" Generated by docutils manpage writer.
+.

diff --git a/dev-python/m2r/files/test.md b/dev-python/m2r/files/test.md
new file mode 100644
index 00000000000..e54ac950e52
--- /dev/null
+++ b/dev-python/m2r/files/test.md
@@ -0,0 +1,5 @@
+# Title
+
+## SubTitle
+
+__content__

diff --git a/dev-python/m2r/files/test.rst b/dev-python/m2r/files/test.rst
new file mode 100644
index 00000000000..f4555887956
--- /dev/null
+++ b/dev-python/m2r/files/test.rst
@@ -0,0 +1,8 @@
+
+Title
+=====
+
+SubTitle
+--------
+
+**content**

diff --git a/dev-python/m2r/m2r-0.1.5.ebuild b/dev-python/m2r/m2r-0.1.5.ebuild
new file mode 100644
index 00000000000..04da2c37410
--- /dev/null
+++ b/dev-python/m2r/m2r-0.1.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy)
+
+inherit distutils-r1
+
+DESCRIPTION="Markdown to reStructuredText converter"
+HOMEPAGE="https://github.com/miyakogi/m2r https://pypi.python.org/pypi/m2r";
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+       dev-python/mistune[${PYTHON_USEDEP}]
+       dev-python/docutils[${PYTHON_USEDEP}]
+"
+DEPEND="
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' 
python2_7) )
+       ${RDEPEND}
+"
+
+#S=${WORKDIR}/${P}
+
+python_prepare_all() {
+       # fix a Q/A violation, trying to install the tests as an independant 
package
+       sed -e "s/packages=\['tests'\],/packages=[],/" -i setup.py
+       # remove duped old file in the tarball
+       rm "tests/test_r s.py" || die
+       # add missing test files
+       cp "${FILESDIR}/"test.md tests/ || die
+       cp "${FILESDIR}/"test.rst tests/ || die
+       cp "${FILESDIR}/"m2r.1 ./ || die
+matt
+       distutils-r1_python_prepare_all
+}
+
+python_test() {
+       py.test -v || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+       distutils-r1_python_install_all
+       doman m2r.1
+}

diff --git a/dev-python/m2r/metadata.xml b/dev-python/m2r/metadata.xml
new file mode 100644
index 00000000000..c560383e607
--- /dev/null
+++ b/dev-python/m2r/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <description>Primary maintainer</description>
+       </maintainer>
+       <upstream>
+               <maintainer>
+                       <email>[email protected]</email>
+                       <name>Hiroyuki Takagi</name>
+               </maintainer>
+               <remote-id type="pypi">m2r</remote-id>
+               <remote-id type="github">miyakogi/m2r</remote-id>
+       </upstream>
+       <longdescription>
+               M2R converts a markdown file including reST markups to a valid 
reST format.
+       </longdescription>
+</pkgmetadata>

Reply via email to