git.iko.soy/typeable/pandoc
on master help sign in
Support for startFrom="nn" to select starting line number in syntax highlighting.

Changed argument of highlightHtml to Attr, not [String], for generality. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1232 788f1e2b-df1e-0410-8736-df70ead52e1b

commit742a465980ea6cd1d23d38ee3f7d6d0d7616f471 authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> dateSun 10 Feb 2008, 18:59 (19 years ago) parent250a3e4
3 files changed+13−9
Text/Pandoc/Writers/HTML.hs+2−2 templates/Highlighting.no.hs+3−3 templates/Highlighting.yes.hs+8−4
Text/Pandoc/Writers/HTML.hs+2−2
@@ -292,8 +292,8 @@ blockToHtml opts (Plain lst) = inlineListToHtml opts lst
292292blockToHtml opts (Para lst) = inlineListToHtml opts lst >>= (return . paragraph)
293293blockToHtml opts (RawHtml str) = return $ primHtml str
294294blockToHtml opts (HorizontalRule) = return $ hr
295−blockToHtml opts (CodeBlock (_,classes,_) rawCode) = do
296− case highlightHtml classes rawCode of
295+blockToHtml opts (CodeBlock attr@(_,classes,_) rawCode) = do
296+ case highlightHtml attr rawCode of
297297 Left _ -> return $ pre ! (if null classes
298298 then []
299299 else [theclass $ unwords classes]) $ thecode <<
templates/Highlighting.no.hs+3−3
@@ -30,10 +30,10 @@ Exports functions for syntax highlighting.
3030
3131module Text.Pandoc.Highlighting ( languages, highlightHtml ) where
3232import Text.XHtml
33+import Text.Pandoc.Definition
3334
3435languages :: [String]
3536languages = []
3637
37−highlightHtml :: [String] -> String -> Either String Html
38−highlightHtml classes str = Left "Pandoc was not compiled with support for highlighting"
39−
38+highlightHtml :: Attr -> String -> Either String Html
39+highlightHtml _ _ = Left "Pandoc was not compiled with support for highlighting"
templates/Highlighting.yes.hs+8−4
@@ -31,12 +31,16 @@ Exports functions for syntax highlighting.
3131module Text.Pandoc.Highlighting ( languages, highlightHtml ) where
3232import Text.Highlighting.Kate
3333import Text.XHtml
34−import Data.List (find)
34+import Data.List (find, lookup)
35+import Data.Maybe (fromMaybe)
3536import Data.Char (toLower)
37+import Text.Pandoc.Definition
3638
37−highlightHtml :: [String] -> String -> Either String Html
38−highlightHtml classes rawCode =
39− let fmtOpts = case find (`elem` ["number","numberLines","number-lines"]) classes of
39+highlightHtml :: Attr -> String -> Either String Html
40+highlightHtml (_, classes, keyvals) rawCode =
41+ let firstNum = read $ fromMaybe "1" $ lookup "startFrom" keyvals
42+ fmtOpts = [OptNumberFrom firstNum] ++
43+ case find (`elem` ["number","numberLines","number-lines"]) classes of
4044 Nothing -> []
4145 Just _ -> [OptNumberLines]
4246 lcLanguages = map (map toLower) languages