web: better html page titles
This commit is contained in:
parent
1575083855
commit
7a2ec8c036
@ -189,7 +189,7 @@ getJournalR = do
|
||||
-- fspec' = optsToFilterSpec opts args t
|
||||
br = balanceReportAsHtml opts td $ balanceReport opts fspec j
|
||||
jr = journalReportAsHtml opts td $ journalReport opts fspec j
|
||||
td = mktd{here=here, title="hledger", msg=msg, a=a, p=p, j=j, today=today}
|
||||
td = mktd{here=here, title="hledger journal", msg=msg, a=a, p=p, j=j, today=today}
|
||||
editform' = editform td $ jtext j
|
||||
hamletToRepHtml $ pageLayout td [$hamlet|
|
||||
%div.ledger
|
||||
@ -220,7 +220,7 @@ getRegisterR = do
|
||||
-- fspec' = optsToFilterSpec opts' args t
|
||||
br = balanceReportAsHtml opts td $ balanceReport opts fspec j
|
||||
rr = registerReportAsHtml opts td $ registerReport opts fspec j
|
||||
td = mktd{here=here, title="hledger", msg=msg, a=a, p=p, j=j, today=today}
|
||||
td = mktd{here=here, title="hledger register", msg=msg, a=a, p=p, j=j, today=today}
|
||||
editform' = editform td $ jtext j
|
||||
hamletToRepHtml $ pageLayout td [$hamlet|
|
||||
%div.ledger
|
||||
@ -244,7 +244,7 @@ getAccountsOnlyR :: Handler RepHtml
|
||||
getAccountsOnlyR = do
|
||||
(a, p, opts, fspec, j, msg, here) <- getHandlerParameters
|
||||
today <- liftIO getCurrentDay
|
||||
let td = mktd{here=here, title="hledger", msg=msg, a=a, p=p, j=j, today=today}
|
||||
let td = mktd{here=here, title="hledger accounts", msg=msg, a=a, p=p, j=j, today=today}
|
||||
hamletToRepHtml $ pageLayout td $ balanceReportAsHtml opts td $ balanceReport opts fspec j
|
||||
|
||||
-- | Render a balance report as HTML.
|
||||
@ -321,7 +321,7 @@ getJournalOnlyR :: Handler RepHtml
|
||||
getJournalOnlyR = do
|
||||
(a, p, opts, fspec, j, msg, here) <- getHandlerParameters
|
||||
today <- liftIO getCurrentDay
|
||||
let td = mktd{here=here, title="hledger", msg=msg, a=a, p=p, j=j, today=today}
|
||||
let td = mktd{here=here, title="hledger journal", msg=msg, a=a, p=p, j=j, today=today}
|
||||
editform' = editform td $ jtext j
|
||||
txns = journalReportAsHtml opts td $ journalReport opts fspec j
|
||||
hamletToRepHtml $ pageLayout td [$hamlet|
|
||||
@ -618,7 +618,7 @@ getRegisterOnlyR :: Handler RepHtml
|
||||
getRegisterOnlyR = do
|
||||
(a, p, opts, fspec, j, msg, here) <- getHandlerParameters
|
||||
today <- liftIO getCurrentDay
|
||||
let td = mktd{here=here, title="hledger", msg=msg, a=a, p=p, j=j, today=today}
|
||||
let td = mktd{here=here, title="hledger register", msg=msg, a=a, p=p, j=j, today=today}
|
||||
hamletToRepHtml $ pageLayout td $ registerReportAsHtml opts td $ registerReport opts fspec j
|
||||
|
||||
-- | Render a register report as HTML.
|
||||
@ -673,7 +673,7 @@ getEditR = do
|
||||
j <- liftIO $ fromJust `fmap` getValue "hledger" "journal"
|
||||
changed <- liftIO $ journalFileIsNewer j
|
||||
s <- liftIO $ if changed then readFile (filepath j) else return (jtext j) -- XXX readFile may throw an error
|
||||
let td = mktd{here=here, title="hledger", msg=msg, a=a, p=p, j=j, today=today}
|
||||
let td = mktd{here=here, title="hledger journal edit", msg=msg, a=a, p=p, j=j, today=today}
|
||||
hamletToRepHtml $ pageLayout td $ editform td s
|
||||
|
||||
----------------------------------------------------------------------
|
||||
@ -770,11 +770,11 @@ renderHamlet' h = h renderurlwithparams
|
||||
|
||||
-- | Wrap a template with the standard hledger web ui page layout.
|
||||
pageLayout :: TemplateData -> Hamlet HledgerWebAppRoute -> Hamlet HledgerWebAppRoute
|
||||
pageLayout td@TD{title=title, msg=msg} content = [$hamlet|
|
||||
pageLayout td@TD{title=basetitle, msg=msg, p=p, j=j, today=today} content = [$hamlet|
|
||||
!!!
|
||||
%html
|
||||
%head
|
||||
%title $title$
|
||||
%title $title'$
|
||||
%meta!http-equiv=Content-Type!content=$metacontent$
|
||||
%script!type=text/javascript!src=@StaticR.jquery_js@
|
||||
%script!type=text/javascript!src=@StaticR.jquery_url_js@
|
||||
@ -790,6 +790,8 @@ pageLayout td@TD{title=title, msg=msg} content = [$hamlet|
|
||||
|]
|
||||
where m = fromMaybe (string "") msg
|
||||
metacontent = "text/html; charset=utf-8"
|
||||
(journaltitle, _) = journalTitleInfo j p today
|
||||
title' = basetitle ++ " - " ++ journaltitle
|
||||
|
||||
navbar :: TemplateData -> Hamlet HledgerWebAppRoute
|
||||
navbar TD{p=p,j=j,today=today} = [$hamlet|
|
||||
@ -803,12 +805,17 @@ navbar TD{p=p,j=j,today=today} = [$hamlet|
|
||||
\ $
|
||||
%span#journalinfo $journalinfo$
|
||||
|]
|
||||
where (journaltitle, journalinfo) = journalTitleInfo j p today
|
||||
|
||||
-- | Generate journal- and context-specific title and info strings for display.
|
||||
journalTitleInfo :: Journal -> String -> Day -> (String, String)
|
||||
journalTitleInfo j p today = (journaltitle, journalinfo)
|
||||
where
|
||||
journaltitle = printf "%s" (takeFileName $ filepath j) :: String
|
||||
journalinfo = printf "%s" (showspan span) :: String
|
||||
span = either (const $ DateSpan Nothing Nothing) snd (parsePeriodExpr today p)
|
||||
showspan (DateSpan Nothing Nothing) = ""
|
||||
showspan s = " (" ++ dateSpanAsText s ++ ")"
|
||||
span = either (const $ DateSpan Nothing Nothing) snd (parsePeriodExpr today p)
|
||||
|
||||
navlinks :: TemplateData -> Hamlet HledgerWebAppRoute
|
||||
navlinks td = [$hamlet|
|
||||
|
||||
Loading…
Reference in New Issue
Block a user