Metadata-Version: 1.0
Name: django-fiber
Version: 0.9.4.4
Summary: Django Fiber - a simple, user-friendly CMS for all your Django projects
Home-page: https://github.com/ridethepony/django-fiber
Author: Dennis Bunskoek
Author-email: dbunskoek@leukeleu.nl
License: Apache License, Version 2.0
Download-URL: https://github.com/ridethepony/django-fiber/zipball/master
Description: ============
        Django Fiber
        ============
        
        Do you want to see a Django Fiber screencast, to get a feel for what it can do for you? Check it out here:
        http://vimeo.com/ridethepony/django-fiber
        
        Or, if you want to quickly try out Django Fiber on your machine, install the Django Fiber example project:
        https://github.com/ridethepony/django-fiber-example
        
        Convinced? Want to use Django Fiber in your own Django project? Follow the instructions below:
        
        
        Installation:
        =============
        
        ::
        
        $ pip install django-fiber
        
        
        Requirements:
        =============
        
        These dependencies are automatically installed:
        
        ::
        
        django-mptt>=0.4.2
        django-piston==0.2.3rc1
        beautifulsoup>=3.2.0
        PIL>=1.1.7
        django-staticfiles>=1.0.1
        django-compressor>=0.7.1
        
        Optionally, you may need:
        
        ::
        
        textile>=2.1.5
        South>=0.7.3
        
        
        Settings:
        =========
        
        settings.py
        -----------
        
        ::
        
        MIDDLEWARE_CLASSES = (
        ...
        'fiber.middleware.ObfuscateEmailAddressMiddleware',
        'fiber.middleware.AdminPageMiddleware',
        'fiber.middleware.PageFallbackMiddleware',
        ...
        )
        
        TEMPLATE_CONTEXT_PROCESSORS = (
        ...
        'django.core.context_processors.request',
        'staticfiles.context_processors.static_url',
        'fiber.context_processors.page_info',
        ...
        )
        
        INSTALLED_APPS = (
        ...
        'mptt',
        'staticfiles',
        'compressor',
        'fiber',
        ...
        )
        
        import os
        BASE_DIR = os.path.abspath(os.path.dirname(__file__))
        
        STATIC_ROOT = os.path.join(BASE_DIR, 'static')
        STATIC_URL = '/static/'
        STATICFILES_FINDERS = (
        'staticfiles.finders.FileSystemFinder',
        'staticfiles.finders.AppDirectoriesFinder',
        'compressor.finders.CompressorFinder',
        )
        
        
        Optional settings:
        ==================
        
        These settings are optional (default values are shown)::
        
        FIBER_DEFAULT_TEMPLATE = 'base.html'
        FIBER_TEMPLATE_CHOICES = []
        
        FIBER_EXCLUDE_URLS = []
        
        FIBER_IMAGES_DIR = 'uploads/images'
        FIBER_FILES_DIR = 'uploads/files'
        
        FIBER_METADATA_PAGE_SCHEMA = {}
        FIBER_METADATA_CONTENT_SCHEMA = {}
        
        COMPRESS = [the opposite of DEBUG]
        
        
        urls.py
        -------
        
        ::
        
        from django.conf import settings
        
        urlpatterns = patterns('',
        ...
        (r'^api/v1/', include('fiber.api.urls')),
        (r'^admin/fiber/', include('fiber.admin_urls')),
        (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', {'packages': ('fiber',),}),
        ...
        )
        
        if settings.DEBUG:
        urlpatterns += patterns('staticfiles.views',
        url(r'^static/(?P<path>.*)$', 'serve'),
        )
        
        
        Post-installation:
        ==================
        
        Create database tables::
        
        $ python manage.py syncdb
        
        All static Fiber files need to be symlinked in (or copied to) your media folder::
        
        $ python manage.py collectstatic --link
        
        
        Usage:
        ======
        
        At the beginning of your template(s), load the Fiber template tags::
        
        {% load fiber_tags %}
        
        Using the Fiber template tags, you can:
        
        - write out content items, that either
        
        - have a specified name
        - are linked to a specific location on the current page
        - are linked to a specific location on another page
        
        - write out valid XHTML menu structures
        
        - of pages below a named root page (this is the menu name),
        - limited to a minimum and maximum level (depth),
        - that mark the currently active page,
        - optionally expanding all descendants of the currently active page,
        - with all possible css hooks you could ever need
        
        
        Content items
        -------------
        
        You can write out content items with the 'show_content' and 'show_page_content' template tags::
        
        {% show_content "content_item_name" %}
        {% show_page_content "block_name" %}
        {% show_page_content other_page "block_name" %}
        
        Examples
        ........
        
        This shows content item named 'address'::
        
        {% show_content "address" %}
        
        This shows content items that are linked to the location named 'content' on the current page::
        
        {% show_page_content "content" %}
        
        This shows content items that are linked to the location named 'content' on another page 'other_page'::
        
        {% show_page_content other_page "content" %}
        
        
        Menus
        -----
        
        You can write out menus with the 'show_menu' template tag::
        
        {% show_menu "menu_name" min_level max_level ["all_descendants / all"] %}
        
        The menu name refers to a top-level node in the page tree.
        
        Examples
        ........
        
        The examples below assume the pages are structured like this:
        
        - mainmenu
        
        - Home
        - About us
        
        - Mission
        - Our people
        
        - Products
        
        - Product A
        
        - Testimonials
        - Downloads
        
        - Technical data sheet
        - User manual
        
        - Product B
        
        - Downloads
        
        - Product C
        
        - Downloads
        
        - Contact
        
        - Newsletter
        - Directions
        
        - generalmenu
        
        - Disclaimer
        - Privacy statement
        
        Main menu
        .........
        
        Show first and second level pages, below the root page named 'mainmenu'::
        
        {% show_menu "mainmenu" 1 2 %}
        
        When the user is currently visiting the 'Home' page, this will show (current pages are bold):
        
        - **Home**
        - About us
        - Products
        - Contact
        
        When the user is currently visiting the 'Products' page, this will show:
        
        - Home
        - About us
        - **Products**
        
        - Product A
        - Product B
        - Product C
        
        - Contact
        
        As you can see, the sub pages of the currently active 'Products' page are automatically expanded.
        
        When the user is currently visiting the 'Product A' page, this will show:
        
        - Home
        - About us
        - **Products**
        
        - **Product A**
        - Product B
        - Product C
        
        - Contact
        
        The sub pages of the 'Product A' page are not shown, because they are outside of the specified minimum and maximum levels.
        
        Sub menu
        ........
        
        Show pages from level 3 to 5, below the root page named 'mainmenu', and also show all descendants of the currently active page::
        
        {% show_menu "mainmenu" 3 5 "all_descendants" %}
        
        When the user is currently visiting the 'Home' page, this will show an empty menu, since it cannot be determined what level 3 pages are currently active.
        
        However, when the user is currently visiting the 'Product A' page, this will show:
        
        - **Product A**
        
        - Testimonials
        - Downloads
        
        - Technical data sheet
        - User manual
        
        - Product B
        - Product C
        
        Notice that all pages below the currently active 'Product A' page are expanded because of the 'all_descendants' parameter.
        
        Sitemap
        .......
        
        Show all pages, with all pages expanded::
        
        {% show_menu "mainmenu" 1 999 "all" %}
        {% show_menu "generalmenu" 1 999 "all" %}
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Framework :: Django
