Display menus based on the HTML structure of the pages
Project description
# djangocms-local-navigation
This package provides a DjangoCMS plugin that displays a menu based on the
structure of the current page. You can for example create a local menu that is
based on all the h2 elements on your page.
## Installation
`$ pip install djangocms-local-navigation`
Then add it to INSTALLED_APPS:
```python
INSTALLED_APPS = (
# ...
'djangocms_local_navigation',
)
```
Also add the plugin processor, which will add the `id` attributes to your
navigation elements, allowing you to actually linking to them:
```python
CMS_PLUGIN_PROCESSORS = (
# ...
'djangocms_local_navigation.cms_plugin_processors.patch_elements',
)
```
You should now be able to add the plugin "Local menu" to your pages.
## Configuration
### CMS_LOCAL_NAVIGATION_NAV_ELEMENTS
Default: `h2`
Defines which elements are used to create the local menu. This is a CSS
selector so if you want for example only elements with the class
`local-navigation-heading` to be included in the navigation you could use
`h2.local-navigation-heading`.
### CMS_LOCAL_NAVIGATION_XML_PARSER
Default: `None` (means automatic detection)
Defines which XML parser is used to add anchors to the elements and create the
menu. Refer to [the BeautifulSoup documentation](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#specifying-the-parser-to-use)
for more information. Be advised that [lxml has known issues with
mod_python](http://lxml.de/FAQ.html#my-program-crashes-when-run-with-mod-python-pyro-zope-plone)
and can cause your processes to hang.
## Development
To run the tests, use `./setup.py test`.
This package provides a DjangoCMS plugin that displays a menu based on the
structure of the current page. You can for example create a local menu that is
based on all the h2 elements on your page.
## Installation
`$ pip install djangocms-local-navigation`
Then add it to INSTALLED_APPS:
```python
INSTALLED_APPS = (
# ...
'djangocms_local_navigation',
)
```
Also add the plugin processor, which will add the `id` attributes to your
navigation elements, allowing you to actually linking to them:
```python
CMS_PLUGIN_PROCESSORS = (
# ...
'djangocms_local_navigation.cms_plugin_processors.patch_elements',
)
```
You should now be able to add the plugin "Local menu" to your pages.
## Configuration
### CMS_LOCAL_NAVIGATION_NAV_ELEMENTS
Default: `h2`
Defines which elements are used to create the local menu. This is a CSS
selector so if you want for example only elements with the class
`local-navigation-heading` to be included in the navigation you could use
`h2.local-navigation-heading`.
### CMS_LOCAL_NAVIGATION_XML_PARSER
Default: `None` (means automatic detection)
Defines which XML parser is used to add anchors to the elements and create the
menu. Refer to [the BeautifulSoup documentation](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#specifying-the-parser-to-use)
for more information. Be advised that [lxml has known issues with
mod_python](http://lxml.de/FAQ.html#my-program-crashes-when-run-with-mod-python-pyro-zope-plone)
and can cause your processes to hang.
## Development
To run the tests, use `./setup.py test`.
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
Built Distribution
Close
Hashes for djangocms-local-navigation-1.4.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71655597e0cbe6cf9dffd53a2aa78c77856fa80f3d027bd449cb7e5eaf24bfa0 |
|
MD5 | 3875f44e8c81ca67e9e1e0f32bd26291 |
|
BLAKE2b-256 | e9eb22fd2eb5a9f7a1b50e523c2a98a063b455f6f443086519860baa36b675b8 |
Close
Hashes for djangocms_local_navigation-1.4.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 382aa3329c9dc75bcf7bf2e0ada2f3bf4841af2fe08480be26d135973797f213 |
|
MD5 | 5b4352aec7801180ec3277f461c0cf9d |
|
BLAKE2b-256 | 95f11fb25bc1d25de7dd2a8609c9ecfb4959d0715d83348346d88995004bd631 |