aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Markdown.hs
AgeCommit message (Collapse)AuthorFilesLines
2010-12-05Fix regression: markdown references should be case-insensitive.John MacFarlane1-2/+2
This broke when we added the Key type. We had assumed that the custom case-insensitive Ord instance would ensure case-insensitive matching, but that is not how Data.Map works. * Added a test case for case-insensitivity in markdown-reader-more * Removed old refsMatch from Text.Pandoc.Parsing module; * hid the 'Key' constructor; * dropped the custom Ord and Eq instances, deriving instead; * added fromKey and toKey to convert between Keys and Inline lists; * toKey ensures that keys are case-insensitive, since this is the only way the API provides to construct a Key. Resolves Issue #272.
2010-12-03Merge branch 'citeproc' into master.John MacFarlane1-37/+92
Conflicts: src/Text/Pandoc/Definition.hs
2010-12-03punctuation handling, and more html-specific handlingpaul.rivier1-1/+2
2010-11-28Merge branch 'master' into citeprocJohn MacFarlane1-0/+3
2010-11-28Markdown parser performance improvement.John MacFarlane1-0/+3
Do a quick lookahead to make sure what follows looks like a setext header before parsing any Inlines. This gives a 15% performance boost in one benchmark. Many thanks to knieriem for finding the problem (in peg-markdown): https://github.com/jgm/peg-markdown/issues/issue/3
2010-11-26Markdown suffix parser fix.John MacFarlane1-2/+7
If suffix doesn't begin with punctuation, include opening comma and space in result. Previously, @item [only a suffix] would result in something like Doe (2002only a suffix) because there was no opening delimiter.
2010-11-26Split locator and suffix in Biblio rather than Markdown parser.John MacFarlane1-36/+2
Patch from Nathan Gass.
2010-11-22Check biblio for all citations, not just textual.John MacFarlane1-5/+5
2010-11-18Markdown citation parser: small refactoring for clarity.John MacFarlane1-1/+5
2010-11-18Markdown citation parser improvements and test updates.John MacFarlane1-13/+15
Now we handle a suffix after a bare locator, e.g. @item1 [p. 30, suffix] The suffix now includes any punctuation that introduces it. A few tests fail because of problems with citeproc (extra space before the suffix, missing space after comma separating multiple page ranges in the locator).
2010-11-18Markdown reader: Revised parser for new citation syntax.John MacFarlane1-56/+73
Suffixes and prefixes are now [Inline]. The locator is separated from the citation key by a blank space. The locator consists of one introductory word and any number of words containing at least one digit. The suffix, if any, is separated from the locator by a comma, and continues til the end of the citation.
2010-11-17Don't pass a [Str ""] as citationPrefix.John MacFarlane1-1/+1
2010-11-16Updated for changes in Citaiton type.John MacFarlane1-3/+4
citationPrefix now [Inline] rather than String; citationSuffix added. This change presupposes no changes in citeproc-hs. It passes a string for these values to citeproc-hs. Eventually, citeproc-hs should use an [Inline] for these as well.
2010-11-12Repairs to citation parser + citation test suite.John MacFarlane1-8/+8
2010-11-12Revised citation parsers for markdown reader.John MacFarlane1-44/+96
Added a form for in-text citations: @doe99 [30; see also @smith99].
2010-11-11Added support for textual citations (but not yet markdown syntax).John MacFarlane1-1/+1
Patch from Andrea Rossato.
2010-11-09Merge branch 'master' into citeprocJohn MacFarlane1-1/+1
2010-11-09Allow HTML comments as inline elements in markdown.John MacFarlane1-1/+1
So, aaa <!-- comment --> bbb can be a single paragraph.
2010-11-06Removed CITEPROC CPP conditionals from library code.John MacFarlane1-4/+0
By Cabal policy, the API should not change depending on flags.
2010-11-06Changes to use citeproc-hs 0.3.John MacFarlane1-1/+5
2010-10-27Changes to use citeproc 0.3.John MacFarlane1-12/+20
Patch from Andrea Rossato. Note: the markdown syntax is preliminary and will probably change.
2010-10-26Parse blanklines after macro definitions.John MacFarlane1-1/+1
2010-10-26Process LaTeX macros in markdown, and apply to TeX math.John MacFarlane1-3/+28
Example: \newcommand{\plus}[2]{#1 + #2} $\plus{3}{4}$ yields: 3+4
2010-07-12Modified example refs so they can occur before or after target.John MacFarlane1-5/+15
The refs are now replaced by numbers at the final stage, using processWith.
2010-07-11Merge branch 'atlists'. Added auto-numbered example lists.John MacFarlane1-1/+11
2010-07-06Minor comment change.John MacFarlane1-1/+0
2010-07-06Allow language-neutral table captions.John MacFarlane1-1/+1
+ Captions may now begin simply with ':', instead of 'Table:' + Captions may now appear either above or below the table. + Resolves Issue #227.
2010-07-05More refactoring of grid table code.John MacFarlane1-47/+19
2010-07-05Moved parsing functions from Text.Pandoc.Shared to new module.John MacFarlane1-1/+2
+ Text.Pandoc.Parsing
2010-05-08Made KeyTable a map instead of an association list.John MacFarlane1-4/+5
* This affects the RST and Markdown readers. * The type for stateKeys in ParserState has also changed. * Pandoc, Meta, Inline, and Block have been given Ord instances. * Reference keys now have a type of their own (Key), with its own Ord instance for case-insensitive comparison.
2010-04-10In parsing smart quotes, leave unicode curly quotes alone.John MacFarlane1-14/+12
Resolves Issue #143.
2010-03-27Implemented @ for sequentially numbered examples.John MacFarlane1-1/+12
Also implemented (@label) for example labels and references.
2010-03-23Properly escape URIs in all readers.John MacFarlane1-16/+9
2010-03-23Updated copyright notices.John MacFarlane1-2/+2
2010-03-14Markdown(+lhs) reader: handle "inverse bird tracks"fiddlosopher1-7/+15
Inverse bird tracks (<) are used for haskell example code that is not part of the literate Haskell program. Resolves Issue #211. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1888 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-06Markdown reader: Added p., pp., sec., ch., as abbreviations.fiddlosopher1-1/+2
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1861 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-06Disallow blank lines in inline code span.fiddlosopher1-1/+1
Also added additional test cases for markdown code spans. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1860 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-01Markdown reader: Allow footnotes to be indented < 4 spaces.fiddlosopher1-2/+2
This fixes a regression. A test case has been added in testsuite.txt. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1859 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-28Allow multi-line titles and authors in meta block.fiddlosopher1-3/+11
Based on a patch by Justin Bogner. Titles may span multiple lines, provided continuation lines begin with a space character. Separate authors may be put on multiple lines, provided each line after the first begins with a space character. Each author must fit on one line. Multiple authors on a single line may still be separated by a semicolon. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1854 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-27Markdown reader: Use simpler approach for URLs - just escape spaces.fiddlosopher1-9/+5
Markdown.pl doesn't URI-escape anything, so we won't do that either, except for spaces, which can cause problems if not escaped. Resolves Issue #220 and partially reverts r1847. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1851 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-27Markdown reader: properly escape URIs.fiddlosopher1-2/+10
+ Resolves Issue #220. + Added escapeURI function to Markdown reader. This escapes links in a way that makes sense for markdown. If they've used URI escapes like %20 in their link, these will be preserved. But if they've used a special character or space without escaping it, it will be escaped. This should make sense in most cases. + Previously pandoc collapsed adjacent spaces and replaced these sequences of spaces with + characters. That isn't correct for a URI path (+ is to be used only in the query part). We've also removed the space-collapsing behavior. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1847 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-03Require two spaces after capital letter + period for list item.fiddlosopher1-2/+2
Otherwise "E. coli" starts a list. This might change the semantics of some existing documents, since previously the two-space requirement was only enforced when the second word started with a capital letter. But it is consistent with the existing documentation and follows the principle of least surprise. Resolves Issue #212. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1829 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31Removed redundant imports (found by ghc 6.12).fiddlosopher1-1/+1
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1750 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31Removed unneeded LANGUAGE pragmas.fiddlosopher1-1/+0
(CPP is enabled globally in the cabal file.) git-svn-id: https://pandoc.googlecode.com/svn/trunk@1747 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31Markdown reader: use ; as separator between authors.fiddlosopher1-2/+2
This allows you to use ',' within author names: e.g. "John Jones, Jr." git-svn-id: https://pandoc.googlecode.com/svn/trunk@1726 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31Changed Meta author and date types to Inline lists instead of Strings.fiddlosopher1-10/+9
Meta [Inline] [[Inline]] [Inline] rather than Meta [Inline] [String] String. This is a breaking change for libraries that use pandoc and manipulate the metadata. Changed .native files in test suite for new Meta format. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1699 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-07Improved syntax for markdown definition lists.fiddlosopher1-13/+36
Definition lists are now more compatible with PHP Markdown Extra. Resolves Issue #24. + You can have multiple definitions for a term (but still not multiple terms). + Multi-block definitions no longer need a column before each block (indeed, this will now cause multiple definitions). + The marker no longer needs to be flush with the left margin, but can be indented at or two spaces. Also, ~ as well as : can be used as the marker (this suggestion due to David Wheeler.) + There can now be a blank line between the term and the definitions. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1656 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-05Allow markdown tables without headers.fiddlosopher1-28/+52
Resolves Issue #50. The new syntax is described in README. Also allow optional line of dashes at bottom of simple tables. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1652 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-05Markdown reader: Compensate for width of final table column.fiddlosopher1-1/+11
Resolves Issue #144. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1649 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-05Markdown reader: Treat a backslash followed by a newline as hard linebreak.fiddlosopher1-4/+4
Resolves Issue #154. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1646 788f1e2b-df1e-0410-8736-df70ead52e1b