如果在C或者C++项目中解析Markdown,可以使用cmark库。
开发环境
Fedora系统可以直接通过
dnf install cmark-devel
来安装cmark的开发库。
安装之后,就可以使用头文件/usr/include/cmark.h 中的函数进行开发,最后在程序中链接-lcmark即可。
为了简化这一操作,也可以使用pkg-config文件。
需要注意的是,在Fedora系统中,cmark的pkgconfig文件名字是libcmark.pc。即,pkg-config命令需要查询libcmark。
如:
~/$ pkg-config --cflags --libs libcmark
-lcmark
使用方法
cmark使用三个主要的数据结构,分别是cmark_parser、cmark_iter与cmark_node。
其中,cmark_parser用来解析,有一系列与解析相关的函数;cmark_iter用来遍历,可以实现在cmark_node节点间切换;而cmark_node是所有数据节点。
在头文件中,使用注释的方式说明了cmark_parser的使用方法。
443 * ## Parsing
444 *
445 * Simple interface:
446 *
447 * cmark_node *document = cmark_parse_document("Hello *world*", 13,
448 * CMARK_OPT_DEFAULT);
449 *
450 * Streaming interface:
451 *
452 * cmark_parser *parser = cmark_parser_new(CMARK_OPT_DEFAULT);
453 * FILE *fp = fopen("myfile.md", "rb");
454 * while ((bytes = fread(buffer, 1, sizeof(buffer), fp