Cleanup
This commit is contained in:
parent
0a909da52f
commit
2fbde34568
21
app/Main.hs
21
app/Main.hs
|
@ -12,7 +12,7 @@ data Args = Args
|
|||
{ title :: String
|
||||
, directory :: FilePath
|
||||
, fileHead :: FilePath
|
||||
, verbose :: Bool
|
||||
--, verbose :: Bool
|
||||
, names :: Bool
|
||||
, cgi :: Bool
|
||||
, back :: Bool
|
||||
|
@ -23,7 +23,7 @@ args = Args
|
|||
<$> strOption ( long "title" <> short 't' <> value "Title Left Blank" <> help "Document title" )
|
||||
<*> strOption ( long "directory" <> short 'd' <> value "./" <> help "Directory to parse" )
|
||||
<*> strOption ( long "header" <> short 'H' <> value "" <> help "Header text" )
|
||||
<*> switch ( long "verbose" <> short 'v' <> help "Verbose mode")
|
||||
-- <*> switch ( long "verbose" <> short 'v' <> help "Verbose mode")
|
||||
<*> switch ( long "names" <> short 'n' <> help "Generate link names based on first of each document" )
|
||||
<*> switch ( long "cgi" <> help "Output gemini file header")
|
||||
<*> switch ( long "back" <> help "Print 'return to dir' url")
|
||||
|
@ -37,7 +37,8 @@ main = parseArgs =<< execParser opts
|
|||
<> header "Generate a gemini page index")
|
||||
|
||||
parseArgs :: Args -> IO()
|
||||
parseArgs (Args t dir h v r c b) = do
|
||||
--parseArgs (Args t dir h v n c b) = do
|
||||
parseArgs (Args t dir h n c b) = do
|
||||
if c
|
||||
then do print CgiSuccess
|
||||
putStrLn $ "# " ++ t
|
||||
|
@ -48,18 +49,20 @@ parseArgs (Args t dir h v r c b) = do
|
|||
else putStr "\n"
|
||||
|
||||
if b then do
|
||||
mapM_ (mkIndex r dir) . filter (isSuffixOf ".gmi") =<< getDirectoryContents dir
|
||||
mapM_ (mkIndex n dir) . filter (isSuffixOf ".gmi") =<< getDirectoryContents dir
|
||||
putStr "\n"
|
||||
putStrLn "=> .. "
|
||||
else mapM_ (mkIndex r dir) . filter (isSuffixOf ".gmi") =<< getDirectoryContents dir
|
||||
else mapM_ (mkIndex n dir) . filter (isSuffixOf ".gmi") =<< getDirectoryContents dir
|
||||
|
||||
mkIndex :: Bool -> FilePath -> FilePath -> IO ()
|
||||
|
||||
mkIndex False d l = putStrLn $ "=> " ++ path
|
||||
where path = d++"/"++l
|
||||
mkIndex False d f = putStrLn $ "=> " ++ path d
|
||||
where path s
|
||||
| s == "./" = f
|
||||
| otherwise = s++"/"++f
|
||||
|
||||
mkIndex True d l =
|
||||
let path = d ++ "/" ++ l
|
||||
mkIndex True d f =
|
||||
let path = d ++ "/" ++ f
|
||||
trim s
|
||||
| length s >= 8 = appendDots . unwords . take 8 . cleanString $ s
|
||||
| otherwise = unwords . cleanString $ s
|
||||
|
|
Loading…
Reference in a new issue