Vicent Marti
3c32220c7b
Fix unordered lists followed by ordered list bug
...
"An unordered list followed by an ordered list (separated by double
linebreake) yields only an unordered list with a set of paragraphs
inside it."
Original patch by Igor Bochkariov, backported from Redcarpet.
2011-11-06 21:21:06 +01:00
Vicent Marti
4f2bd3493f
makefile: Remove MFLAGS
2011-11-06 21:20:53 +01:00
Andre D
86b851a55b
Corruption in vbufprintf
2011-11-01 18:02:00 -04:00
jbergstroem
809c8bf15f
fix: error: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result
2011-09-28 23:18:18 +02:00
jbergstroem
db350c6bc0
fix: error: ‘esc’ may be used uninitialized in this function
2011-09-28 23:13:49 +02:00
Vicent Martí
5cf7c86c96
Merge pull request #74 from spladug/escape-link-text
...
Make sure www-autolink text is entity-escaped.
2011-09-20 14:46:03 -07:00
Neil Williams
720ff71578
Make sure www-autolink text is entity-escaped.
...
rndr_link assumes the text is already escaped because
it's usually run through parse_inline. This is not true
when it's called via www-autolink.
2011-09-15 20:58:20 -07:00
Vicent Marti
137c1e6f20
Fix table cells being rendered as table headers
2011-09-13 19:44:40 +02:00
Vicent Marti
3cb0b6873a
Locate block tags even if they have attributes
...
Previously, block tags like <div>foo</div> were being properly detected,
but tags with attributes such as <div class="blank">foo</div> were
inproperly discarded.
2011-09-13 19:26:59 +02:00
Vicent Marti
877aa79c9e
Fix compilation for Smartypants example
2011-09-13 00:21:33 +02:00
Vicent Marti
72a940f269
Fix mixed HTML/URI escaping
2011-09-13 00:20:42 +02:00
Vicent Marti
47c25422f1
Fix detection of block tags
2011-09-08 23:03:39 +02:00
Vicent Marti
5629a8ab4f
Ops! Use URI escaping instead of URL
...
URL escaping fully escapes all URL components to allow embedding an URL
inside of another. URI escaping is what we need to build the links for
<a> tags!
2011-09-08 22:50:03 +02:00
Vicent Marti
1f78bc3df4
Change signature of Smartypants
...
Don't use input buffer anymore.
2011-09-08 21:48:51 +02:00
Vicent Marti
a3373cd380
Use Houdini for escaping
...
Ta-da.
2011-09-08 21:37:50 +02:00
Vicent Marti
9970b3da05
Fix out of bounds in stack
2011-09-08 06:41:57 +02:00
Vicent Martí
b54fb6bfa3
Merge pull request #67 from brief/master
...
Enforcing `const` and a compiler warning
2011-09-04 10:03:59 -07:00
brief
78a764317b
Use explicit cast to fix compiler warning
2011-09-03 14:34:03 -07:00
brief
97da8f23da
Enforce const
when parsing emphasis
2011-09-03 14:21:58 -07:00
Vicent Marti
2c4b7f5689
Remove GH-style code blocks
...
This is very specific to GitHub. If you need something similar, write a
custom callback to handle your needs. :)
2011-09-02 23:41:51 +02:00
Vicent Marti
63b1a9ebcf
Enforce const
on the renderer API
2011-09-02 23:40:21 +02:00
Vicent Marti
c650128164
Remove ref counting from the buffer struct
2011-09-02 23:33:59 +02:00
Vicent Marti
da1a1017f1
Update README with UTF-8 features
2011-09-02 23:28:20 +02:00
Vicent Marti
8a29cf4b3a
Update Haskell bindings URL
2011-09-02 23:07:02 +02:00
Vicent Marti
b8ed678a98
Enforce const on input document
2011-09-02 21:28:47 +02:00
Vicent Marti
6091758705
Do not use a local-aware isspace
...
It may conflict with UTF-8 characters in the extended range.
2011-09-02 21:12:45 +02:00
Vicent Marti
c059d133d2
Remove superfluous check for tab characters
...
All tabs are expanded during preprocessing.
2011-09-02 20:57:00 +02:00
Vicent Marti
d7d2af549e
UTF-8 handling overhaul
...
Sundown doesn't handle "strings of characters", it handles buffers
with bytes with an UTF-8 encoding.
Name stuff accordingly.
2011-09-02 20:19:48 +02:00
Vicent Marti
03e8ae0f1d
stack: Properly zero-out the stack after reallocations
2011-09-02 04:53:14 +02:00
Vicent Marti
2f473bbe3b
...And the list of HTML block-level tag
...
This is needed if you want to re-generate the perfect hash.
2011-09-01 06:35:12 +02:00
Vicent Marti
429546d2cd
Add missing Stack code
...
Oops... Forgot about it.
2011-09-01 06:26:30 +02:00
Vicent Marti
b9670c1570
Prefer header lines to item lists
...
If a line is followed by a header line, do always render it as a header,
even if it begins with a number or slash.
2011-09-01 06:11:33 +02:00
Vicent Marti
c8e42e1eaf
Fix #57 "Issue with emphasized links"
...
The closing character was mismatched.
2011-09-01 05:50:40 +02:00
Vicent Marti
fcfb81f24d
Fix #56 "nested strong/em"
...
I don't understand what was that check doing there, but it makes no
sense. Emphasis parsing is non-greedy, so it should always close on the
nearest match.
2011-09-01 05:43:05 +02:00
Vicent Marti
13359d5898
Create a standalone markdown
object
...
This was the next logical step on the interface revamp for 2.0.
The old API was doing very fishy stuff with allocation: the `rndr`
struct was being called once for every `sd_markdown` call, and the
amount stack space filled with it was just inappropriate (256 bytes
just from the char table and 300 more from pointers in the callback
table).
By creating the renderer on the heap and reusing it, we save a lot of
time on initialization code, at the expense of not being able to
change the enabled extensions on each parse (something which is not
that common anyway).
This will make wrapping Sundown in higher level languages more direct,
given that every other language has OO design, which maps better to
the concept of a reusable renderer.
2011-09-01 05:02:26 +02:00
Vicent Marti
fa42843852
Drop dependency on the old array.c
...
The old array was not quite optimal, and was not used optimally either.
- The `struct array` that was used for accessing link references has
been replaced with a minimal, fixed-width hash table. This should
be much more straightforward for small documents.
- The `struct parray` used as a string pool has been replaced with
a fast-growing stack. Realloc'ing once per push has never been a
good idea anyway.
Yey for losing boilerplate!
2011-09-01 04:32:38 +02:00
Vicent Marti
9988a0123c
Perfect hashing for HTML block names
...
Because fuck binary searches, that's why.
2011-08-30 17:46:06 +02:00
Greg Leaver
ff2b89be86
Improving TOC nesting.
2011-08-20 13:37:51 +02:00
Vicent Marti
a40cdb9ece
smartypants: Add escaping support
2011-08-09 16:59:04 -07:00
Vicent Marti
3753d53fbc
Add -fPIC for compiling
2011-08-09 14:28:38 -07:00
Vicent Marti
714348714d
Cleanup table parsing
2011-08-08 21:11:42 -07:00
Neil Williams
6cfe32ade8
Use <th> for table header cells.
2011-08-08 20:57:35 -07:00
Vicent Martí
bf369cb00f
Merge pull request #54 from spladug/entities
...
Entity-escape link hrefs.
2011-08-08 19:54:31 -07:00
Vicent Marti
a0b0a11d0e
markdown: Fix codespan skip
...
Backport from Upskirt. Thanks Natacha!
2011-08-08 12:35:50 -07:00
Vicent Martí
03d2e3efa3
Merge pull request #52 from spladug/safelink_segfault
...
Fix segfault doing SAFELINK check on empty links during HTML render.
2011-08-08 11:40:53 -07:00
Neil Williams
3014d5d317
Entity-escape link hrefs.
2011-08-08 09:51:59 -07:00
Neil Williams
60b2f3b510
Fix segfault doing SAFELINK check on empty links.
2011-08-07 21:57:08 -07:00
Vicent Marti
dd979be0ed
Experimental: New Renderer management
...
No more dynamic allocation. Explicit is better than implicit.
2011-08-04 16:22:38 +02:00
Vicent Marti
e07028b856
Experimental: Custom allocation of the HTML renderer
2011-08-04 13:14:59 +02:00
Vicent Martí
67d7a1f377
Merge pull request #51 from spladug/gitignore
...
Update .gitignore for the upskirt -> sundown name change.
2011-08-03 14:32:54 -07:00