git.iko.soy/typeable/pandoc
on master help sign in
Markdown writer: Render yaml title block fields in alpha order.
e7a68fcJohn MacFarlane
src/Text/Pandoc/Writers/Markdown.hs+3−2
@@ -38,7 +38,8 @@ import Text.Pandoc.Shared
38import Text.Pandoc.Writers.Shared
38import Text.Pandoc.Writers.Shared
39import Text.Pandoc.Options
39import Text.Pandoc.Options
40import Text.Pandoc.Parsing hiding (blankline, char, space)
40import Text.Pandoc.Parsing hiding (blankline, char, space)
41−import Data.List ( group, isPrefixOf, find, intersperse, transpose )
41+import Data.List ( group, isPrefixOf, find, intersperse, transpose, sortBy )
42+import Data.Ord ( comparing )
42import Text.Pandoc.Pretty
43import Text.Pandoc.Pretty
43import Control.Monad.State
44import Control.Monad.State
44import qualified Data.Set as Set
45import qualified Data.Set as Set
@@ -127,7 +128,7 @@ jsonToYaml (Object hashmap) =
127 (k', Object _, x) -> (k' <> ":") $$ nest 2 x
128 (k', Object _, x) -> (k' <> ":") $$ nest 2 x
128 (_, String "", _) -> empty
129 (_, String "", _) -> empty
129 (k', _, x) -> k' <> ":" <> space <> x)
130 (k', _, x) -> k' <> ":" <> space <> x)
130− $ H.toList hashmap
131+ $ sortBy (comparing fst) $ H.toList hashmap
131jsonToYaml (Array vec) =
132jsonToYaml (Array vec) =
132 vcat $ map (\v -> hang 2 "- " (jsonToYaml v)) $ V.toList vec
133 vcat $ map (\v -> hang 2 "- " (jsonToYaml v)) $ V.toList vec
133jsonToYaml (String "") = empty
134jsonToYaml (String "") = empty
tests/writer.markdown+1−1
@@ -1,8 +1,8 @@
1---
1---
2−date: 'July 17, 2006'
3author:
2author:
4- John MacFarlane
3- John MacFarlane
5- Anonymous
4- Anonymous
5+date: 'July 17, 2006'
6title: Pandoc Test Suite
6title: Pandoc Test Suite
7...
7...
8
8