Coder Social home page Coder Social logo

jonndoe / uwkm_streamfields Goto Github PK

View Code? Open in Web Editor NEW

This project forked from charlla/uwkm_streamfields

0.0 1.0 0.0 1012 KB

A basic set of Wagtail Streamfields for fun and profit

License: BSD 3-Clause "New" or "Revised" License

Python 4.82% CSS 87.15% JavaScript 4.90% HTML 3.14%

uwkm_streamfields's Introduction

UWKM WAGTAIL STREAMFIELDS

This is a set of pre-defined streamfields for Wagtail. It provides:

  • accordions
  • background image with text overlay
  • buttons
  • call to action buttons
  • colored block
  • divider
  • image gallery
  • bootstrap grid
  • header
  • icon blocks
  • image blocks
  • quotation lists
  • raw html block
  • slider
  • slogans
  • tabs
  • tables
  • text fields
  • youtube video blocks

This packages comes with a set of html templates, which you might want to tweak or modify.

Installing uwkm_streamfields

  1. Install the package using pip: pip install uwkm_streamfields.
  2. Add wagtail.contrib.table_block to INSTALLED_APPS in your project settings.
  3. Add uwkm_streamfields to INSTALLED_APPS in your project settings.
  4. Add from uwkm_streamfields.settings.base import * to your project settings.
  5. Add import from uwkm_streamfields.blocks import GridBlock to your project models.
  6. Use the GridBlock as such:

models.py

class SomePage(Page):
    some_content = StreamField(
        [('fixed_width', blocks.ListBlock(
            GridBlock(),
            template = 'streamfields/fixed_grid.html',
            icon='fa-th-large',
            label='Boxed'))
        ,('full_width', blocks.ListBlock(
            GridBlock(),
            template = 'streamfields/full_grid.html',
            icon='fa-th',
            label='Full'))
        ],
        null = True,
        blank = True
    )

    content_panels = Page.content_panels + [
        StreamFieldPanel('some_content'),
    ]
  1. Use some_content as such:

somepage.html

{% for block in page.some_content %}
    {{ block }}
{% endfor %}
  1. Change the settings as you like:

settings.py

BS_SIZE = 'sm'
STREAMFIELDS = '__all__'
EXCLUDE_STREAMFIELDS = []
  1. Make sure you atleast have the following javascripts/stylesheets in your base.html

base.html

{# Global stylesheets #}
<link href="{% static 'css/bootstrap.min.css' %}" type="text/css" rel="stylesheet" />
<link href="{% static 'fonts/font-awesome-4.7.0/css/font-awesome.min.css' %}" type="text/css" rel="stylesheet" />
<link href="{% static 'css/streamfields.css' %}" type="text/css" rel="stylesheet" />
<link href="{% static 'css/owl.carousel.css' %}" type="text/css" rel="stylesheet" />
<link href="{% static 'css/revolution_slider.css' %}" type="text/css" rel="stylesheet" />

{# Global javascript #}
<script type="text/javascript" src="{% static 'js/jquery-2.2.3.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/bootstrap.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/isotope.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/owl.carousel.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/magnific-popup.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/revolution.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/tools.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/revolution_slider.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/slick.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/custom.js' %}"></script>
  1. Extra:

add to templates/wagtailadmin/admin_base.html (if overridden)

{% block css %}
...
<link rel="stylesheet" href="{% static 'css/custom-admin.css' %}" type="text/css" />
{% endblock %}


{% block js %}
...
<script type="text/javascript">var collapse = '{{ settings.uwkm_streamfields.streamfieldssettings.collapse_streamfields }}' == 'True';</script>
<script src="{% static 'js/custom-admin.js' %}"></script>
<script src="{% static 'js/colorPicker.js' %}"></script>
...
{% endblock %}

UWKM, 2017

uwkm_streamfields's People

Contributors

jellehermsen avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.