mirror of
https://github.com/jgm/pandoc.git
synced 2026-09-28 10:25:41 +00:00
Set ODT title property
This commit is contained in:
@@ -36,7 +36,7 @@ import Data.ByteString.Lazy.UTF8 ( fromString )
|
||||
import Codec.Archive.Zip
|
||||
import Data.Time.Clock.POSIX
|
||||
import Paths_pandoc ( getDataFileName )
|
||||
import Text.Pandoc.Shared ( WriterOptions(..) )
|
||||
import Text.Pandoc.Shared hiding (Element)
|
||||
import Text.Pandoc.ImageSize ( readImageSize, sizeInPoints )
|
||||
import Text.Pandoc.MIME ( getMimeType )
|
||||
import Text.Pandoc.Definition
|
||||
@@ -53,7 +53,7 @@ writeODT :: Maybe FilePath -- ^ Path specified by --reference-odt
|
||||
-> WriterOptions -- ^ Writer options
|
||||
-> Pandoc -- ^ Document to convert
|
||||
-> IO B.ByteString
|
||||
writeODT mbRefOdt opts doc = do
|
||||
writeODT mbRefOdt opts doc@(Pandoc (Meta title _ _) _) = do
|
||||
let datadir = writerUserDataDir opts
|
||||
refArchive <- liftM toArchive $
|
||||
case mbRefOdt of
|
||||
@@ -98,7 +98,25 @@ writeODT mbRefOdt opts doc = do
|
||||
)
|
||||
)
|
||||
let archive' = addEntryToArchive manifestEntry archive
|
||||
return $ fromArchive archive'
|
||||
let metaEntry = toEntry "meta.xml" epochtime
|
||||
$ fromString $ show
|
||||
$ text "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
|
||||
$$
|
||||
( inTags True "office:document-meta"
|
||||
[("xmlns:office","urn:oasis:names:tc:opendocument:xmlns:office:1.0")
|
||||
,("xmlns:xlink","http://www.w3.org/1999/xlink")
|
||||
,("xmlns:dc","http://purl.org/dc/elements/1.1/")
|
||||
,("xmlns:meta","urn:oasis:names:tc:opendocument:xmlns:meta:1.0")
|
||||
,("xmlns:ooo","http://openoffice.org/2004/office")
|
||||
,("xmlns:grddl","http://www.w3.org/2003/g/data-view#")
|
||||
,("office:version","1.2")]
|
||||
$ ( inTagsSimple "office:meta"
|
||||
$ ( inTagsSimple "dc:title" (text $ escapeStringForXML (stringify title))
|
||||
)
|
||||
)
|
||||
)
|
||||
let archive'' = addEntryToArchive metaEntry archive'
|
||||
return $ fromArchive archive''
|
||||
|
||||
transformPic :: FilePath -> IORef [Entry] -> Inline -> IO Inline
|
||||
transformPic sourceDir entriesRef (Image lab (src,tit)) = do
|
||||
|
||||
Reference in New Issue
Block a user