@@ -131,13 +131,22 @@ blockToAsciiDoc _ HorizontalRule =
131131blockToAsciiDoc opts (Header level (ident,_,_) inlines) = do
132132 contents <- inlineListToAsciiDoc opts inlines
133133 let len = offset contents
134− return $ ("[[" <> text ident <> "]]") $$ contents $$
135− (case level of
134+ -- ident seem to be empty most of the time and asciidoc will generate them automatically
135+ -- so lets make them not show up when null
136+ let identifier = if (null ident) then empty else ("[[" <> text ident <> "]]")
137+ let setext = writerSetextHeaders opts
138+ return $
139+ (if setext
140+ then
141+ identifier $$ contents $$
142+ (case level of
136143 1 -> text $ replicate len '-'
137144 2 -> text $ replicate len '~'
138145 3 -> text $ replicate len '^'
139146 4 -> text $ replicate len '+'
140147 _ -> empty) <> blankline
148+ else
149+ identifier $$ text (replicate level '=') <> space <> contents <> blankline)
141150blockToAsciiDoc _ (CodeBlock (_,classes,_) str) = return $
142151 flush (attrs <> dashes <> space <> attrs <> cr <> text str <>
143152 cr <> dashes) <> blankline