packages feed

pandoc 1.12.4 → 1.12.4.2

raw patch · 55 files changed

+518/−219 lines, 55 filesdep ~highlighting-katedep ~texmathsetup-changed

Dependency ranges changed: highlighting-kate, texmath

Files

@@ -1,5 +1,5 @@ Pandoc-Copyright (C) 2006-2013 John MacFarlane <jgm at berkeley dot edu>+Copyright (C) 2006-2014 John MacFarlane <jgm at berkeley dot edu>  This code is released under the [GPL], version 2 or later: @@ -33,25 +33,25 @@  ---------------------------------------------------------------------- src/Text/Pandoc/Writers/Texinfo.hs-Copyright (C) 2008-2010 John MacFarlane and Peter Wang+Copyright (C) 2008-2014 John MacFarlane and Peter Wang  Released under the GNU General Public License version 2 or later.  ---------------------------------------------------------------------- src/Text/Pandoc/Writers/OpenDocument.hs-Copyright (C) 2008-2010 Andrea Rossato and John MacFarlane+Copyright (C) 2008-2014 Andrea Rossato and John MacFarlane  Released under the GNU General Public License version 2 or later.  ---------------------------------------------------------------------- src/Text/Pandoc/Writers/Org.hs-Copyright (C) 2010 Puneeth Chaganti+Copyright (C) 2010-2014 Puneeth Chaganti and JohnMacFarlane  Released under the GNU General Public License version 2 or later.  ---------------------------------------------------------------------- src/Text/Pandoc/Readers/Textile.hs-Copyright (C) 2010 Paul Rivier+Copyright (C) 2010-2014 Paul Rivier and John MacFarlane  Released under the GNU General Public License version 2 or later. 
Setup.hs view
@@ -1,4 +1,21 @@ {-# LANGUAGE CPP #-}+{-+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>++This program is free software; you can redistribute it and/or modify+it under the terms of the GNU General Public License as published by+the Free Software Foundation; either version 2 of the License, or+(at your option) any later version.++This program is distributed in the hope that it will be useful,+but WITHOUT ANY WARRANTY; without even the implied warranty of+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the+GNU General Public License for more details.++You should have received a copy of the GNU General Public License+along with this program; if not, write to the Free Software+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA+-}  import Distribution.Simple import Distribution.Simple.PreProcess
benchmark/benchmark-pandoc.hs view
@@ -1,3 +1,20 @@+{-+Copyright (C) 2012-2014 John MacFarlane <jgm@berkeley.edu>++This program is free software; you can redistribute it and/or modify+it under the terms of the GNU General Public License as published by+the Free Software Foundation; either version 2 of the License, or+(at your option) any later version.++This program is distributed in the hope that it will be useful,+but WITHOUT ANY WARRANTY; without even the implied warranty of+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the+GNU General Public License for more details.++You should have received a copy of the GNU General Public License+along with this program; if not, write to the Free Software+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA+-} import Text.Pandoc import Criterion.Main import Criterion.Config@@ -36,4 +53,3 @@   let writers' = [(n,w) | (n, PureStringWriter w) <- writers]   defaultMainWith conf (return ()) $     map (writerBench doc) writers' ++ readerBs-
changelog view
@@ -1,3 +1,47 @@+pandoc (1.12.4.2)++  * Require highlighting-kate >= 0.5.8.  Fixes a performance regression.++  * Shared:  `addMetaValue` now behaves slightly differently:+    if both the new and old values are lists, it concatenates their+    contents to form a new list.++  * LaTeX reader:++    + Set `bibliography` in metadata from `\bibliography` or+      `\addbibresource` command.+    + Don't error on `%foo` with no trailing newline.++  * Org reader:++    + Support code block headers (`#+BEGIN_SRC ...`) (Albert Krewinkel).+    + Fix parsing of blank lines within blocks (Albert Krewinkel).+    + Support pandoc citation extension (Albert Krewinkel).  This can+      be turned off by specifying `org-citation` as the input format.++  * Markdown reader:++    + `citeKey` moved to `Text.Pandoc.Parsing` so it can be used by+      other readers (Albert Krewinkel).++  * `Text.Pandoc.Parsing`:++    + Added `citeKey` (see above).+    + Added `HasLastStrPosition` type class and `updateLastStrPos`+      and `notAfterString` functions.++  * Updated copyright notices (Albert Krewinkel).++  * Added default.icml to data files so it installs with the package.++  * OSX package:++    + The binary is now built with options to ensure that it can be+      used with OSX 10.6+.+    + Moved OSX package materials to osx directory.+    + Added OSX package uninstall script, included in the zip container+      (thanks to Daniel T. Staal).+ pandoc (1.12.4)    * Made it possible to run filters that aren't executable (#1096).
+ data/templates/default.icml view
@@ -0,0 +1,43 @@+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>+<?aid style="50" type="snippet" readerVersion="6.0" featureSet="513" product="8.0(370)" ?>+<?aid SnippetType="InCopyInterchange"?>+<Document DOMVersion="8.0" Self="pandoc_doc">+    <RootCharacterStyleGroup Self="pandoc_character_styles">+      <CharacterStyle Self="$$ID/NormalCharacterStyle" Name="Default" />+      $charStyles$ +    </RootCharacterStyleGroup>+    <RootParagraphStyleGroup Self="pandoc_paragraph_styles">+      <ParagraphStyle Self="$$ID/NormalParagraphStyle" Name="$$ID/NormalParagraphStyle"+          SpaceBefore="6" SpaceAfter="6"> <!-- paragraph spacing -->+        <Properties>+          <TabList type="list">+            <ListItem type="record">+              <Alignment type="enumeration">LeftAlign</Alignment>+              <AlignmentCharacter type="string">.</AlignmentCharacter>+              <Leader type="string"></Leader>+              <Position type="unit">10</Position> <!-- first tab stop -->+            </ListItem>+          </TabList>+        </Properties>+      </ParagraphStyle>+      $parStyles$ +    </RootParagraphStyleGroup>+    <RootTableStyleGroup Self="pandoc_table_styles">+      <TableStyle Self="TableStyle/Table" Name="Table" />+    </RootTableStyleGroup>+    <RootCellStyleGroup Self="pandoc_cell_styles">+      <CellStyle Self="CellStyle/Cell" AppliedParagraphStyle="ParagraphStyle/$$ID/[No paragraph style]" Name="Cell" />+    </RootCellStyleGroup>+  <Story Self="pandoc_story"+      TrackChanges="false"+      StoryTitle="$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$"+      AppliedTOCStyle="n"+      AppliedNamedGrid="n" >+    <StoryPreference OpticalMarginAlignment="true" OpticalMarginSize="12" />++<!-- body needs to be non-indented, otherwise code blocks are indented too far -->+$body$++  </Story>+  $hyperlinks$+</Document>
pandoc.cabal view
@@ -1,10 +1,10 @@ Name:            pandoc-Version:         1.12.4+Version:         1.12.4.2 Cabal-Version:   >= 1.10 Build-Type:      Custom License:         GPL License-File:    COPYING-Copyright:       (c) 2006-2013 John MacFarlane+Copyright:       (c) 2006-2014 John MacFarlane Author:          John MacFarlane <jgm@berkeley.edu> Maintainer:      John MacFarlane <jgm@berkeley.edu> Bug-Reports:     https://github.com/jgm/pandoc/issues@@ -45,6 +45,7 @@                  data/templates/default.docbook,                  data/templates/default.beamer,                  data/templates/default.opendocument,+                 data/templates/default.icml,                  data/templates/default.opml,                  data/templates/default.latex,                  data/templates/default.context,@@ -226,7 +227,7 @@                  tagsoup >= 0.13.1 && < 0.14,                  base64-bytestring >= 0.1 && < 1.1,                  zlib >= 0.5 && < 0.6,-                 highlighting-kate >= 0.5.7 && < 0.6,+                 highlighting-kate >= 0.5.8 && < 0.6,                  data-default >= 0.4 && < 0.6,                  temporary >= 1.1 && < 1.3,                  blaze-html >= 0.5 && < 0.8,@@ -327,7 +328,7 @@                  text >= 0.11 && < 1.2,                  bytestring >= 0.9 && < 0.11,                  extensible-exceptions >= 0.1 && < 0.2,-                 highlighting-kate >= 0.5.7 && < 0.6,+                 highlighting-kate >= 0.5.8 && < 0.6,                  aeson >= 0.7 && < 0.8,                  yaml >= 0.8.8.2 && < 0.9,                  containers >= 0.1 && < 0.6,@@ -370,7 +371,7 @@                   directory >= 1 && < 1.3,                   filepath >= 1.1 && < 1.4,                   process >= 1 && < 1.3,-                  highlighting-kate >= 0.5.7 && < 0.6,+                  highlighting-kate >= 0.5.8 && < 0.6,                   Diff >= 0.2 && < 0.4,                   test-framework >= 0.3 && < 0.9,                   test-framework-hunit >= 0.2 && < 0.4,
pandoc.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} {--Copyright (C) 2006-2013 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Main-   Copyright   : Copyright (C) 2006-2013 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley@edu>@@ -69,7 +69,7 @@ import qualified Data.Text as T  copyrightMessage :: String-copyrightMessage = "\nCopyright (C) 2006-2013 John MacFarlane\n" +++copyrightMessage = "\nCopyright (C) 2006-2014 John MacFarlane\n" ++                     "Web:  http://johnmacfarlane.net/pandoc\n" ++                     "This is free software; see the source for copying conditions.  There is no\n" ++                     "warranty, not even for merchantability or fitness for a particular purpose."
src/Text/Pandoc.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE ScopedTypeVariables, FlexibleInstances #-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>@@ -275,6 +275,7 @@ getDefaultExtensions "markdown_github" = githubMarkdownExtensions getDefaultExtensions "markdown"        = pandocExtensions getDefaultExtensions "plain"           = pandocExtensions+getDefaultExtensions "org"             = Set.fromList [Ext_citations] getDefaultExtensions "textile"         = Set.fromList [Ext_auto_identifiers, Ext_raw_tex] getDefaultExtensions _                 = Set.fromList [Ext_auto_identifiers] @@ -319,4 +320,3 @@  writeJSON :: WriterOptions -> Pandoc -> String writeJSON _ = UTF8.toStringLazy . encode-
src/Text/Pandoc/Asciify.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2013 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2013-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.SelfContained-   Copyright   : Copyright (C) 2013 John MacFarlane+   Copyright   : Copyright (C) 2013-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Highlighting.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2008 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2008-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Highlighting-   Copyright   : Copyright (C) 2008 John MacFarlane+   Copyright   : Copyright (C) 2008-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/ImageSize.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings, ScopedTypeVariables  #-} {--  Copyright (C) 2011 John MacFarlane <jgm@berkeley.edu>+  Copyright (C) 2011-2014 John MacFarlane <jgm@berkeley.edu>      This program is free software; you can redistribute it and/or modify     it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- | Module      : Text.Pandoc.ImageSize-Copyright   : Copyright (C) 2011 John MacFarlane+Copyright   : Copyright (C) 2011-2014 John MacFarlane License     : GNU GPL, version 2 or above  Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/MIME.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2011 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2011-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.MIME-   Copyright   : Copyright (C) 2011 John MacFarlane+   Copyright   : Copyright (C) 2011-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Options.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2012 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2012-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Options-   Copyright   : Copyright (C) 2012 John MacFarlane+   Copyright   : Copyright (C) 2012-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/PDF.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings, CPP #-} {--Copyright (C) 2012 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2012-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.PDF-   Copyright   : Copyright (C) 2012 John MacFarlane+   Copyright   : Copyright (C) 2012-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Parsing.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE GeneralizedNewtypeDeriving, TypeSynonymInstances,     FlexibleInstances#-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -20,7 +20,7 @@  {- |    Module      : Text.Pandoc.Parsing-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>@@ -54,7 +54,6 @@                              withRaw,                              escaped,                              characterReference,-                             updateLastStrPos,                              anyOrderedListMarker,                              orderedListMarker,                              charRef,@@ -66,11 +65,14 @@                              testStringWith,                              guardEnabled,                              guardDisabled,+                             updateLastStrPos,+                             notAfterString,                              ParserState (..),                              HasReaderOptions (..),                              HasHeaderMap (..),                              HasIdentifierList (..),                              HasMacros (..),+                             HasLastStrPosition (..),                              defaultParserState,                              HeaderType (..),                              ParserContext (..),@@ -92,6 +94,7 @@                              apostrophe,                              dash,                              nested,+                             citeKey,                              macro,                              applyMacros',                              Parser,@@ -904,6 +907,14 @@   extractMacros        = stateMacros   updateMacros f st    = st{ stateMacros = f $ stateMacros st } +class HasLastStrPosition st where+  setLastStrPos  :: SourcePos -> st -> st+  getLastStrPos  :: st -> Maybe SourcePos++instance HasLastStrPosition ParserState where+  setLastStrPos pos st = st{ stateLastStrPos = Just pos }+  getLastStrPos st     = stateLastStrPos st+ defaultParserState :: ParserState defaultParserState =     ParserState { stateOptions         = def,@@ -938,6 +949,17 @@ guardDisabled :: HasReaderOptions st => Extension -> Parser s st () guardDisabled ext = getOption readerExtensions >>= guard . not . Set.member ext +-- | Update the position on which the last string ended.+updateLastStrPos :: HasLastStrPosition st => Parser s st ()+updateLastStrPos = getPosition >>= updateState . setLastStrPos++-- | Whether we are right after the end of a string.+notAfterString :: HasLastStrPosition st => Parser s st Bool+notAfterString = do+  pos <- getPosition+  st  <- getState+  return $ getLastStrPos st /= Just pos+ data HeaderType     = SingleHeader Char  -- ^ Single line of characters underneath     | DoubleHeader Char  -- ^ Lines of characters above and below@@ -1049,17 +1071,11 @@                        guard (c `elem` cs)                        return c) -updateLastStrPos :: Parser [Char] ParserState ()-updateLastStrPos = getPosition >>= \p ->-  updateState $ \s -> s{ stateLastStrPos = Just p }- singleQuoteStart :: Parser [Char] ParserState () singleQuoteStart = do   failIfInQuoteContext InSingleQuote-  pos <- getPosition-  st <- getState   -- single quote start can't be right after str-  guard $ stateLastStrPos st /= Just pos+  guard =<< notAfterString   () <$ charOrRef "'\8216\145"  singleQuoteEnd :: Parser [Char] st ()@@ -1129,6 +1145,18 @@   updateState $ \st -> st{ stateMaxNestingLevel = nestlevel }   return res +citeKey :: HasLastStrPosition st => Parser [Char] st (Bool, String)+citeKey = try $ do+  guard =<< notAfterString+  suppress_author <- option False (char '-' *> return True)+  char '@'+  firstChar <- letter <|> char '_'+  let regchar = satisfy (\c -> isAlphaNum c || c == '_')+  let internal p = try $ p <* lookAhead regchar+  rest <- many $ regchar <|> internal (oneOf ":.#$%&-+?<>~/")+  let key = firstChar:rest+  return (suppress_author, key)+ -- -- Macros --@@ -1156,4 +1184,3 @@      then do macros <- extractMacros `fmap` getState              return $ applyMacros macros target      else return target-
src/Text/Pandoc/Pretty.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE GeneralizedNewtypeDeriving, CPP #-} {--Copyright (C) 2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2010-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Pretty-   Copyright   : Copyright (C) 2010 John MacFarlane+   Copyright   : Copyright (C) 2010-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Process.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2013 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2013-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Process-   Copyright   : Copyright (C) 2013 John MacFarlane+   Copyright   : Copyright (C) 2013-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>@@ -47,7 +47,7 @@ the standard output, and the standard error.  If an asynchronous exception is thrown to the thread executing-@readProcessWithExitCode@. The forked process will be terminated and+@readProcessWithExitCode@, the forked process will be terminated and @readProcessWithExitCode@ will wait (block) until the process has been terminated. -}@@ -102,4 +102,3 @@   res <- newEmptyMVar   _ <- mask $ \restore -> forkIO $ try (restore a) >>= putMVar res   return (takeMVar res >>= either (\ex -> throwIO (ex :: SomeException)) return)-
src/Text/Pandoc/Readers/HTML.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Readers.HTML-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Readers/LaTeX.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE ScopedTypeVariables, OverloadedStrings #-} {--Copyright (C) 2006-2012 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Readers.LaTeX-   Copyright   : Copyright (C) 2006-2012 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>@@ -125,7 +125,7 @@ comment = do   char '%'   skipMany (satisfy (/='\n'))-  newline+  optional newline   return ()  bgroup :: LP ()@@ -307,6 +307,10 @@   , ("caption", tok >>= setCaption)   , ("PandocStartInclude", startInclude)   , ("PandocEndInclude", endInclude)+  , ("bibliography", mempty <$ (skipopts *> braced >>=+                                addMeta "bibliography" . splitBibs))+  , ("addbibresource", mempty <$ (skipopts *> braced >>=+                                addMeta "bibliography" . splitBibs))   ] ++ map ignoreBlocks   -- these commands will be ignored unless --parse-raw is specified,   -- in which case they will appear as raw latex blocks@@ -314,7 +318,7 @@     -- newcommand, etc. should be parsed by macro, but we need this     -- here so these aren't parsed as inline commands to ignore   , "special", "pdfannot", "pdfstringdef"-  , "bibliography", "bibliographystyle"+  , "bibliographystyle"   , "maketitle", "makeindex", "makeglossary"   , "addcontentsline", "addtocontents", "addtocounter"      -- \ignore{} is used conventionally in literate haskell for definitions@@ -328,6 +332,9 @@ addMeta :: ToMetaValue a => String -> a -> LP () addMeta field val = updateState $ \st ->   st{ stateMeta = addMetaField field val $ stateMeta st }++splitBibs :: String -> [Inlines]+splitBibs = map (str . flip replaceExtension "bib" . trim) . splitBy (==',')  setCaption :: Inlines -> LP Blocks setCaption ils = do
src/Text/Pandoc/Readers/Markdown.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE RelaxedPolyRec #-} -- needed for inlinesBetween on GHC < 7 {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Readers.Markdown-   Copyright   : Copyright (C) 2006-2013 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>@@ -1474,9 +1474,7 @@   where  checkIntraword = do            exts <- getOption readerExtensions            when (Ext_intraword_underscores `Set.member` exts) $ do-             pos <- getPosition-             lastStrPos <- stateLastStrPos <$> getState-             guard $ lastStrPos /= Just pos+             guard =<< notAfterString  -- | Parses a list of inlines between start and end delimiters. inlinesBetween :: (Show b)@@ -1518,8 +1516,7 @@ str :: MarkdownParser (F Inlines) str = do   result <- many1 alphaNum-  pos <- getPosition-  updateState $ \s -> s{ stateLastStrPos = Just pos }+  updateLastStrPos   let spacesToNbr = map (\c -> if c == ' ' then '\160' else c)   isSmart <- getOption readerSmart   if isSmart@@ -1816,22 +1813,6 @@   spnl   char ']'   return citations--citeKey :: MarkdownParser (Bool, String)-citeKey = try $ do-  -- make sure we're not right after an alphanumeric,-  -- since foo@bar.baz is probably an email address-  lastStrPos <- stateLastStrPos <$> getState-  pos <- getPosition-  guard $ lastStrPos /= Just pos-  suppress_author <- option False (char '-' >> return True)-  char '@'-  first <- letter <|> char '_'-  let regchar = satisfy (\c -> isAlphaNum c || c == '_')-  let internal p = try $ p >>~ lookAhead regchar-  rest <- many $ regchar <|> internal (oneOf ":.#$%&-+?<>~/")-  let key = first:rest-  return (suppress_author, key)  suffix :: MarkdownParser (F Inlines) suffix = try $ do
src/Text/Pandoc/Readers/MediaWiki.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE RelaxedPolyRec, FlexibleInstances, TypeSynonymInstances #-} -- RelaxedPolyRec needed for inlinesBetween on GHC < 7 {--  Copyright (C) 2012 John MacFarlane <jgm@berkeley.edu>+  Copyright (C) 2012-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -20,7 +20,7 @@  {- |    Module      : Text.Pandoc.Readers.MediaWiki-   Copyright   : Copyright (C) 2012 John MacFarlane+   Copyright   : Copyright (C) 2012-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Readers/Native.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2011 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2011-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Readers.Native-   Copyright   : Copyright (C) 2011 John MacFarlane+   Copyright   : Copyright (C) 2011-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Readers/Org.hs view
@@ -50,7 +50,7 @@ import           Data.Default import           Data.List (intersperse, isPrefixOf, isSuffixOf) import qualified Data.Map as M-import           Data.Maybe (listToMaybe, fromMaybe, isJust)+import           Data.Maybe (fromMaybe, isJust) import           Data.Monoid (Monoid, mconcat, mempty, mappend) import           Network.HTTP (urlEncode) @@ -105,6 +105,10 @@   deleteMeta field st =     st{ orgStateMeta = deleteMeta field $ orgStateMeta st } +instance HasLastStrPosition OrgParserState where+  getLastStrPos = orgStateLastStrPos+  setLastStrPos pos st = st{ orgStateLastStrPos = Just pos }+ instance Default OrgParserState where   def = defaultOrgParserState @@ -162,7 +166,8 @@   s{ orgStateEmphasisCharStack = drop 1 . orgStateEmphasisCharStack $ s }  surroundingEmphasisChar :: OrgParser [Char]-surroundingEmphasisChar = take 1 . drop 1 . orgStateEmphasisCharStack <$> getState+surroundingEmphasisChar =+  take 1 . drop 1 . orgStateEmphasisCharStack <$> getState  startEmphasisNewlinesCounting :: Int -> OrgParser () startEmphasisNewlinesCounting maxNewlines = updateState $ \s ->@@ -170,7 +175,7 @@  decEmphasisNewlinesCount :: OrgParser () decEmphasisNewlinesCount = updateState $ \s ->-      s{ orgStateEmphasisNewlines = (\n -> n - 1) <$> orgStateEmphasisNewlines s }+  s{ orgStateEmphasisNewlines = (\n -> n - 1) <$> orgStateEmphasisNewlines s }  newlinesCountWithinLimits :: OrgParser Bool newlinesCountWithinLimits = do@@ -275,7 +280,7 @@  where    attribute :: OrgParser (String, String)    attribute = try $ do-         key <- metaLineStart *> many1Till (noneOf "\n\r") (char ':')+         key <- metaLineStart *> many1Till nonspaceChar (char ':')          val <- skipSpaces *> anyLine          return (map toLower key, val) @@ -296,57 +301,74 @@ -- Org Blocks (#+BEGIN_... / #+END_...) -- +type BlockProperties = (Int, String)  -- (Indentation, Block-Type)+ orgBlock :: OrgParser (F Blocks) orgBlock = try $ do-  (indent, blockType, args) <- blockHeader-  content <- rawBlockContent indent blockType-  contentBlocks <- parseFromString parseBlocks (content ++ "\n")-  let classArgs = [ translateLang . fromMaybe [] $ listToMaybe args ]-  case blockType of-    "comment" -> return mempty-    "html"    -> returnF $ B.rawBlock "html" content-    "latex"   -> returnF $ B.rawBlock "latex" content-    "ascii"   -> returnF $ B.rawBlock "ascii" content-    "example" -> returnF $ exampleCode content-    "quote"   -> return  $ B.blockQuote <$> contentBlocks-    "verse"   -> parseVerse content-    "src"     -> codeBlockWithAttr classArgs content-    _         -> return  $ B.divWith ("", [blockType], []) <$> contentBlocks+  blockProp@(_, blkType) <- blockHeaderStart+  ($ blockProp) $+    case blkType of+      "comment" -> withRaw'   (const mempty)+      "html"    -> withRaw'   (return . (B.rawBlock blkType))+      "latex"   -> withRaw'   (return . (B.rawBlock blkType))+      "ascii"   -> withRaw'   (return . (B.rawBlock blkType))+      "example" -> withRaw'   (return . exampleCode)+      "quote"   -> withParsed (fmap B.blockQuote)+      "verse"   -> verseBlock+      "src"     -> codeBlock+      _         -> withParsed (fmap $ divWithClass blkType)++blockHeaderStart :: OrgParser (Int, String)+blockHeaderStart = try $ (,) <$> indent <*> blockType  where-   parseVerse :: String -> OrgParser (F Blocks)-   parseVerse cs =-       fmap B.para . mconcat . intersperse (pure B.linebreak)-       <$> mapM (parseFromString parseInlines) (lines cs)+  indent    = length      <$> many spaceChar+  blockType = map toLower <$> (stringAnyCase "#+begin_" *> orgArgWord) -blockHeader :: OrgParser (Int, String, [String])-blockHeader = (,,) <$> blockIndent-                   <*> blockType-                   <*> (skipSpaces *> blockArgs)- where blockIndent = length <$> many spaceChar-       blockType = map toLower <$> (stringAnyCase "#+begin_" *> many letter)-       blockArgs = manyTill (many nonspaceChar <* skipSpaces) newline+withRaw'   :: (String   -> F Blocks) -> BlockProperties -> OrgParser (F Blocks)+withRaw'   f blockProp = (ignHeaders *> (f <$> rawBlockContent blockProp)) -codeBlockWithAttr :: [String] -> String -> OrgParser (F Blocks)-codeBlockWithAttr classArgs content = do-  identifier <- fromMaybe "" <$> lookupBlockAttribute "name"-  caption <- lookupInlinesAttr "caption"-  let codeBlck = B.codeBlockWith (identifier, classArgs, []) content-  return $ maybe (pure codeBlck) (labelDiv codeBlck) caption+withParsed :: (F Blocks -> F Blocks) -> BlockProperties -> OrgParser (F Blocks)+withParsed f blockProp = (ignHeaders *> (f <$> parsedBlockContent blockProp))++ignHeaders :: OrgParser ()+ignHeaders = (() <$ newline) <|> (() <$ anyLine)++divWithClass :: String -> Blocks -> Blocks+divWithClass cls = B.divWith ("", [cls], [])++verseBlock :: BlockProperties -> OrgParser (F Blocks)+verseBlock blkProp = try $ do+  ignHeaders+  content <- rawBlockContent blkProp+  fmap B.para . mconcat . intersperse (pure B.linebreak)+    <$> mapM (parseFromString parseInlines) (lines content)++codeBlock :: BlockProperties -> OrgParser (F Blocks)+codeBlock blkProp = do+  skipSpaces+  (classes, kv) <- codeHeaderArgs <|> (mempty <$ ignHeaders)+  id'           <- fromMaybe "" <$> lookupBlockAttribute "name"+  content       <- rawBlockContent blkProp+  let codeBlck  = B.codeBlockWith ( id', classes, kv ) content+  maybe (pure codeBlck) (labelDiv codeBlck) <$> lookupInlinesAttr "caption"  where    labelDiv blk value =        B.divWith nullAttr <$> (mappend <$> labelledBlock value                                        <*> pure blk)    labelledBlock = fmap (B.plain . B.spanWith ("", ["label"], [])) -rawBlockContent :: Int -> String -> OrgParser String-rawBlockContent indent blockType =+rawBlockContent :: BlockProperties -> OrgParser String+rawBlockContent (indent, blockType) = try $   unlines . map commaEscaped <$> manyTill indentedLine blockEnder  where-   indentedLine = try $ choice [ blankline         *> pure "\n"-                               , indentWith indent *> anyLine-                               ]+   indentedLine = try $ ("" <$ blankline) <|> (indentWith indent *> anyLine)    blockEnder = try $ indentWith indent *> stringAnyCase ("#+end_" <> blockType) +parsedBlockContent :: BlockProperties -> OrgParser (F Blocks)+parsedBlockContent blkProps = try $ do+  raw <- rawBlockContent blkProps+  parseFromString parseBlocks (raw ++ "\n")+ -- indent by specified number of spaces (or equiv. tabs) indentWith :: Int -> OrgParser String indentWith num = do@@ -356,6 +378,34 @@      else choice [ try (count num (char ' '))                  , try (char '\t' >> count (num - tabStop) (char ' ')) ] +type SwitchOption = (Char, Maybe String)++orgArgWord :: OrgParser String+orgArgWord = many1 orgArgWordChar++-- | Parse code block arguments+-- TODO: We currently don't handle switches.+codeHeaderArgs :: OrgParser ([String], [(String, String)])+codeHeaderArgs = try $ do+  language   <- skipSpaces *> orgArgWord+  _          <- skipSpaces *> (try $ switch `sepBy` (many1 spaceChar))+  parameters <- manyTill blockOption newline+  let pandocLang = translateLang language+  return $+    if hasRundocParameters parameters+    then ( [ pandocLang, rundocBlockClass ]+         , map toRundocAttrib (("language", language) : parameters)+         )+    else ([ pandocLang ], parameters)+ where hasRundocParameters = not . null++switch :: OrgParser SwitchOption+switch = try $ simpleSwitch <|> lineNumbersSwitch+ where+   simpleSwitch = (\c -> (c, Nothing)) <$> (oneOf "-+" *> letter)+   lineNumbersSwitch = (\ls -> ('l', Just ls)) <$>+                       (string "-l \"" *> many1Till nonspaceChar (char '"'))+ translateLang :: String -> String translateLang "C"          = "c" translateLang "C++"        = "cpp"@@ -367,6 +417,39 @@ translateLang "sqlite"     = "sql" translateLang cs = cs +-- | Prefix used for Rundoc classes and arguments.+rundocPrefix :: String+rundocPrefix = "rundoc-"++-- | The class-name used to mark rundoc blocks.+rundocBlockClass :: String+rundocBlockClass = rundocPrefix ++ "block"++blockOption :: OrgParser (String, String)+blockOption = try $ (,) <$> orgArgKey <*> orgParamValue++inlineBlockOption :: OrgParser (String, String)+inlineBlockOption = try $ (,) <$> orgArgKey <*> orgInlineParamValue++orgArgKey :: OrgParser String+orgArgKey = try $+  skipSpaces *> char ':'+             *> many1 orgArgWordChar++orgParamValue :: OrgParser String+orgParamValue = try $+  skipSpaces *> many1 (noneOf "\t\n\r ") <* skipSpaces++orgInlineParamValue :: OrgParser String+orgInlineParamValue = try $+  skipSpaces *> many1 (noneOf "\t\n\r ]") <* skipSpaces++orgArgWordChar :: OrgParser Char+orgArgWordChar = alphaNum <|> oneOf "-_"++toRundocAttrib :: (String, String) -> (String, String)+toRundocAttrib = first ("rundoc-" ++)+ commaEscaped :: String -> String commaEscaped (',':cs@('*':_))     = cs commaEscaped (',':cs@('#':'+':_)) = cs@@ -391,7 +474,7 @@  drawerStart :: OrgParser String drawerStart = try $-  skipSpaces *> drawerName <* skipSpaces <* newline+  skipSpaces *> drawerName <* skipSpaces <* P.newline  where drawerName = try $  char ':' *> validDrawerName <* char ':'        validDrawerName =  stringAnyCase "PROPERTIES"                           <|> stringAnyCase "LOGBOOK"@@ -401,7 +484,7 @@  drawerEnd :: OrgParser String drawerEnd = try $-  skipSpaces *> stringAnyCase ":END:" <* skipSpaces <* newline+  skipSpaces *> stringAnyCase ":END:" <* skipSpaces <* P.newline   --@@ -412,7 +495,7 @@ figure :: OrgParser (F Blocks) figure = try $ do   (cap, nam) <- nameAndCaption-  src <- skipSpaces *> selfTarget <* skipSpaces <* newline+  src <- skipSpaces *> selfTarget <* skipSpaces <* P.newline   guard (isImageFilename src)   return $ do     cap' <- cap@@ -786,6 +869,7 @@ inline =   choice [ whitespace          , linebreak+         , cite          , footnote          , linkOrImage          , anchor@@ -850,6 +934,51 @@   updateLastPreCharPos   return . return $ B.space +cite :: OrgParser (F Inlines)+cite = try $ do+  guardEnabled Ext_citations+  (cs, raw) <- withRaw normalCite+  return $ (flip B.cite (B.text raw)) <$> cs++normalCite :: OrgParser (F [Citation])+normalCite = try $  char '['+                 *> skipSpaces+                 *> citeList+                 <* skipSpaces+                 <* char ']'++citeList :: OrgParser (F [Citation])+citeList = sequence <$> sepBy1 citation (try $ char ';' *> skipSpaces)++citation :: OrgParser (F Citation)+citation = try $ do+  pref <- prefix+  (suppress_author, key) <- citeKey+  suff <- suffix+  return $ do+    x <- pref+    y <- suff+    return $ Citation{ citationId      = key+                     , citationPrefix  = B.toList x+                     , citationSuffix  = B.toList y+                     , citationMode    = if suppress_author+                                            then SuppressAuthor+                                            else NormalCitation+                     , citationNoteNum = 0+                     , citationHash    = 0+                     }+ where+   prefix = trimInlinesF . mconcat <$>+            manyTill inline (char ']' <|> (']' <$ lookAhead citeKey))+   suffix = try $ do+     hasSpace <- option False (notFollowedBy nonspaceChar >> return True)+     skipSpaces+     rest <- trimInlinesF . mconcat <$>+             many (notFollowedBy (oneOf ";]") *> inline)+     return $ if hasSpace+              then (B.space <>) <$> rest+              else rest+ footnote :: OrgParser (F Inlines) footnote = try $ inlineNote <|> referencedNote @@ -924,7 +1053,7 @@ selfTarget = try $ char '[' *> linkTarget <* char ']'  linkTarget :: OrgParser String-linkTarget = enclosed (char '[') (char ']') (noneOf "\n\r[]")+linkTarget = enclosedByPair '[' ']' (noneOf "\n\r[]")  applyCustomLinkFormat :: String -> OrgParser (F String) applyCustomLinkFormat link = do@@ -995,36 +1124,17 @@ inlineCodeBlock = try $ do   string "src_"   lang <- many1 orgArgWordChar-  opts <- option [] $ enclosedByPair '[' ']' blockOption+  opts <- option [] $ enclosedByPair '[' ']' inlineBlockOption   inlineCode <- enclosedByPair '{' '}' (noneOf "\n\r")   let attrClasses = [translateLang lang, rundocBlockClass]   let attrKeyVal  = map toRundocAttrib (("language", lang) : opts)   returnF $ B.codeWith ("", attrClasses, attrKeyVal) inlineCode- where enclosedByPair s e p = char s *> many1Till p (char e) --- | The class-name used to mark rundoc blocks.-rundocBlockClass :: String-rundocBlockClass = "rundoc-block"--blockOption :: OrgParser (String, String)-blockOption = try $ (,) <$> orgArgKey <*> orgArgValue--orgArgKey :: OrgParser String-orgArgKey = try $-  skipSpaces *> char ':'-             *> many1 orgArgWordChar-             <* many1 spaceChar--orgArgValue :: OrgParser String-orgArgValue = try $-  skipSpaces *> many1 orgArgWordChar-             <* skipSpaces--orgArgWordChar :: OrgParser Char-orgArgWordChar = alphaNum <|> oneOf "-_"--toRundocAttrib :: (String, String) -> (String, String)-toRundocAttrib = first ("rundoc-" ++)+enclosedByPair :: Char          -- ^ opening char+               -> Char          -- ^ closing char+               -> OrgParser a   -- ^ parser+               -> OrgParser [a]+enclosedByPair s e p = char s *> many1Till p (char e)  emph      :: OrgParser (F Inlines) emph      = fmap B.emph         <$> emphasisBetween '/'@@ -1218,13 +1328,6 @@   pos <- getPosition   lastPrePos <- orgStateLastPreCharPos <$> getState   return . fromMaybe True $ (== pos) <$> lastPrePos---- | Whether we are right after the end of a string-notAfterString :: OrgParser Bool-notAfterString = do-  pos <- getPosition-  lastStrPos <- orgStateLastStrPos <$> getState-  return $ lastStrPos /= Just pos  -- | Whether the parser is right after a forbidden border char notAfterForbiddenBorderChar :: OrgParser Bool
src/Text/Pandoc/Readers/RST.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Readers.RST-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Readers/TeXMath.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2007-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2007-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Readers.TeXMath-   Copyright   : Copyright (C) 2007-2010 John MacFarlane+   Copyright   : Copyright (C) 2007-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Readers/Textile.hs view
@@ -1,5 +1,6 @@ {--Copyright (C) 2010 Paul Rivier <paul*rivier#demotera*com> | tr '*#' '.@'+Copyright (C) 2010-2014 Paul Rivier <paul*rivier#demotera*com> | tr '*#' '.@'+                        and John MacFarlane  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +19,7 @@  {- |    Module      : Text.Pandoc.Readers.Textile-   Copyright   : Copyright (C) 2010-2012 Paul Rivier and John MacFarlane+   Copyright   : Copyright (C) 2010-2014 Paul Rivier and John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : Paul Rivier <paul*rivier#demotera*com>
src/Text/Pandoc/SelfContained.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2011 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2011-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.SelfContained-   Copyright   : Copyright (C) 2011 John MacFarlane+   Copyright   : Copyright (C) 2011-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Shared.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE DeriveDataTypeable, CPP, MultiParamTypeClasses,     FlexibleContexts, ScopedTypeVariables #-} {--Copyright (C) 2006-2013 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -20,7 +20,7 @@  {- |    Module      : Text.Pandoc.Shared-   Copyright   : Copyright (C) 2006-2013 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>@@ -564,8 +564,10 @@              -> Meta addMetaField key val (Meta meta) =   Meta $ M.insertWith combine key (toMetaValue val) meta-  where combine newval (MetaList xs) = MetaList (xs ++ [newval])+  where combine newval (MetaList xs) = MetaList (xs ++ tolist newval)         combine newval x             = MetaList [x, newval]+        tolist (MetaList ys)         = ys+        tolist y                     = [y]  -- | Create 'Meta' from old-style title, authors, date.  This is -- provided to ease the transition from the old API.
src/Text/Pandoc/Slides.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2012 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2012-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Slides-   Copyright   : Copyright (C) 2012 John MacFarlane+   Copyright   : Copyright (C) 2012-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Templates.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE TypeSynonymInstances, FlexibleInstances, CPP,     OverloadedStrings, GeneralizedNewtypeDeriving #-} {--Copyright (C) 2009-2013 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2009-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -20,7 +20,7 @@  {- |    Module      : Text.Pandoc.Templates-   Copyright   : Copyright (C) 2009-2013 John MacFarlane+   Copyright   : Copyright (C) 2009-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/UTF8.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} {--Copyright (C) 2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2010-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.UTF8-   Copyright   : Copyright (C) 2010 John MacFarlane+   Copyright   : Copyright (C) 2010-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/UUID.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2010-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.UUID-   Copyright   : Copyright (C) 2010 John MacFarlane+   Copyright   : Copyright (C) 2010-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/AsciiDoc.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.AsciiDoc-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/ConTeXt.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2007-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2007-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.ConTeXt-   Copyright   : Copyright (C) 2007-2010 John MacFarlane+   Copyright   : Copyright (C) 2007-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Custom.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverlappingInstances, FlexibleInstances, OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-orphans #-}-{- Copyright (C) 2012 John MacFarlane <jgm@berkeley.edu>+{- Copyright (C) 2012-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.Custom-   Copyright   : Copyright (C) 2012 John MacFarlane+   Copyright   : Copyright (C) 2012-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Docbook.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.Docbook-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Docx.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE ScopedTypeVariables #-} {--Copyright (C) 2012 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2012-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.Docx-   Copyright   : Copyright (C) 2012 John MacFarlane+   Copyright   : Copyright (C) 2012-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/EPUB.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE PatternGuards, CPP, ScopedTypeVariables #-} {--Copyright (C) 2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2010-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.EPUB-   Copyright   : Copyright (C) 2010 John MacFarlane+   Copyright   : Copyright (C) 2010-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/HTML.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings, CPP #-} {-# OPTIONS_GHC -fno-warn-deprecations #-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -20,7 +20,7 @@  {- |    Module      : Text.Pandoc.Writers.HTML-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/LaTeX.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.LaTeX-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Man.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2007-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2007-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Writers.Man-   Copyright   : Copyright (C) 2007-2010 John MacFarlane+   Copyright   : Copyright (C) 2007-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Markdown.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings, TupleSections, ScopedTypeVariables #-} {--Copyright (C) 2006-2013 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.Markdown-   Copyright   : Copyright (C) 2006-2013 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/MediaWiki.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2008-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2008-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Writers.MediaWiki-   Copyright   : Copyright (C) 2008-2010 John MacFarlane+   Copyright   : Copyright (C) 2008-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Native.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.Native-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/ODT.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE ScopedTypeVariables #-} {--Copyright (C) 2008-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2008-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.ODT-   Copyright   : Copyright (C) 2008-2010 John MacFarlane+   Copyright   : Copyright (C) 2008-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/OPML.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2013 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2013-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Writers.OPML-   Copyright   : Copyright (C) 2013 John MacFarlane+   Copyright   : Copyright (C) 2013-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/OpenDocument.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE PatternGuards, OverloadedStrings #-} {--Copyright (C) 2008-2010 Andrea Rossato <andrea.rossato@ing.unitn.it>-and John MacFarlane.+Copyright (C) 2008-2014 Andrea Rossato <andrea.rossato@ing.unitn.it>+                        and John MacFarlane.  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -20,7 +20,7 @@  {- |    Module      : Text.Pandoc.Writers.OpenDocument-   Copyright   : Copyright (C) 2008-2010 Andrea Rossato and John MacFarlane+   Copyright   : Copyright (C) 2008-2014 Andrea Rossato and John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : Andrea Rossato <andrea.rossato@ing.unitn.it>
src/Text/Pandoc/Writers/Org.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2006-2010 Puneeth Chaganti <punchagan@gmail.com>+Copyright (C) 2010-2014 Puneeth Chaganti <punchagan@gmail.com>+                        and John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +20,7 @@  {- |    Module      : Text.Pandoc.Writers.Org-   Copyright   : Copyright (C) 2010 Puneeth Chaganti+   Copyright   : Copyright (C) 2010-2014 Puneeth Chaganti and John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : Puneeth Chaganti <punchagan@gmail.com>
src/Text/Pandoc/Writers/RST.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.RST-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/RTF.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Writers.RTF-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Shared.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2013 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2013-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.Shared-   Copyright   : Copyright (C) 2013 John MacFarlane+   Copyright   : Copyright (C) 2013-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Texinfo.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {--Copyright (C) 2008-2010 John MacFarlane and Peter Wang+Copyright (C) 2008-2014 John MacFarlane and Peter Wang  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,7 +19,7 @@  {- |    Module      : Text.Pandoc.Writers.Texinfo-   Copyright   : Copyright (C) 2008-2010 John MacFarlane and Peter Wang+   Copyright   : Copyright (C) 2008-2014 John MacFarlane and Peter Wang    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/Writers/Textile.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2010-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.Writers.Textile-   Copyright   : Copyright (C) 2010 John MacFarlane+   Copyright   : Copyright (C) 2010-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
src/Text/Pandoc/XML.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2006-2014 John MacFarlane <jgm@berkeley.edu>  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -18,7 +18,7 @@  {- |    Module      : Text.Pandoc.XML-   Copyright   : Copyright (C) 2006-2010 John MacFarlane+   Copyright   : Copyright (C) 2006-2014 John MacFarlane    License     : GNU GPL, version 2 or above     Maintainer  : John MacFarlane <jgm@berkeley.edu>
tests/Tests/Readers/Org.hs view
@@ -225,6 +225,28 @@                              ]                            )                            "echo 'Hello, World'")++      , "Citation" =:+          "[@nonexistent]" =?>+          let citation = Citation+                         { citationId = "nonexistent"+                         , citationPrefix = []+                         , citationSuffix = []+                         , citationMode = NormalCitation+                         , citationNoteNum = 0+                         , citationHash = 0}+          in (para $ cite [citation] "[@nonexistent]")++      , "Citation containing text" =:+          "[see @item1 p. 34-35]" =?>+          let citation = Citation+                         { citationId = "item1"+                         , citationPrefix = [Str "see"]+                         , citationSuffix = [Space ,Str "p.",Space,Str "34-35"]+                         , citationMode = NormalCitation+                         , citationNoteNum = 0+                         , citationHash = 0}+          in (para $ cite [citation] "[see @item1 p. 34-35]")       ]    , testGroup "Meta Information" $@@ -822,6 +844,20 @@            in mconcat [ para $ spcSep [ "Low", "German", "greeting"  ]                       , codeBlockWith attr' code'                       ]+      , "Source block with rundoc/babel arguments" =:+           unlines [ "#+BEGIN_SRC emacs-lisp :exports both"+                   , "(progn (message \"Hello, World!\")"+                   , "       (+ 23 42))"+                   , "#+END_SRC" ] =?>+           let classes = [ "commonlisp"  -- as kate doesn't know emacs-lisp syntax+                         , "rundoc-block"+                         ]+               params = [ ("rundoc-language", "emacs-lisp")+                        , ("rundoc-exports", "both")+                        ]+               code' = unlines [ "(progn (message \"Hello, World!\")"+                               , "       (+ 23 42))" ]+           in codeBlockWith ("", classes, params) code'        , "Example block" =:            unlines [ "#+begin_example"@@ -906,5 +942,26 @@                              (unlines [ "fmap id = id"                                       , "fmap (p . q) = (fmap p) . (fmap q)"                                       ])))++      , "Convert blank lines in blocks to single newlines" =:+          unlines [ "#+begin_html"+                  , ""+                  , "<span>boring</span>"+                  , ""+                  , "#+end_html"+                  ] =?>+          rawBlock "html" "\n<span>boring</span>\n\n"++      , "Non-letter chars in source block parameters" =:+          unlines [ "#+BEGIN_SRC C :tangle xxxx.c :city Zürich"+                  , "code body"+                  , "#+END_SRC"+                  ] =?>+          let classes = [ "c", "rundoc-block" ]+              params  = [ ("rundoc-language", "C")+                        , ("rundoc-tangle", "xxxx.c")+                        , ("rundoc-city", "Zürich")+                        ]+          in codeBlockWith ( "", classes, params) "code body\n"       ]   ]