Markdown writer: Render yaml title block fields in alpha order.
This makes the output predictable; previously it varied across implementations.
This commit is contained in:
parent
7f83d88a65
commit
e7a68fc7e8
2 changed files with 4 additions and 3 deletions
|
@ -38,7 +38,8 @@ import Text.Pandoc.Shared
|
||||||
import Text.Pandoc.Writers.Shared
|
import Text.Pandoc.Writers.Shared
|
||||||
import Text.Pandoc.Options
|
import Text.Pandoc.Options
|
||||||
import Text.Pandoc.Parsing hiding (blankline, char, space)
|
import Text.Pandoc.Parsing hiding (blankline, char, space)
|
||||||
import Data.List ( group, isPrefixOf, find, intersperse, transpose )
|
import Data.List ( group, isPrefixOf, find, intersperse, transpose, sortBy )
|
||||||
|
import Data.Ord ( comparing )
|
||||||
import Text.Pandoc.Pretty
|
import Text.Pandoc.Pretty
|
||||||
import Control.Monad.State
|
import Control.Monad.State
|
||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
|
@ -127,7 +128,7 @@ jsonToYaml (Object hashmap) =
|
||||||
(k', Object _, x) -> (k' <> ":") $$ nest 2 x
|
(k', Object _, x) -> (k' <> ":") $$ nest 2 x
|
||||||
(_, String "", _) -> empty
|
(_, String "", _) -> empty
|
||||||
(k', _, x) -> k' <> ":" <> space <> x)
|
(k', _, x) -> k' <> ":" <> space <> x)
|
||||||
$ H.toList hashmap
|
$ sortBy (comparing fst) $ H.toList hashmap
|
||||||
jsonToYaml (Array vec) =
|
jsonToYaml (Array vec) =
|
||||||
vcat $ map (\v -> hang 2 "- " (jsonToYaml v)) $ V.toList vec
|
vcat $ map (\v -> hang 2 "- " (jsonToYaml v)) $ V.toList vec
|
||||||
jsonToYaml (String "") = empty
|
jsonToYaml (String "") = empty
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
date: 'July 17, 2006'
|
|
||||||
author:
|
author:
|
||||||
- John MacFarlane
|
- John MacFarlane
|
||||||
- Anonymous
|
- Anonymous
|
||||||
|
date: 'July 17, 2006'
|
||||||
title: Pandoc Test Suite
|
title: Pandoc Test Suite
|
||||||
...
|
...
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue