Revert "EPUB writer: stylesheet changes. Closes #2040."
This reverts commit 1c2951dfd9
.
See #2040.
The semantics was too squishy. `--css` takes a URL, but
for EPUB we need files that we can read. I prefer keeping
the old system for now, with `--epub-stylesheet`.
This commit is contained in:
parent
1c2951dfd9
commit
7920a1a469
3 changed files with 20 additions and 32 deletions
2
README
2
README
|
@ -646,8 +646,6 @@ Options affecting specific writers
|
|||
is specified, pandoc will look for a file `epub.css` in the
|
||||
user data directory (see `--data-dir`). If it is not
|
||||
found there, sensible defaults will be used.
|
||||
(*Deprecated:* use `--css` or the `stylesheet` metadata field
|
||||
instead.)
|
||||
|
||||
`--epub-cover-image=`*FILE*
|
||||
|
||||
|
|
|
@ -689,10 +689,8 @@ options =
|
|||
, Option "" ["epub-stylesheet"]
|
||||
(ReqArg
|
||||
(\arg opt -> do
|
||||
warn "--epub-stylesheet is deprecated. Use --css or stylesheet in metadata."
|
||||
let newvars = optVariables opt ++ [("css",arg)]
|
||||
return opt { optVariables = newvars,
|
||||
optStandalone = True })
|
||||
text <- UTF8.readFile arg
|
||||
return opt { optEpubStylesheet = Just text })
|
||||
"FILENAME")
|
||||
"" -- "Path of epub.css"
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ data EPUBMetadata = EPUBMetadata{
|
|||
, epubPageDirection :: Maybe ProgressionDirection
|
||||
} deriving Show
|
||||
|
||||
data Stylesheet = StylesheetPaths [FilePath]
|
||||
data Stylesheet = StylesheetPath FilePath
|
||||
| StylesheetContents String
|
||||
deriving Show
|
||||
|
||||
|
@ -323,14 +323,8 @@ metadataFromMeta opts meta = EPUBMetadata{
|
|||
coverImage = lookup "epub-cover-image" (writerVariables opts) `mplus`
|
||||
(metaValueToString <$> lookupMeta "cover-image" meta)
|
||||
stylesheet = (StylesheetContents <$> writerEpubStylesheet opts) `mplus`
|
||||
(case lookupMeta "stylesheet" meta of
|
||||
Just (MetaBlocks [CodeBlock (_,["css"],_) code])
|
||||
-> Just (StylesheetContents code)
|
||||
Just x -> Just (StylesheetPaths [metaValueToString x])
|
||||
Nothing -> Nothing) `mplus`
|
||||
(case [x | ("css", x) <- writerVariables opts] of
|
||||
[] -> Nothing
|
||||
xs -> Just (StylesheetPaths xs))
|
||||
((StylesheetPath . metaValueToString) <$>
|
||||
lookupMeta "stylesheet" meta)
|
||||
pageDirection = case map toLower . metaValueToString <$>
|
||||
lookupMeta "page-progression-direction" meta of
|
||||
Just "ltr" -> Just LTR
|
||||
|
@ -346,21 +340,20 @@ writeEPUB opts doc@(Pandoc meta _) = do
|
|||
let epub3 = version == EPUB3
|
||||
epochtime <- floor `fmap` getPOSIXTime
|
||||
let mkEntry path content = toEntry path epochtime content
|
||||
let vars = ("epub3", if epub3 then "true" else "false") :
|
||||
writerVariables opts
|
||||
let opts'' = opts{ writerEmailObfuscation = NoObfuscation
|
||||
, writerStandalone = True
|
||||
, writerSectionDivs = True
|
||||
, writerHtml5 = epub3
|
||||
, writerVariables = vars
|
||||
, writerHTMLMathMethod =
|
||||
if epub3
|
||||
then MathML Nothing
|
||||
else writerHTMLMathMethod opts
|
||||
, writerWrapText = True }
|
||||
metadata <- getEPUBMetadata opts'' meta
|
||||
let opts' = opts''{ writerVariables = ("css", "stylesheet.css") :
|
||||
filter (\(x,_) -> x /= "css") vars }
|
||||
let vars = ("epub3", if epub3 then "true" else "false")
|
||||
: ("css", "stylesheet.css")
|
||||
: writerVariables opts
|
||||
let opts' = opts{ writerEmailObfuscation = NoObfuscation
|
||||
, writerStandalone = True
|
||||
, writerSectionDivs = True
|
||||
, writerHtml5 = epub3
|
||||
, writerVariables = vars
|
||||
, writerHTMLMathMethod =
|
||||
if epub3
|
||||
then MathML Nothing
|
||||
else writerHTMLMathMethod opts
|
||||
, writerWrapText = True }
|
||||
metadata <- getEPUBMetadata opts' meta
|
||||
|
||||
-- cover page
|
||||
(cpgEntry, cpicEntry) <-
|
||||
|
@ -682,8 +675,7 @@ writeEPUB opts doc@(Pandoc meta _) = do
|
|||
|
||||
-- stylesheet
|
||||
stylesheet <- case epubStylesheet metadata of
|
||||
Just (StylesheetPaths fp) -> concat <$>
|
||||
mapM UTF8.readFile fp
|
||||
Just (StylesheetPath fp) -> UTF8.readFile fp
|
||||
Just (StylesheetContents s) -> return s
|
||||
Nothing -> UTF8.toString `fmap`
|
||||
readDataFile (writerUserDataDir opts) "epub.css"
|
||||
|
|
Loading…
Reference in a new issue