git.iko.soy/typeable/pandoc
on master help sign in
Org reader: respect export option for tags

Tags are appended to headlines by default, but will be omitted when the `tags` export option is set to nil. Closes: #3713

commite1a066668921e60dd3ca1e1154a5741650294463 authorAlbert Krewinkel <albert@zeitkraut.de> dateWed 31 May 2017, 21:26 (9 years ago) parent33a1e4a
4 files changed+14−2
src/Text/Pandoc/Readers/Org/DocumentTree.hs+5−1 src/Text/Pandoc/Readers/Org/ExportSettings.hs+1−1 src/Text/Pandoc/Readers/Org/ParserState.hs+2 test/Tests/Readers/Org.hs+6
src/Text/Pandoc/Readers/Org/DocumentTree.hs+5−1
@@ -220,12 +220,16 @@ headlineToHeaderWithContents hdln@(Headline {..}) = do
220220headlineToHeader :: Monad m => Headline -> OrgParser m Blocks
221221headlineToHeader (Headline {..}) = do
222222 exportTodoKeyword <- getExportSetting exportWithTodoKeywords
223+ exportTags <- getExportSetting exportWithTags
223224 let todoText = if exportTodoKeyword
224225 then case headlineTodoMarker of
225226 Just kw -> todoKeywordToInlines kw <> B.space
226227 Nothing -> mempty
227228 else mempty
228− let text = todoText <> headlineText <> tagsToInlines headlineTags
229+ let text = todoText <> headlineText <>
230+ if exportTags
231+ then tagsToInlines headlineTags
232+ else mempty
229233 let propAttr = propertiesToAttr headlineProperties
230234 attr <- registerHeader propAttr headlineText
231235 return $ B.headerWith attr headlineLevel text
src/Text/Pandoc/Readers/Org/ExportSettings.hs+1−1
@@ -71,7 +71,7 @@ exportSetting = choice
7171 , ignoredSetting "pri"
7272 , ignoredSetting "prop"
7373 , ignoredSetting "stat"
74− , ignoredSetting "tags"
74+ , booleanSetting "tags" (\val es -> es { exportWithTags = val })
7575 , ignoredSetting "tasks"
7676 , ignoredSetting "tex"
7777 , ignoredSetting "timestamp"
src/Text/Pandoc/Readers/Org/ParserState.hs+2
@@ -240,6 +240,7 @@ data ExportSettings = ExportSettings
240240 , exportWithAuthor :: Bool -- ^ Include author in final meta-data
241241 , exportWithCreator :: Bool -- ^ Include creator in final meta-data
242242 , exportWithEmail :: Bool -- ^ Include email in final meta-data
243+ , exportWithTags :: Bool -- ^ Keep tags as part of headlines
243244 , exportWithTodoKeywords :: Bool -- ^ Keep TODO keywords in headers
244245 }
245246
@@ -258,5 +259,6 @@ defaultExportSettings = ExportSettings
258259 , exportWithAuthor = True
259260 , exportWithCreator = True
260261 , exportWithEmail = True
262+ , exportWithTags = True
261263 , exportWithTodoKeywords = True
262264 }
test/Tests/Readers/Org.hs+6
@@ -794,6 +794,12 @@ tests =
794794 , "** DONE todo export"
795795 ] =?>
796796 headerWith ("todo-export", [], []) 2 "todo export"
797+
798+ , "remove tags from headlines" =:
799+ unlines [ "#+OPTIONS: tags:nil"
800+ , "* Headline :hello:world:"
801+ ] =?>
802+ headerWith ("headline", [], mempty) 1 "Headline"
797803 ]
798804 ]
799805