{ "info": { "author": "Justin Engel", "author_email": "jtengel08@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 2.0", "Framework :: Wagtail", "Framework :: Wagtail :: 2", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "# wagtail_materializecss\n\nStyle your wagtail pages with materializecss!\n\nRun the demo project to see how it in action.\n\n### Includes\n * Demo project to show how you may want to style a page\n * Component blocks\n * Badge\n * Breadcrumb\n * Button\n * Card\n * Collection\n * FAB\n * Footer\n * Icon\n * links\n * Navbar\n * Preloader\n * Scrollspy (table of contents)\n * MaterializePage with base.html\n * Default page variables to style the navbar and footer\n * Additionally includes Abstract models Navbar and Footer\n * Functions to get common components for StreamFields\n * get_headings(exclude=None) - Return h1, h2, h3, h4, h5, h6 tags with scrollspy table of contetns support\n * get_components(exclude=None) - Returns blocks for Card, Collection, Button, Icon, ...\n * get_footer_blocks(exclude=None) - Returns common components that someone might want in a footer.\n\n\n## Example Page\n\n\n\n\n\n```python\nfrom django.db import models\nfrom wagtail.core.fields import StreamField, RichTextField\nfrom wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel, MultiFieldPanel, FieldRowPanel\nfrom wagtail.images.edit_handlers import ImageChooserPanel\nfrom wagtail.core.blocks import RichTextBlock\n\nfrom wagtail_materializecss.models import MaterializePage, get_headings, get_components\nfrom wagtail_materializecss.components import Collection\n\n\nclass BloggerHomePage(MaterializePage):\n author = models.CharField(max_length=255)\n background_image = models.ForeignKey('wagtailimages.Image', on_delete=models.SET_NULL, null=True, related_name='+')\n user_image = models.ForeignKey('wagtailimages.Image', on_delete=models.SET_NULL, null=True, related_name='+')\n\n body = StreamField([\n *get_headings(exclude=['h6']),\n ('paragraph', RichTextBlock(icon='pilcrow')),\n ('collection', Collection()),\n *get_components(),\n ])\n\n content_panels = MaterializePage.content_panels + [\n MultiFieldPanel([\n FieldPanel('author'),\n ImageChooserPanel('background_image'),\n ImageChooserPanel('user_image'),\n ], heading=\"Author Fields\",),\n FieldPanel('intro', classname=\"full\"),\n ]\n```\n\nTemplate\n```djangotemplate\n{% extends \"wagtail_materializecss/base.html\" %}\n{% load static wagtailcore_tags wagtailimages_tags wagtail_materializecss_tags %}\n\n{% block body_class %}template-bloggerhomepage{% endblock %}\n\n{% block before_container %}\n