summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-markdown-include.spec593
-rw-r--r--sources1
3 files changed, 595 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..84f6f46 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..64db508
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+2bfd62c481bc04b3d61a4b14a2ba7c1b markdown-include-0.8.1.tar.gz