Skip to content
Browse files

initial documentation rework

  • Loading branch information...
1 parent b663fd0 commit 14a66408c87b2da7001ce8bd02c466ee31aa4a6b @schmidsi schmidsi committed Sep 20, 2011
Showing with 121 additions and 214 deletions.
  1. +0 −107 README.md
  2. +61 −0 README.rst
  3. +11 −0 docs/extensions.rst
  4. +14 −9 docs/index.rst
  5. +34 −40 docs/installation.rst
  6. +0 −50 docs/overview.rst
  7. +0 −7 elephantblog/models.py
  8. +1 −1 setup.py
View
107 README.md
@@ -1,107 +0,0 @@
-A full featured blog for FeinCMS
-================================
-
-Elephantblog is easy to add to FeinCMS and has the following features:
-
-* Disqus integration for comments
-* Pings for new entries
-* Pretty URLs
-* Categories
-* Tagging (optional)
-* RSS Feed creation
-* Multilingual (optional)
-* Time based publishing
-* Advanced time based publishing (optional)
-* Pingback and Trackback support (optional)
-* Spam protection
-* Admin interface similar to FeinCMS Pages
-* Additional content type widgets for the Page module
-
-The app is dependent on external django apps. The following apps are required:
-
-* [feincms](http://github.com/matthiask/feincms) (obviously)
-* [pinging](http://github.com/matthiask/pinging)
-* [django-disqus](http://github.com/arthurk/django-disqus)
-
-The following apps are optional but recommended:
-
-* Django-tagging
-* Django-trackback
-
-Note that all comments are managed by Disqus. They are not stored on your
-server. It is possible to download them as JSON object from the disqus website.
-
-Optional Functions:
-Tagging
-Allows to add tags to your entries. Tags can be separated by commas or spaces.
-This function needs to be added as extension and as app.
-
-Trackback
-Allows automatic inter-blog communication. Lets you know when someone posted
-something about your entry on a different website.
-
-Translations
-If your blog has entries in different languages, use this extension.
-
-Datepublisher
-Lets you set an expiration date to your entries. This is an extension as well.
-
-
-Installation:
-
-You need a Disqus account: http://www.disqus.com/
-
-Copy the elephantblog dir into your project directory.
-Add 'elephantblog' , 'disqus' and 'pinging' to your INSTALLED_APPS in your settings.py
-Optionally add 'tagging' and 'trackback' as well.
-
-
-Add the following lines to settings.py:
-
-<pre><code>
-PINGING_WEBLOG_NAME = '<your blog name>'
-PINGING_WEBLOG_URL = '<your blog url>'
-DISQUS_API_KEY = '<api key>'
-DISQUS_WEBSITE_SHORTNAME = '<Disqus website shortname>'
-</code></pre>
-
-In your application/models.py register the blog module and content types:
-
-<pre><code>
-from feincms.content.richtext.models import RichTextContent
-from feincms.content.medialibrary.v2 import MediaFileContent
-from feincms.content.video.models import VideoContent
-from elephantblog.models import Entry
-Entry.register_extensions('translations', 'tags', 'datepublisher')
-Entry.create_content_type(RichTextContent)
-Entry.create_content_type(MediaFileContent, TYPE_CHOICES=(
- ('default', 'default'),
- ))
-Entry.create_content_type(VideoContent)
-</code></pre>
-
-Add the following lines to your urls.py:
-
-<pre><code>
-# Elephantblog urls
-urlpatterns += patterns('',
- url(r'^blog/', include('elephantblog.urls')),
-)
-</code></pre>
-
-run manage.py syncdb.
-
-
-Pinging:
-
-The Pinging app uses the management command manage.py blogping to generate the
-pings for the search engines. Set it up to run as a cron job.
-
-Here is a list of servers that can be used for pinging:
-http://www.netlupe.de/2006/08/18/url-zum-pingen-blog-n-ping-urls/
-
-
-
-
-
-
View
61 README.rst
@@ -0,0 +1,61 @@
+=========================================================
+ElephantBlog - An extensible Blog Module based on FeinCMS
+=========================================================
+
+Every Django Developer has written its own Django-based blog. But most of them have a lot
+of features, that you'll never use and never wanted to, or they are just too simple for your
+needs, so you'll be quicker writing your own.
+
+Following the principles of FeinCMS, ElephantBlog tries to offer simple and basic blog
+functionality, but remains to be extensible so that you just pick what you need. And if
+you don't find an extension, you can quickly write your own and integrate it to ElephantBlog.
+
+
+How it works:
+=============
+
+Basically, ElephantBlog just use what FeinCMS already has in a blog way. A blog way means:
+Multiple entries in a timeline. One blogentry is simmilar to a FeinCMS Page: It can have
+multiple content types and some meta informations like title, slug, publishing date, ...
+
+If you need more, like comments, tagging, pinging, categories, translations, you name it,
+then you can use the bundled extensions or write your own ones. (and please don't forget
+to publish your extensions back to the community).
+
+And obviously, ElephantBlog can also be integrated as application content in your existing
+FeinCMS Site. But if you want to run a blog only, then you don't have to activate FeinCMS Page
+Module.
+
+
+Features:
+=========
+
+The biggest feature may be is, that there are only a few features, but it can be extended:
+
+* Pretty URLs
+* Feed creation
+* Timebased Publishing
+* Based on FeinCMS Item Editor with the ability to integrate all of those FeinCMS content types
+
+
+Bundled extensions:
+-------------------
+
+You can, if you want, activate those extensions:
+
+* Disqus comments
+* Pinging
+* Categories
+* Multilingual support
+* Pingback & Trackback support
+* ... (more to come, say your wishes!)
+
+
+Getting started:
+================
+
+If you are not familiar with FeinCMS, then you probably want to learn more about FeinCMS:
+http://feincms.org
+
+Read the docs: http://feincms-elephantblog.readthedocs.org/en/latest/
+Read the source: https://github.com/feincms/feincms-elephantblog
View
11 docs/extensions.rst
@@ -0,0 +1,11 @@
+.. _extensions:
+
+
+Pinging
+-------
+
+The Pinging app uses the management command manage.py blogping to generate the pings for the search engines. Set it up to run as a cron job.
+
+Here is a list of servers that can be used for pinging: `<http://www.netlupe.de/2006/08/18/url-zum-pingen-blog-n-ping-urls/>`_
+
+
View
23 docs/index.rst
@@ -1,19 +1,24 @@
-.. Elephantblog documentation master file, created by
- sphinx-quickstart on Sun Feb 13 16:41:49 2011.
- You can adapt this file completely to your liking, but it should at least
- contain the root `toctree` directive.
+=========================================================
+ElephantBlog - An extensible Blog Module based on FeinCMS
+=========================================================
+
+Every Django Developer has written its own Django-based blog. But most of them have a lot
+of features, that you'll never use and never wanted to, or they are just too simple for your
+needs, so you'll be quicker writing your own.
+
+Following the principles of FeinCMS, ElephantBlog tries to offer simple and basic blog
+functionality, but remains to be extensible so that you just pick what you need. And if
+you don't find an extension, you can quickly write your own and integrate it to ElephantBlog.
-===============================================
-Elephantblog - A versatile blog app for FeinCMS
-===============================================
Contents:
+=========
.. toctree::
- :maxdepth: 2
+ :maxdepth: 1
- overview
installation
+ extensions
Indices and tables
==================
View
74 docs/installation.rst
@@ -4,39 +4,42 @@
Installation instructions
=========================
-Installation
+
+Requirements
============
-You can sign up for a Disqus account at: `http://www.disqus.com/`
+ElephantBlog needs at least:
+* Django v1.4 (get it here: https://github.com/django/django)
+* FeinCMS v1.5 (get it here: https://github.com/feincms/feincms)
-Copy the elephantblog dir into your project directory.
-Add 'elephantblog' , 'disqus' and 'pinging' to your INSTALLED_APPS in your settings.py
-Optionally add 'tagging' and 'trackback' as well.
-.. note::
+Installation
+============
- Disqus is not required. If you are not using it, remove the disqus tags in the template.
+* At this time, there is no prebundled installation file to install via pip or easy_install. So get
+the source at: https://github.com/feincms/feincms-elephantblog/
+* Make sure to add the ``elephantblog`` to your python path.
+* Add ``elephantblog`` to your ``INSTALLED_APPS`` in your settings.py
+In your ``application/models.py`` register the blog module and content types::
-Add the following lines to settings.py::
+ from feincms.content.richtext.models import RichTextContent
- PINGING_WEBLOG_NAME = '<your blog name>'
- PINGING_WEBLOG_URL = '<your blog url>'
- DISQUS_API_KEY = '<api key>'
- DISQUS_WEBSITE_SHORTNAME = '<Disqus website shortname>'
+ from elephantblog.models import Entry
+ Entry.register_regions(
+ ('main', _('Main content area')),
+ )
+ Entry.create_content_type(RichTextContent, cleanse=False, regions=('main'))
-In your application/models.py register the blog module and content types::
- from feincms.content.richtext.models import RichTextContent
- from feincms.content.medialibrary.models import MediaFileContent
- from feincms.content.video.models import VideoContent
- from elephantblog.models import Entry as Elephantentry
- Elephantentry.register_extensions('translations', 'tags', 'datepublisher')
- Elephantentry.create_content_type(RichTextContent)
- MediaFileContent.default_create_content_type(Elephantentry)
- Elephantentry.create_content_type(VideoContent)
+.. note::
+ Of course, you can create all of the content types, that you have for your FeinCMS Page.
+
+
+Integrating Standalone:
+-----------------------
Add the following lines to your urls.py::
@@ -46,35 +49,26 @@ Add the following lines to your urls.py::
url(r'^blog/', include('elephantblog.urls')),
)
-.. note::
- When using the blog within an application content use the url file 'appcontenturls.py'.
+run ``manage.py syncdb``.
-run manage.py syncdb.
FeinCMS Integration as ApplicationContent
-----------------------------------------
You can easily add the blog to your FeinCMS Page based app.
-Just import and add the ApplicationContent to your Page object.
-
- from feincms.content..application.models import ApplicationContent
-
- # init your Page object here
-
- Page.create_content_type(ApplicationContent, APPLICATIONS=(
- ('elephantblog.urls', 'Blog'),
- ))
-
-Elephantblog also provides a navigation extension for FeinCMS.
-Just make sure you have registered the 'navigation' extension on your Page object.
+Just import and add the ApplicationContent to your Page object::
+
+ from feincms.content.application.models import ApplicationContent
-Pinging
--------
+ # init your Page object here
-The Pinging app uses the management command manage.py blogping to generate the pings for the search engines. Set it up to run as a cron job.
+ Page.create_content_type(ApplicationContent, APPLICATIONS=(
+ ('elephantblog.urls', 'Blog'),
+ ))
-Here is a list of servers that can be used for pinging: `<http://www.netlupe.de/2006/08/18/url-zum-pingen-blog-n-ping-urls/>`_
+Elephantblog also provides a navigation extension for FeinCMS.
+Just make sure you have registered the 'navigation' extension on your Page object.
View
50 docs/overview.rst
@@ -1,50 +0,0 @@
-.. _overview:
-
-========
-Overview
-========
-
-A full featured blog for FeinCMS
-================================
-
-Elephantblog is easy to add to FeinCMS and has the following features:
-
-* Disqus integration for comments
-* Pings for new entries
-* Pretty URLs
-* Categories
-* Tagging (optional)
-* RSS Feed creation
-* Multilingual (optional)
-* Time based publishing
-* Advanced time based publishing (optional)
-* Pingback and Trackback support (optional)
-* Spam protection
-* Admin interface similar to FeinCMS Pages
-* Additional content type widgets for the Page module
-
-The app is dependent on external django apps. The following apps are required:
-
-* feincms: `<http://github.com/matthiask/feincms>`_ (obviously)
-* pinging: `<http://github.com/matthiask/pinging>`_
-* django-disqus: `<http://github.com/arthurk/django-disqus>`_
-
-The following apps are optional but recommended:
-
-* Django-tagging
-* Django-trackback
-
-Note that all comments are managed by Disqus. They are not stored on your server. It is possible to download them as JSON object from the disqus website.
-
-Optional Functions:
-Tagging
-Allows to add tags to your entries. Tags can be separated by commas or spaces. This function needs to be added as extension and as app.
-
-Trackback
-Allows automatic inter-blog communication. Lets you know when someone posted something about your entry on a different website.
-
-Translations
-If your blog has entries in different languages, use this extension.
-
-Datepublisher
-Lets you set an expiration date to your entries. This is an extension as well.
View
7 elephantblog/models.py
@@ -1,10 +1,3 @@
-"""
-You need the following modules to use this blog:
-Disqus: http://github.com/arthurk/django-disqus
-Pinging: http://github.com/matthiask/pinging
-Tagging: http://code.google.com/p/django-tagging/
-"""
-
from datetime import datetime
from django.contrib import admin
View
2 setup.py
@@ -10,7 +10,7 @@
setup(name='feincms-elephantblog',
version=elephantblog.__version__,
description='A blog for FeinCMS',
- long_description=open(os.path.join(os.path.dirname(__file__), 'README.md')).read().decode('utf-8'),
+ long_description=open(os.path.join(os.path.dirname(__file__), 'README.rst')).read().decode('utf-8'),
author='Simon Bächler',
author_email='sb@feinheit.ch',
url='https://github.com/sbaechler/feincms-elephantblog/',

0 comments on commit 14a6640

Please sign in to comment.
Something went wrong with that request. Please try again.