Commit graph

37 commits

Author SHA1 Message Date
Devin Torres
55ee9cb426 Allow building static library 2013-09-25 20:06:13 -05:00
Devin Torres
3d0599d959 $(RM) doesn't require -f 2013-09-25 19:49:13 -05:00
Devin Torres
2c95da1d7a More cleanup and API coalescing 2013-09-23 19:35:54 -05:00
Devin Torres
8a28f5b58e Fix building with MingW and MSVC 2013-09-22 04:10:51 -05:00
Devin Torres
0a8df3b5b1 Use -fpic instead of -fPIC 2013-09-21 05:10:16 -05:00
Devin Torres
bcfd0a2d96 Cleanup the Makefile 2013-09-21 04:57:13 -05:00
Xavier Mendez
e2cfbdc2e9 Merge latest changes from @devinus into misc-reorganize 2013-09-21 10:12:28 +02:00
Devin Torres
2508c4b5c7 Improvements to the gperf flow 2013-09-20 21:57:08 -05:00
Xavier Mendez
2845a9e5c2 Remove unnecessary preambles 2013-09-20 19:00:37 +02:00
Xavier Mendez
546c1e1126 Remove html folder from Makefiles, correct sources 2013-09-20 17:08:29 +02:00
Devin Torres
189b325f19 Begin code reorganization 2013-09-20 01:14:14 -05:00
Devin Torres
d5675487a5 find_block_tag: Use faster switch statement over an array lookup 2013-09-20 00:02:43 -05:00
Devin Torres
5c4d75bccb Use the system specified CC by default 2013-09-18 16:37:06 -05:00
Devin Torres
f9227bba79 Import the official Markdown 1.0.3 test suite 2013-09-18 16:36:04 -05:00
Mike Buland
febd3269a3 Removed useless -Wl from .so linking command. 2013-09-18 13:13:11 -05:00
Vicent Marti
4f2bd3493f makefile: Remove MFLAGS 2011-11-06 21:20:53 +01:00
Vicent Marti
72a940f269 Fix mixed HTML/URI escaping 2011-09-13 00:20:42 +02:00
Vicent Marti
a3373cd380 Use Houdini for escaping
Ta-da.
2011-09-08 21:37:50 +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
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
Vicent Marti
3753d53fbc Add -fPIC for compiling 2011-08-09 14:28:38 -07:00
Vicent Marti
cdfaee1993 smartypants: Do not replace inside <code> blocks
Following the original Smartypants code, do not do SmartyPants
replacements inside of <code>, <pre>, <kbd> and <script> blocks.
2011-07-19 21:32:14 +02:00
Vicent Marti
5d201dbcdc Rename Upskirt to Sundown
It is by the goodness of God that in our country we have those
three unspeakably precious things:

    freedom of speech,
    freedom of conscience,
    and the prudence never to practice either of them.

                -- Mark Twain, Following the Equator (1897)
2011-07-19 01:10:05 +02:00
Vicent Marti
cf5cb52ae9 Remove html_autolink.c
This file has been moved to Rinku
2011-06-11 16:17:51 +02:00
Vicent Marti
cbb7fb53c6 Create an autolinking API for external applications 2011-06-08 18:30:37 +02:00
Samuel Bronson
be552bafdc Update Makefile and .gitignore to deal with smartypants.
... and get "make clean" to work under MSYS, too (*sigh*).
2011-06-05 14:55:08 -04:00
Samuel Bronson
dbc9d800ed Tweaks to make things work better with MinGW. 2011-06-05 14:54:22 -04:00
Vicent Marti
26c68ad080 Include the HTML renderer when building the shared lib 2011-05-11 20:01:17 +03:00
Vicent Marti
eb6f5474c2 Upskirt now renders HTML by default
The XHTML renderer has been changed to HTML by default, with a new
renderer flag called "HTML_USE_XHTML" that enables closing tags.
2011-05-06 20:29:41 +03:00
Vicent Marti
789bcd98e1 SmartyPants is now smart
SmartyPants is no longer an extension flag for the (X)HTML renderer, but
a separate method.

The new function `ups_xhtml_smartypants` external method is a
SmartyPants post-processor that takes an HTML document (e.g. a document
that has just been rendered with `ups_markdown`) and performs
SmartyPants substitutions in it.

This is the same approach that the original SmartyPants takes.
Postprocessing the HTML instead of performing the substitutions at the
Markdown level allows us to work around many problems of the old
implementation:

	- Double quotes now properly open/close between different HTML
	tags and blocks.

	- Support for ``double quoting style'' has been added, and no
	longer conflicts with Markdown code blocks.

	- The limitations of the Upskirt parser (which was splitting
	SmartyPants replacements mid-word in some cases because of active
	character callbacks) no longer apply. All SmartyPants substitutions
	work in all situations.

	- The new parser is easily extendable with more substitutions.

The new SmartyPants parser is slightly faster than the old one.
2011-05-05 17:47:37 +03:00
Vicent Marti
22794bade8 Build the executable without shared lib 2011-04-28 13:33:23 +03:00
Vicent Marti
3f01b80bda Force PIC when building the library 2011-04-20 12:41:37 +03:00
Vicent Marti
0059d6277a Remove profiling flags 2011-04-17 14:07:38 +03:00
Vicent Marti
7c6160bcce Newline after line break 2011-04-17 13:48:50 +03:00
Vicent Marti
481b099032 Add support for syntaxes in fenced code blocks 2011-04-16 13:14:28 +03:00
Vicent Marti
e1e5ea96ff Initial commit 2011-04-15 11:36:46 +03:00