标签: cmark

如何使用任何“CommonMark”模块将选项传递给 commonmark 库?

我需要帮助获得线索。我认为我编译 C 代码的微不足道的经验是理解如何使用一些 Raku 模块来使用 CommonMark C 库的接口将 markdown 转换为 HTML 的障碍。

问题:

我在 Mac 上cmark安装了自制程序库。我正在使用CommonMark模块。它有效,但如果我在 Markdown 中嵌入了 html,我会得到:

<!-- raw HTML omitted -->

在输出中。AFAICT,CommonMark 有一个打开或关闭此功能的选项:https://github.com/commonmark/cmark/blob/8a023286198a7e408398e282f293e3b0baebb644/src/html.c#L171

CommonMark 模块似乎不允许我将参数传递给 cmark 库。该模块似乎: https: //raku.land/github:JJ/ cmark::Simple

但是,我无法真正了解文档,因为我不明白如何与 cmark 库交互。我什至不确定这个模块是否可以在 Mac 上运行。该模块似乎假定它应该安装在 debian 上。

有人可以告诉我吗?

commonmark cmark raku

6
推荐指数
0
解决办法
115
查看次数

这个大小调整代码在 C 中的优势是什么?

为通用问题标题道歉,我不知道如何正确表达它(欢迎提出建议!)

我试图了解Common Mark 解析器的一些代码并遇到了这个:

  /* Oversize the buffer by 50% to guarantee amortized linear time
   * complexity on append operations. */
  bufsize_t new_size = target_size + target_size / 2;
  new_size += 1;
  new_size = (new_size + 7) & ~7;
Run Code Online (Sandbox Code Playgroud)

因此,给定一个数字,例如 32,它将加 (32 / 2) [48]、加 1 [49]、加 7 [56],最后与 -8 [56] 相加。

这是一种常见的模式吗?特别是添加一个数字,然后与它的补码进行 AND 运算。

是否有人能够深入了解这是做什么以及存在哪些优势(如果有)?

c twos-complement commonmark cmark

2
推荐指数
1
解决办法
42
查看次数

标签 统计

cmark ×2

commonmark ×2

c ×1

raku ×1

twos-complement ×1