Skip to main content

A module for Django that allows to build pattern libraries for your projects.

Project description

Django pattern library

PyPI PyPI downloads Travis Total alerts Language grade: Python

A module for Django that helps you to build pattern libraries and follow the Atomic design methodology.

Screenshot of the pattern library UI, with navigation, pattern rendering, and configuration

Objective

At the moment, the main focus is to allow developers and designers use exactly the same Django templates in a design pattern library and in production code.

There are a lot of alternative solutions for building pattern libraries already. Have a look at Pattern Lab and Astrum, for example. But at Torchbox we mainly use Python and Django and we find it hard to maintain layout on big projects in several places: in a project's pattern library and in actual production code. This is our attempt to solve this issue and reduce the amount of copy-pasted code.

Documentation

Documentation is located here.

How to install

  1. Add pattern_library into your INSTALLED_APPS:

    INSTALLED_APPS = [
        # ...
    
        'pattern_library',
    
        # ...
    ]
    
  2. Add pattern_library.loader_tags into the TEMPLATES setting. For example:

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
                'builtins': ['pattern_library.loader_tags'],
            },
        },
    ]
    

    Note that this module only supports the Django template backend out of the box.

  3. Set the PATTERN_LIBRARY_TEMPLATE_DIR setting to point to a template directory with your patterns:

    PATTERN_LIBRARY_TEMPLATE_DIR = os.path.join(BASE_DIR, 'project_styleguide', 'templates')
    

    Note that PATTERN_LIBRARY_TEMPLATE_DIR must be available for template loaders.

  4. Include pattern_library.urls into your urlpatterns. Here's an example urls.py:

    from django.apps import apps
    from django.conf.urls import url, include
    
    
    urlpatterns = [
        # ... Your URLs
    ]
    
    if apps.is_installed('pattern_library'):
        urlpatterns += [
            url(r'^pattern-library/', include('pattern_library.urls')),
        ]
    

Developer docs

Developer docs can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-pattern-library-0.2.8.tar.gz (53.2 kB view details)

Uploaded Source

Built Distribution

django_pattern_library-0.2.8-py3-none-any.whl (54.1 kB view details)

Uploaded Python 3

File details

Details for the file django-pattern-library-0.2.8.tar.gz.

File metadata

  • Download URL: django-pattern-library-0.2.8.tar.gz
  • Upload date:
  • Size: 53.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.3 CPython/2.7.9 Darwin/17.7.0

File hashes

Hashes for django-pattern-library-0.2.8.tar.gz
Algorithm Hash digest
SHA256 4fa707f18e8c675faa606557fcfb0c10d11a58b3f5c25d45d1f5480c58b448a7
MD5 22d13e282023297ec2aad3ed74ee4a9f
BLAKE2b-256 c3833f50712b8a0fdb3d942333b48d32718ef67042dc9b308ccae02295ddb0a2

See more details on using hashes here.

File details

Details for the file django_pattern_library-0.2.8-py3-none-any.whl.

File metadata

File hashes

Hashes for django_pattern_library-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 cbf94ca519f42c6adb2e13237ebb74c334779b5f6bb8a6977290bec526cfc1cf
MD5 35b86df79ff3a100617e3afe79af7080
BLAKE2b-256 3478e39de5a6c50e85ed1cdf25b7d758b571f6e058fe2c182c8c5346e039183e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page