premailer 项目技术文档
2024-12-23 06:38:36作者:翟江哲Frasier
1. 安装指南
1.1 使用 pip 安装
要安装 premailer,首先确保你已经安装了 Python 环境。然后使用 pip 命令进行安装:
pip install premailer
1.2 验证安装
安装完成后,可以通过以下命令验证是否安装成功:
python -m premailer -h
如果成功,将显示 premailer 的帮助信息。
2. 项目的使用说明
2.1 基本使用
premailer 的主要功能是将 HTML 中的 CSS 样式块转换为内联样式属性。以下是一个基本的使用示例:
from premailer import transform
html_content = """
<html>
<style type="text/css">
h1 { border:1px solid black }
p { color:red;}
</style>
<h1 style="font-weight:bolder">Peter</h1>
<p>Hej</p>
</html>
"""
transformed_html = transform(html_content)
print(transformed_html)
输出结果将会是:
<html>
<h1 style="font-weight:bolder; border:1px solid black">Peter</h1>
<p style="color:red">Hej</p>
</html>
2.2 命令行使用
你也可以通过命令行使用 premailer:
python -m premailer --base-url=http://google.com/ -f newsletter.html
3. 项目API使用文档
3.1 transform 函数
transform 函数是 premailer 的核心功能,用于将 HTML 中的 CSS 样式转换为内联样式。函数的签名如下:
transform(html, base_url=None, disable_link_rewrites=False, preserve_internal_links=False, preserve_inline_attachments=True, preserve_handlebar_syntax=False, exclude_pseudoclasses=True, keep_style_tags=False, include_star_selectors=False, remove_classes=False, capitalize_float_margin=False, strip_important=True, external_styles=None, css_text=None, method="html", base_path=None, disable_basic_attributes=None, disable_validation=False, cache_css_parsing=True, cssutils_logging_handler=None, cssutils_logging_level=None, disable_leftover_css=False, align_floating_images=True, remove_unset_properties=True, allow_network=True, allow_insecure_ssl=False, allow_loading_external_files=False, session=None)
3.2 主要参数说明
base_url: 可选的 URL,用于将相对链接转换为绝对链接。disable_link_rewrites: 是否禁用链接重写。preserve_internal_links: 是否保留内部链接。preserve_inline_attachments: 是否保留内联附件。exclude_pseudoclasses: 是否忽略伪类。keep_style_tags: 是否保留原始的<style>标签。remove_classes: 是否移除 HTML 元素上的class属性。strip_important: 是否移除 CSS 声明中的!important。external_styles: 可选的外部样式表 URL 列表。css_text: 可选的 CSS 文本。method: 输出的 HTML 类型,可以是"html"或"xml"。base_path: 外部样式表的基本路径。disable_basic_attributes: 禁用的基本属性列表。disable_validation: 是否禁用 CSS 验证。cache_css_parsing: 是否缓存 CSS 解析结果。allow_network: 是否允许网络访问以获取外部样式表。allow_insecure_ssl: 是否允许不安全的 SSL 证书。allow_loading_external_files: 是否允许加载任何非 HTTP 的外部文件 URL。
4. 项目安装方式
4.1 通过 pip 安装
premailer 可以通过 pip 进行安装,安装命令如下:
pip install premailer
4.2 从源码安装
如果你需要从源码安装,可以按照以下步骤操作:
- 克隆项目仓库:
git clone https://github.com/peterbe/premailer.git
- 进入项目目录:
cd premailer
- 安装依赖:
pip install -r requirements.txt
- 安装
premailer:
python setup.py install
通过以上步骤,你就可以成功安装并使用 premailer 项目。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0137- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
MiniCPM-V-4.6这是 MiniCPM-V 系列有史以来效率与性能平衡最佳的模型。它以仅 1.3B 的参数规模,实现了性能与效率的双重突破,在全球同尺寸模型中登顶,全面超越了阿里 Qwen3.5-0.8B 与谷歌 Gemma4-E2B-it。Jinja00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
MusicFreeDesktop插件化、定制化、无广告的免费音乐播放器TypeScript00
项目优选
收起
暂无描述
Dockerfile
725
4.66 K
Ascend Extension for PyTorch
Python
597
749
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
425
376
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
992
984
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
926
134
昇腾LLM分布式训练框架
Python
160
189
暂无简介
Dart
968
246
deepin linux kernel
C
29
16
Oohos_react_native
React Native鸿蒙化仓库
C++
345
393
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.65 K
971