John MacFarlane
33fd791ea1
Made F a newtype, moved definitions to Parser.
...
Parser now exports F(..), askF, asksF, runF.
2012-08-02 17:12:20 -07:00
John MacFarlane
ebd72e7ba6
Improved implementation of pipe tables.
2012-08-01 23:34:48 -07:00
John MacFarlane
a1677b612b
Parsing: removed duplication of Key and Key'.
...
Now we just use the former Key' (string contents),
renamed Key. lookupKeySrc and fromKey are no longer
eport. Key', toKey' and KeyTable' have become Key,
toKey, and KeyTable.
2012-08-01 22:40:07 -07:00
John MacFarlane
fadc7b0d87
Major rewrite of markdown reader.
...
* Use Builder's Inlines/Blocks instead of lists.
* Return values in the reader monad, which are then
run (at the end of parsing) against the final
parser state. This allows links, notes, and
example numbers to be resolved without a second
parser pass.
* An effect of using Builder is that everything is
normalized automatically.
* New exports from Text.Pandoc.Parsing:
widthsFromIndices, NoteTable', KeyTable', Key', toKey',
withQuoteContext, singleQuoteStart, singleQuoteEnd, doubleQuoteStart,
doubleQuoteEnd, ellipses, apostrophe, dash
* Updated opendocument tests.
* Don't derive Show for ParserState.
* Benchmarks: markdown reader takes 82% of the time it took before.
Markdown writer takes 92% of the time (here the speedup is probably
due to the fact that everything is normalized by default).
2012-08-01 21:45:40 -07:00
John MacFarlane
973c7ecacf
Removed commented-out pandoc2 code.
...
This will be developed in a branch, noreparsing.
2012-07-27 21:04:38 -07:00
John MacFarlane
c76ef95308
Parser: Changed types to use type alias Parser, not Parsec.
2012-07-27 20:50:03 -07:00
John MacFarlane
eb99b7e7b9
Commented out extensions that don't yet do anything.
2012-07-27 19:04:11 -07:00
John MacFarlane
7905feac3f
Removed deprecated writerXeTeX.
2012-07-27 16:01:17 -07:00
John MacFarlane
f0b9d52fd3
Markdown reader: Added sensitivity to Ext_example_lists.
2012-07-27 16:00:27 -07:00
John MacFarlane
b516082997
Markdown reader: Check fancy_lists and startnum extensions.
2012-07-27 15:45:47 -07:00
John MacFarlane
b98219773b
Replaced writerStrict with writerExtensions in WriterOptions.
...
Still have not implemented individual tests for all the extensions
in the markdown writer.
2012-07-27 09:18:51 -07:00
John MacFarlane
00dc1e715e
Moved WriterOptions and associated types Shared -> Options.
2012-07-26 22:59:56 -07:00
John MacFarlane
6d7f0a1b81
Fixed whitespace errors.
2012-07-26 22:32:53 -07:00
John MacFarlane
e797ab9136
Textile reader: Replace failIfStrict with guardEnabled.
2012-07-26 22:21:00 -07:00
John MacFarlane
14c911ba06
Parsing: Removed failIfStrict.
2012-07-26 22:20:44 -07:00
John MacFarlane
33fdea67b5
Use readerExtensions instead of readerStrict in readers.
...
Test individually for the extensions.
2012-07-26 20:29:08 -07:00
John MacFarlane
5186da929d
Parsing: Added guardEnabled, guardDisabled.
2012-07-26 19:10:56 -07:00
John MacFarlane
631e5c16fc
pandoc: Set readerExtensions instead of readerStrict.
2012-07-26 18:56:19 -07:00
John MacFarlane
acde1e82d2
Changed reader parameters from ParserState to ReaderOptions.
2012-07-25 22:35:41 -07:00
John MacFarlane
9b5d2031c7
Restored stateStandalone as readerStandalone.
...
It is indeed needed by the RST reader.
2012-07-25 22:05:06 -07:00
John MacFarlane
2654da3823
Moved stateApplyMacros, stateIndentedCodeClasses to ReaderOptions.
2012-07-25 22:05:06 -07:00
John MacFarlane
070b968ae0
stateCitations -> readerCitations.
2012-07-25 22:05:06 -07:00
John MacFarlane
856aa8c244
Moved stateLiterateHaskell to readerLiterateHaskell in Options.
2012-07-25 22:05:06 -07:00
John MacFarlane
1dba82f25e
Got rid of stateStandalone, which was hardly used anyway.
...
The only possible effect will be with rst fragments that
begin with an rst title block, which will now cause the
header transform.
2012-07-25 20:08:42 -07:00
John MacFarlane
95570ba34c
Moved stateOldDashes to readerOldDashes in ReaderOptions.
2012-07-25 12:37:04 -07:00
John MacFarlane
335cd5de4d
Moved stateTabStop to readerTabStop in ReaderOptions.
2012-07-25 12:31:16 -07:00
John MacFarlane
0d4424c21c
Moved stateColumns to readerColumns in ReaderOptions.
2012-07-25 11:51:33 -07:00
John MacFarlane
ef0619cc6d
Moved ParseRaw from ParserState to ReaderOptions.
2012-07-25 11:43:56 -07:00
John MacFarlane
8b380a464e
Text.Pandoc.Parsing: Added getOption.
2012-07-25 11:27:25 -07:00
John MacFarlane
dfa19061ab
Options -> ReaderOptions.
...
Better to keep reader and writer options separate.
2012-07-25 11:08:06 -07:00
John MacFarlane
da3702357d
Put smart, strict in separate options field in state.
...
This is the beginning of a larger transition that will make
Options, not ParserState, the parameter of the read functions.
(Options will also be used in writers, in place of WriterOptions.)
Next step is to remove strict, replacing it with granular
tests for different extensions.
2012-07-25 10:45:45 -07:00
John MacFarlane
0d21b8d6ae
Added Text.Pandoc.Options.
2012-07-25 10:18:57 -07:00
John MacFarlane
fbd3d2b450
Better algorithm for oneOfStrings.
...
This goes character by character, not backtracking.
2012-07-24 22:45:22 -07:00
John MacFarlane
02ef26ae91
Slightly more efficient normalizeSpaces.
2012-07-24 22:12:18 -07:00
John MacFarlane
c00f5c4372
HTML reader: Fixed bug in htmlBalanced.
...
This caused hangs in parsing certain markdown input using --strict.
2012-07-24 21:43:24 -07:00
John MacFarlane
1fb1cfb670
Don't require strict HTML blocks to begin at left margin.
...
Technically this is required, according to the mardkown syntax
document, but Markdown.pl and other markdown processors are more
liberal.
2012-07-24 21:41:57 -07:00
John MacFarlane
308436996e
Use catch from Control.Exception to avoid warnings.
2012-07-24 19:38:16 -07:00
John MacFarlane
e6c76525b2
Text.Pandoc: writers now an assoc list of String, Writer.
...
A Writer can be a PureStringWriter, an IOStringWriter, or
an IOByteStringWriter. ALL writers are now in the 'writers'
list, including the binary writers and fb2 writer. Code simplified
at end of pandoc.hs.
2012-07-24 19:05:38 -07:00
John MacFarlane
999edd9608
Changed signatures of writeODT, writeDocx, writeEPUB.
...
These now take WriterOptions and Pandoc only.
The extra parameters for epub stylesheet, epub fonts,
reference Docx, and reference ODT have been removed, since
these things are now in WriterOptions.
Note: breaking API change!
2012-07-24 09:56:00 -07:00
John MacFarlane
cd19d4596b
Added fields to WriterOptions.
...
writerEpubStylesheet, writerEpubFonts, writerReferenceODT,
writerReferenceDocx. These can now be removed as extra
parameters to the writers.
2012-07-24 09:49:57 -07:00
John MacFarlane
6da9d9bca5
Small fix to fix: Allow blank lines btw table and caption.
2012-07-24 09:24:56 -07:00
John MacFarlane
da1e99c03a
Fixed performance improvement to tables.
2012-07-24 09:19:52 -07:00
John MacFarlane
2a4b987cc3
More performance improvements on pipe tables.
2012-07-24 09:08:54 -07:00
John MacFarlane
bab816cefe
Refactored table parsers, captions now not part of core tableWith.
2012-07-24 09:06:13 -07:00
John MacFarlane
ce72d6aba8
Slight improvement to performance for pipe tables.
...
Still, pipe tables are a huge performance drag. One benchmark:
With pipe tables, 1.25 sec (including this fix).
without pipe tables, 1.05 sec.
2012-07-24 07:13:49 -07:00
John MacFarlane
fb6e798917
Set writerTableOfContents for s5 in Text.Pandoc, not pandoc.hs.
2012-07-23 22:58:16 -07:00
John MacFarlane
1bd0c47968
Set writerSlideVariant in Text.Pandoc rather than pandoc.hs.
2012-07-23 22:53:35 -07:00
John MacFarlane
d2cc56a46a
Revised code for pipe tables.
...
* All tables now require at least one body row.
* Renamed from 'extra' to 'pipe' tables.
* Moved functions from Parsing to Readers.Markdown.
* Cleaned up code; revised to parse in one pass rather than
parsing a raw string, splitting it, and parsing the components.
* Allow pipe tables without pipes on the ends (as PHP Markdown Extra
does).
2012-07-22 22:09:15 -07:00
John MacFarlane
511f5e891d
Merge pull request #510 from mytskine/markdown-extra
...
Markdown extra tables [part of the multi-markdown syntax for tables]
2012-07-22 18:40:18 -07:00
Sergey Astanin
436a585c3b
FB2: support images embedded as data URIs + tests.
2012-07-22 11:13:14 -07:00