mirror of
https://github.com/donlon/cloudflare-error-page.git
synced 2025-12-23 16:59:17 +00:00
python: separate css from html template
This commit is contained in:
@@ -20,7 +20,7 @@ env = Environment(
|
||||
lstrip_blocks=True,
|
||||
)
|
||||
|
||||
base_template: Template = env.get_template("error.html")
|
||||
base_template: Template = env.get_template("template.html")
|
||||
|
||||
|
||||
class ErrorPageParams(TypedDict):
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -14,7 +14,15 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
{% block html_head %}{% endblock %}
|
||||
<!-- @INLINE_CSS_HERE@ -->
|
||||
<style>
|
||||
{% if html_style %}
|
||||
{# Support custom stylesheet #}
|
||||
{{ html_style | safe }}
|
||||
{% else %}
|
||||
{# Default stylesheet #}
|
||||
{% include 'main.css' %}
|
||||
{% endif %}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="cf-wrapper">
|
||||
@@ -23,5 +23,8 @@ include = [
|
||||
"cloudflare_error_page/templates/*",
|
||||
]
|
||||
|
||||
[tool.hatch.build.targets.wheel.hooks.custom]
|
||||
path = "scripts/hatch_build.py"
|
||||
|
||||
[tool.hatch.version]
|
||||
path = "cloudflare_error_page/__init__.py"
|
||||
|
||||
1
resources/styles/main.css
Normal file
1
resources/styles/main.css
Normal file
File diff suppressed because one or more lines are too long
17
scripts/hatch_build.py
Normal file
17
scripts/hatch_build.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import os
|
||||
import sys
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
from hatchling.builders.hooks.plugin.interface import BuildHookInterface
|
||||
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
from inline_resources import generate_inlined_css
|
||||
|
||||
class CustomBuildHook(BuildHookInterface):
|
||||
def initialize(self, version: str, build_data: dict[str, Any]):
|
||||
generate_inlined_css()
|
||||
src = Path(self.root) / 'resources' / 'styles' / 'main.css'
|
||||
dst = Path(self.root) / 'cloudflare_error_page' / 'templates'
|
||||
shutil.copy(src, dst)
|
||||
@@ -4,7 +4,7 @@ from urllib.parse import quote
|
||||
|
||||
|
||||
root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
resources_folder = os.path.join(root,'resources')
|
||||
resources_folder = os.path.join(root, 'resources')
|
||||
|
||||
|
||||
def read_file(path: str) -> str:
|
||||
@@ -49,7 +49,7 @@ def inline_css_resource(original_file: str, css_file: str, output_file: str):
|
||||
write_file(output_file, original_data)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
def generate_inlined_css():
|
||||
inline_svg_resources(
|
||||
os.path.join(resources_folder, 'styles/main-original.css'),
|
||||
[
|
||||
@@ -61,11 +61,10 @@ if __name__ == '__main__':
|
||||
],
|
||||
os.path.join(resources_folder, 'styles/main.css'),
|
||||
)
|
||||
inline_css_resource(
|
||||
os.path.join(resources_folder, 'templates/error.html'),
|
||||
os.path.join(resources_folder, 'styles/main.css'),
|
||||
os.path.join(root, 'cloudflare_error_page/templates/error.html'),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
generate_inlined_css()
|
||||
inline_css_resource(
|
||||
os.path.join(resources_folder, 'templates/error.ejs'),
|
||||
os.path.join(resources_folder, 'styles/main.css'),
|
||||
|
||||
Reference in New Issue
Block a user