packages feed

clerk-0.1.0.3: test/Docs.hs

{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-unused-top-binds #-}

{- FOURMOLU_ENABLE -}

module Main (main) where

import Control.Monad (when)
import GHC.IO.Exception (ExitCode (..))
import System.Exit (exitFailure, exitSuccess)
import System.Process.Typed (runProcess, shell)

main :: IO ()
main = do
  print "Converting README"
  s1 <-
    runProcess $
      shell $
        unlines
          [ "lima hs2md -f example/app/Main.hs"
          , "touch README.tmp"
          , "cat README/Intro.md >> README.tmp"
          , "printf \"\n\" >> README.tmp"
          , "cat example/app/Main.hs.md >> README.tmp && rm example/app/Main.hs.md"
          , "printf \"\n\" >> README.tmp"
          , "cat README/Outro.md >> README.tmp"
          , "mv README.tmp README.md"
          ]
  when (s1 /= ExitSuccess) (print "Failed to generate README.md. Exiting ..." >> exitFailure)
  exitSuccess