Convert Font Awesome HTML tags into inline SVG
Project description
fa2svg
A small Python package that converts Font Awesome <i>/<span> tags into email‑friendly inline images. You can embed either raw SVG (to_inline_svg) or high‑density PNG (to_inline_png_img), preserving font‑size, color, aspect ratio, and baseline alignment. Includes a simple test script at tests/run_test.py to verify basic functionality.
Installation
pip install fa2svg
Or for local development:
git clone https://github.com/meena-erian/fa2svg.git
cd fa2svg
pip install -e .
Upload to PyPI
Ensure your .pypirc is configured, then:
# from project root
env/bin/python -m build
twine upload --config-file "./.pypirc" dist/*
Usage
from fa2svg.converter import to_inline_svg, to_inline_png_img
html = '''
<p>
Coffee time:
<i class="fas fa-mug-saucer" style="font-size:64px;color:#c60"></i>
and stars:
<span class="far fa-star" style="font-size:48px;color:gold"></span>
</p>
'''
# Embed as SVG data URI:
converted_svg = to_inline_svg(html)
# Embed as higher-resolution PNG data URI:
converted_png = to_inline_png_img(html)
print(converted_svg)
print(converted_png)
API
-
to_inline_svg(html: str) -> strFetches the correct FA SVG, inlines your
font-sizeandcolor, and outputs an<img>tag with a base64‑encoded SVG data URI, pluswidth,height, andvertical-alignCSS. -
to_inline_png_img(html: str) -> strSame as above but renders a PNG at higher pixel density (default 2×) for crisper images in clients with varying DPI.
Testing
A basic test harness is provided at tests/run_test.py:
python -m tests.run_test
Contributing
- Fork the repo
- Create a feature branch
- Commit & push your changes
- Open a Pull Request
Issues and PRs are very welcome!
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fa2svg-0.1.5.tar.gz.
File metadata
- Download URL: fa2svg-0.1.5.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af8507f491a5baf2bd1f6f1812037ea8e902f7eeb7ce7bbff03763c8d5d2d069
|
|
| MD5 |
e1723e320619b58aa30d22b370a775ae
|
|
| BLAKE2b-256 |
3fd813b90e59e6076de0112966deb7922eab49d4db772e3547c0635e8da3a0d4
|
File details
Details for the file fa2svg-0.1.5-py3-none-any.whl.
File metadata
- Download URL: fa2svg-0.1.5-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e73e6d65087e3d20f537e921aed379ec7670cced3d238258dcc20cc3a9d23ad
|
|
| MD5 |
2e3220f7fa024e5a0830b502f30ace92
|
|
| BLAKE2b-256 |
d37f9d0b103324b2cd9c7b03f82c85389b6c6007d305c16597cf518a42aac042
|