Merge branch 'blog' of github.com:yakky/dynamicweb into feature/digital-glarus-blog

This commit is contained in:
rascencio 2015-09-25 22:03:27 -06:00
commit 432689999a
7 changed files with 150 additions and 0 deletions

View file

@ -0,0 +1,13 @@
{% extends "digitalglarus/base.html" %}
{% block meta %}
{% if meta %}
{% include "meta_mixin/meta.html" %}
{% endif %}
{% endblock meta %}
{% block content %}
<div class="app app-blog span8">
{% block content_blog %}{% endblock %}
</div>
{% endblock content %}

View file

@ -0,0 +1,22 @@
{% load i18n thumbnail %}
<article id="post-{{ post.slug }}" class="post-item">
<header>
<h3><a href="{% url 'digitalglarus:blog-detail' post.slug %}">{{ post.title }}</a></h3>
{% block blog_meta %}
{% include "glarus_blog/includes/blog_meta.html" %}
{% endblock %}
</header>
{% if image and post.main_image %}
<div class="blog-visual">
{% thumbnail post.main_image post.thumbnail_options.size crop=post.thumbnail_options.crop upscale=post.thumbnail_options.upscale subject_location=post.main_image.subject_location as thumb %}
<img src="{{ thumb.url }}" alt="{{ post.main_image.default_alt_text }}" width="{{ thumb.width }}" height="{{ thumb.height }}" />
</div>
{% endif %}
<div class="blog-lead">
{{ post.abstract| safe }}
</div>
<footer class="read-more">
<a href="{% url 'digitalglarus:blog-detail' post.slug %}">{% trans "read more" %} &raquo;</a>
</footer>
</article>

View file

@ -0,0 +1,26 @@
{% load i18n thumbnail %}
<ul class="post-detail">
{% if post.author %}
<li>
{% trans "by" %} <a href="{% url 'djangocms_blog:posts-author' post.author.get_username %}">{% if post.author.get_full_name %}{{ post.author.get_full_name }}{% else %}{{ post.author }}{% endif %}</a>
</li>
{% endif %}
<li>
{{ post.date_published|date:"DATE_FORMAT" }}
</li>
</ul>
<ul class="post-detail tags">
{% if post.categories.exists %}
{% for category in post.categories.all %}
{% if category.slug %}
<li class="category_{{ forloop.counter }}"><a href="{% url 'djangocms_blog:posts-category' category=category.slug %}" class="blog-categories-{{ category.count }}">{{ category.name }}</a>{% if not forloop.last %}, {% endif %}</li>
{% endif %}
{% endfor %}
{% endif %}
{% if post.tags.exists %}
{% for tag in post.tags.all %}
<li class="tag_{{ forloop.counter }}"><a href="{% url 'djangocms_blog:posts-tagged' tag=tag.slug %}" class="blog-tag blog-tag-{{ tag.count }}">{{ tag.name }}</a>{% if not forloop.last %}, {% endif %}</li>
{% endfor %}
{% endif %}
</ul>

View file

@ -0,0 +1,26 @@
{% extends "glarus_blog/base.html" %}
{% load i18n thumbnail cms_tags %}
{% block meta_description %}{{ post.meta_description }}{% endblock meta_description %}
{% block meta_keywords %}{{ post.meta_keywords }}{% endblock meta_keywords %}
{% block canonical_url %}<link rel="canonical" href="{{ SITE.domain }}{{ view.get_view_url }}"/>{% endblock canonical_url %}
{% block title %}{{ post.get_title }}{% endblock %}
{% block content_blog %}{% spaceless %}
<article id="post-{{ post.slug }}" class="post-item post-detail">
<header>
<h2>{{ post.title }}</h2>
{% block blog_meta %}
{% include "glarus_blog/includes/blog_meta.html" %}
{% endblock %}
</header>
{% if post.main_image_id %}
<div class="blog-visual">
{% thumbnail post.main_image post.full_image_options.size crop=post.full_image_options.crop upscale=post.full_image_options.upscale subject_location=post.main_image.subject_location as thumb %}
<img src="{{ thumb.url }}" alt="{{ post.main_image.default_alt_text }}" width="{{ thumb.width }}" height="{{ thumb.height }}" />
</div>
{% endif %}
{% endspaceless %}
<div class="blog-content">{% render_placeholder post.content %}</div>
</article>
{% endblock content_blog %}

View file

@ -0,0 +1,41 @@
{% extends "glarus_blog/base.html" %}
{% load i18n thumbnail %}{% spaceless %}
{% block canonical_url %}<link rel="canonical" href="{{ SITE.domain }}{{ view.get_view_url }}"/>{% endblock canonical_url %}
{% block content_blog %}
<section class="blog-list">
{% block blog_title %}
<header>
<h2>
{% if author %}{% trans "Articles by" %} {{ author.get_full_name }}
{% elif archive_date %}{% trans "Archive" %} &ndash; {% if month %}{{ archive_date|date:'F' }} {% endif %}{{ year }}
{% elif tagged_entries %}{% trans "Tag" %} &ndash; {{ tagged_entries|capfirst }}
{% elif category %}{% trans "Category" %} &ndash; {{ category }}{% endif %}
</h2>
</header>
{% endblock %}
{% for post in post_list %}
{% include "glarus_blog/includes/blog_item.html" with post=post image="true" TRUNCWORDS_COUNT=TRUNCWORDS_COUNT %}
{% empty %}
<p class="blog-empty">{% trans "No article found." %}</p>
{% endfor %}
{% if author or archive_date or tagged_entries %}
<p class="blog-back"><a href="{% url 'djangocms_blog:posts-latest' %}">{% trans "Back" %}</a></p>
{% endif %}
{% if is_paginated %}
<nav class="{% firstof css_grid instance.css_grid %} pagination">
{% if page_obj.has_previous %}
<a href="?{{ view.page_kwarg }}={{ page_obj.previous_page_number }}">&laquo; {% trans "previous" %}</a>
{% endif %}
<span class="current">
{% trans "Page" %} {{ page_obj.number }} {% trans "of" %} {{ paginator.num_pages }}
</span>
{% if page_obj.has_next %}
<a href="?{{ view.page_kwarg }}={{ page_obj.next_page_number }}">{% trans "next" %} &raquo;</a>
{% endif %}
</nav>
{% endif %}
</section>
{% endblock %}
{% endspaceless %}

View file

@ -8,4 +8,6 @@ urlpatterns = [
url(r'contact$', views.contact, name='contact'),
url(r'letscowork$', views.letscowork, name='letscowork'),
url(r'home$', views.home, name='home'),
url(r'blog/$', views.blog, name='blog'),
url(r'^blog/(?P<slug>\w[-\w]*)/$', views.blog_detail, name='blog-detail'),
]

View file

@ -4,6 +4,8 @@ from django.shortcuts import get_object_or_404, render
from django.forms import ModelForm
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.utils.translation import get_language
from djangocms_blog.models import Post
from .models import Message
@ -55,3 +57,21 @@ def contact(request):
}
return render(request, 'digitalglarus/contact.html', context)
def blog(request):
tags = ["glarus"]
posts = Post.objects.filter(tags__name__in=tags)
context = {
'post_list': posts,
}
return render(request, 'glarus_blog/post_list.html', context)
def blog_detail(request, slug):
language = get_language()
post = Post.objects.translated(language, slug=slug).language(language).get()
context = {
'post': post,
}
return render(request, 'glarus_blog/post_detail.html', context)