Bootstrap 3 Jumbotron element for django-fluent-contents
Project description
fluentcms-jumbotron
Displaying a Bootstrap 3 Jumbotron in a page
Installation
First install the module, preferably in a virtual environment. It can be installed from PyPI:
pip install fluentcms-jumbotron
First make sure the project is configured for django-fluent-contents.
Then add the following settings:
INSTALLED_APPS += (
'fluentcms_jumbotron',
)
FLUENT_CONTENTS_PLACEHOLDER_CONFIG = {
'slot name': {
'plugins': ('JumbotronPlugin', ...),
},
}
The database tables can be created afterwards:
./manage.py migrate
Frontend styling
The jumbotron is rendered with the HTML that Bootstrap prescribes:
<div class="jumbotron">
<h1>Hello, world!</h1>
<p>...</p>
<p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a></p>
</div>
The standard Bootstrap 3 CSS will provide a reasonable styling for this, which can either be overwritten, or replaced in your own CSS files. The defaults provided by Bootstap 3 is: https://github.com/twbs/bootstrap-sass/blob/master/assets/stylesheets/bootstrap/_jumbotron.scss
Customizing
Centering, adding backgrounds, etc.. all happen by adding CSS styling. For example:
.jumbotron {
background: url('/static/frontend/images/background.jpg') no-repeat fixed 0 0;
background-size: cover;
color: #fff;
text-align: center;
}
.jumbotron .btn {
margin-top: 12px; /* For Sass: $padding-base-vertical * 2; */
}
When you use Sass, you can also override the Sass variables.
Full page width
To display the Bootstrap Jumbotron full page, you likely need to break out of the container the JumbotronPlugin is rendered in. For example, when your page looks like:
<div class="container">
{% page_placeholder "homepage" title="Homepage" role="m" %}
</div>
You can change that into:
<div class="container">
{% page_placeholder "homepage" title="Homepage" role="m" template="pages/placeholders/homepage.html" cachable=1 %}
</div>
The pages/placeholders/homepage.html template looks like:
{% for contentitem, html in contentitems %}
{% if contentitem.plugin.name == 'JumbotronPlugin' %}
</div>
{{ html }}
<div class="container">
{% else %}
{{ html }}
{% endif %}
{% endfor %}
Note the exact HTML tags depend on your frontend HTML layout.
The cachable=1 flag is a promise that the template always returns the same result for every request. Otherwise, remove it.
Contributing
If you like this module, forked it, or would like to improve it, please let us know! Pull requests are welcome too. :-)
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
File details
Details for the file fluentcms-jumbotron-1.1.1.tar.gz
.
File metadata
- Download URL: fluentcms-jumbotron-1.1.1.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f69ec31b066cb0fb25b24e31aa2e82f0745375d13f4308ed36dfc02e86c7934 |
|
MD5 | 68d054bef820048d961ffbbb260b385a |
|
BLAKE2b-256 | 88026981980060144b07c8c1caeaa4470dc10e8d876a52a8a0953507adf8b28e |
File details
Details for the file fluentcms_jumbotron-1.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: fluentcms_jumbotron-1.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eebd8f91683ed259eded4f29bcb8f099b4b4927ea8296ea5b1f3f799a948734e |
|
MD5 | 32a4ae8258d4ea0fbbd6621765c89866 |
|
BLAKE2b-256 | 8ca1e67e76482c1f8918ed3b6c74ca583ccd536bc0f6f85569e5448d614d2a63 |