git-annex/Assistant/WebApp/Documentation.hs
Joey Hess 6f9a9c81f6
convert all readFile, writeFile, and appendFile to close-on-exec safe versions
Even in the Build system. This allows grepping to make sure that there
are none left un-converted:

git grep "writeFile" |grep -v F\\.| grep -v doc/|grep -v writeFileString | grep -v writeFileProtected |grep -v Utility/FileIO
git grep "readFile" |grep -v F\\.| grep -v doc/|grep -v readFileString |grep -v Utility/FileIO
git grep "appendFile" |grep -v F\\.| grep -v doc/|grep -v appendFileString |grep -v Utility/FileIO

Might be nice to automate that to prevent future mistakes...

Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
2025-09-05 15:44:32 -04:00

42 lines
1.2 KiB
Haskell

{- git-annex assistant webapp documentation
-
- Copyright 2012 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU AGPL version 3 or higher.
-}
{-# LANGUAGE QuasiQuotes, TemplateHaskell, OverloadedStrings #-}
module Assistant.WebApp.Documentation where
import Assistant.WebApp.Common
import Assistant.Install (standaloneAppBase)
import BuildInfo (packageversion)
import BuildFlags
{- The full license info may be included in a file on disk that can
- be read in and displayed. -}
licenseFile :: IO (Maybe OsPath)
licenseFile = do
base <- standaloneAppBase
return $ (</> literalOsPath "LICENSE") <$> base
getAboutR :: Handler Html
getAboutR = page "About git-annex" (Just About) $ do
builtinlicense <- isJust <$> liftIO licenseFile
$(widgetFile "documentation/about")
getLicenseR :: Handler Html
getLicenseR = do
v <- liftIO licenseFile
case v of
Nothing -> redirect AboutR
Just f -> customPage (Just About) $ do
-- no sidebar, just pages of legalese..
setTitle "License"
license <- liftIO $ readFileString f
$(widgetFile "documentation/license")
getRepoGroupR :: Handler Html
getRepoGroupR = page "About repository groups" (Just About) $
$(widgetFile "documentation/repogroup")