;doc: refactor, keep commands.m4 in Commands dir
This commit is contained in:
parent
2d6ccd616e
commit
65a003c8ee
26
Shake.hs
26
Shake.hs
@ -97,6 +97,7 @@ usage =
|
|||||||
-- ,"./Shake relnotes create draft release notes"
|
-- ,"./Shake relnotes create draft release notes"
|
||||||
|
|
||||||
-- groff = "groff -c" ++ " -Wall" -- see "groff" below
|
-- groff = "groff -c" ++ " -Wall" -- see "groff" below
|
||||||
|
m4 = "m4 -P"
|
||||||
makeinfo = "makeinfo --no-split --force --no-warn --no-validate" -- silence makeinfo warnings, comment these to see them
|
makeinfo = "makeinfo --no-split --force --no-warn --no-validate" -- silence makeinfo warnings, comment these to see them
|
||||||
pandoc = "pandoc --strip-comments"
|
pandoc = "pandoc --strip-comments"
|
||||||
gitcommit = "git commit --allow-empty"
|
gitcommit = "git commit --allow-empty"
|
||||||
@ -399,6 +400,7 @@ main = do
|
|||||||
nroffmanuals |%> \out -> do -- hledger/hledger.1
|
nroffmanuals |%> \out -> do -- hledger/hledger.1
|
||||||
let src = manpageNameToManualName out <.> "m4.md"
|
let src = manpageNameToManualName out <.> "m4.md"
|
||||||
commonm4 = "doc/common.m4"
|
commonm4 = "doc/common.m4"
|
||||||
|
commandsm4 = "hledger/Hledger/Cli/Commands/commands.m4"
|
||||||
dir = takeDirectory out
|
dir = takeDirectory out
|
||||||
pkg = dir
|
pkg = dir
|
||||||
packagemanversionm4 = dir </> ".version.m4"
|
packagemanversionm4 = dir </> ".version.m4"
|
||||||
@ -406,12 +408,12 @@ main = do
|
|||||||
tmpl = "doc/manpage.nroff"
|
tmpl = "doc/manpage.nroff"
|
||||||
pkgversion <- liftIO $ readFile $ dir </> ".version"
|
pkgversion <- liftIO $ readFile $ dir </> ".version"
|
||||||
-- mandate <- formatTime defaultTimeLocale "%B %Y" <$> liftIO getCurrentDay -- XXX not using this.. compare with .date.m4
|
-- mandate <- formatTime defaultTimeLocale "%B %Y" <$> liftIO getCurrentDay -- XXX not using this.. compare with .date.m4
|
||||||
-- assume all other m4 files in dir are included by this one XXX not true in hledger-lib
|
-- assume any other .m4.md files in dir are included by this one XXX not true in hledger-lib
|
||||||
deps <- liftIO $ filter (/= src) . filter (".m4.md" `isSuffixOf`) . map (dir </>) <$> S.getDirectoryContents dir
|
subfiles <- liftIO $ filter (/= src) . filter (".m4.md" `isSuffixOf`) . map (dir </>) <$> S.getDirectoryContents dir
|
||||||
need $ [src, commonm4, packagemanversionm4, packagemandatem4, tmpl] ++ deps
|
need $ [src, commonm4, commandsm4, packagemanversionm4, packagemandatem4, tmpl] ++ subfiles
|
||||||
when (dir=="hledger") $ need commandmds
|
when (dir=="hledger") $ need commandmds
|
||||||
cmd Shell
|
cmd Shell
|
||||||
"m4 -P -DMAN -I" dir commonm4 packagemanversionm4 packagemandatem4 src "|"
|
m4 "-DMAN -I" dir commonm4 commandsm4 packagemanversionm4 packagemandatem4 src "|"
|
||||||
pandoc fromsrcmd "-s" "--template" tmpl
|
pandoc fromsrcmd "-s" "--template" tmpl
|
||||||
("-V footer='"++pkg++"-"++pkgversion++"'")
|
("-V footer='"++pkg++"-"++pkgversion++"'")
|
||||||
"--lua-filter tools/pandoc-drop-html-blocks.lua"
|
"--lua-filter tools/pandoc-drop-html-blocks.lua"
|
||||||
@ -439,14 +441,15 @@ main = do
|
|||||||
infomanuals |%> \out -> do -- hledger/hledger.info
|
infomanuals |%> \out -> do -- hledger/hledger.info
|
||||||
let src = out -<.> "m4.md"
|
let src = out -<.> "m4.md"
|
||||||
commonm4 = "doc/common.m4"
|
commonm4 = "doc/common.m4"
|
||||||
|
commandsm4 = "hledger/Hledger/Cli/Commands/commands.m4"
|
||||||
dir = takeDirectory out
|
dir = takeDirectory out
|
||||||
packagemanversionm4 = dir </> ".version.m4"
|
packagemanversionm4 = dir </> ".version.m4"
|
||||||
-- assume all other m4 files in dir are included by this one XXX not true in hledger-lib
|
-- assume any other .m4.md files in dir are included by this one XXX not true in hledger-lib
|
||||||
deps <- liftIO $ filter (/= src) . filter (".m4.md" `isSuffixOf`) . map (dir </>) <$> S.getDirectoryContents dir
|
subfiles <- liftIO $ filter (/= src) . filter (".m4.md" `isSuffixOf`) . map (dir </>) <$> S.getDirectoryContents dir
|
||||||
need $ [src, commonm4, packagemanversionm4] ++ deps
|
need $ [src, commonm4, commandsm4, packagemanversionm4] ++ subfiles
|
||||||
when (dir=="hledger") $ need commandmds
|
when (dir=="hledger") $ need commandmds
|
||||||
cmd Shell
|
cmd Shell
|
||||||
"m4 -P -DINFO -I" dir commonm4 packagemanversionm4 src "|"
|
m4 "-DINFO -I" dir commonm4 commandsm4 packagemanversionm4 src "|"
|
||||||
-- sed "-e 's/^#(#+)/\\1/'" "|"
|
-- sed "-e 's/^#(#+)/\\1/'" "|"
|
||||||
pandoc fromsrcmd
|
pandoc fromsrcmd
|
||||||
"--lua-filter tools/pandoc-drop-html-blocks.lua"
|
"--lua-filter tools/pandoc-drop-html-blocks.lua"
|
||||||
@ -471,14 +474,15 @@ main = do
|
|||||||
manual = manpageNameToManualName manpage -- hledger, hledger_journal
|
manual = manpageNameToManualName manpage -- hledger, hledger_journal
|
||||||
src = dir </> manual <.> "m4.md"
|
src = dir </> manual <.> "m4.md"
|
||||||
commonm4 = "doc/common.m4"
|
commonm4 = "doc/common.m4"
|
||||||
|
commandsm4 = "hledger/Hledger/Cli/Commands/commands.m4"
|
||||||
packageversionm4 = dir </> ".version.m4"
|
packageversionm4 = dir </> ".version.m4"
|
||||||
heading = let h = manual
|
heading = let h = manual
|
||||||
in if "hledger_" `isPrefixOf` h
|
in if "hledger_" `isPrefixOf` h
|
||||||
then drop 8 h ++ " format"
|
then drop 8 h ++ " format"
|
||||||
else h
|
else h
|
||||||
-- assume any other m4 files in dir are included by this one XXX not true in hledger-lib
|
-- assume any other .m4.md files in dir are included by this one XXX not true in hledger-lib
|
||||||
subfiles <- liftIO $ filter (/= src) . filter (".m4.md" `isSuffixOf`) . map (dir </>) <$> S.getDirectoryContents dir
|
subfiles <- liftIO $ filter (/= src) . filter (".m4.md" `isSuffixOf`) . map (dir </>) <$> S.getDirectoryContents dir
|
||||||
let deps = [src, commonm4, packageversionm4] ++ subfiles
|
let deps = [src, commonm4, commandsm4, packageversionm4] ++ subfiles
|
||||||
need deps
|
need deps
|
||||||
when (manual=="hledger") $ need commandmds
|
when (manual=="hledger") $ need commandmds
|
||||||
-- add the web page's heading.
|
-- add the web page's heading.
|
||||||
@ -492,7 +496,7 @@ main = do
|
|||||||
,""
|
,""
|
||||||
]
|
]
|
||||||
cmd Shell
|
cmd Shell
|
||||||
"m4 -P -DWEB -I" dir commonm4 packageversionm4 src "|"
|
m4 "-DWEB -I" dir commonm4 commandsm4 packageversionm4 src "|"
|
||||||
pandoc fromsrcmd towebmd
|
pandoc fromsrcmd towebmd
|
||||||
"--lua-filter tools/pandoc-demote-headers.lua"
|
"--lua-filter tools/pandoc-demote-headers.lua"
|
||||||
">>" out
|
">>" out
|
||||||
|
|||||||
@ -22,13 +22,6 @@ m4_define({{_notweb_}}, m4_ifdef({{WEB}},,{{$1}}) )m4_dnl
|
|||||||
m4_define({{_info_}}, m4_ifdef({{INFO}},{{$1}}) )m4_dnl
|
m4_define({{_info_}}, m4_ifdef({{INFO}},{{$1}}) )m4_dnl
|
||||||
m4_define({{_notinfo_}}, m4_ifdef({{INFO}},,{{$1}}) )m4_dnl
|
m4_define({{_notinfo_}}, m4_ifdef({{INFO}},,{{$1}}) )m4_dnl
|
||||||
m4_dnl
|
m4_dnl
|
||||||
m4_dnl A command's heading and included doc source.
|
|
||||||
m4_dnl Usage: _command_(## commandname, Markdownfilebasename)
|
|
||||||
m4_define({{_command_}},
|
|
||||||
{{$1
|
|
||||||
_include_(Hledger/Cli/Commands/$2.md)
|
|
||||||
}})m4_dnl
|
|
||||||
m4_dnl
|
|
||||||
m4_dnl Two side-by-side columns.
|
m4_dnl Two side-by-side columns.
|
||||||
m4_define({{_col2_}},
|
m4_define({{_col2_}},
|
||||||
{{<div class="container-fluid">
|
{{<div class="container-fluid">
|
||||||
|
|||||||
36
hledger/Hledger/Cli/Commands/commands.m4
Normal file
36
hledger/Hledger/Cli/Commands/commands.m4
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
m4_dnl _command_(NAME, MDFILE)
|
||||||
|
m4_dnl Create a command heading and include its doc.
|
||||||
|
m4_define({{_command_}},
|
||||||
|
{{$1
|
||||||
|
_include_(hledger/Hledger/Cli/Commands/$2.md)
|
||||||
|
}})m4_dnl
|
||||||
|
m4_dnl
|
||||||
|
m4_dnl _commands_(HEADINGHASHES)
|
||||||
|
m4_dnl Used in the hledger manual to include all command docs.
|
||||||
|
m4_define({{_commands_}},
|
||||||
|
{{
|
||||||
|
_command_({{$1 accounts}} ,{{Accounts}})
|
||||||
|
_command_({{$1 activity}} ,{{Activity}})
|
||||||
|
_command_({{$1 add}} ,{{Add}})
|
||||||
|
_command_({{$1 aregister}} ,{{Aregister}})
|
||||||
|
_command_({{$1 balance}} ,{{Balance}})
|
||||||
|
_command_({{$1 balancesheet}} ,{{Balancesheet}})
|
||||||
|
_command_({{$1 balancesheetequity}} ,{{Balancesheetequity}})
|
||||||
|
_command_({{$1 cashflow}} ,{{Cashflow}})
|
||||||
|
_command_({{$1 check}} ,{{Check}})
|
||||||
|
_command_({{$1 close}} ,{{Close}})
|
||||||
|
_command_({{$1 codes}} ,{{Codes}})
|
||||||
|
_command_({{$1 commodities}} ,{{Commodities}})
|
||||||
|
_command_({{$1 descriptions}} ,{{Descriptions}})
|
||||||
|
_command_({{$1 diff}} ,{{Diff}})
|
||||||
|
_command_({{$1 files}} ,{{Files}})
|
||||||
|
_command_({{$1 help}} ,{{Help}})
|
||||||
|
_command_({{$1 import}} ,{{Import}})
|
||||||
|
_command_({{$1 incomestatement}} ,{{Incomestatement}})
|
||||||
|
_command_({{$1 notes}} ,{{Notes}})
|
||||||
|
_command_({{$1 rewrite}} ,{{Rewrite}})
|
||||||
|
_command_({{$1 roi}} ,{{Roi}})
|
||||||
|
_command_({{$1 stats}} ,{{Stats}})
|
||||||
|
_command_({{$1 tags}} ,{{Tags}})
|
||||||
|
_command_({{$1 test}} ,{{Test}})
|
||||||
|
}})m4_dnl
|
||||||
@ -1642,33 +1642,8 @@ m4_dnl _notman_({{
|
|||||||
|
|
||||||
Next, the detailed command docs, in alphabetical order.
|
Next, the detailed command docs, in alphabetical order.
|
||||||
|
|
||||||
m4_dnl commandnameheading: Commandmdfile:
|
m4_dnl cf Hledger/Cli/Commands/commands.m4:
|
||||||
_command_({{## accounts}} ,{{Accounts}})
|
_commands_({{##}})
|
||||||
_command_({{## activity}} ,{{Activity}})
|
|
||||||
_command_({{## add}} ,{{Add}})
|
|
||||||
_command_({{## aregister}} ,{{Aregister}})
|
|
||||||
_command_({{## balance}} ,{{Balance}})
|
|
||||||
_command_({{## balancesheet}} ,{{Balancesheet}})
|
|
||||||
_command_({{## balancesheetequity}} ,{{Balancesheetequity}})
|
|
||||||
_command_({{## cashflow}} ,{{Cashflow}})
|
|
||||||
_command_({{## check}} ,{{Check}})
|
|
||||||
_command_({{## close}} ,{{Close}})
|
|
||||||
_command_({{## codes}} ,{{Codes}})
|
|
||||||
_command_({{## commodities}} ,{{Commodities}})
|
|
||||||
_command_({{## descriptions}} ,{{Descriptions}})
|
|
||||||
_command_({{## diff}} ,{{Diff}})
|
|
||||||
_command_({{## files}} ,{{Files}})
|
|
||||||
_command_({{## help}} ,{{Help}})
|
|
||||||
_command_({{## import}} ,{{Import}})
|
|
||||||
_command_({{## incomestatement}} ,{{Incomestatement}})
|
|
||||||
_command_({{## notes}} ,{{Notes}})
|
|
||||||
_command_({{## rewrite}} ,{{Rewrite}})
|
|
||||||
_command_({{## roi}} ,{{Roi}})
|
|
||||||
_command_({{## stats}} ,{{Stats}})
|
|
||||||
_command_({{## tags}} ,{{Tags}})
|
|
||||||
_command_({{## test}} ,{{Test}})
|
|
||||||
|
|
||||||
m4_dnl }})
|
|
||||||
|
|
||||||
## Add-on commands
|
## Add-on commands
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user