django-multilingual-news 2.6.9
A reusable Django app for managing news/blog entries in different languages.

Home-page: https://github.com/bitmazk/django-multilingual-news
Author: Tobias Lorenz
Author-email: tobias.lorenz@bitmazk.com
License: The MIT License
Description: Django Multilingual News
        ========================
        
        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.9 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 <http://github.com/bitmazk/django-people/>`_ Person
        - Entry attachments based on the `django-document-library <http://github.com/bitmazk/django-document-library>`_ Document
        - Tagging via `django-multilingual-tags <http://github.com/bitmazk/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 = (
                ...,
                'django_libs',
                'multilingual_news',
                'people',
                'hvad',
                'multilingual_tags',
                'document_library',
        
                # cms related requirements (please check the relevant `documentation <https://github.com/divio/django-cms>`)
                'cms',
                'menus',
                'treebeard',
                
                # filer related requirements (please check the relevant `documentation <https://github.com/divio/django-filer>`)
                'filer',
                'easy_thumbnails',
            )
        
        Run the migrations::
        
            ./manage.py migrate
        
        
        Usage
        -----
        
        Placeholders ("excerpt" and "content")
        ++++++++++++++++++++++++++++++++++++++
        
        To add content to a news entry, you can make use of two cms placeholders. The excerpt is used in list views only. Adding content to a placeholder works pretty much the same like adding content to a cms page. First, create a news entry, then go to its detail view. Use the django cms toolbar to add plugins to the placeholders. For more information visit `Django CMS' documentation <http://docs.django-cms.org/en/latest/introduction/templates_placeholders.html#placeholders>`_.
        
        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.
        
        1. All news ``{% url "news_rss" %}``
        2. News from a specific author ``{% url "news_rss_author" author=author.pk %}``,
           where ``author`` is an instance of a ``people.Person``
        3. 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.
        
        
        Template tags
        -------------
        
        get_recent_news
        +++++++++++++++
        
        To render recent news::
        
            {% load multilingual_news_tags %}
            {% get_recent_news limit=5 as recent_news %}
            {% include "multilingual_news/recent.html" with object_list=recent_news %}
        
        You might want to filter recent news by a category. Just add the relevant
        category slug::
        
            {% get_recent_news category='category-slug' as recent_news %}
        
        If you want to render recent news on a news detail page, you might want to
        exclude the current news from the queryset::
        
            {% get_recent_news exclude=object as recent_news %}
        
        
        get_newsentry_meta_description and get_newsentry_meta_title
        +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        
        To render the best matching title or description from the SEO fields, you can
        use the template tags ``get_newsentry_meta_description`` and
        ``get_newsentry_meta_title``. ::
        
            <title>{% get_newsentry_meta_title entry_instance %}</title>
            <meta name="description" content="{% get_newsentry_meta_description entry_instance %}" />
            
            
        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 Bootstrap js library to your template. If you haven't already 
        
        .. code-block:: html
        
        
            <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
        
        
        Delete confirmation modal
        +++++++++++++++++++++++++
        
        Add the following markup to your template.
        
        .. code-block:: html
        
            {% load static %}
        
            {# add this before 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">&times;</button>
                    </div>
                    <div class="modal-body">
                    </div>
                </div>
            </div>
        
        To trigger the modal, create a link that looks like this.
        
        .. code-block:: html
        
            <a href="{% url "news_delete" pk=news_entry.pk %}" data-class="toggleDeleteModal">Delete</a>
        
        
        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
        
        .. code-block:: bash
        
            # Fork this repository
            # Clone your fork
            mkvirtualenv -p python2.7 django-multilingual-news
            make develop
        
            git co -b feature_branch master
            # Implement your feature and tests
            git add . && git commit
            git push -u origin feature_branch
            # Send us a pull request for your feature branch
        
        In order to run the tests, simply execute ``tox``. This will install two new
        environments (for Django 1.8 and Django 1.9) and run the tests against both
        environments.
        
Keywords: django,news,blog,multilingual,cms
Platform: OS Independent