packages feed

neuron-0.2.0.0: src/Neuron/Zettelkasten/Markdown.hs

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE NoImplicitPrelude #-}

module Neuron.Zettelkasten.Markdown
  ( neuronMMarkExts,
  )
where

import Neuron.Zettelkasten.Config (Config (..))
import Relude
import qualified Text.MMark as MMark
import qualified Text.MMark.Extension.Common as Ext

neuronMMarkExts :: Config -> [MMark.Extension]
neuronMMarkExts Config {..} =
  defaultExts
    <> bool [] [Ext.mathJax (Just '$')] mathJaxSupport

defaultExts :: [MMark.Extension]
defaultExts =
  [ Ext.fontAwesome,
    Ext.footnotes,
    Ext.kbd,
    Ext.linkTarget,
    Ext.punctuationPrettifier,
    Ext.skylighting
  ]