<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cmark/src/node.h, branch master</title>
<subtitle>My own fork of cmark for commonmark conversion</subtitle>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/'/>
<entry>
<title>Rearrange struct cmark_node</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-19T12:46:10+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=f3f50b29d615d2678d8047dc277b108cc5143167'/>
<id>f3f50b29d615d2678d8047dc277b108cc5143167</id>
<content type='text'>
Introduce multi-purpose data/len members in struct cmark_node. This
is mainly used to store literal text for inlines, code and HTML blocks.

Move the content strbuf for blocks from cmark_node to cmark_parser.
When finalizing nodes that allow inlines (paragraphs and headings),
detach the strbuf and store the block content in the node's data/len
members. Free the block content after processing inlines.

Reduces size of struct cmark_node by 8 bytes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce multi-purpose data/len members in struct cmark_node. This
is mainly used to store literal text for inlines, code and HTML blocks.

Move the content strbuf for blocks from cmark_node to cmark_parser.
When finalizing nodes that allow inlines (paragraphs and headings),
detach the strbuf and store the block content in the node's data/len
members. Free the block content after processing inlines.

Reduces size of struct cmark_node by 8 bytes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve packing of struct cmark_list</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-19T12:45:40+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=3ef0718f9f4c9dea5014a8a0e9a67e2366b9374f'/>
<id>3ef0718f9f4c9dea5014a8a0e9a67e2366b9374f</id>
<content type='text'>
Allows to reduce size of struct cmark_node later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows to reduce size of struct cmark_node later.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use C string instead of chunk for literal text</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T23:51:02+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=b0a4cfa36e99c27dd2b20be8f8888fa7721bad58'/>
<id>b0a4cfa36e99c27dd2b20be8f8888fa7721bad58</id>
<content type='text'>
Use zero-terminated C strings and a separate length field instead of
cmark_chunks. Literal inline text will now be copied from the parent
block's content buffer, slowing the benchmark down by 10-15%.

The node struct never references memory of other nodes now, fixing #309.
Node accessors don't have to check for delayed creation of C strings,
so parsing and iterating all literals using the public API should
actually be faster than before.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use zero-terminated C strings and a separate length field instead of
cmark_chunks. Literal inline text will now be copied from the parent
block's content buffer, slowing the benchmark down by 10-15%.

The node struct never references memory of other nodes now, fixing #309.
Node accessors don't have to check for delayed creation of C strings,
so parsing and iterating all literals using the public API should
actually be faster than before.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use C string instead of chunk for custom block contents</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T22:37:32+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=75b48c5938f5984dbcf79a579d15c9cbd6447d12'/>
<id>75b48c5938f5984dbcf79a579d15c9cbd6447d12</id>
<content type='text'>
Reduces size of struct cmark_node by 8 bytes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduces size of struct cmark_node by 8 bytes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use C string instead of chunk for link URL and title</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T22:12:37+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=b237924585e61532ada774bf9e70eadff00666dc'/>
<id>b237924585e61532ada774bf9e70eadff00666dc</id>
<content type='text'>
Use zero-terminated C strings instead of cmark_chunks without storing
the length. This introduces a few additional strlen computations,
but overhead should be low.

Allows to reduce size of struct cmark_node later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use zero-terminated C strings instead of cmark_chunks without storing
the length. This introduces a few additional strlen computations,
but overhead should be low.

Allows to reduce size of struct cmark_node later.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use C string instead of chunk for code info and literal</title>
<updated>2020-01-23T16:25:54+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2020-01-18T21:27:13+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=3acbdf0965859c55fa36c65a4c0e17e92012687c'/>
<id>3acbdf0965859c55fa36c65a4c0e17e92012687c</id>
<content type='text'>
Use zero-terminated C strings instead of cmark_chunks without storing
the length. The length of code literals will be readded in a later
commit. strlen overhead for code info should be negligible.

Reduces size of struct cmark_node by 8 bytes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use zero-terminated C strings instead of cmark_chunks without storing
the length. The length of code literals will be readded in a later
commit. strlen overhead for code info should be negligible.

Reduces size of struct cmark_node by 8 bytes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add CMARK_NODE__LAST_LINE_CHECKED flag.</title>
<updated>2019-03-17T19:48:11+00:00</updated>
<author>
<name>John MacFarlane</name>
<email>jgm@berkeley.edu</email>
</author>
<published>2019-03-17T19:48:11+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=e5a65e02bef6856e4ee0c2f928e3a41d4d2e18de'/>
<id>e5a65e02bef6856e4ee0c2f928e3a41d4d2e18de</id>
<content type='text'>
Use this to avoid unnecessary recursion in ends_with_blank_line.

Closes #284.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use this to avoid unnecessary recursion in ends_with_blank_line.

Closes #284.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix inlines spanning newlines, text in non-para</title>
<updated>2017-08-10T03:29:40+00:00</updated>
<author>
<name>Yuki Izumi</name>
<email>ashe@kivikakk.ee</email>
</author>
<published>2017-08-09T07:13:16+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=e22d1b42ce7f860c51c261ea9d42c0b77245fde5'/>
<id>e22d1b42ce7f860c51c261ea9d42c0b77245fde5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>node: Memory diet</title>
<updated>2016-06-06T22:39:06+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2016-05-30T14:07:07+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=f39eaefb651064ea6b4b8f030ec98f98c94fe95a'/>
<id>f39eaefb651064ea6b4b8f030ec98f98c94fe95a</id>
<content type='text'>
Reduce the storage size for the `cmark_code` struct
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduce the storage size for the `cmark_code` struct
</pre>
</div>
</content>
</entry>
<entry>
<title>node: Memory diet</title>
<updated>2016-06-06T22:39:05+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2016-05-30T13:49:14+00:00</published>
<link rel='alternate' type='text/html' href='http://ns2.complex-networks.net/cmark/commit/?id=0c73a05dca8afca491298f3d8f07750e3fcf330d'/>
<id>0c73a05dca8afca491298f3d8f07750e3fcf330d</id>
<content type='text'>
Save node information in flags instead of using one boolean for each
property.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Save node information in flags instead of using one boolean for each
property.
</pre>
</div>
</content>
</entry>
</feed>
