A Django app useful for inlining CSS (primarily for e-mails)
Project description
[![Build Status](https://travis-ci.org/roverdotcom/django-inlinecss.png?branch=master)](https://travis-ci.org/roverdotcom/django-inlinecss)
## About
Inlining CSS is necessary for email generation and sending
but is currently a suprisingly large hassle.
This library aims to make it a breeze in the Django
template language.
## Usage
#### Step 1: Dependencies
- BeautifulSoup
- cssutils
- Python 2.6+
- Django 1.4+
#### Step 2: Install django_inlinecss
Add ```django_inlinecss``` to your ```settings.py```:
```python
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.webdesign',
'django.contrib.contenttypes',
'...',
'...',
'...',
'django_inlinecss')
```
#### Step 3: Use the templatetag
1. Place your CSS file somewhere staticfiles can find it
2. Create your template:
```html
{% load inlinecss %}
{% inlinecss "css/extra-padding.css" %}
<html>
<body>
<div class='lots-o-padding'>
Something in need of styling.
</div>
</body>
</html>
{% endinlinecss %}
```
#### Step 4: Prepare to be Wowed
```html
<html>
<body>
<div style="padding-left: 10px; padding-right: 10px; padding-top: 10px;" class="lots-o-padding">
Something in need of styling.
</div>
</body>
</html>
```
## Acknowledgements
Thanks to Tanner Netterville for his efforts on [Pynliner](https://github.com/rennat/pynliner).
Thanks to Thomas Yip for his unit tests on the `soupselect` module. These tests
helped on getting the core CSS2 selectors to work.
## License
MIT license. See LICENSE.md for more detail.
## About
Inlining CSS is necessary for email generation and sending
but is currently a suprisingly large hassle.
This library aims to make it a breeze in the Django
template language.
## Usage
#### Step 1: Dependencies
- BeautifulSoup
- cssutils
- Python 2.6+
- Django 1.4+
#### Step 2: Install django_inlinecss
Add ```django_inlinecss``` to your ```settings.py```:
```python
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.webdesign',
'django.contrib.contenttypes',
'...',
'...',
'...',
'django_inlinecss')
```
#### Step 3: Use the templatetag
1. Place your CSS file somewhere staticfiles can find it
2. Create your template:
```html
{% load inlinecss %}
{% inlinecss "css/extra-padding.css" %}
<html>
<body>
<div class='lots-o-padding'>
Something in need of styling.
</div>
</body>
</html>
{% endinlinecss %}
```
#### Step 4: Prepare to be Wowed
```html
<html>
<body>
<div style="padding-left: 10px; padding-right: 10px; padding-top: 10px;" class="lots-o-padding">
Something in need of styling.
</div>
</body>
</html>
```
## Acknowledgements
Thanks to Tanner Netterville for his efforts on [Pynliner](https://github.com/rennat/pynliner).
Thanks to Thomas Yip for his unit tests on the `soupselect` module. These tests
helped on getting the core CSS2 selectors to work.
## License
MIT license. See LICENSE.md for more detail.
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
django-inlinecss-0.1.1.tar.gz
(13.0 kB
view details)
File details
Details for the file django-inlinecss-0.1.1.tar.gz
.
File metadata
- Download URL: django-inlinecss-0.1.1.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 534df4bf31f903d7b8aec2f3ef8a22e47ead1bbd2afe9e39c48629b3adfb72d3 |
|
MD5 | 124472afa6747e9bc5b48493b0a0d10a |
|
BLAKE2b-256 | af2fd75865939095dee577646981c3eff36cb888ef87d81b1f7c7ab218c9c059 |