高级bbcode相似标记分析器
django-content-bbcode的Python项目详细描述
django content bbcode
==bjango应用程序的类似于bbcode的解析器。
此应用程序基于我在rk.edu.pl网站上使用的标记解析器。它与bbcode非常相似,尽管它的设计是为了支持更高级的标记,从而提供更复杂的输出。我的用法示例:
*使用给定的slug链接到文章(取决于文章是一个类别还是一个页面,可能会应用不同的样式)
*在文章中突出显示代码块
*插入媒体相对路径给定的图像缩略图(可选alt文本、大小、标题等)
````
[rk:syntax lang=“bash”]
exportworkon_home=~/envs
mkdir-p$workon_home
source/usr/local/bin/virtualenvwrapper.sh
[/rk:syntax]
`````
`````
[rk:art slug=“some article slug”]
```
所以是bbcode调用了一些python代码,django orm even并返回动态输出。
how to use it
----
*您可以从pypi安装它:
`````
pip install django content bbcode
````
*将“content bbcode”添加到已安装的应用程序中
*您将获得“parse-content-bbcode”模板标记,您可以在文本模板中使用该模板标记的文本解析解析:
````
{{br/>{br/>{article.text解析内容安全}
````
<
<<
您还可以手动解析标签:
````
parser=cbcparser.contentbbcodparser()
result=parser.result=parser.parser解析标签(有些是文本)
`````````
`````````````````````````>
设置和使用必须为要使用的标记定义解析器。应用程序将在每个安装的应用程序中查找**tags.py**文件。在该文件中,它将查找**注册的“标记”字典。
示例:https://github.com/riklaunim/django-content-bbcode/blob/master/content-bbcode-demo/demo-u-application/tags.py
*字典键是标记*名称*类似于*rk:art*将*art*作为名称。
*字典值将是可调用的,通常一个函数有两个参数:字典列表和文本
*文本是替换标记的文本
*字典列表是给定标记的所有引用列表
给标记赋的属性
*code:将仅用于双标记(带有开始标记和结束标记的标记)
``````
[rk:mytag]code[/rk:mytag]
````
tags.py在不同的位置,然后您可以将“content-bbcode-u scan-modules”定义为“app-name”:“module-location”的字典。
克隆repo并运行:
````
pip install-r demo-demo-requirements.txt
````
>直接测试运行:
```````
````
```````
python manage.pypython manage.pypyt测试内容库bbcode-demo
`````
```
```
``````
<
```>
`````
此时,代码是在它超出了我的网站代码。它仍然需要一些重构/清理和很可能的regexp改进,
但它可以工作,至少应该:)
我将尝试发布,提交一些真正的标记,比如pygments语法突出显示等等。
我也对您的反馈、建议和请求感兴趣:)
credits
----
*标签加载器的灵感来自https://github.com/pozytywnie/django-javascript-settings配置加载器
==bjango应用程序的类似于bbcode的解析器。
此应用程序基于我在rk.edu.pl网站上使用的标记解析器。它与bbcode非常相似,尽管它的设计是为了支持更高级的标记,从而提供更复杂的输出。我的用法示例:
*使用给定的slug链接到文章(取决于文章是一个类别还是一个页面,可能会应用不同的样式)
*在文章中突出显示代码块
*插入媒体相对路径给定的图像缩略图(可选alt文本、大小、标题等)
````
[rk:syntax lang=“bash”]
exportworkon_home=~/envs
mkdir-p$workon_home
source/usr/local/bin/virtualenvwrapper.sh
[/rk:syntax]
`````
`````
[rk:art slug=“some article slug”]
```
所以是bbcode调用了一些python代码,django orm even并返回动态输出。
how to use it
----
*您可以从pypi安装它:
`````
pip install django content bbcode
````
*将“content bbcode”添加到已安装的应用程序中
*您将获得“parse-content-bbcode”模板标记,您可以在文本模板中使用该模板标记的文本解析解析:
````
{{br/>{br/>{article.text解析内容安全}
````
<
<<
您还可以手动解析标签:
````
parser=cbcparser.contentbbcodparser()
result=parser.result=parser.parser解析标签(有些是文本)
`````````
`````````````````````````>
设置和使用必须为要使用的标记定义解析器。应用程序将在每个安装的应用程序中查找**tags.py**文件。在该文件中,它将查找**注册的“标记”字典。
示例:https://github.com/riklaunim/django-content-bbcode/blob/master/content-bbcode-demo/demo-u-application/tags.py
*字典键是标记*名称*类似于*rk:art*将*art*作为名称。
*字典值将是可调用的,通常一个函数有两个参数:字典列表和文本
*文本是替换标记的文本
*字典列表是给定标记的所有引用列表
给标记赋的属性
*code:将仅用于双标记(带有开始标记和结束标记的标记)
``````
[rk:mytag]code[/rk:mytag]
````
tags.py在不同的位置,然后您可以将“content-bbcode-u scan-modules”定义为“app-name”:“module-location”的字典。
克隆repo并运行:
````
pip install-r demo-demo-requirements.txt
````
>直接测试运行:
```````
````
```````
python manage.pypython manage.pypyt测试内容库bbcode-demo
`````
```
```
``````
<
```>
`````
此时,代码是在它超出了我的网站代码。它仍然需要一些重构/清理和很可能的regexp改进,
但它可以工作,至少应该:)
我将尝试发布,提交一些真正的标记,比如pygments语法突出显示等等。
我也对您的反馈、建议和请求感兴趣:)
credits
----
*标签加载器的灵感来自https://github.com/pozytywnie/django-javascript-settings配置加载器