%global _empty_manifest_terminate_build 0 Name: python-django-markdown-deux Version: 1.0.5 Release: 1 Summary: a Django app that provides template tags for using Markdown (using the python-markdown2 processor) License: MIT URL: http://github.com/trentm/django-markdown-deux Source0: https://mirrors.nju.edu.cn/pypi/web/packages/80/a5/d61ee6fc26cbb0d737986ed23e13309c88f2ae7f1fcdf2460a525323a3ed/django-markdown-deux-1.0.5.zip BuildArch: noarch %description A small Django app that provides template tags for using [Markdown](http://daringfireball.net/projects/markdown/) using the [python-markdown2](https://github.com/trentm/python-markdown2) library. # What's with the "deux" in the name? The obvious name for this project is `django-markdown2`. However, there [already is one!](http://github.com/svetlyak40wt/django-markdown2) and name confusion doesn't help anybody. Plus, I took French immersion in school for 12 years: might as well put it to use. # So why another project then? Because I wanted to do something slightly different. Django-markdown2's `markdown` filter takes ["extras"](https://github.com/trentm/python-markdown2/wiki/Extras) as arguments -- with the one exception that "safe" is transformed to python-markdown2's `safe_mode` argument. This is handy for quick usage. My use case is more commonly: lots of `markdown` filter and block usage in my Django templates with the same set of python-markdown2 options. # Installation Choose the *one* of the following that works best for you: - Install the latest release from PyPI: pip install django-markdown-deux or, if you use [ActivePython](http://www.activestate.com/activepython): pypm install django-markdown-deux These should install the dependent `python-markdown2` package. - Get a git clone of the source tree: git clone git://github.com/trentm/django-markdown-deux.git You might want a particular tag: cd django-markdown-deux git tag -l # list available tags git checkout $tagname Then you'll need the "lib" subdir on your PYTHONPATH: python setup.py install # or 'export PYTHONPATH=`pwd`/lib:$PYTHONPATH' You'll also need the [python-markdown2 library](https://github.com/trentm/python-markdown2): git clone git@github.com:trentm/python-markdown2.git cd python-markdown2 python setup.py install # or 'export PYTHONPATH=`pwd`/python-markdown2/lib' # Django project setup 1. Add `markdown_deux` to `INSTALLED_APPS` in your project's "settings.py". 2. Optionally set some of the `MARKDOWN_DEUX_*` settings. See the "Settings" section below. # Usage The `markdown_deux` facilities typically take an optional "style" argument. This is a name for a set of options to the `python-markdown2` processor. There is a "default" style that is used if no argument is given. See the `MARKDOWN_DEUX_STYLES` setting below for more. ## `markdown` template filter {% load markdown_deux_tags %} ... {{ myvar|markdown:"STYLE" }} {# convert `myvar` to HTML using the "STYLE" style #} {{ myvar|markdown }} {# same as `{{ myvar|markdown:"default"}}` #} ## `markdown` template block tag {% load markdown_deux_tags %} ... {% markdown STYLE %} {# can omit "STYLE" to use the "default" style #} This is some **cool** [Markdown](http://daringfireball.net/projects/markdown/) text here. {% endmarkdown %} ## `markdown_allowed` template tag In a template: {% markdown_allowed %} will emit a short HTML blurb that says Markdown syntax is allowed. This can be handy for placing under form elements that accept markdown syntax. You can also use it as the `help_text` for a form field something like: # myapp/forms.py from markdown_deux.templatetags.markdown_deux_tags import markdown_allowed class MyForm(forms.Form): #... description = forms.CharField( label="Description (required)", widget=forms.Textarea(attrs={"rows": 5}), help_text=_secondary_span("A brief description of your thing.
" + markdown_allowed()), required=True) ## `markdown_cheatsheet` tag {% markdown_cheatsheet %} This outputs HTML giving a narrow (appropriate for, e.g., a sidebar) listing of some of the more common Markdown features. ## `markdown_deux.markdown(TEXT, STYLE)` in your Python code The `markdown` filter and block tags above ultimately use this `markdown_deux.markdown(...)` function. You might find it useful to do Markdown processing in your Python code (e.g. in a view, in a model `.save()` method). # Settings All settings for this app are optional. ## `MARKDOWN_DEUX_STYLES` setting A mapping of style name to a dict of keyword arguments for python-markdown2's `markdown2.markdown(text, **kwargs)`. For example the default setting is effectively: MARKDOWN_DEUX_STYLES = { "default": { "extras": { "code-friendly": None, }, "safe_mode": "escape", }, } I.e. only the "default" style is defined and it just uses the [code-friendly extra](https://github.com/trentm/python-markdown2/wiki/code-friendly) and escapes raw HTML in the given Markdown (for safety). Here is how you might add styles of your own, and preserve the default style: # settings.py from markdown_deux.conf.settings import MARKDOWN_DEUX_DEFAULT_STYLE MARKDOWN_DEUX_STYLES = { "default": MARKDOWN_DEUX_DEFAULT_STYLE, "trusted": { "extras": { "code-friendly": None, }, # Allow raw HTML (WARNING: don't use this for user-generated # Markdown for your site!). "safe_mode": False, } # Here is what http://code.activestate.com/recipes/ currently uses. "recipe": { "extras": { "code-friendly": None, }, "safe_mode": "escape", "link_patterns": [ # Transform "Recipe 123" in a link. (re.compile(r"recipe\s+#?(\d+)\b", re.I), r"http://code.activestate.com/recipes/\1/"), ], "extras": { "code-friendly": None, "pyshell": None, "demote-headers": 3, "link-patterns": None, # `class` attribute put on `pre` tags to enable using # for syntax # highlighting. "html-classes": {"pre": "prettyprint"}, "cuddled-lists": None, "footnotes": None, "header-ids": None, }, "safe_mode": "escape", } } ## `MARKDOWN_DEUX_HELP_URL` setting A URL for to which to link for full markdown syntax default. This link is only in the output of the `markdown_allowed` and `markdown_cheatsheet` template tags. The default is , the canonical Markdown syntax reference. However, if your site uses Markdown with specific tweaks, you may prefer to have your own override. For example, [ActiveState Code](http://code.activestate.com) uses: MARKDOWN_DEUX_HELP_URL = "/help/markdown/" To link to [its own Markdown syntax notes URL](http://code.activestate.com/help/markdown/). %package -n python3-django-markdown-deux Summary: a Django app that provides template tags for using Markdown (using the python-markdown2 processor) Provides: python-django-markdown-deux BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-django-markdown-deux A small Django app that provides template tags for using [Markdown](http://daringfireball.net/projects/markdown/) using the [python-markdown2](https://github.com/trentm/python-markdown2) library. # What's with the "deux" in the name? The obvious name for this project is `django-markdown2`. However, there [already is one!](http://github.com/svetlyak40wt/django-markdown2) and name confusion doesn't help anybody. Plus, I took French immersion in school for 12 years: might as well put it to use. # So why another project then? Because I wanted to do something slightly different. Django-markdown2's `markdown` filter takes ["extras"](https://github.com/trentm/python-markdown2/wiki/Extras) as arguments -- with the one exception that "safe" is transformed to python-markdown2's `safe_mode` argument. This is handy for quick usage. My use case is more commonly: lots of `markdown` filter and block usage in my Django templates with the same set of python-markdown2 options. # Installation Choose the *one* of the following that works best for you: - Install the latest release from PyPI: pip install django-markdown-deux or, if you use [ActivePython](http://www.activestate.com/activepython): pypm install django-markdown-deux These should install the dependent `python-markdown2` package. - Get a git clone of the source tree: git clone git://github.com/trentm/django-markdown-deux.git You might want a particular tag: cd django-markdown-deux git tag -l # list available tags git checkout $tagname Then you'll need the "lib" subdir on your PYTHONPATH: python setup.py install # or 'export PYTHONPATH=`pwd`/lib:$PYTHONPATH' You'll also need the [python-markdown2 library](https://github.com/trentm/python-markdown2): git clone git@github.com:trentm/python-markdown2.git cd python-markdown2 python setup.py install # or 'export PYTHONPATH=`pwd`/python-markdown2/lib' # Django project setup 1. Add `markdown_deux` to `INSTALLED_APPS` in your project's "settings.py". 2. Optionally set some of the `MARKDOWN_DEUX_*` settings. See the "Settings" section below. # Usage The `markdown_deux` facilities typically take an optional "style" argument. This is a name for a set of options to the `python-markdown2` processor. There is a "default" style that is used if no argument is given. See the `MARKDOWN_DEUX_STYLES` setting below for more. ## `markdown` template filter {% load markdown_deux_tags %} ... {{ myvar|markdown:"STYLE" }} {# convert `myvar` to HTML using the "STYLE" style #} {{ myvar|markdown }} {# same as `{{ myvar|markdown:"default"}}` #} ## `markdown` template block tag {% load markdown_deux_tags %} ... {% markdown STYLE %} {# can omit "STYLE" to use the "default" style #} This is some **cool** [Markdown](http://daringfireball.net/projects/markdown/) text here. {% endmarkdown %} ## `markdown_allowed` template tag In a template: {% markdown_allowed %} will emit a short HTML blurb that says Markdown syntax is allowed. This can be handy for placing under form elements that accept markdown syntax. You can also use it as the `help_text` for a form field something like: # myapp/forms.py from markdown_deux.templatetags.markdown_deux_tags import markdown_allowed class MyForm(forms.Form): #... description = forms.CharField( label="Description (required)", widget=forms.Textarea(attrs={"rows": 5}), help_text=_secondary_span("A brief description of your thing.
" + markdown_allowed()), required=True) ## `markdown_cheatsheet` tag {% markdown_cheatsheet %} This outputs HTML giving a narrow (appropriate for, e.g., a sidebar) listing of some of the more common Markdown features. ## `markdown_deux.markdown(TEXT, STYLE)` in your Python code The `markdown` filter and block tags above ultimately use this `markdown_deux.markdown(...)` function. You might find it useful to do Markdown processing in your Python code (e.g. in a view, in a model `.save()` method). # Settings All settings for this app are optional. ## `MARKDOWN_DEUX_STYLES` setting A mapping of style name to a dict of keyword arguments for python-markdown2's `markdown2.markdown(text, **kwargs)`. For example the default setting is effectively: MARKDOWN_DEUX_STYLES = { "default": { "extras": { "code-friendly": None, }, "safe_mode": "escape", }, } I.e. only the "default" style is defined and it just uses the [code-friendly extra](https://github.com/trentm/python-markdown2/wiki/code-friendly) and escapes raw HTML in the given Markdown (for safety). Here is how you might add styles of your own, and preserve the default style: # settings.py from markdown_deux.conf.settings import MARKDOWN_DEUX_DEFAULT_STYLE MARKDOWN_DEUX_STYLES = { "default": MARKDOWN_DEUX_DEFAULT_STYLE, "trusted": { "extras": { "code-friendly": None, }, # Allow raw HTML (WARNING: don't use this for user-generated # Markdown for your site!). "safe_mode": False, } # Here is what http://code.activestate.com/recipes/ currently uses. "recipe": { "extras": { "code-friendly": None, }, "safe_mode": "escape", "link_patterns": [ # Transform "Recipe 123" in a link. (re.compile(r"recipe\s+#?(\d+)\b", re.I), r"http://code.activestate.com/recipes/\1/"), ], "extras": { "code-friendly": None, "pyshell": None, "demote-headers": 3, "link-patterns": None, # `class` attribute put on `pre` tags to enable using # for syntax # highlighting. "html-classes": {"pre": "prettyprint"}, "cuddled-lists": None, "footnotes": None, "header-ids": None, }, "safe_mode": "escape", } } ## `MARKDOWN_DEUX_HELP_URL` setting A URL for to which to link for full markdown syntax default. This link is only in the output of the `markdown_allowed` and `markdown_cheatsheet` template tags. The default is , the canonical Markdown syntax reference. However, if your site uses Markdown with specific tweaks, you may prefer to have your own override. For example, [ActiveState Code](http://code.activestate.com) uses: MARKDOWN_DEUX_HELP_URL = "/help/markdown/" To link to [its own Markdown syntax notes URL](http://code.activestate.com/help/markdown/). %package help Summary: Development documents and examples for django-markdown-deux Provides: python3-django-markdown-deux-doc %description help A small Django app that provides template tags for using [Markdown](http://daringfireball.net/projects/markdown/) using the [python-markdown2](https://github.com/trentm/python-markdown2) library. # What's with the "deux" in the name? The obvious name for this project is `django-markdown2`. However, there [already is one!](http://github.com/svetlyak40wt/django-markdown2) and name confusion doesn't help anybody. Plus, I took French immersion in school for 12 years: might as well put it to use. # So why another project then? Because I wanted to do something slightly different. Django-markdown2's `markdown` filter takes ["extras"](https://github.com/trentm/python-markdown2/wiki/Extras) as arguments -- with the one exception that "safe" is transformed to python-markdown2's `safe_mode` argument. This is handy for quick usage. My use case is more commonly: lots of `markdown` filter and block usage in my Django templates with the same set of python-markdown2 options. # Installation Choose the *one* of the following that works best for you: - Install the latest release from PyPI: pip install django-markdown-deux or, if you use [ActivePython](http://www.activestate.com/activepython): pypm install django-markdown-deux These should install the dependent `python-markdown2` package. - Get a git clone of the source tree: git clone git://github.com/trentm/django-markdown-deux.git You might want a particular tag: cd django-markdown-deux git tag -l # list available tags git checkout $tagname Then you'll need the "lib" subdir on your PYTHONPATH: python setup.py install # or 'export PYTHONPATH=`pwd`/lib:$PYTHONPATH' You'll also need the [python-markdown2 library](https://github.com/trentm/python-markdown2): git clone git@github.com:trentm/python-markdown2.git cd python-markdown2 python setup.py install # or 'export PYTHONPATH=`pwd`/python-markdown2/lib' # Django project setup 1. Add `markdown_deux` to `INSTALLED_APPS` in your project's "settings.py". 2. Optionally set some of the `MARKDOWN_DEUX_*` settings. See the "Settings" section below. # Usage The `markdown_deux` facilities typically take an optional "style" argument. This is a name for a set of options to the `python-markdown2` processor. There is a "default" style that is used if no argument is given. See the `MARKDOWN_DEUX_STYLES` setting below for more. ## `markdown` template filter {% load markdown_deux_tags %} ... {{ myvar|markdown:"STYLE" }} {# convert `myvar` to HTML using the "STYLE" style #} {{ myvar|markdown }} {# same as `{{ myvar|markdown:"default"}}` #} ## `markdown` template block tag {% load markdown_deux_tags %} ... {% markdown STYLE %} {# can omit "STYLE" to use the "default" style #} This is some **cool** [Markdown](http://daringfireball.net/projects/markdown/) text here. {% endmarkdown %} ## `markdown_allowed` template tag In a template: {% markdown_allowed %} will emit a short HTML blurb that says Markdown syntax is allowed. This can be handy for placing under form elements that accept markdown syntax. You can also use it as the `help_text` for a form field something like: # myapp/forms.py from markdown_deux.templatetags.markdown_deux_tags import markdown_allowed class MyForm(forms.Form): #... description = forms.CharField( label="Description (required)", widget=forms.Textarea(attrs={"rows": 5}), help_text=_secondary_span("A brief description of your thing.
" + markdown_allowed()), required=True) ## `markdown_cheatsheet` tag {% markdown_cheatsheet %} This outputs HTML giving a narrow (appropriate for, e.g., a sidebar) listing of some of the more common Markdown features. ## `markdown_deux.markdown(TEXT, STYLE)` in your Python code The `markdown` filter and block tags above ultimately use this `markdown_deux.markdown(...)` function. You might find it useful to do Markdown processing in your Python code (e.g. in a view, in a model `.save()` method). # Settings All settings for this app are optional. ## `MARKDOWN_DEUX_STYLES` setting A mapping of style name to a dict of keyword arguments for python-markdown2's `markdown2.markdown(text, **kwargs)`. For example the default setting is effectively: MARKDOWN_DEUX_STYLES = { "default": { "extras": { "code-friendly": None, }, "safe_mode": "escape", }, } I.e. only the "default" style is defined and it just uses the [code-friendly extra](https://github.com/trentm/python-markdown2/wiki/code-friendly) and escapes raw HTML in the given Markdown (for safety). Here is how you might add styles of your own, and preserve the default style: # settings.py from markdown_deux.conf.settings import MARKDOWN_DEUX_DEFAULT_STYLE MARKDOWN_DEUX_STYLES = { "default": MARKDOWN_DEUX_DEFAULT_STYLE, "trusted": { "extras": { "code-friendly": None, }, # Allow raw HTML (WARNING: don't use this for user-generated # Markdown for your site!). "safe_mode": False, } # Here is what http://code.activestate.com/recipes/ currently uses. "recipe": { "extras": { "code-friendly": None, }, "safe_mode": "escape", "link_patterns": [ # Transform "Recipe 123" in a link. (re.compile(r"recipe\s+#?(\d+)\b", re.I), r"http://code.activestate.com/recipes/\1/"), ], "extras": { "code-friendly": None, "pyshell": None, "demote-headers": 3, "link-patterns": None, # `class` attribute put on `pre` tags to enable using # for syntax # highlighting. "html-classes": {"pre": "prettyprint"}, "cuddled-lists": None, "footnotes": None, "header-ids": None, }, "safe_mode": "escape", } } ## `MARKDOWN_DEUX_HELP_URL` setting A URL for to which to link for full markdown syntax default. This link is only in the output of the `markdown_allowed` and `markdown_cheatsheet` template tags. The default is , the canonical Markdown syntax reference. However, if your site uses Markdown with specific tweaks, you may prefer to have your own override. For example, [ActiveState Code](http://code.activestate.com) uses: MARKDOWN_DEUX_HELP_URL = "/help/markdown/" To link to [its own Markdown syntax notes URL](http://code.activestate.com/help/markdown/). %prep %autosetup -n django-markdown-deux-1.0.5 %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-django-markdown-deux -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Sun Apr 23 2023 Python_Bot - 1.0.5-1 - Package Spec generated