diff options
author | Max Magorsch <arzano@gentoo.org> | 2020-12-08 01:21:04 +0000 |
---|---|---|
committer | Max Magorsch <arzano@gentoo.org> | 2020-12-08 01:21:04 +0000 |
commit | ba76c05ceca6a7879678873f360cdaf575f0f493 (patch) | |
tree | 597f2ee142ca4e57f1daffd29286e533c10a397a /web | |
download | go-gentoo-ba76c05ceca6a7879678873f360cdaf575f0f493.tar.gz go-gentoo-ba76c05ceca6a7879678873f360cdaf575f0f493.tar.bz2 go-gentoo-ba76c05ceca6a7879678873f360cdaf575f0f493.zip |
Initial version
Signed-off-by: Max Magorsch <arzano@gentoo.org>
Diffstat (limited to 'web')
-rw-r--r-- | web/templates/admin/show.tmpl | 121 | ||||
-rw-r--r-- | web/templates/layout/footer.tmpl | 51 | ||||
-rw-r--r-- | web/templates/layout/head.tmpl | 12 | ||||
-rw-r--r-- | web/templates/layout/header.tmpl | 6 | ||||
-rw-r--r-- | web/templates/layout/sitetitle.tmpl | 37 | ||||
-rw-r--r-- | web/templates/layout/tyriannav.tmpl | 34 | ||||
-rw-r--r-- | web/templates/links/create.tmpl | 81 | ||||
-rw-r--r-- | web/templates/links/created.tmpl | 52 | ||||
-rw-r--r-- | web/templates/links/show.tmpl | 173 |
9 files changed, 567 insertions, 0 deletions
diff --git a/web/templates/admin/show.tmpl b/web/templates/admin/show.tmpl new file mode 100644 index 0000000..2dbbb78 --- /dev/null +++ b/web/templates/admin/show.tmpl @@ -0,0 +1,121 @@ +<!DOCTYPE html> +<html lang="en"> +{{template "head" .}} +<body> +{{template "header" .}} + +<div class="container mb-5"> + <div class="row"> + <div class="col-12"> + + <h2 class="mt-4"><span style="font-family: monospace;">/</span></h2> + + {{$empty := true}} + + <table class="table"> + <colgroup> + <col span="1" style="width: 20%;"> + <col span="1" style="width: 60%;"> + <col span="1" style="width: 10%;"> + <col span="1" style="width: 5%;"> + <col span="1" style="width: 5%;"> + </colgroup> + <thead> + <tr> + <th scope="col">Short URL</th> + <th scope="col">Target</th> + <th scope="col">Creator</th> + <th scope="col">Hits</th> + <th scope="col">Action</th> + </tr> + </thead> + <tbody> + {{$empty = true}} + {{range .UserLinks}} + {{if eq .Prefix ""}} + {{$empty = false}} + <tr> + <th scope="row"><a class="text-dark" href="{{.ShortLink}}">go.gentoo.org{{.ShortLink}}</a></th> + <td><a class="text-dark" href="{{.TargetLink}}">{{.TargetLink}}</a></td> + <td>{{replaceAll .UserEmail "@gentoo.org" ""}}</td> + <td>{{.Hits}}</td> + <td> + <form action="/links/delete" method="post"> + <input hidden name="prefix" value="{{.Prefix}}"> + <input hidden name="token" value="{{.URLToken}}"> + <input hidden name="from" value="/admin/"> + <button type="submit" class="btn btn-link py-0 text-dark"> + <i class="fa fa-trash-o" aria-hidden="true"></i> + </button> + </form> + </td> + </tr> + {{end}} + {{end}} + {{if $empty}} + <tr> + <td colspan="4" class="text-center"><i>No shortened URLs yet</i></td> + </tr> + {{end}} + </tbody> + </table> + + + {{range $index, $project := getPrefixList .UserLinks}} + <h2 class="mt-5"><span style="font-family: monospace;">/{{$project}}/</span></h2> + + <table class="table"> + <colgroup> + <col span="1" style="width: 20%;"> + <col span="1" style="width: 65%;"> + <col span="1" style="width: 10%;"> + <col span="1" style="width: 5%;"> + </colgroup> + <thead> + <tr> + <th scope="col">Short URL</th> + <th scope="col">Target</th> + <th scope="col">Creator</th> + <th scope="col">Action</th> + </tr> + </thead> + <tbody> + {{$empty = true}} + {{range $.UserLinks}} + {{if eq .Prefix $project}} + {{$empty = false}} + <tr> + <th scope="row"><a class="text-dark" href="{{.ShortLink}}">go.gentoo.org{{.ShortLink}}</a></th> + <td><a class="text-dark" href="{{.TargetLink}}">{{.TargetLink}}</a></td> + <td>{{replaceAll .UserEmail "@gentoo.org" ""}}</td> + <td> + <form action="/links/delete" method="post"> + <input hidden name="prefix" value="{{.Prefix}}"> + <input hidden name="token" value="{{.URLToken}}"> + <input hidden name="from" value="/admin/"> + <button type="submit" class="btn btn-link py-0 text-dark"> + <i class="fa fa-trash-o" aria-hidden="true"></i> + </button> + </form> + </td> + </tr> + {{end}} + {{end}} + {{if $empty}} + <tr> + <td colspan="4" class="text-center"><i>No shortened URLs yet</i></td> + </tr> + {{end}} + </tbody> + </table> + {{end}} + </div> + </div> +</div> + + +{{template "footer" .}} + + +</body> +</html> diff --git a/web/templates/layout/footer.tmpl b/web/templates/layout/footer.tmpl new file mode 100644 index 0000000..3b5efcf --- /dev/null +++ b/web/templates/layout/footer.tmpl @@ -0,0 +1,51 @@ +{{define "footer"}} + <footer style="background-color: #fafafa; box-shadow:none!important;"> + <div class="container pt-4" style="border-top: 1px solid #dddddd;"> + <div class="row d-none"> + <div class="col-12 offset-md-2 col-md-7"> + <h3 class="footerhead">Gentoo Packages Database</h3> + <div class="row"> + <div class="col-xs-12 col-md-4"> + </div> + <div class="col-xs-12 col-md-4"> + </div> + <div class="col-xs-12 col-md-4"> + </div> + </div> + </div> + <div class="col-12 col-md-3"> + <h3 class="footerhead">Questions or comments?</h3> + Please feel free to <a href="https://www.gentoo.org/inside-gentoo/contact/">contact us</a>. + </div> + </div> + <div class="row"> + <div class="col-2 col-sm-2 col-md-2"> + <ul class="footerlinks three-icons"> + <li><a href="https://twitter.com/gentoo" title="@Gentoo on Twitter"><span class="fa fa-twitter fa-fw"></span></a></li> + <li><a href="https://www.facebook.com/gentoo.org" title="Gentoo on Facebook"><span class="fa fa-facebook fa-fw"></span></a></li> + <li><a href="https://www.reddit.com/r/Gentoo/" title="Gentoo on Reddit"><span class="fa fa-reddit-alien fa-fw"></span></a></li> + </ul> + </div> + <div class="col-8 col-sm-8 col-md-8"> + <strong>© 2001–2020 Gentoo Foundation, Inc.</strong><br> + <small> + Gentoo is a trademark of the Gentoo Foundation, Inc. + The contents of this document, unless otherwise expressly stated, are licensed under the + <a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="license">CC-BY-SA-4.0</a> license. + The <a href="https://www.gentoo.org/inside-gentoo/foundation/name-logo-guidelines.html">Gentoo Name and Logo Usage Guidelines</a> apply. + </small> + </div> + <div class="col-2 col-sm-2 col-md-2 text-right"> + <strong><a class="text-dark" href="https://www.gentoo.org/inside-gentoo/contact/">Contact</a></strong><br> + </div> + </div> + </div> + </footer> + + <script + src="https://code.jquery.com/jquery-3.5.1.slim.min.js" + integrity="sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs=" + crossorigin="anonymous"></script> + <script src="https://assets.gentoo.org/tyrian/v2/popper.min.js"></script> + <script src="https://assets.gentoo.org/tyrian/v2/bootstrap.min.js"></script> +{{end}} diff --git a/web/templates/layout/head.tmpl b/web/templates/layout/head.tmpl new file mode 100644 index 0000000..4ab796a --- /dev/null +++ b/web/templates/layout/head.tmpl @@ -0,0 +1,12 @@ +{{define "head"}} + <head> + <title>Gentoo URL Shortener</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="theme-color" content="#54487a"> + <meta name="description" content="Gentoo URL Shortener"> + <link href="https://assets.gentoo.org/tyrian/v2/tyrian.min.css" rel="stylesheet" media="screen"> + <link href="/assets/application.css" rel="stylesheet" media="screen"> + <link rel="icon" href="https://packages.gentoo.org/favicon.ico" type="image/x-icon"> + </head> +{{end}} diff --git a/web/templates/layout/header.tmpl b/web/templates/layout/header.tmpl new file mode 100644 index 0000000..571a58b --- /dev/null +++ b/web/templates/layout/header.tmpl @@ -0,0 +1,6 @@ +{{define "header"}} + <header> + {{template "sitetitle"}} + {{template "tyrian-navbar" .}} + </header> +{{end}} diff --git a/web/templates/layout/sitetitle.tmpl b/web/templates/layout/sitetitle.tmpl new file mode 100644 index 0000000..bd07b34 --- /dev/null +++ b/web/templates/layout/sitetitle.tmpl @@ -0,0 +1,37 @@ +{{define "sitetitle"}} + <div class="site-title"> + <div class="container"> + <div class="row justify-content-between"> + <div class="logo"> + <a href="/" title="Back to the homepage" class="site-logo"> + <img src="https://assets.gentoo.org/tyrian/site-logo.png" alt="Gentoo" srcset="https://assets.gentoo.org/tyrian/site-logo.svg"> + </a> + <span class="site-label">URL Shortener</span> + </div> + <div class="site-title-buttons"> + <div class="btn-group btn-group-sm"> + <a href="https://get.gentoo.org/" role="button" class="btn get-gentoo"><span class="fa fa-fw fa-download"></span> <strong>Get Gentoo!</strong></a> + <div class="btn-group btn-group-sm"> + <a class="btn gentoo-org-sites dropdown-toggle" data-toggle="dropdown" data-target="#" href="#"> + <span class="fa fa-fw fa-map-o"></span> <span class="d-none d-sm-inline">gentoo.org sites</span> <span class="caret"></span> + </a> + <div class="dropdown-menu dropdown-menu-right"> + <a class="dropdown-item" href="https://www.gentoo.org/" title="Main Gentoo website"><span class="fa fa-home fa-fw"></span> gentoo.org</a> + <a class="dropdown-item" href="https://wiki.gentoo.org/" title="Find and contribute documentation"><span class="fa fa-file-text-o fa-fw"></span> Wiki</a> + <a class="dropdown-item" href="https://bugs.gentoo.org/" title="Report issues and find common issues"><span class="fa fa-bug fa-fw"></span> Bugs</a> + <a class="dropdown-item" href="https://forums.gentoo.org/" title="Discuss with the community"><span class="fa fa-comments-o fa-fw"></span> Forums</a> + <a class="dropdown-item" href="https://packages.gentoo.org/" title="Find software for your Gentoo"><span class="fa fa-hdd-o fa-fw"></span> Packages</a> + <div class="dropdown-divider"></div> + <a class="dropdown-item" href="https://planet.gentoo.org/" title="Find out what's going on in the developer community"><span class="fa fa-rss fa-fw"></span> Planet</a> + <a class="dropdown-item" href="https://archives.gentoo.org/" title="Read up on past discussions"><span class="fa fa-archive fa-fw"></span> Archives</a> + <a class="dropdown-item" href="https://sources.gentoo.org/" title="Browse our source code"><span class="fa fa-code fa-fw"></span> Sources</a> + <div class="dropdown-divider"></div> + <a class="dropdown-item" href="https://infra-status.gentoo.org/" title="Get updates on the services provided by Gentoo"><span class="fa fa-server fa-fw"></span> Infra Status</a> + </div> + </div> + </div> + </div> + </div> + </div> + </div> +{{end}} diff --git a/web/templates/layout/tyriannav.tmpl b/web/templates/layout/tyriannav.tmpl new file mode 100644 index 0000000..6e1de17 --- /dev/null +++ b/web/templates/layout/tyriannav.tmpl @@ -0,0 +1,34 @@ +{{define "tyrian-navbar"}} + <nav class="tyrian-navbar navbar navbar-dark navbar-expand-lg bg-primary" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-main-collapse" aria-controls="navbar-main-collapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + </div> + <div class="collapse navbar-collapse navbar-main-collapse" id="navbar-main-collapse"> + <ul class="navbar-nav mr-auto"> + <li class="nav-item {{if eq .Tab "create"}}active{{end}}"><a class="nav-link" href="/links/create">Shorten</a></li> + <li class="nav-item {{if eq .Tab "show"}}active{{end}}"><a class="nav-link" href="/links/show">Your Links</a></li> + </ul> + + <ul class="navbar-nav"> + {{if .User.IsAdmin }} + <li class="nav-item {{if eq .Tab "admin"}}active{{end}}"><a class="nav-link" href="/admin/">Admin</a></li> + {{end}} + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + <img style="border-radius: 50%;height:20px;border: 1px solid white;margin-right:5px;" src="{{gravatar .User.Email}}" /> + </a> + <div class="dropdown-menu" aria-labelledby="navbarDropdown"> + <a class="dropdown-item disabled">Signed in as <b>{{.User.UserName}}</b></a> + <div class="dropdown-divider"></div> + <a class="dropdown-item" href="/auth/logout">Logout</a> + </div> + </li> + </ul> + + </div> + </div> + </nav> +{{end}} diff --git a/web/templates/links/create.tmpl b/web/templates/links/create.tmpl new file mode 100644 index 0000000..3644e08 --- /dev/null +++ b/web/templates/links/create.tmpl @@ -0,0 +1,81 @@ +<!DOCTYPE html> +<html lang="en"> +{{template "head" .}} +<body> +{{template "header" .}} + +<div class="container mb-5 h-100"> + <div class="row align-items-center h-100"> + <div class="col-12 pb-5 mb-5"> + + <div class="jumbotron my-auto" style="background: none!important;"> + <h2 style="font-size: 3.25em;text-align: center;margin-bottom: 0.75em;margin-top: 0;font-weight: 500;" class="site-welcome stick-top">Welcome <span style="color: #54487A !important;">{{.User.UserName}}</span>!<br> + Shorten your next link</h2> + + <form action="/links/create" method="post"> + <div class="typeahead-container px-5" style="font-family: 'Open Sans',Arial,Helvetica,Sans-Serif;position: relative;"> + <div class="row"> + <div class="col-12"> + <div class="typeahead-field" style="display: table;border-collapse: separate;box-sizing: border-box;position: relative;width: 100%;"> + <span class="typeahead-query" style="font-size: 1.1em; height: 2.3em;display: table-cell;vertical-align: top;width: 100%;"> + <input class="rounded" style="border: 1px solid #ccc;padding-left:10px;font-size: 1.3em; height: 2.5em;" id="target" name="target" type="search" autocomplete="off" placeholder="Paste your link" aria-label="Paste your link" autofocus=""> + </span> + </div> + </div> + </div> + + <div class="collapse" id="collapseExample"> + <div class="row mt-4"> + <div class="col-5"> + <div class="form-group"> + <label for="prefix">Prefix</label> + <select class="form-control" name="prefix" id="prefix" onchange="togglePrefix();"> + <option value="">/</option> + <option value="{{$.User.UserName}}">/{{$.User.UserName}}/</option> + {{range $index, $project := .User.Projects}} + <option value="{{$project}}">/{{$project}}/</option> + {{end}} + </select> + </div> + </div> + <div class="col-2"> + <div class="form-group"> + <label for="index">Index</label> + <select class="form-control" name="index" id="index" disabled> + <option value="no" selected>no</option> + <option value="yes">yes</option> + </select> + </div> + </div> + <div class="col-5"> + <div class="form-group"> + <label for="token">Custom Link</label> + <input class="form-control" name="token" id="token" placeholder="Only available for prefix != '/'" disabled> + </div> + </div> + </div> + </div> + + <div class="row mt-4"> + <div class="col-12"> + <button class="float-right btn btn-primary">Shorten</button> + <button class="float-right btn btn-link text-dark" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample"> + Customize + </button> + </div> + </div> + </div> + </form> + </div> + + </div> + </div> +</div> + + +{{template "footer" .}} + +<script src="/assets/application.js"></script> + +</body> +</html> diff --git a/web/templates/links/created.tmpl b/web/templates/links/created.tmpl new file mode 100644 index 0000000..e3f93a5 --- /dev/null +++ b/web/templates/links/created.tmpl @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html lang="en"> +{{template "head" .}} +<body> +{{template "header" .}} + +<div class="container mb-5 h-100"> + <div class="row align-items-center h-100"> + <div class="col-12 pb-5 mb-5"> + + <div class="jumbotron my-auto" style="background: none!important;"> + <h2 style="font-size: 3.25em;text-align: center;margin-bottom: 0.75em;margin-top: 0;font-weight: 500;" class="site-welcome stick-top">Congratulations <span style="color: #54487A !important;">{{.User.UserName}}</span>!<br> + Your link has been shortened</h2> + + <div class="typeahead-container px-5" style="font-family: 'Open Sans',Arial,Helvetica,Sans-Serif;position: relative;"> + <div class="row"> + <div class="col-12"> + <div class="typeahead-field" style="display: table;border-collapse: separate;box-sizing: border-box;position: relative;width: 100%;"> + <span class="typeahead-query" style="font-size: 1.1em; height: 2.3em;display: table-cell;vertical-align: top;width: 100%;"> + <input class="rounded" style="border: 1px solid #ccc;padding-left:10px;font-size: 1.3em; height: 2.5em;" id="shortlink" name="shortlink" type="search" autocomplete="off" aria-label="Shortened Link" autofocus="" value="{{.ShortLink}}" readonly> + </span> + </div> + </div> + </div> + + <div class="row"> + <div id="copied" class="col-12 text-right text-primary" style="display: none;"> + Successfully copied to the Clipboard. + </div> + </div> + + <div class="row mt-4"> + <div class="col-12"> + <button data-clipboard-target="#shortlink" onclick="document.getElementById('copied').style.display = 'block';" class="float-right btn btn-primary">Copy to Clipbaord</button> + </div> + </div> + </div> + </div> + + </div> + </div> +</div> + +{{template "footer" .}} + +<script src="/assets/clipboard.min.js"></script> +<script> + new ClipboardJS('.btn'); +</script> + +</body> +</html> diff --git a/web/templates/links/show.tmpl b/web/templates/links/show.tmpl new file mode 100644 index 0000000..de961f5 --- /dev/null +++ b/web/templates/links/show.tmpl @@ -0,0 +1,173 @@ +<!DOCTYPE html> +<html lang="en"> +{{template "head" .}} +<body> +{{template "header" .}} + +<div class="container mb-5"> + <div class="row"> + <div class="col-12"> + + <h2 class="mt-4"><span style="font-family: monospace;">/</span></h2> + + {{$empty := true}} + + <table class="table"> + <colgroup> + <col span="1" style="width: 20%;"> + <col span="1" style="width: 60%;"> + <col span="1" style="width: 10%;"> + <col span="1" style="width: 5%;"> + <col span="1" style="width: 5%;"> + </colgroup> + <thead> + <tr> + <th scope="col">Short URL</th> + <th scope="col">Target</th> + <th scope="col">Creator</th> + <th scope="col">Hits</th> + <th scope="col">Action</th> + </tr> + </thead> + <tbody> + {{$empty = true}} + {{range .UserLinks}} + {{if eq .Prefix ""}} + {{$empty = false}} + <tr> + <th scope="row"><a class="text-dark" href="{{.ShortLink}}">go.gentoo.org{{.ShortLink}}</a></th> + <td><a class="text-dark" href="{{.TargetLink}}">{{.TargetLink}}</a></td> + <td>{{replaceAll .UserEmail "@gentoo.org" ""}}</td> + <td>{{.Hits}}</td> + <td> + <form action="/links/delete" method="post"> + <input hidden name="prefix" value="{{.Prefix}}"> + <input hidden name="token" value="{{.URLToken}}"> + <input hidden name="from" value="/links/show"> + <button type="submit" class="btn btn-link py-0 text-dark"> + <i class="fa fa-trash-o" aria-hidden="true"></i> + </button> + </form> + </td> + </tr> + {{end}} + {{end}} + {{if $empty}} + <tr> + <td colspan="5" class="text-center"><i>No shortened URLs yet</i></td> + </tr> + {{end}} + </tbody> + </table> + + <h2 class="mt-5"><span style="font-family: monospace;">/{{.User.UserName}}/</span></h2> + + <table class="table"> + <colgroup> + <col span="1" style="width: 20%;"> + <col span="1" style="width: 60%;"> + <col span="1" style="width: 10%;"> + <col span="1" style="width: 5%;"> + <col span="1" style="width: 5%;"> + </colgroup> + <thead> + <tr> + <th scope="col">Short URL</th> + <th scope="col">Target</th> + <th scope="col">Creator</th> + <th scope="col">Hits</th> + <th scope="col">Action</th> + </tr> + </thead> + <tbody> + {{$empty = true}} + {{range .UserLinks}} + {{if eq .Prefix $.User.UserName}} + {{$empty = false}} + <tr> + <th scope="row"><a class="text-dark" href="{{.ShortLink}}">go.gentoo.org{{.ShortLink}}</a></th> + <td><a class="text-dark" href="{{.TargetLink}}">{{.TargetLink}}</a></td> + <td>{{replaceAll .UserEmail "@gentoo.org" ""}}</td> + <td>{{.Hits}}</td> + <td> + <form action="/links/delete" method="post"> + <input hidden name="prefix" value="{{.Prefix}}"> + <input hidden name="token" value="{{.URLToken}}"> + <input hidden name="from" value="/links/show"> + <button type="submit" class="btn btn-link py-0 text-dark"> + <i class="fa fa-trash-o" aria-hidden="true"></i> + </button> + </form> + </td> + </tr> + {{end}} + {{end}} + {{if $empty}} + <tr> + <td colspan="4" class="text-center"><i>No shortened URLs yet</i></td> + </tr> + {{end}} + </tbody> + </table> + + <div class="separator mt-5">Projects</div> + + {{range $index, $project := .User.Projects}} + <h2 class="mt-5"><span style="font-family: monospace;">/{{$project}}/</span></h2> + + <table class="table"> + <colgroup> + <col span="1" style="width: 20%;"> + <col span="1" style="width: 60%;"> + <col span="1" style="width: 10%;"> + <col span="1" style="width: 5%;"> + <col span="1" style="width: 5%;"> + </colgroup> + <thead> + <tr> + <th scope="col">Short URL</th> + <th scope="col">Target</th> + <th scope="col">Creator</th> + <th scope="col">Hits</th> + <th scope="col">Action</th> + </tr> + </thead> + <tbody> + {{$empty = true}} + {{range $.UserLinks}} + {{if eq .Prefix $project}} + {{$empty = false}} + <tr> + <th scope="row"><a class="text-dark" href="{{.ShortLink}}">go.gentoo.org{{.ShortLink}}</a></th> + <td><a class="text-dark" href="{{.TargetLink}}">{{.TargetLink}}</a></td> + <td>{{replaceAll .UserEmail "@gentoo.org" ""}}</td> + <td>{{.Hits}}</td> + <td> + <form action="/links/delete" method="post"> + <input hidden name="prefix" value="{{.Prefix}}"> + <input hidden name="token" value="{{.URLToken}}"> + <input hidden name="from" value="/links/show"> + <button type="submit" class="btn btn-link py-0 text-dark"> + <i class="fa fa-trash-o" aria-hidden="true"></i> + </button> + </form> + </td> + </tr> + {{end}} + {{end}} + {{if $empty}} + <tr> + <td colspan="4" class="text-center"><i>No shortened URLs yet</i></td> + </tr> + {{end}} + </tbody> + </table> + {{end}} + </div> + </div> +</div> + +{{template "footer" .}} + +</body> +</html> |