-# Copyright 2014 Paul Hänsch
+#!/bin/zsh
+
+# Copyright 2014, 2015, 2017 Paul Hänsch
#
# This file is part of Confetti.
#
# You should have received a copy of the GNU Affero General Public License
# along with Confetti. If not, see <http://www.gnu.org/licenses/>.
+. "${_EXEC}/templates/text_frame.sh"
+[ -x "${_EXEC}/templates/text_${PAGE}.sh" ] && . "${_EXEC}/templates/text_${PAGE}.sh"
+
+bmfile="${_DATA}/mappings/bookmarks"
+
cat <<EOF
<!Doctype HTML>
<html>
<head>
- <title>$($PAGE title)</title>
- <style type="text/css">
- <!--
-* {
- font-family: sans-serif;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
-}
-body {
- background: #EEE;
- margin: 0;
- padding: 2.5em 0 0 0;
-}
-.NAVIGATION {
- position: fixed;
- top: 0;
- display: inline-block;
- border-style: none solid solid solid;
- border-width: 0 1px 1px 1px;
- border-radius: 0 0 4px 4px;
- margin: 0 auto auto 3%;
- padding: .5em 1ex .5em 1ex;
- background: #FFF;
-}
-.NAVIGATION a {
- color: #008;
- border: solid 1px #BBF;
- margin: .5em .5ex .25em .5ex;
- padding: .2em 3ex .2em 3ex;
- background: #EFF;
-}
-.NAVIGATION a:hover {
- border-width: 2px 1px 2px 1px;
- background: #F3FFFF;
-}
-
-/* dynamic page CSS starts here */
-$(. $PAGE css)
- -->
- </style>
+ <title>$(l10n p_${PAGE})</title>
+ <meta name="viewport" content="width=device-width">
+ <link rel="stylesheet" href="?static=common.css">
+ <link rel="stylesheet" href="?static=${PAGE}.css">
</head>
- <body class="$PAGE">
+ <body class="$PAGE" id="CONFIGURE">
<div class="NAVIGATION">
- $(NAVIGATION |sed -r 's:^([^ ]+) (.+)$:<a href="\1">\2</a>:g')
+ $(sed -rn '/^[^ ]+\t[^ ]+$/p' "$bmfile" \
+ | while read page name; do
+ printf '<a href="%s">%s</a>' "${page}" "${name}"
+ done)
+ <label for="navigationconfig">$(l10n nc_edit)</label>
+ <input id="navigationconfig" class="config" type="checkbox" />
+ <form class="config" method="POST" action="?action=update_bookmarks">
+ $(for page in "${_EXEC}/pages/"*.sh; do
+ page="${page##*/}"
+ page="${page%.sh}"
+ printf '<a href="?p=%s">%s</a>\n' "${page}" "$(l10n "p_${page}")"
+ done |grep -E '^<a href="\?p='"${page_filter}" )
+ $(if grep -qF "$REQUEST_URI" "$bmfile"; then
+ printf '<input type="hidden" name="bm_url" value="%s" />
+ <input type="text" name="bm_name" value="%s" readonly="readonly" /
+ ><button type="submit" name="submit" value="del">%s</button>' \
+ "$(attribsafe ${REQUEST_URI})" \
+ "$(attribsafe $(grep -m1 -F "$REQUEST_URI " "$bmfile" |sed -r 's;.*\t;;'))" \
+ "$(l10n bm_del)"
+ else
+ printf '<input type="hidden" name="bm_url" value="%s" />
+ <input type="text" name="bm_name" placeholder="%s" /
+ ><button type="submit" name="submit" value="add">%s</button>' \
+ "$(attribsafe ${REQUEST_URI})" "$(l10n Bookmark)" "$(l10n bm_add)"
+ fi)
+ </form>
</div>
- $(. $PAGE body)
- </body>
-</html>
+EOF
+
+debug BODY; [ -x "${BODY}" ] && . "${BODY}" || printf %s 'Error'
+
+cat <<EOF
+ <div id="footer">
+ <a href="#CONFIGURE">$(l10n configure)</a>
+ </div>
+</body></html>'
EOF
# vi:set filetype=html: