avtonom / creole-bundle
支持Creole 1.0 Wiki标记语言的Symfony 2 PHP框架的组件包。
v1.0.0
2015-06-01 22:32 UTC
Requires
- php: >=5.3.3
- symfony/twig-bridge: ~2.3
This package is not auto-updated.
Last update: 2024-09-18 08:50:45 UTC
README
不再维护
我已经不再维护这个库了。如果有人想分叉并继续开发,没问题。
什么是WikiBundle?
这是一个为Symfony2提供的组件包。它提供了Wiki标记(Creole v1.0)的解析器和两个渲染器。解析器和词法分析器将标记转换为面向对象树结构。该结构由XhtmlRenderer
和LatexRenderer
使用以创建格式化输出。很容易编写自己的渲染器。
性能
解析非常快(后续将提供基准测试)。此外,缓存解析结果也很容易。每个表示树结构的类都实现了Serializable
接口。因此,每次标记更改时,您可以解析一次并将树结构的序列化形式存储起来(例如,使用Doctrine 2在Object
类型的列中)。一旦需要渲染标记,您只需反序列化树(这要快得多),然后直接渲染它,而不需要重新解析。
可靠性
此组件包已通过100%的代码覆盖率进行单元测试。使用大量特殊测试用例测试了Parser
以确保正确解释Wiki标记。此外,还生成了随机标记并测试了是否存在任何错误。这些随机标记被解析,渲染为LaTeX代码,然后传递给pdflatex
以避免PDF构建错误。
待办事项
以下标记目前缺失
LatexRenderer
已禁用功能
- 表格(由于pdflatex存在一些问题,因此已禁用)
- 斜体,粗体(pdflatex不允许在两个段落上使用斜体或粗体跨度 - 因此已禁用)