diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-10 23:10:09 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 23:10:09 +0000 |
| commit | 4c5d41e88b2545695c557f134959f68469858918 (patch) | |
| tree | 9c85bb2d073d76a7c7e1adbe48a88716a13bc44f | |
| parent | 138a1ef1bcb981158e935a9ddb1c9a153ce7f0d4 (diff) | |
automatic import of python-markdown-include
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-markdown-include.spec | 593 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 595 insertions, 0 deletions
@@ -0,0 +1 @@ +/markdown-include-0.8.1.tar.gz diff --git a/python-markdown-include.spec b/python-markdown-include.spec new file mode 100644 index 0000000..9504113 --- /dev/null +++ b/python-markdown-include.spec @@ -0,0 +1,593 @@ +%global _empty_manifest_terminate_build 0 +Name: python-markdown-include +Version: 0.8.1 +Release: 1 +Summary: A Python-Markdown extension which provides an 'include' function +License: GNU General Public License v3 (GPLv3) +URL: https://pypi.org/project/markdown-include/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ad/d8/66bf162fe6c1adb619f94a6da599323eecacf15b6d57469d0fd0421c10df/markdown-include-0.8.1.tar.gz +BuildArch: noarch + +Requires: python3-markdown +Requires: python3-pytest + +%description +# Markdown-Include + +This is an extension to [Python-Markdown](https://pythonhosted.org/Markdown/) +which provides an "include" function, similar to that found in +LaTeX (and also the C pre-processor and Fortran). I originally wrote it for my +[FORD](https://github.com/cmacmackin/ford) Fortran auto-documentation generator. + + +## Installation +This module can now be installed using ``pip``. + + pip install markdown-include + +## Tests +Use the unittest module +```bash +python -m unittest discover unittests/ +``` + +## Usage +This module can be used in a program in the following way: + +```python +import markdown +html = markdown.markdown(source, extensions=['markdown_include.include']) +``` + +Markdown-Include can also be included in MkDocs projects like below: + +```yaml +markdown_extensions: + - markdown_include.include: + base_path: docs +``` + +The syntax for use within your Markdown files is ``{!filename!}``. This +statement will be replaced by the contents of ``filename``. Markdown-Include +will work recursively, so any included files within ``filename`` will also be +included. This replacement is done prior to any other +Markdown processing, so any Markdown syntax that you want can be used within +your included files. Note that this is a change from the previous version. +It was felt that this syntax was less likely to conflict with any code +fragments present in the Markdown. + +By default, all file-names are evaluated relative to the location from which +Markdown is being called. If you would like to change the directory relative to +which paths are evaluated, then this can be done by specifying the extension +setting ``base_path``. + +### Line Ranges + +You can also define specific lines or line ranges to include by specifying `lines`: + +```Markdown +{!filename!lines=1 3 8-10 2} +``` + +`lines` takes a sequence of integers separated by spaces (one or more), or it can also +take line ranges specified with a start line and an end line separated by a dash (`-`). + +In the example above, it would read the file called `filename` and include the lines +`1`, `3`, `8`, `9`, `10`, `2`. + +Notice that line `9` was not explicitly set. But it was still included as part of the +range `8-10`. + +Also, notice that line `2` is set *after* the range `8-10`. This means that the +line `2` in `filename` will be included *after* (below) the range `8-10`. + +You can use this to include lines in a different order than the original file. But it +also means that if you want to preserve the original order, you have to pay attention +to the order in which you specify the lines. + +## Configuration + +The following settings can be specified when initialising the plugin. + +- __base_path__: Default location from which to evaluate relative + paths for the include statement. (Default: the run-directory.) +- __encoding__: Encoding of the files used by the include statement. (Default: utf-8.) +- __inheritHeadingDepth__ : If true, increases headings on include + file by amount of previous heading. Combiens with headingOffset + option, below. (Default: False.) +- __headingOffset__: Increases heading depth by a specific ammount, in + addition to the inheritHeadingDepth Option. (Default: 0) +- __throwException__: When true, if the extension is unable to find an + included file it will throw an exception which the user can + catch. If false (default), a warning will be printed and Markdown + will continue parsing the file. + +## Examples + +An example of setting the base path and file encoding is given below: +```python +import markdown +from markdown_include.include import MarkdownInclude + +# Markdown Extensions +markdown_include = MarkdownInclude( + configs={'base_path':'/srv/content/', 'encoding': 'iso-8859-1'} +) +html = markdown.markdown(source, extensions=[markdown_include]) +``` + +Included files can inherit the heading depth of the location +``inheritHeadingDepth``, as well as receive a specific offset, ``headingOffset`` +For example, consider the files +```markdown +Source file +# Heading Level 1 of main file + +{!included_file.md!} + +## Heading Level 2 of main file + +{!included_file.md!} +``` + +and included_file.md + +```markdown +# This heading will be one level deeper from the previous heading +More included file content. +End of included content. +``` +Then running the script +```python +import markdown +from markdown_include.include import MarkdownInclude + +# Markdown Extensions +markdown_include = MarkdownInclude( + configs={'inheritHeadingDepth':True} +) +html = markdown.markdown(source, extensions=[markdown_include]) +``` +produces +```html +<p>Source file</p> +<h1>Heading Level 1 of main file</h1> +<h2>This heading will be one level deeper from the previous heading</h2> +<p>More included file content.</p> +<p>End of included content.</p> +<h2>Heading Level 2 of main file</h2> +<h3>This heading will be one level deeper from the previous heading</h3> +<p>More included file content.</p> +<p>End of included content.</p> +``` + + +## ChangeLog +### Version 0.7.0 +Modified to work with Python-Markdown 3.4. This makes the plugin +incompatible with versions < 3.0. +### Version 0.6.0 +- Added ability ot offset headers in the included file so they fall under the header level in which the include occurs +- Add option to throw exception when can't find an include file (instead of printing a warning) +- Fixed stripping of last character in file, so only occurs if it is a new-line +- Some behind-the-scenes improvement to code and documentation +### Version 0.5.1 +Bugfix for a syntax error. +### Version 0.5 +Corrected some errors in documentation and merged in commits of +[diegobz](https://github.com/diegobz) to add support for encoding and tidy up +the source code. +### Version 0.4 +Fixed problem related to passing configurations to the extension. +### Version 0.3 +Added support for Python 3. +### Version 0.2 +Changed the API to be less likely to conflict with other syntax. +### Version 0.1 +Initial release. + + +%package -n python3-markdown-include +Summary: A Python-Markdown extension which provides an 'include' function +Provides: python-markdown-include +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-markdown-include +# Markdown-Include + +This is an extension to [Python-Markdown](https://pythonhosted.org/Markdown/) +which provides an "include" function, similar to that found in +LaTeX (and also the C pre-processor and Fortran). I originally wrote it for my +[FORD](https://github.com/cmacmackin/ford) Fortran auto-documentation generator. + + +## Installation +This module can now be installed using ``pip``. + + pip install markdown-include + +## Tests +Use the unittest module +```bash +python -m unittest discover unittests/ +``` + +## Usage +This module can be used in a program in the following way: + +```python +import markdown +html = markdown.markdown(source, extensions=['markdown_include.include']) +``` + +Markdown-Include can also be included in MkDocs projects like below: + +```yaml +markdown_extensions: + - markdown_include.include: + base_path: docs +``` + +The syntax for use within your Markdown files is ``{!filename!}``. This +statement will be replaced by the contents of ``filename``. Markdown-Include +will work recursively, so any included files within ``filename`` will also be +included. This replacement is done prior to any other +Markdown processing, so any Markdown syntax that you want can be used within +your included files. Note that this is a change from the previous version. +It was felt that this syntax was less likely to conflict with any code +fragments present in the Markdown. + +By default, all file-names are evaluated relative to the location from which +Markdown is being called. If you would like to change the directory relative to +which paths are evaluated, then this can be done by specifying the extension +setting ``base_path``. + +### Line Ranges + +You can also define specific lines or line ranges to include by specifying `lines`: + +```Markdown +{!filename!lines=1 3 8-10 2} +``` + +`lines` takes a sequence of integers separated by spaces (one or more), or it can also +take line ranges specified with a start line and an end line separated by a dash (`-`). + +In the example above, it would read the file called `filename` and include the lines +`1`, `3`, `8`, `9`, `10`, `2`. + +Notice that line `9` was not explicitly set. But it was still included as part of the +range `8-10`. + +Also, notice that line `2` is set *after* the range `8-10`. This means that the +line `2` in `filename` will be included *after* (below) the range `8-10`. + +You can use this to include lines in a different order than the original file. But it +also means that if you want to preserve the original order, you have to pay attention +to the order in which you specify the lines. + +## Configuration + +The following settings can be specified when initialising the plugin. + +- __base_path__: Default location from which to evaluate relative + paths for the include statement. (Default: the run-directory.) +- __encoding__: Encoding of the files used by the include statement. (Default: utf-8.) +- __inheritHeadingDepth__ : If true, increases headings on include + file by amount of previous heading. Combiens with headingOffset + option, below. (Default: False.) +- __headingOffset__: Increases heading depth by a specific ammount, in + addition to the inheritHeadingDepth Option. (Default: 0) +- __throwException__: When true, if the extension is unable to find an + included file it will throw an exception which the user can + catch. If false (default), a warning will be printed and Markdown + will continue parsing the file. + +## Examples + +An example of setting the base path and file encoding is given below: +```python +import markdown +from markdown_include.include import MarkdownInclude + +# Markdown Extensions +markdown_include = MarkdownInclude( + configs={'base_path':'/srv/content/', 'encoding': 'iso-8859-1'} +) +html = markdown.markdown(source, extensions=[markdown_include]) +``` + +Included files can inherit the heading depth of the location +``inheritHeadingDepth``, as well as receive a specific offset, ``headingOffset`` +For example, consider the files +```markdown +Source file +# Heading Level 1 of main file + +{!included_file.md!} + +## Heading Level 2 of main file + +{!included_file.md!} +``` + +and included_file.md + +```markdown +# This heading will be one level deeper from the previous heading +More included file content. +End of included content. +``` +Then running the script +```python +import markdown +from markdown_include.include import MarkdownInclude + +# Markdown Extensions +markdown_include = MarkdownInclude( + configs={'inheritHeadingDepth':True} +) +html = markdown.markdown(source, extensions=[markdown_include]) +``` +produces +```html +<p>Source file</p> +<h1>Heading Level 1 of main file</h1> +<h2>This heading will be one level deeper from the previous heading</h2> +<p>More included file content.</p> +<p>End of included content.</p> +<h2>Heading Level 2 of main file</h2> +<h3>This heading will be one level deeper from the previous heading</h3> +<p>More included file content.</p> +<p>End of included content.</p> +``` + + +## ChangeLog +### Version 0.7.0 +Modified to work with Python-Markdown 3.4. This makes the plugin +incompatible with versions < 3.0. +### Version 0.6.0 +- Added ability ot offset headers in the included file so they fall under the header level in which the include occurs +- Add option to throw exception when can't find an include file (instead of printing a warning) +- Fixed stripping of last character in file, so only occurs if it is a new-line +- Some behind-the-scenes improvement to code and documentation +### Version 0.5.1 +Bugfix for a syntax error. +### Version 0.5 +Corrected some errors in documentation and merged in commits of +[diegobz](https://github.com/diegobz) to add support for encoding and tidy up +the source code. +### Version 0.4 +Fixed problem related to passing configurations to the extension. +### Version 0.3 +Added support for Python 3. +### Version 0.2 +Changed the API to be less likely to conflict with other syntax. +### Version 0.1 +Initial release. + + +%package help +Summary: Development documents and examples for markdown-include +Provides: python3-markdown-include-doc +%description help +# Markdown-Include + +This is an extension to [Python-Markdown](https://pythonhosted.org/Markdown/) +which provides an "include" function, similar to that found in +LaTeX (and also the C pre-processor and Fortran). I originally wrote it for my +[FORD](https://github.com/cmacmackin/ford) Fortran auto-documentation generator. + + +## Installation +This module can now be installed using ``pip``. + + pip install markdown-include + +## Tests +Use the unittest module +```bash +python -m unittest discover unittests/ +``` + +## Usage +This module can be used in a program in the following way: + +```python +import markdown +html = markdown.markdown(source, extensions=['markdown_include.include']) +``` + +Markdown-Include can also be included in MkDocs projects like below: + +```yaml +markdown_extensions: + - markdown_include.include: + base_path: docs +``` + +The syntax for use within your Markdown files is ``{!filename!}``. This +statement will be replaced by the contents of ``filename``. Markdown-Include +will work recursively, so any included files within ``filename`` will also be +included. This replacement is done prior to any other +Markdown processing, so any Markdown syntax that you want can be used within +your included files. Note that this is a change from the previous version. +It was felt that this syntax was less likely to conflict with any code +fragments present in the Markdown. + +By default, all file-names are evaluated relative to the location from which +Markdown is being called. If you would like to change the directory relative to +which paths are evaluated, then this can be done by specifying the extension +setting ``base_path``. + +### Line Ranges + +You can also define specific lines or line ranges to include by specifying `lines`: + +```Markdown +{!filename!lines=1 3 8-10 2} +``` + +`lines` takes a sequence of integers separated by spaces (one or more), or it can also +take line ranges specified with a start line and an end line separated by a dash (`-`). + +In the example above, it would read the file called `filename` and include the lines +`1`, `3`, `8`, `9`, `10`, `2`. + +Notice that line `9` was not explicitly set. But it was still included as part of the +range `8-10`. + +Also, notice that line `2` is set *after* the range `8-10`. This means that the +line `2` in `filename` will be included *after* (below) the range `8-10`. + +You can use this to include lines in a different order than the original file. But it +also means that if you want to preserve the original order, you have to pay attention +to the order in which you specify the lines. + +## Configuration + +The following settings can be specified when initialising the plugin. + +- __base_path__: Default location from which to evaluate relative + paths for the include statement. (Default: the run-directory.) +- __encoding__: Encoding of the files used by the include statement. (Default: utf-8.) +- __inheritHeadingDepth__ : If true, increases headings on include + file by amount of previous heading. Combiens with headingOffset + option, below. (Default: False.) +- __headingOffset__: Increases heading depth by a specific ammount, in + addition to the inheritHeadingDepth Option. (Default: 0) +- __throwException__: When true, if the extension is unable to find an + included file it will throw an exception which the user can + catch. If false (default), a warning will be printed and Markdown + will continue parsing the file. + +## Examples + +An example of setting the base path and file encoding is given below: +```python +import markdown +from markdown_include.include import MarkdownInclude + +# Markdown Extensions +markdown_include = MarkdownInclude( + configs={'base_path':'/srv/content/', 'encoding': 'iso-8859-1'} +) +html = markdown.markdown(source, extensions=[markdown_include]) +``` + +Included files can inherit the heading depth of the location +``inheritHeadingDepth``, as well as receive a specific offset, ``headingOffset`` +For example, consider the files +```markdown +Source file +# Heading Level 1 of main file + +{!included_file.md!} + +## Heading Level 2 of main file + +{!included_file.md!} +``` + +and included_file.md + +```markdown +# This heading will be one level deeper from the previous heading +More included file content. +End of included content. +``` +Then running the script +```python +import markdown +from markdown_include.include import MarkdownInclude + +# Markdown Extensions +markdown_include = MarkdownInclude( + configs={'inheritHeadingDepth':True} +) +html = markdown.markdown(source, extensions=[markdown_include]) +``` +produces +```html +<p>Source file</p> +<h1>Heading Level 1 of main file</h1> +<h2>This heading will be one level deeper from the previous heading</h2> +<p>More included file content.</p> +<p>End of included content.</p> +<h2>Heading Level 2 of main file</h2> +<h3>This heading will be one level deeper from the previous heading</h3> +<p>More included file content.</p> +<p>End of included content.</p> +``` + + +## ChangeLog +### Version 0.7.0 +Modified to work with Python-Markdown 3.4. This makes the plugin +incompatible with versions < 3.0. +### Version 0.6.0 +- Added ability ot offset headers in the included file so they fall under the header level in which the include occurs +- Add option to throw exception when can't find an include file (instead of printing a warning) +- Fixed stripping of last character in file, so only occurs if it is a new-line +- Some behind-the-scenes improvement to code and documentation +### Version 0.5.1 +Bugfix for a syntax error. +### Version 0.5 +Corrected some errors in documentation and merged in commits of +[diegobz](https://github.com/diegobz) to add support for encoding and tidy up +the source code. +### Version 0.4 +Fixed problem related to passing configurations to the extension. +### Version 0.3 +Added support for Python 3. +### Version 0.2 +Changed the API to be less likely to conflict with other syntax. +### Version 0.1 +Initial release. + + +%prep +%autosetup -n markdown-include-0.8.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-markdown-include -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.1-1 +- Package Spec generated @@ -0,0 +1 @@ +2bfd62c481bc04b3d61a4b14a2ba7c1b markdown-include-0.8.1.tar.gz |
