2 # GNU MediaGoblin -- federated, autonomous media hosting
3 # Copyright (C)
2011,
2012 MediaGoblin contributors. See AUTHORS.
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version
3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU Affero General Public License for more details.
15 # You should have received a copy of the GNU Affero General Public License
16 # along with this program. If not, see
<http://www.gnu.org/licenses
/>.
21 <meta charset=
"utf-8">
22 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0">
23 <title>{% block title %}{{ app_config['html_title'] }}{% endblock %}
</title>
24 <link rel=
"stylesheet" type=
"text/css"
25 href=
"{{ request.staticdirect('/css/extlib/reset.css') }}"/>
26 <link rel=
"stylesheet" type=
"text/css"
27 href=
"{{ request.staticdirect('/css/base.css') }}"/>
28 <link rel=
"shortcut icon"
29 href=
"{{ request.staticdirect('/images/goblin.ico') }}" />
30 <script type=
"text/javascript"
31 src=
"{{ request.staticdirect('/js/extlib/jquery.js') }}"></script>
32 <script type=
"text/javascript"
33 src=
"{{ request.staticdirect('/js/header_dropdown.js') }}"></script>
36 <script src="{{ request.staticdirect('/js/extlib/html5shiv.js') }}"></script>
39 {# For clarification, the difference between the extra_head.html template
40 # and the head template hook is that the former should be used by
41 # themes and the latter should be used by plugins.
42 # The reason is that only one thing can override extra_head.html...
43 # but multiple plugins can hook into the template hook.
45 {% include
"mediagoblin/extra_head.html" %}
46 {% template_hook(
"head") %}
48 {% block mediagoblin_head %}
49 {% endblock mediagoblin_head %}
52 {% include 'mediagoblin/bits/body-start.html' %}
53 {% block mediagoblin_body %}
54 {% block mediagoblin_header %}
56 {%- include
"mediagoblin/bits/logo.html" -%}
57 {% block mediagoblin_header_title %}{% endblock %}
58 <div class=
"header_right">
59 {%- if request.user %}
60 {% if request.user and request.user.status == 'active' %}
61 <div class=
"button_action header_dropdown_down">▼</div>
62 <div class=
"button_action header_dropdown_up">▲</div>
63 {% elif request.user and request.user.status ==
"needs_email_verification" %}
64 {# the following link should only appear when verification is needed #}
65 <a href=
"{{ request.urlgen('mediagoblin.user_pages.user_home',
66 user=request.user.username) }}"
67 class=
"button_action_highlight">
68 {% trans %}Verify your email!{% endtrans %}
</a>
69 or
<a href=
"{{ request.urlgen('mediagoblin.auth.logout') }}">{% trans %}log out{% endtrans %}
</a>
72 <a href=
"{{ request.urlgen('mediagoblin.auth.login') }}?next={{
73 request.base_url|urlencode }}">
74 {%- trans %}Log in{% endtrans -%}
78 <div class=
"clear"></div>
79 {% if request.user and request.user.status == 'active' %}
80 <div class=
"header_dropdown">
82 <span class=
"dropdown_title">
83 {% trans user_url=request.urlgen('mediagoblin.user_pages.user_home',
84 user=request.user.username),
85 user_name=request.user.username -%}
86 <a href=
"{{ user_url }}">{{ user_name }}
</a>'s account
90 <a href=
"{{ request.urlgen('mediagoblin.edit.account') }}">{%- trans %}Change account settings{% endtrans -%}
</a>
92 <a href=
"{{ request.urlgen('mediagoblin.user_pages.processing_panel',
93 user=request.user.username) }}">
94 {%- trans %}Media processing panel{% endtrans -%}
97 <a href=
"{{ request.urlgen('mediagoblin.auth.logout') }}">{% trans %}Log out{% endtrans %}
</a>
99 <a class=
"button_action" href=
"{{ request.urlgen('mediagoblin.submit.start') }}">
100 {%- trans %}Add media{% endtrans -%}
102 <a class=
"button_action" href=
"{{ request.urlgen('mediagoblin.submit.collection') }}">
103 {%- trans %}Create new collection{% endtrans -%}
105 {% if request.user.is_admin %}
107 <span class=
"dropdown_title">Admin powers:
</span>
108 <a href=
"{{ request.urlgen('mediagoblin.admin.panel') }}">
109 {%- trans %}Media processing panel{% endtrans -%}
117 <div class=
"container">
118 {% include 'mediagoblin/bits/above-content.html' %}
119 <div class=
"mediagoblin_content">
120 {% include
"mediagoblin/utils/messages.html" %}
121 {% block mediagoblin_content %}
122 {% endblock mediagoblin_content %}
124 {%- block mediagoblin_footer %}
127 Powered by
<a href=
"http://mediagoblin.org/" title='Version {{ version }}'
>MediaGoblin
</a>, a
<a href=
"http://gnu.org/">GNU
</a> project.
129 {% trans source_link=app_config['source_link'] -%}
130 Released under the
<a href=
"http://www.fsf.org/licensing/licenses/agpl-3.0.html">AGPL
</a>.
<a href=
"{{ source_link }}">Source code
</a> available.
133 {%- endblock mediagoblin_footer %}
135 {%- endblock mediagoblin_body %}
136 {% include 'mediagoblin/bits/body-end.html' %}