Skip to main content

A simple Django app for inlining static files in templates.

Project description

# django-simpleinliner

A simple Django app for inlining static CSS and JS files in templates.

## Rationale

Provides a quick and easy way to inline an entire JS or CSS file from staticfiles into a template, wrapping it in appropriate tags. [`django-compressor`](https://github.com/django-compressor/django-compressor) does this but I wanted something more lightweight, and also wanted to try my hand at writing a Django extension. Some inspiration and staticfile-handling code was taken from [`django-inlinecss`](https://github.com/roverdotcom/django-inlinecss/).

## Installation

```
$ pip install django-simpleinliner
```

Add `simpleinliner` to your `INSTALLED_APPS` setting.

## Usage

Load the app at the top of your template:

```
{% load simpleinliner %}
```

Call `inlinecss`, `inlinejs` or `inlinegeneric` where you want to pull in a static file:

```
{% inlinejs 'path/to/my.js' %}

{% inlinecss 'path/to/my.css' %}

{% inlinegeneric 'path/to/my.svg' %}
```

The file will be inserted into the template each time the template is rendered, keeping it up to date.

You can override the default attributes given to `<script>` and `<style>` tags generated by `simpleinliner` by including the following in your project settings:

```
SIMPLEINLINER_DEFAULT_TAG_ATTRIBUTES = {
'script': {
'charset': 'utf-8',
'type': 'text/javascript',
},
'style': {
'charset': 'utf-8',
'type': 'text/css',
},
}
```

Add or edit these as desired to change the attributes applied to these tags.

By default `simpleinliner` will silently fail (including an empty tag if using `inlinejs` or `inlinecss`) if the specified path doesn't exist. You can force it to raise an exception by setting `SIMPLEINLINER_RAISE_EXCEPTIONS` to `True` in your project settings.

## Issues, Suggestions, Contributions

...are welcome on GitHub. Thanks for your interest in `simpleinliner`!

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-simpleinliner-0.2.1.tar.gz (4.2 kB view details)

Uploaded Source

File details

Details for the file django-simpleinliner-0.2.1.tar.gz.

File metadata

File hashes

Hashes for django-simpleinliner-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f4b14713d17e48348449fa9e492fa7ae983c67f765bd13454ca1fb4b66b4e640
MD5 11064addfc12cc0338fa0305886d508d
BLAKE2b-256 a8b5a6370b91023897ae77380a35f67bcf7c504a5f816afc0337567e2ae820b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page