Fix #952 - Force the footer to the bottom of the page
This commit is contained in:
parent
eddb1aaf9e
commit
ec84acacdc
@ -25,7 +25,7 @@
|
|||||||
src: local('Lato Regular'), local('Lato-Regular'), url('../fonts/Lato-Regular.ttf') format('truetype');
|
src: local('Lato Regular'), local('Lato-Regular'), url('../fonts/Lato-Regular.ttf') format('truetype');
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
html, body {
|
||||||
background-color: #161616;
|
background-color: #161616;
|
||||||
color: #C3C3C3;
|
color: #C3C3C3;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -110,6 +110,23 @@ input, textarea {
|
|||||||
|
|
||||||
/* website structure */
|
/* website structure */
|
||||||
|
|
||||||
|
#wrap {
|
||||||
|
min-height: 100%;
|
||||||
|
height: auto;
|
||||||
|
|
||||||
|
/* This must be equal to the footer height + 5px */
|
||||||
|
margin-bottom: -35px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wrap:after {
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer, #wrap:after {
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -176,9 +193,7 @@ a.logo {
|
|||||||
|
|
||||||
footer {
|
footer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 30px;
|
|
||||||
border-top: 1px solid #333;
|
border-top: 1px solid #333;
|
||||||
bottom: 0px;
|
|
||||||
padding: 8px 0;
|
padding: 8px 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 0.875em;
|
font-size: 0.875em;
|
||||||
|
@ -62,138 +62,142 @@
|
|||||||
<body>
|
<body>
|
||||||
{% include 'mediagoblin/bits/body_start.html' %}
|
{% include 'mediagoblin/bits/body_start.html' %}
|
||||||
{% block mediagoblin_body %}
|
{% block mediagoblin_body %}
|
||||||
{% block mediagoblin_header %}
|
<div id="wrap">
|
||||||
<div class="container">
|
{% block mediagoblin_header %}
|
||||||
<header>
|
<div class="container">
|
||||||
<div class="row foot">
|
<header>
|
||||||
<div class="header_left">
|
<div class="row foot">
|
||||||
{%- include "mediagoblin/bits/logo.html" -%}
|
<div class="header_left">
|
||||||
{% block mediagoblin_header_title %}{% endblock %}
|
{%- include "mediagoblin/bits/logo.html" -%}
|
||||||
</div>
|
{% block mediagoblin_header_title %}{% endblock %}
|
||||||
<div class="header_right">
|
</div>
|
||||||
{%- if request.user %}
|
<div class="header_right">
|
||||||
{% if request.user and
|
{%- if request.user %}
|
||||||
request.user.has_privilege('active') and
|
{% if request.user and
|
||||||
not request.user.is_banned() %}
|
request.user.has_privilege('active') and
|
||||||
|
not request.user.is_banned() %}
|
||||||
|
|
||||||
{% set notification_count = get_notification_count(request.user.id) %}
|
{% set notification_count = get_notification_count(request.user.id) %}
|
||||||
{% if notification_count %}
|
{% if notification_count %}
|
||||||
<a href="javascript:;"
|
<a href="javascript:;"
|
||||||
class="notification-gem button_action button_info"
|
class="notification-gem button_action button_info"
|
||||||
title="Notifications">
|
title="Notifications">
|
||||||
{{ notification_count }}</a>
|
{{ notification_count }}</a>
|
||||||
{% endif %}
|
|
||||||
<a href="javascript:;"
|
|
||||||
class="button_action header_dropdown_down"
|
|
||||||
aria-controls="header_dropdown">▼</a>
|
|
||||||
<a href="javascript:;"
|
|
||||||
class="button_action header_dropdown_up"
|
|
||||||
aria-controls="header_dropdown">▲</a>
|
|
||||||
{% elif request.user and not request.user.has_privilege('active') %}
|
|
||||||
{# the following link should only appear when verification is needed #}
|
|
||||||
<a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
|
|
||||||
user=request.user.username) }}"
|
|
||||||
class="button_action_highlight">
|
|
||||||
{% trans %}Verify your email!{% endtrans %}</a>
|
|
||||||
or <a id="logout" href=
|
|
||||||
{% if persona is not defined %}
|
|
||||||
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
|
||||||
{% else %}
|
|
||||||
"javascript:;"
|
|
||||||
{% endif %}
|
|
||||||
>{% trans %}log out{% endtrans %}</a>
|
|
||||||
{% elif request.user and request.user.is_banned() %}
|
|
||||||
<a id="logout" href=
|
|
||||||
{% if persona is not defined %}
|
|
||||||
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
|
||||||
{% else %}
|
|
||||||
"javascript:;"
|
|
||||||
{% endif %}
|
|
||||||
>{% trans %}log out{% endtrans %}</a>
|
|
||||||
{% endif %}
|
|
||||||
{%- elif auth %}
|
|
||||||
<a href=
|
|
||||||
{% if persona_auth is defined %}
|
|
||||||
"javascript:;" id="persona_login"
|
|
||||||
{% else %}
|
|
||||||
"{{ request.urlgen('mediagoblin.auth.login') }}"
|
|
||||||
{% endif %}
|
|
||||||
>
|
|
||||||
{%- trans %}Log in{% endtrans -%}
|
|
||||||
</a>
|
|
||||||
{%- endif %}
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
{% if request.user and request.user.has_privilege('active') %}
|
|
||||||
<div id="header_dropdown">
|
|
||||||
<p>
|
|
||||||
<span class="dropdown_title">
|
|
||||||
{% trans user_url=request.urlgen('mediagoblin.user_pages.user_home',
|
|
||||||
user=request.user.username),
|
|
||||||
user_name=request.user.username -%}
|
|
||||||
<a href="{{ user_url }}">{{ user_name }}</a>'s account
|
|
||||||
{%- endtrans %}
|
|
||||||
</span>
|
|
||||||
·
|
|
||||||
<a href="{{ request.urlgen('mediagoblin.edit.account') }}">{%- trans %}Change account settings{% endtrans -%}</a>
|
|
||||||
·
|
|
||||||
<a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
|
|
||||||
user=request.user.username) }}">
|
|
||||||
{%- trans %}Media processing panel{% endtrans -%}
|
|
||||||
</a>
|
|
||||||
·
|
|
||||||
{% template_hook("blog_dashboard_home") %}
|
|
||||||
<a id="logout" href=
|
|
||||||
{% if persona is not defined %}
|
|
||||||
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
|
||||||
{% else %}
|
|
||||||
"javascript:;"
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
>{% trans %}Log out{% endtrans %}</a>
|
<a href="javascript:;"
|
||||||
</p>
|
class="button_action header_dropdown_down"
|
||||||
<a class="button_action" href="{{ request.urlgen('mediagoblin.submit.start') }}">
|
aria-controls="header_dropdown">▼</a>
|
||||||
{%- trans %}Add media{% endtrans -%}
|
<a href="javascript:;"
|
||||||
</a>
|
class="button_action header_dropdown_up"
|
||||||
<a class="button_action" href="{{ request.urlgen('mediagoblin.submit.collection') }}">
|
aria-controls="header_dropdown">▲</a>
|
||||||
{%- trans %}Create new collection{% endtrans -%}
|
{% elif request.user and not request.user.has_privilege('active') %}
|
||||||
</a>
|
{# the following link should only appear when verification is needed #}
|
||||||
{% template_hook("header_dropdown_buttons") %}
|
<a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
|
||||||
{% if request.user.has_privilege('moderator') %}
|
user=request.user.username) }}"
|
||||||
|
class="button_action_highlight">
|
||||||
|
{% trans %}Verify your email!{% endtrans %}</a>
|
||||||
|
or <a id="logout" href=
|
||||||
|
{% if persona is not defined %}
|
||||||
|
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
||||||
|
{% else %}
|
||||||
|
"javascript:;"
|
||||||
|
{% endif %}
|
||||||
|
>{% trans %}log out{% endtrans %}</a>
|
||||||
|
{% elif request.user and request.user.is_banned() %}
|
||||||
|
<a id="logout" href=
|
||||||
|
{% if persona is not defined %}
|
||||||
|
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
||||||
|
{% else %}
|
||||||
|
"javascript:;"
|
||||||
|
{% endif %}
|
||||||
|
>{% trans %}log out{% endtrans %}</a>
|
||||||
|
{% endif %}
|
||||||
|
{%- elif auth %}
|
||||||
|
<a href=
|
||||||
|
{% if persona_auth is defined %}
|
||||||
|
"javascript:;" id="persona_login"
|
||||||
|
{% else %}
|
||||||
|
"{{ request.urlgen('mediagoblin.auth.login') }}"
|
||||||
|
{% endif %}
|
||||||
|
>
|
||||||
|
{%- trans %}Log in{% endtrans -%}
|
||||||
|
</a>
|
||||||
|
{%- endif %}
|
||||||
|
</div>
|
||||||
|
<div class="clear"></div>
|
||||||
|
{% if request.user and request.user.has_privilege('active') %}
|
||||||
|
<div id="header_dropdown">
|
||||||
<p>
|
<p>
|
||||||
<span class="dropdown_title">{% trans %}Moderation powers:{% endtrans %}</span>
|
<span class="dropdown_title">
|
||||||
<a href="{{ request.urlgen('mediagoblin.moderation.media_panel') }}">
|
{% trans user_url=request.urlgen('mediagoblin.user_pages.user_home',
|
||||||
|
user=request.user.username),
|
||||||
|
user_name=request.user.username -%}
|
||||||
|
<a href="{{ user_url }}">{{ user_name }}</a>'s account
|
||||||
|
{%- endtrans %}
|
||||||
|
</span>
|
||||||
|
·
|
||||||
|
<a href="{{ request.urlgen('mediagoblin.edit.account') }}">{%- trans %}Change account settings{% endtrans -%}</a>
|
||||||
|
·
|
||||||
|
<a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
|
||||||
|
user=request.user.username) }}">
|
||||||
{%- trans %}Media processing panel{% endtrans -%}
|
{%- trans %}Media processing panel{% endtrans -%}
|
||||||
</a>
|
</a>
|
||||||
·
|
·
|
||||||
<a href="{{ request.urlgen('mediagoblin.moderation.users') }}">
|
{% template_hook("blog_dashboard_home") %}
|
||||||
{%- trans %}User management panel{% endtrans -%}
|
<a id="logout" href=
|
||||||
</a>
|
{% if persona is not defined %}
|
||||||
·
|
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
||||||
<a href="{{ request.urlgen('mediagoblin.moderation.reports') }}">
|
{% else %}
|
||||||
{%- trans %}Report management panel{% endtrans -%}
|
"javascript:;"
|
||||||
</a>
|
{% endif %}
|
||||||
{% template_hook("moderation_powers") %}
|
>{% trans %}Log out{% endtrans %}</a>
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
<a class="button_action" href="{{ request.urlgen('mediagoblin.submit.start') }}">
|
||||||
{% include 'mediagoblin/fragments/header_notifications.html' %}
|
{%- trans %}Add media{% endtrans -%}
|
||||||
</div>
|
</a>
|
||||||
|
<a class="button_action" href="{{ request.urlgen('mediagoblin.submit.collection') }}">
|
||||||
|
{%- trans %}Create new collection{% endtrans -%}
|
||||||
|
</a>
|
||||||
|
{% template_hook("header_dropdown_buttons") %}
|
||||||
|
{% if request.user.has_privilege('moderator') %}
|
||||||
|
<p>
|
||||||
|
<span class="dropdown_title">{% trans %}Moderation powers:{% endtrans %}</span>
|
||||||
|
<a href="{{ request.urlgen('mediagoblin.moderation.media_panel') }}">
|
||||||
|
{%- trans %}Media processing panel{% endtrans -%}
|
||||||
|
</a>
|
||||||
|
·
|
||||||
|
<a href="{{ request.urlgen('mediagoblin.moderation.users') }}">
|
||||||
|
{%- trans %}User management panel{% endtrans -%}
|
||||||
|
</a>
|
||||||
|
·
|
||||||
|
<a href="{{ request.urlgen('mediagoblin.moderation.reports') }}">
|
||||||
|
{%- trans %}Report management panel{% endtrans -%}
|
||||||
|
</a>
|
||||||
|
{% template_hook("moderation_powers") %}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
{% include 'mediagoblin/fragments/header_notifications.html' %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div><!-- end row -->
|
||||||
|
</header>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
<div class="container">
|
||||||
|
{% include 'mediagoblin/bits/above_content.html' %}
|
||||||
|
<div class="mediagoblin_content">
|
||||||
|
{% include "mediagoblin/utils/messages.html" %}
|
||||||
|
{% block mediagoblin_content %}
|
||||||
|
{% endblock mediagoblin_content %}
|
||||||
|
{% if csrf_token is defined %}
|
||||||
|
{% template_hook("persona_form") %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div><!-- end row -->
|
</div>
|
||||||
</header>
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
|
||||||
<div class="container">
|
|
||||||
{% include 'mediagoblin/bits/above_content.html' %}
|
|
||||||
<div class="mediagoblin_content">
|
|
||||||
{% include "mediagoblin/utils/messages.html" %}
|
|
||||||
{% block mediagoblin_content %}
|
|
||||||
{% endblock mediagoblin_content %}
|
|
||||||
{% if csrf_token is defined %}
|
|
||||||
{% template_hook("persona_form") %}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{%- include "mediagoblin/bits/base_footer.html" %}
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="container">
|
||||||
|
{%- include "mediagoblin/bits/base_footer.html" %}
|
||||||
|
</div>
|
||||||
{%- endblock mediagoblin_body %}
|
{%- endblock mediagoblin_body %}
|
||||||
{% include 'mediagoblin/bits/body_end.html' %}
|
{% include 'mediagoblin/bits/body_end.html' %}
|
||||||
</body>
|
</body>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user