media
search_index
+.sass-cache
+
<div class="day">{{ event.date|date:"j" }}</div>
<div class="mon">{{ event.date|date:"b" }}</div>
</div>
- {{ event.place }}
- {{ event.title }}
- {{ event.organizer }}
+ <div class="description">
+ {{ event.place }}
+ {{ event.title }}
+ {{ event.organizer }}
+ </div>
<div style="clear: both"></div>
</a>
</li>
class EntryAdmin(admin.ModelAdmin):
fieldsets = (
- (None, {'fields': ('type', 'author', 'author_email', 'image')}),
+ (None, {'fields': (('type', 'promo'), 'author', 'author_email', 'image')}),
) + tuple(
(ln, {'fields': (
('published_%s' % lc),
class CategoryAdmin(admin.ModelAdmin):
- list_display = translated_fields(('title', 'slug'))
+ list_display = translated_fields(('title', 'slug')) + ('taxonomy',)
prepopulated_fields = dict([
("slug_%s" % lang_code, ("title_%s" % lang_code,))
for lang_code, lang_name in settings.LANGUAGES
# This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+from itertools import chain
from migdal.models import Entry
from migdal.settings import TYPES
from django.utils.translation import get_language
-def entry_list(entry_type=None, category=None):
+def entry_list(entry_type=None, category=None, promobox=False):
lang = get_language()
object_list = Entry.objects.filter(**{"published_%s" % lang: True})
if entry_type:
object_list = object_list.filter(type__in=[t.db for t in TYPES if t.on_main])
if category:
object_list = object_list.filter(categories=category)
+
+ if promobox:
+ promo = list(object_list.filter(promo=True)[:promobox])
+ #object_list = object_list.exclude(pk__in=[p.pk for p in promo])
+ object_list.promobox = promo
+
return object_list
{% load i18n %}
-{% load gravatar %}
+{% load gravatar thumbnail %}
<img class="avatar" src="{% gravatar_for_email object.author_email 48 %}"/>
<h2><a href="{{ object.get_absolute_url }}">{{ object.title }}</a></h2>
<div class="entry-data">
-{{ object.date }}
-{{ object.author }}
+<div class="date">{{ object.date }}</div>
+<div class="author">{{ object.author }}</div>
{% if request.LANGUAGE_CODE == 'pl' %}
{% if object.published_en %}
{% endlanguage %}
{% endif %}
-
+<div class="categories">
{% for category in object.categories.all %}
<a href="{{ category.get_absolute_url }}">{{ category }}</a>
{% endfor %}
</div>
+</div>
+
{% if object.image %}
- <img class="entry-picture" src="{{ object.image.url }}" />
+ <img class="entry-picture" src="{% thumbnail object.image "250x300" as thumb %}
+ {{ thumb.url }}
+ {% empty %}
+ {{ object.image.url }}
+ {% endthumbnail %}" />
{% endif %}
+<div class="lead">
{{ object.lead }}
+</div>
+<div style="clear: both"></div>
+
{% block "main_menu" %}
- {% if entry.categories %}
- {% main_menu 'objects' entry.categories.all %}
- {% else %}
- {% main_menu 'entry_type' entry.type %}
- {% endif %}
+ {% main_menu 'object' entry %}
{% endblock "main_menu" %}
{% block "body" %}
<div class="entry entry-short entry-{{ entry.type }}">
+<div class="entry-wrapped">
{% entry_begin entry %}
+<div class="body">
{{ entry.body }}
+</div>
{% if entry.get_type.commentable %}
{% render_comment_list for entry %}
{% entry_comment_form entry %}
{% endif %}
</div>
+</div>
{% endblock %}
\ No newline at end of file
{% extends "base.html" %}
{% load url from future %}
{% load i18n %}
+{% load pagination_tags %}
{% load migdal_tags %}
{% block "body" %}
-<h1>
{% if category %}
{% trans "Category" %}: {{ category }}
- <a href="{% url 'migdal_category_feed' category.slug %}">RSS</a>
+ <h1><a href="{% url 'migdal_category_feed' category.slug %}">RSS</a></h1>
{% elif entry_type %}
{{ entry_type|capfirst }}
- <a href="{% url 'migdal_entry_list_'|add:entry_type.db|add:'_feed' %}">RSS</a>
-{% else %}
- {% trans "Latest news" %}
+ <h1><a href="{% url 'migdal_entry_list_'|add:entry_type.db|add:'_feed' %}">RSS</a></h1>
+{% endif %}
+
+{% if object_list.promobox and request.page == 1 %}
+<div id="promobox">
+<ul id="promobox-switcher">
+{% for object in object_list.promobox %}
+ <li {% if forloop.counter == 1 %} class="active"{% endif %}>
+ <a href="{{ object.get_absolute_url }}"
+ >{{ forloop.counter }}</a>
+ </li>
+{% endfor %}
+</ul>
+
+<div id="promobox-wrapper">
+<ul class="promobox">
+{% for object in object_list.promobox %}
+ {% entry_promobox object forloop.counter %}
+{% endfor %}
+</ul>
+</div>
+
+</div>
{% endif %}
-</h1>
{% if submit %}
+ <p class="submit-link">
<a href="{% url 'migdal_submit' %}">{% trans "Submit a new story." %}</a>
+ </p>
{% endif %}
+
+{% autopaginate object_list 10 %}
{% for object in object_list %}
{% entry_short object %}
{% endfor %}
+{% paginate %}
{% endblock %}
\ No newline at end of file
--- /dev/null
+{% load i18n %}
+
+
+<li class="promobox-item"{% if counter == 1 %}class="active"{% endif %}
+ style="
+ {% if counter != 1 %}display: none;{% endif %}
+ {% if object.image %}
+ background: url('{{ object.image.url }}');
+ background-size:100%;
+ background-position: 50% 50%;
+ {% else %}
+ background: black;
+ {% endif %}
+">
+
+<a class="promobox-link" href="{{ object.get_absolute_url }}">
+
+
+<div class="promobox-info">
+<div class="clip">
+<h2>{{ object.title }}</h2>
+
+<div class="lead">
+{{ object.lead }}
+</div>
+</div>
+</div>
+
+</a>
+</li>
<div class="entry entry-short entry-{{ object.type }}">
+<div class="entry-wrapped">
+
{% entry_begin object %}
-{% if object.has_body %}
- <a href="{{ object.get_absolute_url }}">{% trans "read more" %}</a>
-{% endif %}
+<div class="more">
{% if object.get_type.commentable %}
{% get_comment_count for object as comment_count %}
-<a href="{{ object.get_absolute_url }}#comment">
+<a class="comments" href="{{ object.get_absolute_url }}#comment">
{% blocktrans count comment_count as c %}{{c}} comment{% plural %}{{c}} comments{% endblocktrans %}
</a>
{% endif %}
-</div>
\ No newline at end of file
+
+{% if object.body.raw %}
+ <a class="read-more" href="{{ object.get_absolute_url }}">{% trans "read more" %}</a>
+{% endif %}
+
+</div>
+
+
+<div class="social">
+</div>
+
+
+<div style="clear: both"></div>
+</div>
+</div>
+{% load i18n %}
<h2><a href="{{ object.get_absolute_url }}">{{ object.title }}</a></h2>
<div class="entry-data">
return t.render(template.Context(context))
+@register.simple_tag(takes_context=True)
+def entry_promobox(context, entry, counter):
+ t = template.loader.select_template((
+ 'migdal/entry/%s/entry_promobox.html' % entry.type,
+ 'migdal/entry/entry_promobox.html',
+ ))
+ context = {
+ 'request': context['request'],
+ 'object': entry,
+ 'counter': counter,
+ }
+ return t.render(template.Context(context))
+
+
@register.inclusion_tag('migdal/categories.html', takes_context=True)
def categories(context, taxonomy):
context = {
class ModelMenuItem(object):
- def __init__(self, obj, html_id=None):
+ def __init__(self, obj, title=None, html_id=None):
self.obj = obj
- self.title = unicode(obj)
+ self.title = title or unicode(obj)
self.url = obj.get_absolute_url()
self.html_id = html_id
self.active = (chooser == 'object' and value == self.obj or
chooser == 'objects' and self.obj in value)
+class CategoryMenuItem(ModelMenuItem):
+ def check_active(self, chooser, value):
+ super(CategoryMenuItem, self).check_active(chooser, value)
+ self.active = (self.active or
+ (chooser == 'object' and isinstance(value, Entry) and
+ self.obj in value.categories.all()))
+
class EntryTypeMenuItem(object):
def __init__(self, title, type_, html_id=None):
ModelMenuItem(Entry.objects.get(slug_pl='o-nas')),
EntryTypeMenuItem(_(u'Publications'), u'publications'),
MenuItem(_(u'Events'), reverse('events')),
- ModelMenuItem(Category.objects.get(slug_pl='stanowisko')),
- ModelMenuItem(Category.objects.get(slug_pl='pierwsza-pomoc')),
+ CategoryMenuItem(Category.objects.get(slug_pl='stanowisko'), title=_('Positions')),
+ CategoryMenuItem(Category.objects.get(slug_pl='pierwsza-pomoc')),
]
if context['request'].LANGUAGE_CODE == 'pl':
items.append(MenuItem(u'en', '/en/', html_id='item-lang'))
else:
category = None
- object_list = api.entry_list(entry_type=entry_type, category=category)
+ promobox = 5 if entry_type is None and category is None else None
+
+ object_list = api.entry_list(entry_type=entry_type, category=category,
+ promobox=promobox)
return render(request, templates, {
'object_list': object_list,
'django_comments_xtd',
'pipeline',
'haystack',
+ 'pagination',
+ 'sorl.thumbnail',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+ 'pagination.middleware.PaginationMiddleware',
)
)
COMMENTS_XTD_LIST_URL_ACTIVE = True
#COMMENTS_XTD_LIST_PAGINATE_BY = 10
+
+THUMBNAIL_QUALITY = 95
PIPELINE_CSS = {
'base': {
'source_filenames': (
- 'css/base.css',
+ 'css/base.scss',
+ 'css/layout.scss',
+ 'css/header.scss',
+ 'css/menu.scss',
+ 'css/search.scss',
+ 'css/sidebar.scss',
+ 'css/promobox.scss',
+ 'css/entry.scss',
+ 'css/footer.scss',
),
'output_filename': 'compressed/base.css',
},
}
+PIPELINE_JS = {
+ 'base': {
+ 'source_filenames': (
+ 'js/promobox.js',
+ ),
+ 'output_filename': 'compressed/base.js',
+ },
+}
+
+PIPELINE_COMPILERS = (
+ 'pipeline.compilers.sass.SASSCompiler',
+)
+
+PIPELINE_STORAGE = 'pipeline.storage.PipelineFinderStorage'
+@import url(http://fonts.googleapis.com/css?family=Lato:400,700,400italic);
body {
- font-family: sans-serif;
- font-size: .625em;
- background: #edece7;
-}
+ font-family: 'Lato', sans-serif;
+ font-size: .625em;
+ background: #edece7;
+ background-image: url("/static/img/bg.png");
+ background-repeat: no-repeat;
+ margin-top: 0;
+ background-position: 50% 0; }
a {
- text-decoration: none;
-}
-a:hover {
- text-decoration: underline;
-}
-
-#menu {
- list-style: none;
- padding-left: 0;
- margin-left: 0;
- text-transform: uppercase;
- margin: 0;
-}
-#menu #item-lang a {
- color: #0050a2;
-}
-#menu li {
- display: inline-block;
- position: relative;
- list-style: none;
- padding-left: 0;
- margin-right: 5em;
-}
-#menu li a {
- color: black;
-}
-#menu li.active {
- font-weight: bold;
-}
-#menu li.active:before {
- color: #004e98;
- content: "(";
- position: absolute;
- left: -.7em;
- font-size: 2em;
- top: -.25em;
-}
-#menu li.active:after {
- color: #004e98;
- content: ")";
- position: absolute;
- right: -.7em;
- font-size: 2em;
- top: -.25em;
-}
-
-.avatar {
- float: left;
- margin-left: -60px;
-}
-.entry {
- margin-left: 60px;
-}
-.entry h2 {
- margin: 0;
-}
-.entry-data {
- font-size: .8em;
-}
-
-
-
-.bar-right {
- width: 25em;
- float: right;
-}
-.bar-left {
- width: 70em;
- float: left;
-}
-#body {
- width: 96em;
- margin: auto;
- padding: 1em;
-}
-#footer-bar {
- color: #4b4c47;
- border-top: 1px solid #acacaa;
- padding-top: 1.5em;
- margin-top: 4em;
-}
-.footer-item {
- width: 24em;
- float: left;
-}
-#search-form input {
- font-size: 1.1em;
- width: 18em;
- border: none;
- border-radius: 1.5em 0 0 1.5em;
- background: white;
- color: black;
- height: 2em;
-}
-#search-form button {
- font-size: 1.1em;
- width: 3em;
- height: 2em;
- border: none;
- background: #3bb0a8;
- color: white;
- border-radius: 0 1em 1em 0;
-}
-
-.sidebar-box {
- border-top: 1px solid #8a8b85;
- padding-top: 1.5em;
- padding-bottom: 1.5em;
- clear: both;
-}
+ text-decoration: none; }
-.sidebar-box .event-list {
- list-style: none;
- padding-left: 0;
-}
-.sidebar-box .more {
- text-align: right;
-}
-.sidebar-box .event-list li {
- margin-top: .8em;
-}
-
-.sidebar-box .event-list .date {
- clear: both;
- float: left;
- background: #494949;
- color: #69efe6;
- width: 4em;
- height: 3.8em;
- border-radius: .5em;
- padding: .5em;
- text-align: center;
- margin-right: 1em;
-}
-.sidebar-box .event-list a {
- display: block;
-}
-.sidebar-box .event-list .date .day {
- font-size: 1.8em;
- font-style: italic;
-}
-.sidebar-box .event-list .date .mon {
- text-transform: uppercase;
-}
-
-#sidebar-box-categories ul {
- width: 50%;
- display: table-cell;
- list-style: none;
- padding-left: 0;
- padding-right: 4em;
-}
-#sidebar-box-categories .category-taxonomy-topics a {
- color: #31ada3;
-}
-
-#sidebar-box-categories .category-taxonomy-types a {
- color: #ff6100;
-}
-
-
-sdiv {
- border: #ddd 1px solid;
-}
\ No newline at end of file
+a:hover {
+ text-decoration: underline; }
--- /dev/null
+@import url(http://fonts.googleapis.com/css?family=Lato:400,700,400italic);
+
+body {
+ font-family: 'Lato', sans-serif;
+ font-size: .625em;
+ background: #edece7;
+ background-image: url('/static/img/bg.png');
+ background-repeat: no-repeat;
+ margin-top: 0;
+ background-position: 50% 0;
+}
+
+a {
+ text-decoration: none;
+}
+a:hover {
+ text-decoration: underline;
+}
--- /dev/null
+.avatar {
+ float: left;
+ margin-left: -7.5em;
+ margin-top: .8em; }
+
+.entry-short {
+ border-top: 1px solid #8b8b87; }
+
+.entry-wrapped {
+ margin-left: 8em;
+ padding-top: .7em; }
+ .entry-wrapped h2 {
+ margin: 0;
+ font-size: 1.2em;
+ color: #01519a; }
+ .entry-wrapped .entry-data {
+ font-size: 1.1em;
+ margin-top: 1.4em;
+ margin-bottom: 1.4em; }
+ .entry-wrapped .entry-data .date {
+ color: #acacac; }
+ .entry-wrapped .entry-data .author {
+ font-weight: bold; }
+ .entry-wrapped .entry-data .categories {
+ font-style: italic; }
+ .entry-wrapped .entry-data .categories a {
+ color: black; }
+ .entry-wrapped .lead {
+ font-size: 1.1em; }
+ .entry-wrapped .body {
+ font-size: 1.1em; }
+ .entry-wrapped .more {
+ float: right;
+ font-size: 1.1em;
+ font-style: italic;
+ margin-top: .6em;
+ margin-bottom: 1.8em; }
+ .entry-wrapped .more a {
+ color: #acacac; }
+ .entry-wrapped .more .read-more {
+ margin-left: 1.5em; }
+ .entry-wrapped .more .comments:after {
+ content: url("/static/img/comments.png");
+ margin-left: .7em; }
+ .entry-wrapped .more .read-more:after {
+ content: url("/static/img/read-more.png");
+ margin-left: .7em; }
+
+.entry-picture {
+ float: left;
+ margin-right: 1.5em; }
+
+.submit-link {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ height: 1.7em; }
+ .submit-link a {
+ color: black;
+ font-size: 1.1em; }
+ .submit-link a:before {
+ content: url("/static/img/plus.png");
+ vertical-align: top;
+ margin-right: 1em; }
--- /dev/null
+.avatar {
+ float: left;
+ margin-left: -7.5em;
+ margin-top: .8em;
+}
+
+.entry-short {
+ border-top: 1px solid #8b8b87;
+}
+
+.entry-wrapped {
+ margin-left: 8em;
+ padding-top: .7em;
+
+ h2 {
+ margin: 0;
+ font-size: 1.2em;
+ color: #01519a;
+ }
+
+ .entry-data {
+ font-size: 1.1em;
+ margin-top: 1.4em;
+ margin-bottom: 1.4em;
+ .date {
+ color: #acacac;
+ }
+ .author {
+ font-weight: bold;
+ }
+ .categories {
+ font-style: italic;
+ a {
+ color: black;
+ }
+ }
+ }
+
+ .lead {
+ font-size: 1.1em;
+ }
+
+ .body {
+ font-size: 1.1em;
+ }
+
+ .more {
+ float: right;
+ font-size: 1.1em;
+ font-style: italic;
+ margin-top: .6em;
+ margin-bottom: 1.8em;
+
+ a {
+ color: #acacac;
+ }
+ .read-more {
+ margin-left: 1.5em;
+ }
+ .comments:after {
+ content: url('/static/img/comments.png');
+ margin-left: .7em;
+ }
+ .read-more:after {
+ content: url('/static/img/read-more.png');
+ margin-left: .7em;
+ }
+ }
+}
+
+
+.entry-picture {
+ float: left;
+ margin-right: 1.5em;
+}
+
+.submit-link {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ height: 1.7em;
+
+ a {
+ color: black;
+ font-size: 1.1em;
+ }
+ a:before {
+ content: url("/static/img/plus.png");
+ vertical-align: top;
+ margin-right: 1em;
+ }
+}
\ No newline at end of file
--- /dev/null
+#footer-bar {
+ color: #4b4c47;
+ border-top: 1px solid #acacaa;
+ padding-top: 1.5em;
+ margin-top: 4em;
+ margin-left: 1em;
+ margin-right: 1em; }
+
+.footer-item {
+ width: 24em;
+ float: left; }
--- /dev/null
+#footer-bar {
+ color: #4b4c47;
+ border-top: 1px solid #acacaa;
+ padding-top: 1.5em;
+ margin-top: 4em;
+ margin-left: 1em;
+ margin-right: 1em;
+}
+
+.footer-item {
+ width: 24em;
+ float: left;
+}
--- /dev/null
+#header-bar {
+ height: 9em;
+ padding-top: 3em; }
+ #header-bar .bar-left {
+ margin-left: -1.1em; }
+
+.org-fnp, .org-trust {
+ display: inline-block;
+ width: 8em; }
+ .org-fnp span, .org-trust span {
+ color: #888; }
+ .org-fnp img, .org-trust img {
+ margin-left: -0.3em;
+ margin-top: 1em; }
+
+.org-fnp {
+ margin-right: 4em; }
--- /dev/null
+#header-bar {
+ height: 9em;
+ padding-top: 3em;
+
+ .bar-left {
+ margin-left: -1.1em;
+ }
+
+}
+
+
+.org-fnp, .org-trust {
+ display: inline-block;
+ width: 8em;
+
+ span {
+ color: #888;
+ }
+
+ img {
+ margin-left: -.3em;
+ margin-top: 1em;
+ }
+}
+.org-fnp {
+ margin-right: 4em;
+}
--- /dev/null
+.bar-right {
+ width: 22em;
+ padding: 0 1em;
+ float: right; }
+
+.bar-left {
+ width: 70em;
+ padding: 0 1em;
+ float: left; }
+
+#body {
+ width: 96em;
+ margin: auto; }
--- /dev/null
+.bar-right {
+ width: 22em;
+ padding: 0 1em;
+ float: right;
+}
+
+.bar-left {
+ width: 70em;
+ padding: 0 1em;
+ float: left;
+}
+
+#body {
+ width: 96em;
+ margin: auto;
+}
+
--- /dev/null
+#menu-bar {
+ height: 4em; }
+
+#menu {
+ list-style: none;
+ margin-left: 0;
+ text-transform: uppercase;
+ margin: .7em 0 0 0; }
+ #menu li {
+ display: inline-block;
+ position: relative;
+ list-style: none;
+ padding-left: 0;
+ margin-right: 3em; }
+ #menu li a {
+ color: black;
+ font-size: 1.1em; }
+ #menu li:last {
+ margin-right: 0; }
+ #menu li.active {
+ font-weight: bold; }
+ #menu li.active:before {
+ color: #004e98;
+ content: "(";
+ position: absolute;
+ left: -0.7em;
+ font-size: 2em;
+ top: -0.25em; }
+ #menu li.active:after {
+ color: #004e98;
+ content: ")";
+ position: absolute;
+ right: -0.7em;
+ font-size: 2em;
+ top: -0.25em; }
+ #menu #item-lang a {
+ color: #0050a2; }
--- /dev/null
+#menu-bar {
+ height: 4em;
+}
+
+#menu {
+ list-style: none;
+ margin-left: 0;
+ text-transform: uppercase;
+ margin: .7em 0 0 0;
+
+ li {
+ display: inline-block;
+ position: relative;
+ list-style: none;
+ padding-left: 0;
+ margin-right: 3em;
+
+ a {
+ color: black;
+ font-size: 1.1em;
+ }
+ }
+ li:last {
+ margin-right: 0;
+ }
+ li.active {
+ font-weight: bold;
+ }
+ li.active:before {
+ color: #004e98;
+ content: "(";
+ position: absolute;
+ left: -.7em;
+ font-size: 2em;
+ top: -.25em;
+ }
+ li.active:after {
+ color: #004e98;
+ content: ")";
+ position: absolute;
+ right: -.7em;
+ font-size: 2em;
+ top: -.25em;
+ }
+
+ #item-lang a {
+ color: #0050a2;
+ }
+}
\ No newline at end of file
--- /dev/null
+#promobox {
+ position: relative; }
+ #promobox a:hover {
+ text-decoration: none; }
+
+ul.promobox {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ height: 32.3em;
+ overflow: hidden;
+ position: relative; }
+
+.promobox-item {
+ border-radius: 0 0 2em 0;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ position: absolute;
+ width: 100%; }
+
+.promobox-link {
+ background-image: url("/static/img/rog.png");
+ display: block;
+ position: relative;
+ height: 32.3em;
+ background-position: 100% 100%;
+ background-repeat: no-repeat; }
+
+#promobox-switcher {
+ position: absolute;
+ top: 1.6em;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ z-index: 100; }
+ #promobox-switcher a {
+ display: block;
+ background: black;
+ font-size: 1.1em;
+ width: 1.1em;
+ padding: .45em .5em;
+ border-radius: 0 1em 1em 0;
+ color: white; }
+ #promobox-switcher .active a {
+ background: #02529b; }
+
+.promobox-info {
+ position: absolute;
+ top: 15.4em;
+ background-color: #64c0bd;
+ color: white;
+ width: 20em;
+ padding: 1.5em 4.8em 1.2em 2em;
+ border-radius: 0 6em 6em 0; }
+ .promobox-info .clip {
+ height: 9.7em;
+ overflow: hidden; }
+ .promobox-info h2 {
+ margin-top: 0;
+ font-size: 1.5em; }
+ .promobox-info .lead {
+ font-size: 1.2em;
+ line-height: 1.1em; }
--- /dev/null
+#promobox {
+ position: relative;
+ a:hover {
+ text-decoration: none;
+ }
+}
+ul.promobox {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ height: 32.3em;
+ overflow: hidden;
+ position: relative;
+}
+.promobox-item {
+ border-radius: 0 0 2em 0;
+ list-style:none;
+ padding:0;
+ margin: 0;
+ position:absolute;
+ width: 100%;
+}
+.promobox-link {
+ background-image: url('/static/img/rog.png');
+ display:block;
+ position: relative;
+ height: 32.3em;
+ background-position: 100% 100%;
+ background-repeat: no-repeat;
+}
+
+#promobox-switcher {
+ position: absolute;
+ top: 1.6em;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ z-index: 100;
+
+ a {
+ display: block;
+ background:black;
+ font-size: 1.1em;
+ width: 1.1em;
+ padding: .45em .5em;
+ border-radius: 0 1em 1em 0;
+ color: white;
+ }
+ .active a {
+ background: #02529b;
+ }
+}
+
+.promobox-info {
+ position: absolute;
+ top: 15.4em;
+ background-color: #64c0bd;
+ color: white;
+ width: 20em;
+ padding: 1.5em 4.8em 1.2em 2em;
+ border-radius: 0 6em 6em 0;
+
+ .clip {
+ height: 9.7em;
+ overflow:hidden;
+ }
+
+ h2 {
+ margin-top: 0;
+ font-size: 1.5em;
+ }
+ .lead {
+ font-size: 1.2em;
+ line-height: 1.1em;
+ }
+
+}
--- /dev/null
+#search-form {
+ margin-top: .4em; }
+ #search-form input {
+ font-size: 1.1em;
+ width: 17.1em;
+ padding-left: 1em;
+ border: none;
+ border-radius: 1.5em 0 0 1.5em;
+ background: white;
+ color: black;
+ height: 2em; }
+ #search-form button {
+ font-size: 1.1em;
+ width: 2.7em;
+ height: 2em;
+ border: none;
+ background: #3bb0a8;
+ background-image: url("/static/img/search-bg.png");
+ background-repeat: no-repeat;
+ color: white;
+ border-radius: 0 1em 1em 0;
+ padding-right: 1em; }
+ #search-form button img {
+ vertical-align: middle; }
--- /dev/null
+#search-form {
+ margin-top: .4em;
+
+ input {
+ font-size: 1.1em;
+ width: 17.1em;
+ padding-left: 1em;
+ border: none;
+ border-radius: 1.5em 0 0 1.5em;
+ background: white;
+ color: black;
+ height: 2em;
+ }
+
+ button {
+ font-size: 1.1em;
+ width: 2.7em;
+ height: 2em;
+ border: none;
+ background: #3bb0a8;
+ background-image: url('/static/img/search-bg.png');
+ background-repeat: no-repeat;
+ color: white;
+ border-radius: 0 1em 1em 0;
+ padding-right: 1em;
+
+ img {
+ vertical-align: middle;
+ }
+ }
+}
--- /dev/null
+.sidebar-box {
+ border-top: 1px solid #8a8b85;
+ padding-top: 1.5em;
+ padding-bottom: .9em;
+ clear: both; }
+ .sidebar-box h3 {
+ font-size: 1.3em;
+ font-weight: normal;
+ margin-top: 0;
+ margin-bottom: 1.2em; }
+ .sidebar-box .more {
+ text-align: right; }
+ .sidebar-box .event-list {
+ list-style: none;
+ padding-left: 0; }
+ .sidebar-box .event-list li {
+ margin-top: 1em; }
+ .sidebar-box .event-list a {
+ display: block; }
+ .sidebar-box .event-list .date {
+ clear: both;
+ float: left;
+ background: #e63612;
+ background-image: url("/static/img/calendar.png");
+ background-repeat: no-repeat;
+ color: #71ece6;
+ width: 5em;
+ height: 4.8em;
+ border-radius: .5em;
+ text-align: center;
+ margin-right: 1em; }
+ .sidebar-box .event-list .date .day {
+ font-size: 2.4em;
+ font-style: italic; }
+ .sidebar-box .event-list .date .mon {
+ font-size: 1.1em;
+ text-transform: uppercase;
+ margin-top: -0.3em; }
+ .sidebar-box .event-list .date:hover {
+ text-decoration: none; }
+ .sidebar-box .event-list .description {
+ color: black;
+ font-size: 1.1em; }
+
+#sidebar-box-categories ul {
+ width: 50%;
+ display: table-cell;
+ list-style: none;
+ padding-left: 0;
+ padding-right: 4em;
+ font-size: 1.4em;
+ padding-right: 3.4em; }
+#sidebar-box-categories .category-taxonomy-topics a {
+ color: #31ada3; }
+#sidebar-box-categories .category-taxonomy-types a {
+ color: #ff6100; }
--- /dev/null
+.sidebar-box {
+ border-top: 1px solid #8a8b85;
+ padding-top: 1.5em;
+ padding-bottom: .9em;
+ clear: both;
+
+ h3 {
+ font-size: 1.3em;
+ font-weight: normal;
+ margin-top: 0;
+ margin-bottom: 1.2em;
+ }
+
+ .more {
+ text-align: right;
+ }
+
+ .event-list {
+ list-style: none;
+ padding-left: 0;
+
+ li {
+ margin-top: 1em;
+ }
+
+ a {
+ display: block;
+ }
+
+ .date {
+ clear: both;
+ float: left;
+ background: #e63612;
+ background-image: url('/static/img/calendar.png');
+ background-repeat: no-repeat;
+ color: #71ece6;
+ width: 5em;
+ height: 4.8em;
+ border-radius: .5em;
+ text-align: center;
+ margin-right: 1em;
+
+ .day {
+ font-size: 2.4em;
+ font-style: italic;
+ }
+ .mon {
+ font-size: 1.1em;
+ text-transform: uppercase;
+ margin-top: -.3em;
+ }
+ }
+
+ .date:hover {
+ text-decoration: none;
+ }
+
+ .description {
+ color: black;
+ font-size: 1.1em;
+ }
+ }
+}
+
+#sidebar-box-categories {
+ ul {
+ width: 50%;
+ display: table-cell;
+ list-style: none;
+ padding-left: 0;
+ padding-right: 4em;
+ font-size: 1.4em;
+ padding-right: 3.4em;
+ }
+ .category-taxonomy-topics a {
+ color: #31ada3;
+ }
+
+ .category-taxonomy-types a {
+ color: #ff6100;
+ }
+}
--- /dev/null
+$(document).ready(function(){
+
+var $slides = $("ul.promobox li");
+var $switchers = $("ul#promobox-switcher li");
+
+var change_slide = function(slide_no) {
+ var $slide = $($slides.get(slide_no));
+ var $switcher = $($switchers.get(slide_no));
+
+ $slides.filter('.active').fadeOut();
+ $slides.filter('.active').removeClass('active');
+ $switchers.filter('.active').removeClass('active');
+ $slide.fadeIn();
+ $slide.addClass('active');
+ $switcher.addClass('active');
+ reset_timeout();
+};
+
+
+$switchers.each(function(i, e) {
+ $(e).click(function(e) {
+ e.preventDefault();
+ change_slide(i);
+ });
+});
+
+
+var timeout = null;
+var cycle_slide = function() {
+ var current = $slides.filter('.active').index();
+ change_slide((current + 1) % $slides.length);
+}
+var reset_timeout = function() {
+ clearTimeout(timeout);
+ timeout = setTimeout(cycle_slide, 5000);
+};
+timeout = setTimeout(cycle_slide, 3000);
+
+
+});
\ No newline at end of file
{% load url from future %}
-{% load i18n %}
+{% load i18n static %}
{% load migdal_tags events_tags %}
{% load compressed %}
-
<html>
<head>
<title>{% trans "Culture's right" %}</title>
</head>
<body>
<div id="body">
+ <!--img src="/static/a.jpg" style="position:absolute; opacity: .5;z-index: 1000;" /-->
<div id="header-bar">
<div class="bar-left">
- <a id="logo" href="{% url "migdal_main" %}">{% trans "Culture's right" %}</a>
+ <a id="logo" href="{% url "migdal_main" %}">
+ <img alt="{% trans "Culture's right" %}"
+ src="{% static "img/logo.png" %}" /></a>
</div>
<div class="bar-right">
- <a id="logo-fnp" href="http://nowoczesnapolska.org.pl">[Logo FNP]</a>
- <a id="logo-osi" href="http://osi">[Logo OSI]</a>
+ <div class="org-fnp">
+ <span>{% trans "Organizer" %}</span><br/>
+ <a href="http://nowoczesnapolska.org.pl">
+ <img src="{% static 'img/logo-fnp.png' %}"
+ alt="{% trans "Modern Poland Foundation" %}" /></a>
+ </div><div class="org-trust">
+ <span>{% trans "Sponsor" %}</span><br/>
+ <a href="http://osi">
+ <img src="{% static 'img/logo-trust.png' %}"
+ alt="{% trans "Trust for Civil Society in Central and Eastern Europe" %}" /></a>
+ </div>
</div>
<div style="clear: both;"></div>
</div>
<div id="menu-bar">
<div class="bar-right">
- <form id="search-form"><input /><button>?</button></form>
+ <form id="search-form"><input /><button>
+ <img src="{% static "img/search.png" %}" alt="{% trans "Search" %}" />
+ </button></form>
</div>
<ul id="menu" class="bar-left">
{% block "main_menu" %}
</div>
</div>
+ <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js" charset="utf-8"></script>
+ {% compressed_js 'base' %}
</body>
</html>
\ No newline at end of file
url(r'^comments/', include('django_comments_xtd.urls')),
) + migdal_urlpatterns
+if settings.DEBUG:
+ urlpatterns += patterns('',
+ url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
+ 'document_root': settings.MEDIA_ROOT,
+ }),
+ )
urlpatterns += staticfiles_urlpatterns()
South>=0.7.4
PIL
sorl-thumbnail>=11.09,<12
+django-pagination
textile
django-markupfield
django-gravatar
django_comments_xtd
-django-pipeline
+django-pipeline>=1.2,<1.3
+
+#pyScss
+#git+git://github.com/Kronuz/pyScss.git@d8f4da23a3c87696a75b3830ed4ab49b75550a93#egg=pyScss
+#TODO: pyScss support, for now just install sass
-e git+https://github.com/toastdriven/django-haystack.git@master#egg=django-haystack
pysolr