$newline never
\<!doctype html>
\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
\<!--[if gt IE 8]><!-->
<html class="no-js" lang="en"> <!--<![endif]-->
    <head>
        <meta charset="UTF-8">

        <title>#{pageTitle pc}
        <meta name="description" content="">
        <meta name="author" content="">

        <meta name="viewport" content="width=device-width,initial-scale=1">

        ^{pageHead pc}

        \<!--[if lt IE 9]>
        \<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        \<![endif]-->

        <script>
          document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');
          document.hledgerWebBaseurl = '#{base_url_ opts}'; // save for binding keys later

    <body>
        <div class="container">
            <header>
            <div id="outermain" role="main">
              ^{pageBody pc}
            <footer>
                #{extraCopyright $ appExtra $ settings master}

        $maybe analytics <- extraAnalytics $ appExtra $ settings master
            <script>
              if(!window.location.href.match(/localhost/)){
                window._gaq = [['_setAccount','#{analytics}'],['_trackPageview'],['_trackPageLoadTime']];
                (function() {
                \  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                \  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                \  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
              }
        \<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.  chromium.org/developers/how-tos/chrome-frame-getting-started -->
        \<!--[if lt IE 7 ]>
            <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js">
            <script>
                window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})
        \<![endif]-->

        <div .modal.fade #helpmodal tabindex="-1" role="dialog" aria-labelledby="helpLabel" aria-hidden="true">
          <div .modal-dialog .modal-lg>
            <div .modal-content>
              <div .modal-header>
                <button type="button" .close data-dismiss="modal" aria-hidden="true">&times;
                <h3 .modal-title #helpLabel>Help
              <div .modal-body>
                <div .row>
                  <div .col-xs-6>
                    <p>
                      <b>Keyboard shortcuts
                      <ul>
                        <li> <b><tt>h</tt></b> or maybe <b><tt>?</tt></b> - view this help (escape or click to exit)
                        <li> <b><tt>j</tt></b> - go to the Journal view (home)
                        <li> <b><tt>a</tt></b> - add a transaction (escape to cancel)
                        <li> <b><tt>s</tt></b> - toggle sidebar
                        <li> <b><tt>f</tt></b> - focus search form ("find")
                    <p>
                      <b>General
                      <ul>
                        <li> The Journal view shows general journal entries, representing zero-sum movements of money (or other commodity) between hierarchical accounts
                        <li> The sidebar shows the resulting accounts and their final balances
                        <li> Parent account balances include subaccount balances
                        <li> Multiple currencies in balances are displayed one above the other
                        <li> Click account name links to see transactions affecting that account, with running balance
                        <li> Click date links to see journal entries on that date
                  <div .col-xs-6>
                    <p>
                      <b>Search
                      <ul>
                        <li> <b><tt>acct:REGEXP</tt></b> - filter on to/from account
                        <li> <b><tt>desc:REGEXP</tt></b> - filter on description
                        <li> <b><tt>date:PERIODEXP</tt></b>, <b><tt>date2:PERIODEXP</tt></b> - filter on date or secondary date
                        <li> <b><tt>code:REGEXP</tt></b> - filter on transaction's code (eg check number)
                        <li> <b><tt>status:*</tt></b>, <b><tt>status:!</tt></b>, <b><tt>status:</tt></b> - filter on transaction's cleared status (cleared, pending, uncleared)
                        <!-- <li> <b><tt>empty:BOOL</tt></b> - filter on whether amount is zero -->
                        <li> <b><tt>amt:N</tt></b>, <b><tt>amt:&lt;N</tt></b>, <b><tt>amt:&gt;N</tt></b> - filter on the unsigned amount magnitude. Or with a sign before N, filter on the signed value. (Single-commodity amounts only.)
                        <li> <b><tt>cur:REGEXP</tt></b> - filter on the currency/commodity symbol (must match all of it). Dollar sign must be written as <tt>\$</tt>
                        <li> <b><tt>tag:NAME</tt></b>, <b><tt>tag:NAME=REGEX</tt></b> - filter on tag name, or tag name and value
                        <!-- <li> <b><tt>depth:N</tt></b> - filter out accounts below this depth -->
                        <li> <b><tt>real:BOOL</tt></b> - filter on postings' real/virtual-ness
                        <li> Enclose search patterns containing spaces in single or double quotes
                        <li> Prepend <b><tt>not:</tt></b> to negate a search term
                        <li> Multiple search terms on different fields are AND'ed, multiple search terms on the same field are OR'ed
                        <li> These search terms also work with command-line hledger

        <div .modal #addmodal tabindex="-1" role="dialog" aria-labelledby="addLabel" aria-hidden="true">
          <div .modal-dialog .modal-lg>
            <div .modal-content>
              <div .modal-header>
                <button type="button" .close data-dismiss="modal" aria-hidden="true">&times;
                <h3 .modal-title #addLabel>Add a transaction
              <div .modal-body>
                $maybe m <- lastmsg
                  $if isPrefixOf "Errors" (renderHtml m)
                    <div #message>#{m}
                ^{addform staticRootUrl vd}
