A reusable Django app for managing news/blog entries in different languages.
Project description
A reusable Django app for managing news/blog entries in different languages.
Comes with a django-cms apphook and has been prepared using Django 1.5.1 and django-cms 2.4.1. From version 2.0 onwards it is tested and developed further on Django 1.6.2 and django-cms 3.
This app is based on the great https://github.com/fivethreeo/cmsplugin-blog and re-used some of it’s snippets.
Current features include
Entry authors based on a django-people Person
Entry attachments based on the django-document-library Document
Tagging via django-multilingual-tags with a tag based archive view
Entry categories
RSS Feeds for all news entries, just special authors or tag based.
Site maps
SEO fields on the Entry for storing custom individual meta descriptions and titles.
Installation
If you want to install the latest stable release from PyPi:
$ pip install django-multilingual-news
If you feel adventurous and want to install the latest commit from GitHub:
$ pip install -e git://github.com/bitmazk/django-multilingual-news.git#egg=multilingual_news
Add multilingual_news to your INSTALLED_APPS:
INSTALLED_APPS = ( ..., 'multilingual_news', 'people', 'hvad', 'multilingual_tags', )
Run the South migrations:
./manage.py migrate multilingual_news
Twitter Bootstrap 3
List of Bootstrap compatible features:
A delete confirmation modal for deleting news entries.
For support of the Twitter Bootstrap 3 functionality, you need to add the library to your template.
<script type="text/javascript" src="{% static "multilingual_news/js/multilingual_news.bootstrap.js" %}"></script>
Delete confirmation modal
Add the following markup to your template.
{% load static %}
{# add this before multilingual_news.bootstrap.js #}
<script type="text/javascript" src="{% static "django_libs/js/modals.js" %}"></script>
<div id="ajax-modal" class="modal fade" tabindex="-1">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
</div>
</div>
</div>
To trigger the modal, create a link that looks like this.
<a href="{% url "news_delete" pk=news_entry.pk %}" data-class="toggleDeleteModal">Delete</a>
Usage
Using the apphook
Simply create a django-cms page and select Multilingual News Apphook in the Application field of the Advanced Settings.
Sitemaps
To add a sitemap of your blog, add the following to your urlconf:
from multilingual_news.sitemaps import NewsSitemap urlpatterns += patterns( '', url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', { 'sitemaps': { 'blogentries': NewsSitemap, }, }), )
RSS Feeds
The app provides three different types of feeds, you can link to.
All news {% url "news_rss" %}
News from a specific author {% url "news_rss_author" author=author.pk %}, where author is an instance of a people.Person
All news {% url "news_rss_tagged" tag=tag.slug %}, where Tag is an instance of a multilingual_tags.Tag.
Tagging
You can simply add tags for a news entry from the NewsEntry admin page, which renders an inline form at the bottom.
Settings
NEWS_PAGINATION_AMOUNT
Default: 10
Amount of news entries to display in the list view.
Contribute
If you want to contribute to this project, please perform the following steps:
# Fork this repository # Clone your fork $ mkvirtualenv -p python2.7 django-multilingual-news $ pip install -r requirements.txt $ ./logger/tests/runtests.sh # You should get no failing tests $ git co -b feature_branch master # Implement your feature and tests # Describe your change in the CHANGELOG.txt $ git add . && git commit $ git push origin feature_branch # Send us a pull request for your feature branch
Whenever you run the tests a coverage output will be generated in tests/coverage/index.html. When adding new features, please make sure that you keep the coverage at 100%.
Roadmap
Check the issue tracker on github for milestones and features to come.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-multilingual-news-2.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2914f3377177be74fc2abf15f24a6f0ef48892f4d059512d09250c174e375d5 |
|
MD5 | d8d31fb6f61bbb1c600dc07b18fcb10d |
|
BLAKE2b-256 | 558d8747dc509b6589d08269914a55cd0395c98546cf9af53ead3096fd549b17 |