A Django app useful for inlining CSS (primarily for e-mails)
Project description
[![Build Status](https://travis-ci.org/wejhink/django-mailcss.png?branch=master)](https://travis-ci.org/wejhink/django-mailcss)
## About
Sending a mail with CSS for is currently a surprisingly large hassle.
This library aims to make it a breeze in the Django template language.
## Usage
#### Step 1: Dependencies
- BeautifulSoup
- cssutils
- Python 2.7+,3.4+
- Django 1.11+
#### Step 2: Install django_mailcss
Add ```django_mailcss``` to your ```settings.py```:
```python
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.webdesign',
'django.contrib.contenttypes',
'...',
'...',
'...',
'django_mailcss')
```
#### Step 3: Use the templatetag
1. Place your CSS file somewhere staticfiles can find it
2. Create your template:
```html
{% load mailcss %}
{% mailcss "css/extra-padding.css" %}
<html>
<body>
<div class='lots-o-padding'>
Something in need of styling.
</div>
</body>
</html>
{% endmailcss %}
```
#### 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 Jeremy Nauta, Philip Kimmey and Keith for [django-inlinecss](https://github.com/roverdotcom/django-inlinecss)
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
Sending a mail with CSS for is currently a surprisingly large hassle.
This library aims to make it a breeze in the Django template language.
## Usage
#### Step 1: Dependencies
- BeautifulSoup
- cssutils
- Python 2.7+,3.4+
- Django 1.11+
#### Step 2: Install django_mailcss
Add ```django_mailcss``` to your ```settings.py```:
```python
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.webdesign',
'django.contrib.contenttypes',
'...',
'...',
'...',
'django_mailcss')
```
#### Step 3: Use the templatetag
1. Place your CSS file somewhere staticfiles can find it
2. Create your template:
```html
{% load mailcss %}
{% mailcss "css/extra-padding.css" %}
<html>
<body>
<div class='lots-o-padding'>
Something in need of styling.
</div>
</body>
</html>
{% endmailcss %}
```
#### 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 Jeremy Nauta, Philip Kimmey and Keith for [django-inlinecss](https://github.com/roverdotcom/django-inlinecss)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-mailcss-0.1.0.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for django_mailcss-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fd825af91a51cc573af494d32a72f78eb14153d4ab31a0bb260ce834d4d0cbb |
|
MD5 | dc9f08239cfe52f71a6538c57a2f4184 |
|
BLAKE2b-256 | 9e9a461cb1ec4d963de53d4efb8837aa3cfe7c72af0e2ace322f419e76595773 |