django-blogs

Django blogs - module that provide blogs to your django application. - One user blog - Multi blogging system - Blog per user - Safe html in posts - System to manage permissions to read\write\moderate blogs


License
MIT
Install
pip install django-blogs==0.2.0

Documentation

django-blogs

Django blogs is module that provide configurable blogs for Django projects.

Quick overview

  • Using this module, you can implement blogging system in your project.

  • This application allows to configure:
    • One blog (for companies news blog or for personal blog)
    • Multiblogging system (multiple blogs with different topics, for internet societies or instead of forum as more orginized way to share information)
    • Blog-per-user system (each user writes in his own blog, useful for companies when each person has it's own blog)
    • Mix of blog-per-user and blog-per-topic - multiple blogs with specific topic and each user has own blog (Large internet societies, social networks)
  • Post's content is cleaned up to contain only safe html tags. So you can use any JS editor you like (we use http://frol.github.com/prostoEscribir/)

  • Each post can have tease which will be shown at when posts are listed, you can configure how will it be cut and how long it can be.

  • RSS feeds are available for all types of blogs.

Requirements

Optional:

Installation

Django blogs should be installed using pip:

pip install git+git://github.com/ilblackdragon/django-blogs.git

Setup

  • Add 'blog' to INSTALLED_APPS

    INSTALLED_APPS += ( 'blog', )
    
  • Add blog urls to urlpatterns in url.py:

    from blog.feeds import BlogFeedAll, BlogFeedBlog, BlogFeedUser
    
    blogs_feed_dict = {"feed_dict": {
        'all': BlogFeedAll,
        'blog' : BlogFeedBlog,
        'only': BlogFeedUser,
    }}
    
    
    urlpatterns = ('',
        ...
        (r'^blogs/', include('blog.urls')),
        (r'^b/', include('blogs.short_urls')), # For short urls, if you want
        (r'^feeds/posts/(?P<url>\w+)/', 'django.contrib.syndication.views.Feed', blogs_feed_dict), # Rss feeds
        ...
    )
    
  • Copy blog/static/ to your STATIC_URL path

Please, consider templates and css that are in this application - as example how to create your own design. Note, that I use django-themes (https://github.com/ilblackdragon/django-themes) in my templates.

  • Setup database via syncdb or migrations. Note, that if you are not using django-voter, then migrations are not supported.

Configure django-blogs

There are two main settings:

  • BLOG_ENABLE_USER_BLOG - enable user blogs, by default TRUE
  • BLOG_ENABLE_BLOGS - enable multiblogging system, by default TRUE

Additional settings:

  • BLOG_SHORT_POST_MAX_LENGTH - limits to post, that can be without tease, by default - 2048 symbols.
  • BLOG_CUT_MAX_LENGTH - limits to size of cut added, by default - 2048 symbols.
  • BLOG_CUT_TAG and BLOG_CUT_TAG_SYNONYMS are added to help customize tag that is used to cut post on tease and main content. Defaults: '<hr class="redactor_cut">' as main cut tag, and <!--more--> as one synonym.

Contributing

Development of django-blogs happens at github: https://github.com/ilblackdragon/django-blogs

License

Copyright (C) 2013 Illia Polosukhin This program is licensed under the MIT License (see LICENSE)