Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/metwork-framework/jinja2_humanize_extension
a jinja2 extension to use humanize library inside jinja2 templates
https://github.com/metwork-framework/jinja2_humanize_extension
autoreadme github-actions integration-level-3 jinja2 jinja2-extension
Last synced: about 1 month ago
JSON representation
a jinja2 extension to use humanize library inside jinja2 templates
- Host: GitHub
- URL: https://github.com/metwork-framework/jinja2_humanize_extension
- Owner: metwork-framework
- License: bsd-3-clause
- Created: 2021-02-16T07:52:57.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-20T15:27:27.000Z (3 months ago)
- Last Synced: 2024-10-21T15:39:51.603Z (2 months ago)
- Topics: autoreadme, github-actions, integration-level-3, jinja2, jinja2-extension
- Language: Python
- Homepage:
- Size: 52.7 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# jinja2_humanize_extension
[//]: # (automatically generated from https://github.com/metwork-framework/github_organization_management/blob/master/common_files/README.md)
**Status (master branch)**
[![GitHub CI](https://github.com/metwork-framework/jinja2_humanize_extension/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/metwork-framework/jinja2_humanize_extension/actions?query=workflow%3ACI+branch%3Amaster)
[![Maintenance](https://raw.githubusercontent.com/metwork-framework/resources/master/badges/maintained.svg)](https://github.com/metwork-framework/resources/blob/master/badges/maintained.svg)## What is it ?
This is a [jinja2](http://jinja.pocoo.org/) extension to use [humanize](https://python-humanize.readthedocs.io/) library inside jinja2 templates.
## Syntax
The generic syntax is `{{ 'VALUE'|humanize_{humanize_fn}([humanize_fn_args]) }}`.
Following [humanize](https://python-humanize.readthedocs.io/) functions are currently mapped:
- `naturalsize`
- `abs_timedelta` (deprecated with humanize >= 4.0, we keep it for compatibility)
- `date_and_delta` (deprecated with humanize >= 4.0, we keep it for compatibility)
- `naturaldate`
- `naturalday`
- `naturaldelta`
- `naturaltime`
- `precisedelta`
- `ordinal`
- `intcomma`
- `intword`
- `apnumber`
- `fractional`
- `scientific`
- `clamp`
- `metric`
- `activate`
- `deactivate`
- `thousands_separator`
- `decimal_separator`See [humanize](https://python-humanize.readthedocs.io/) documentation for argument details.
To take a more real example, let's take the [naturalsize()](https://python-humanize.readthedocs.io/en/latest/filesize/) function. To use it inside a [jinja2](http://jinja.pocoo.org/) template with this extension, you
have to use:```
The file size is: {{ 30000000|humanize_naturalsize(binary=False, gnu=True) }}
```
result content will be : `The file size is : 30.0 MB`
You can use the same logic with all supported functions. If you need other functions, feel
free to open a PullRequest.## Installation
```
pip install jinja2-humanize-extension
```## Full example
```python
from jinja2 import Template, Environment
# We load the extension in a jinja2 Environment
env = Environment(extensions=["jinja2_humanize_extension.HumanizeExtension"])template = env.from_string("The file size is : {{ 30000000|humanize_naturalsize() }}")
result = template.render()# [...]
```result content will be : `The file size is : 30.0 MB`
## Contributing guide
See [CONTRIBUTING.md](CONTRIBUTING.md) file.
## Code of Conduct
See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) file.
## Sponsors
*(If you are officially paid to work on MetWork Framework, please contact us to add your company logo here!)*
[![logo](https://raw.githubusercontent.com/metwork-framework/resources/master/sponsors/meteofrance-small.jpeg)](http://www.meteofrance.com)