结构化文档语言,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和{}。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?