结构化文档语言,C++到Python包装模块。
jotdown的Python项目详细描述
草写
速记是一种结构化的文档语言。这是一种固执己见的,强化的 以纯文本组织工具为灵感的降价子集 就像组织模式。记录的主要目的是集中个人和 将项目组织成一组简单易懂的纯文本文档 由脚本和人类共同编辑、解析和操作。在
Jotdown可以被解析成一系列普通标记或编译后的DOM (文档对象模型)。然后可以从DOM将其转换为Markdown (马上就来!)用于格式化和显示,或在修改后返回到“记事本”中 以其结构化的形式。在
同时作为头文件C++库和编译程序提供 Python模块共享相同的代码。Python绑定是通过 pybind11。它是根据麻省理工学院的许可证发布的,更多信息请参阅许可证。在
看到了吗[文档.md]对于语言及其 特征。在
参见[API_CXX.md公司有关头文件C++库的文档。在
参见[API_医学博士]有关Python模块的文档,包括如何 构建并安装它。在
目标
以下是速记语言和项目的主要目标:
- 支持纯文本结构的创建、分析和修改 文件。在
- 支持文档集中文档的超文本链接,以及 网络或其他地方的外部资源。在
- 一流的加载、查询、修改、保存和创建支持 C++和Python中的文档。在
反目标
以下是具体的反目标:对项目范围的预期限制:
- 与Markdown完全兼容。在
- 一流的布局、显示和格式支持。
- “草草记”与文本格式的关系不如对文本格式的关注 作为结构化文档的文本内容。格式由 用户确定,但建议在 如果您打算通过将文档转换为 先降价。在
- 速记->HTML转换。
- 这可以通过“记下”>;“降价转换”间接实现。在
问/答
为什么不直接用降价呢?
虽然Markdown作为一种文本格式语言很好,但它并不适用 作为一种结构化文档语言。它的主要焦点一直是 HTML,而且许多现有的解析器甚至不需要创建 中间AST。另外,我希望文档之间的一致性更高一些 因此,我想确保(尽可能多地)只有一种方法 表示一个特定的文档结构。例如,jotton放弃了 “带下划线的标题”格式只支持带有哈希的标题。在
<3:>为什么C++和Python提供了重写?<>我希望能够支持C++的运行时能力和表现力 还将对Python的支持扩展到可以轻松构建脚本和插件的Python中 围绕着草草记文档结构。在为什么不支持我的语言?
对不起!我真的很高兴你对速记感兴趣。请随意 提交问题以添加对您的语言的支持。我不能保证我会 自己开始写绑定,但社区中的某个人可能会介入 起来帮忙!在
为什么有改变容器中对象顺序的函数?
我打算使用这些功能来促进高级文档编辑 即将发布的Vim插件和工具链中的特性。在
更改日志
2020年7月24日:v1.3.0
- 增加了对文档前端的支持。在
- Python接口的新功能:
- 集合现在可以调用。如果没有参数,调用它们将返回 他们的同伴作为列表。有了争论,他们会以 按顺序添加的所有参数。在
- 节现在可以用字符串或TextContent来构造头。在
- TextContent现在可以用字符串初始化。在
2020年7月17日:v1.2.0
- 重构
objects.h
以执行插入类型的运行时验证,而不是 通过C++类型的系统限制,减少代码复制。在 - 添加了
Container::insert_before
和{}。在
- 项目
标签: