aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pandoc.cabal8
-rw-r--r--src/Text/Pandoc.hs6
-rw-r--r--src/Text/Pandoc/Readers/Docx.hs (renamed from src/Text/Pandoc/Readers/DocX.hs)66
-rw-r--r--src/Text/Pandoc/Readers/Docx/Lists.hs (renamed from src/Text/Pandoc/Readers/DocX/Lists.hs)6
-rw-r--r--src/Text/Pandoc/Readers/Docx/Parse.hs (renamed from src/Text/Pandoc/Readers/DocX/Parse.hs)16
-rw-r--r--tests/Tests/Readers/Docx.hs (renamed from tests/Tests/Readers/DocX.hs)6
-rw-r--r--tests/test-pandoc.hs4
7 files changed, 56 insertions, 56 deletions
diff --git a/pandoc.cabal b/pandoc.cabal
index a6126a331..5898af5ad 100644
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -293,7 +293,7 @@ Library
Text.Pandoc.Readers.Textile,
Text.Pandoc.Readers.Native,
Text.Pandoc.Readers.Haddock,
- Text.Pandoc.Readers.DocX,
+ Text.Pandoc.Readers.Docx,
Text.Pandoc.Writers.Native,
Text.Pandoc.Writers.Docbook,
Text.Pandoc.Writers.OPML,
@@ -324,8 +324,8 @@ Library
Text.Pandoc.Process
Other-Modules: Text.Pandoc.Readers.Haddock.Lex,
Text.Pandoc.Readers.Haddock.Parse,
- Text.Pandoc.Readers.DocX.Lists,
- Text.Pandoc.Readers.DocX.Parse,
+ Text.Pandoc.Readers.Docx.Lists,
+ Text.Pandoc.Readers.Docx.Parse,
Text.Pandoc.Writers.Shared,
Text.Pandoc.Asciify,
Text.Pandoc.MIME,
@@ -411,7 +411,7 @@ Test-Suite test-pandoc
Tests.Readers.Markdown
Tests.Readers.Org
Tests.Readers.RST
- Tests.Readers.DocX
+ Tests.Readers.Docx
Tests.Writers.Native
Tests.Writers.ConTeXt
Tests.Writers.HTML
diff --git a/src/Text/Pandoc.hs b/src/Text/Pandoc.hs
index aff471a3c..45c2f453b 100644
--- a/src/Text/Pandoc.hs
+++ b/src/Text/Pandoc.hs
@@ -63,7 +63,7 @@ module Text.Pandoc
, writers
-- * Readers: converting /to/ Pandoc format
, Reader (..)
- , readDocX
+ , readDocx
, readMarkdown
, readMediaWiki
, readRST
@@ -127,7 +127,7 @@ import Text.Pandoc.Readers.HTML
import Text.Pandoc.Readers.Textile
import Text.Pandoc.Readers.Native
import Text.Pandoc.Readers.Haddock
-import Text.Pandoc.Readers.DocX
+import Text.Pandoc.Readers.Docx
import Text.Pandoc.Writers.Native
import Text.Pandoc.Writers.Markdown
import Text.Pandoc.Writers.RST
@@ -222,7 +222,7 @@ readers = [ ("native" , StringReader $ \_ s -> return $ readNative s)
,("html" , mkStringReader readHtml)
,("latex" , mkStringReader readLaTeX)
,("haddock" , mkStringReader readHaddock)
- ,("docx" , mkBSReader readDocX)
+ ,("docx" , mkBSReader readDocx)
]
data Writer = PureStringWriter (WriterOptions -> Pandoc -> String)
diff --git a/src/Text/Pandoc/Readers/DocX.hs b/src/Text/Pandoc/Readers/Docx.hs
index 976e2e271..df4be41ff 100644
--- a/src/Text/Pandoc/Readers/DocX.hs
+++ b/src/Text/Pandoc/Readers/Docx.hs
@@ -17,7 +17,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-}
{- |
- Module : Text.Pandoc.Readers.DocX
+ Module : Text.Pandoc.Readers.Docx
Copyright : Copyright (C) 2014 Jesse Rosenthal
License : GNU GPL, version 2 or above
@@ -25,11 +25,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Stability : alpha
Portability : portable
-Conversion of DocX type (defined in Text.Pandoc.Readers.DocX.Parse)
+Conversion of Docx type (defined in Text.Pandoc.Readers.Docx.Parse)
to 'Pandoc' document. -}
{-
-Current state of implementation of DocX entities ([x] means
+Current state of implementation of Docx entities ([x] means
implemented, [-] means partially implemented):
* Blocks
@@ -68,8 +68,8 @@ implemented, [-] means partially implemented):
- [X] Note (Footnotes and Endnotes are silently combined.)
-}
-module Text.Pandoc.Readers.DocX
- ( readDocX
+module Text.Pandoc.Readers.Docx
+ ( readDocx
) where
import Codec.Archive.Zip
@@ -79,8 +79,8 @@ import Text.Pandoc.Builder (text, toList)
import Text.Pandoc.Generic (bottomUp)
import Text.Pandoc.MIME (getMimeType)
import Text.Pandoc.UTF8 (toString)
-import Text.Pandoc.Readers.DocX.Parse
-import Text.Pandoc.Readers.DocX.Lists
+import Text.Pandoc.Readers.Docx.Parse
+import Text.Pandoc.Readers.Docx.Lists
import Data.Maybe (mapMaybe, isJust, fromJust)
import Data.List (delete, isPrefixOf, (\\), intersect)
import qualified Data.ByteString as BS
@@ -88,11 +88,11 @@ import qualified Data.ByteString.Lazy as B
import Data.ByteString.Base64 (encode)
import System.FilePath (combine)
-readDocX :: ReaderOptions
+readDocx :: ReaderOptions
-> B.ByteString
-> Pandoc
-readDocX opts bytes =
- case archiveToDocX (toArchive bytes) of
+readDocx opts bytes =
+ case archiveToDocx (toArchive bytes) of
Just docx -> Pandoc nullMeta (docxToBlocks opts docx)
Nothing -> error $ "couldn't parse docx file"
@@ -148,8 +148,8 @@ strNormalize (Str "" : ils) = strNormalize ils
strNormalize ((Str s) : (Str s') : l) = strNormalize ((Str (s++s')) : l)
strNormalize (il:ils) = il : (strNormalize ils)
-runToInlines :: ReaderOptions -> DocX -> Run -> [Inline]
-runToInlines _ _ (Run rs runElems)
+runToInlines :: ReaderOptions -> Docx -> Run -> [Inline]
+runToInlines _ _ (Run rs runElems)
| isJust (rStyle rs) && (fromJust (rStyle rs)) `elem` codeSpans =
case runStyleToSpanAttr rs == ("", [], []) of
True -> [Str (runElemsToString runElems)]
@@ -157,30 +157,30 @@ runToInlines _ _ (Run rs runElems)
| otherwise = case runStyleToSpanAttr rs == ("", [], []) of
True -> concatMap runElemToInlines runElems
False -> [Span (runStyleToSpanAttr rs) (concatMap runElemToInlines runElems)]
-runToInlines opts docx@(DocX _ notes _ _ _ ) (Footnote fnId) =
+runToInlines opts docx@(Docx _ notes _ _ _ ) (Footnote fnId) =
case (getFootNote fnId notes) of
Just bodyParts ->
[Note [Div ("", ["footnote"], []) (map (bodyPartToBlock opts docx) bodyParts)]]
Nothing ->
[Note [Div ("", ["footnote"], []) []]]
-runToInlines opts docx@(DocX _ notes _ _ _) (Endnote fnId) =
+runToInlines opts docx@(Docx _ notes _ _ _) (Endnote fnId) =
case (getEndNote fnId notes) of
Just bodyParts ->
[Note [Div ("", ["endnote"], []) (map (bodyPartToBlock opts docx) bodyParts)]]
Nothing ->
[Note [Div ("", ["endnote"], []) []]]
-parPartToInlines :: ReaderOptions -> DocX -> ParPart -> [Inline]
+parPartToInlines :: ReaderOptions -> Docx -> ParPart -> [Inline]
parPartToInlines opts docx (PlainRun r) = runToInlines opts docx r
parPartToInlines _ _ (BookMark _ anchor) =
[Span (anchor, ["anchor"], []) []]
-parPartToInlines _ (DocX _ _ _ rels _) (Drawing relid) =
+parPartToInlines _ (Docx _ _ _ rels _) (Drawing relid) =
case lookupRelationship relid rels of
Just target -> [Image [] (combine "word" target, "")]
Nothing -> [Image [] ("", "")]
parPartToInlines opts docx (InternalHyperLink anchor runs) =
[Link (concatMap (runToInlines opts docx) runs) ('#' : anchor, "")]
-parPartToInlines opts docx@(DocX _ _ _ rels _) (ExternalHyperLink relid runs) =
+parPartToInlines opts docx@(Docx _ _ _ rels _) (ExternalHyperLink relid runs) =
case lookupRelationship relid rels of
Just target ->
[Link (concatMap (runToInlines opts docx) runs) (target, "")]
@@ -208,9 +208,9 @@ makeHeaderAnchors h@(Header n (_, classes, kvs) ils) =
False -> Header n (ident, classes, kvs) (ils \\ (x:xs))
_ -> h
makeHeaderAnchors blk = blk
-
-parPartsToInlines :: ReaderOptions -> DocX -> [ParPart] -> [Inline]
+
+parPartsToInlines :: ReaderOptions -> Docx -> [ParPart] -> [Inline]
parPartsToInlines opts docx parparts =
--
-- We're going to skip data-uri's for now. It should be an option,
@@ -222,16 +222,16 @@ parPartsToInlines opts docx parparts =
bottomUp spanReduce $
concatMap (parPartToInlines opts docx) parparts
-cellToBlocks :: ReaderOptions -> DocX -> Cell -> [Block]
+cellToBlocks :: ReaderOptions -> Docx -> Cell -> [Block]
cellToBlocks opts docx (Cell bps) = map (bodyPartToBlock opts docx) bps
-rowToBlocksList :: ReaderOptions -> DocX -> Row -> [[Block]]
+rowToBlocksList :: ReaderOptions -> Docx -> Row -> [[Block]]
rowToBlocksList opts docx (Row cells) = map (cellToBlocks opts docx) cells
-bodyPartToBlock :: ReaderOptions -> DocX -> BodyPart -> Block
+bodyPartToBlock :: ReaderOptions -> Docx -> BodyPart -> Block
bodyPartToBlock opts docx (Paragraph pPr parparts) =
Div (parStyleToDivAttr pPr) [Para (parPartsToInlines opts docx parparts)]
-bodyPartToBlock opts docx@(DocX _ _ numbering _ _) (ListItem pPr numId lvl parparts) =
+bodyPartToBlock opts docx@(Docx _ _ numbering _ _) (ListItem pPr numId lvl parparts) =
let
kvs = case lookupLevel numId lvl numbering of
Just (_, fmt, txt, Just start) -> [ ("level", lvl)
@@ -240,7 +240,7 @@ bodyPartToBlock opts docx@(DocX _ _ numbering _ _) (ListItem pPr numId lvl parpa
, ("text", txt)
, ("start", (show start))
]
-
+
Just (_, fmt, txt, Nothing) -> [ ("level", lvl)
, ("num-id", numId)
, ("format", fmt)
@@ -262,7 +262,7 @@ bodyPartToBlock opts docx (Tbl cap _ look (r:rs)) =
Just r' -> rowToBlocksList opts docx r'
Nothing -> []
cells = map (rowToBlocksList opts docx) rows
-
+
size = case null hdrCells of
True -> length $ head cells
False -> length $ hdrCells
@@ -277,8 +277,8 @@ bodyPartToBlock opts docx (Tbl cap _ look (r:rs)) =
in
Table caption alignments widths hdrCells cells
-makeImagesSelfContained :: DocX -> Inline -> Inline
-makeImagesSelfContained (DocX _ _ _ _ media) i@(Image alt (uri, title)) =
+makeImagesSelfContained :: Docx -> Inline -> Inline
+makeImagesSelfContained (Docx _ _ _ _ media) i@(Image alt (uri, title)) =
case lookup uri media of
Just bs -> case getMimeType uri of
Just mime -> let data_uri =
@@ -289,11 +289,11 @@ makeImagesSelfContained (DocX _ _ _ _ media) i@(Image alt (uri, title)) =
Nothing -> i
makeImagesSelfContained _ inline = inline
-bodyToBlocks :: ReaderOptions -> DocX -> Body -> [Block]
+bodyToBlocks :: ReaderOptions -> Docx -> Body -> [Block]
bodyToBlocks opts docx (Body bps) =
bottomUp removeEmptyPars $
- bottomUp strNormalize $
- bottomUp spanRemove $
+ bottomUp strNormalize $
+ bottomUp spanRemove $
bottomUp divRemove $
map (makeHeaderAnchors) $
bottomUp divCorrect $
@@ -303,8 +303,8 @@ bodyToBlocks opts docx (Body bps) =
blocksToBullets $
map (bodyPartToBlock opts docx) bps
-docxToBlocks :: ReaderOptions -> DocX -> [Block]
-docxToBlocks opts d@(DocX (Document _ body) _ _ _ _) = bodyToBlocks opts d body
+docxToBlocks :: ReaderOptions -> Docx -> [Block]
+docxToBlocks opts d@(Docx (Document _ body) _ _ _ _) = bodyToBlocks opts d body
spanReduce :: [Inline] -> [Inline]
spanReduce [] = []
@@ -460,7 +460,7 @@ divRemove' blk = [blk]
divRemove :: [Block] -> [Block]
divRemove = concatMap divRemove'
-
+
divCorrect' :: Block -> [Block]
divCorrect' b@(Div (ident, classes, kvs) blks)
| (not . null) (blockQuoteDivs `intersect` classes) =
diff --git a/src/Text/Pandoc/Readers/DocX/Lists.hs b/src/Text/Pandoc/Readers/Docx/Lists.hs
index b20679261..68559d98b 100644
--- a/src/Text/Pandoc/Readers/DocX/Lists.hs
+++ b/src/Text/Pandoc/Readers/Docx/Lists.hs
@@ -17,7 +17,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-}
{- |
- Module : Text.Pandoc.Readers.DocX.Lists
+ Module : Text.Pandoc.Readers.Docx.Lists
Copyright : Copyright (C) 2014 Jesse Rosenthal
License : GNU GPL, version 2 or above
@@ -25,10 +25,10 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Stability : alpha
Portability : portable
-Functions for converting flat DocX paragraphs into nested lists.
+Functions for converting flat docx paragraphs into nested lists.
-}
-module Text.Pandoc.Readers.DocX.Lists ( blocksToBullets
+module Text.Pandoc.Readers.Docx.Lists ( blocksToBullets
, blocksToDefinitions) where
import Text.Pandoc.JSON
diff --git a/src/Text/Pandoc/Readers/DocX/Parse.hs b/src/Text/Pandoc/Readers/Docx/Parse.hs
index d7033d9e8..22e9dd909 100644
--- a/src/Text/Pandoc/Readers/DocX/Parse.hs
+++ b/src/Text/Pandoc/Readers/Docx/Parse.hs
@@ -17,7 +17,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-}
{- |
- Module : Text.Pandoc.Readers.DocX.Parse
+ Module : Text.Pandoc.Readers.Docx.Parse
Copyright : Copyright (C) 2014 Jesse Rosenthal
License : GNU GPL, version 2 or above
@@ -25,11 +25,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Stability : alpha
Portability : portable
-Conversion of DocX archive into DocX haskell type
+Conversion of docx archive into Docx haskell type
-}
-module Text.Pandoc.Readers.DocX.Parse ( DocX(..)
+module Text.Pandoc.Readers.Docx.Parse ( Docx(..)
, Document(..)
, Body(..)
, BodyPart(..)
@@ -49,7 +49,7 @@ module Text.Pandoc.Readers.DocX.Parse ( DocX(..)
, getEndNote
, lookupLevel
, lookupRelationship
- , archiveToDocX
+ , archiveToDocx
) where
import Codec.Archive.Zip
import Text.XML.Light
@@ -67,17 +67,17 @@ attrToNSPair _ = Nothing
type NameSpaces = [(String, String)]
-data DocX = DocX Document Notes Numbering [Relationship] Media
+data Docx = Docx Document Notes Numbering [Relationship] Media
deriving Show
-archiveToDocX :: Archive -> Maybe DocX
-archiveToDocX archive = do
+archiveToDocx :: Archive -> Maybe Docx
+archiveToDocx archive = do
let notes = archiveToNotes archive
rels = archiveToRelationships archive
media = archiveToMedia archive
doc <- archiveToDocument archive
numbering <- archiveToNumbering archive
- return $ DocX doc notes numbering rels media
+ return $ Docx doc notes numbering rels media
data Document = Document NameSpaces Body
deriving Show
diff --git a/tests/Tests/Readers/DocX.hs b/tests/Tests/Readers/Docx.hs
index f4564ea1d..0a963ddc6 100644
--- a/tests/Tests/Readers/DocX.hs
+++ b/tests/Tests/Readers/Docx.hs
@@ -1,4 +1,4 @@
-module Tests.Readers.DocX (tests) where
+module Tests.Readers.Docx (tests) where
import Text.Pandoc.Options
import Text.Pandoc.Readers.Native
@@ -6,13 +6,13 @@ import Text.Pandoc.Definition
import Tests.Helpers
import Test.Framework
import qualified Data.ByteString.Lazy as B
-import Text.Pandoc.Readers.DocX
+import Text.Pandoc.Readers.Docx
compareOutput :: FilePath -> FilePath -> IO (Pandoc, Pandoc)
compareOutput docxFile nativeFile = do
df <- B.readFile docxFile
nf <- Prelude.readFile nativeFile
- return $ (readDocX def df, readNative nf)
+ return $ (readDocx def df, readNative nf)
testCompare' :: String -> FilePath -> FilePath -> IO Test
testCompare' name docxFile nativeFile = do
diff --git a/tests/test-pandoc.hs b/tests/test-pandoc.hs
index 9f9d85147..c07a51ec5 100644
--- a/tests/test-pandoc.hs
+++ b/tests/test-pandoc.hs
@@ -9,7 +9,7 @@ import qualified Tests.Readers.LaTeX
import qualified Tests.Readers.Markdown
import qualified Tests.Readers.Org
import qualified Tests.Readers.RST
-import qualified Tests.Readers.DocX
+import qualified Tests.Readers.Docx
import qualified Tests.Writers.ConTeXt
import qualified Tests.Writers.LaTeX
import qualified Tests.Writers.HTML
@@ -39,7 +39,7 @@ tests = [ testGroup "Old" Tests.Old.tests
, testGroup "Markdown" Tests.Readers.Markdown.tests
, testGroup "Org" Tests.Readers.Org.tests
, testGroup "RST" Tests.Readers.RST.tests
- , testGroup "DocX" Tests.Readers.DocX.tests
+ , testGroup "Docx" Tests.Readers.Docx.tests
]
]