Blueshoe / djangocms-layouter

django CMS Layouter is a plugin for Django CMS which aims to provide a grid system for authors and editors with a high ease of use and comprehensibility.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Django-CMS Layouter

Code analysis status

Django-CMS Layouter is a plugin for Django CMS which aims to provide a grid system for authors and editors with a high ease of use and comprehensibility. It is leveraging Bootstrap (version 3 and 4 supported) as it is a very popular framework to create responsive websites.

https://raw.githubusercontent.com/Blueshoe/djangocms-layouter/master/layouter.gif

Documentation

Please feel free to contribute and help us to improve Django-CMS Layouter.

Installation and Configuration

Django-CMS Layouter supports Django-CMS>=3.4. It may work with any older version.

  • Install via pip: pip install djangocms-layouter.
  • Add layouter to INSTALLED_APPS.
  • Add url(r'^layouter/', include('layouter.urls', namespace='layouter'), ) to your url config
  • Run migrations: python manage.py migrate layouter.
  • Set the setting LAYOUTER_BOOTSTRAP_VERSION to 3 or 4.
  • Done.

Please note: Migrations are generated each release. If you checkout the current state of development migrations might be missing.

Static files

The required CSS and JavaScript files are added to the sekizai blocks css and js. If you don't use these blocks, you need to manually add the static files:

  • layouter/css/layouter.css
  • layouter/js/layouter.js

Both are only required when the toolbar is in edit_mode.

Features

These are the core features of Django-CMS Layouter:

  • Flat tree in structure mode
  • Automatic arrangement of columns, for different screen sizes
  • Warning, due to too many plugins, in structure mode
  • Optional equal height for columns (uses CSS3 flexbox)
  • Toggle grid - show and hide grid in content mode

Migrating to Django>=2

There is not much you need to do. Just run update and python manage.py migrate.

ToDo's

No software is perfect, everyone's code sucks. Feel free to suggest, criticize and/or contribute.

Dynamic Warning Updates - Dragging and Dropping in the structure view does not update the warnings within the plugin.

Add support for Divio Cloud - Adding support for the Divio Cloud, so that the Layouter is installable via Divio Cloud control panel.

Author / Editor Documentation - IMHO this is one of the things Django-CMS lacks. We need more and better resources for authors and editors. Not only for Django-CMS, this plugin needs it to, for sure.

Advanced Mode - Not completely sure what it should look like. The current implementation is very limited when it comes to adapting columns for different screen sizes or using more than 4 columns. It currently is completely defined by this plugin, which can be good, but does not have to be. Some users want the plugin to take care, others want to control the behaviour themselves.

Tests - There should be something like casper.js tests, maybe there is something better.

About

django CMS Layouter is a plugin for Django CMS which aims to provide a grid system for authors and editors with a high ease of use and comprehensibility.

License:MIT License


Languages

Language:Python 49.7%Language:HTML 42.1%Language:CSS 5.4%Language:JavaScript 2.8%