diff --git a/docs/api.html b/docs/api.html index 940c7a4..56eae2d 100644 --- a/docs/api.html +++ b/docs/api.html @@ -10,8 +10,8 @@ - - + +
diff --git a/docs/blend-modes.html b/docs/blend-modes.html index ca9c294..3942d06 100644 --- a/docs/blend-modes.html +++ b/docs/blend-modes.html @@ -10,8 +10,8 @@ - - + +
diff --git a/docs/examples.html b/docs/examples.html index a2c0c0b..3610d8f 100644 --- a/docs/examples.html +++ b/docs/examples.html @@ -10,8 +10,8 @@ - - + +
diff --git a/docs/index.html b/docs/index.html index 08c86da..dba5ca7 100644 --- a/docs/index.html +++ b/docs/index.html @@ -10,8 +10,8 @@ - - + +
diff --git a/docs/operations.html b/docs/operations.html index f193568..8020161 100644 --- a/docs/operations.html +++ b/docs/operations.html @@ -10,8 +10,8 @@ - - + +
diff --git a/docs/previews/brightness.jpg b/docs/previews/brightness.jpg index b6d7540..0483e41 100644 Binary files a/docs/previews/brightness.jpg and b/docs/previews/brightness.jpg differ diff --git a/docs/previews/chaining.jpg b/docs/previews/chaining.jpg index d248669..65953e3 100644 Binary files a/docs/previews/chaining.jpg and b/docs/previews/chaining.jpg differ diff --git a/docs/previews/color_burn.jpg b/docs/previews/color_burn.jpg index 04a6c5f..057b6d0 100644 Binary files a/docs/previews/color_burn.jpg and b/docs/previews/color_burn.jpg differ diff --git a/docs/previews/color_dodge.jpg b/docs/previews/color_dodge.jpg index 838b110..6226857 100644 Binary files a/docs/previews/color_dodge.jpg and b/docs/previews/color_dodge.jpg differ diff --git a/docs/previews/contrast.jpg b/docs/previews/contrast.jpg index d7ea213..db09665 100644 Binary files a/docs/previews/contrast.jpg and b/docs/previews/contrast.jpg differ diff --git a/docs/previews/curve_red.jpg b/docs/previews/curve_red.jpg index 260482a..422410a 100644 Binary files a/docs/previews/curve_red.jpg and b/docs/previews/curve_red.jpg differ diff --git a/docs/previews/curve_rgb.jpg b/docs/previews/curve_rgb.jpg index dd8901c..4346c00 100644 Binary files a/docs/previews/curve_rgb.jpg and b/docs/previews/curve_rgb.jpg differ diff --git a/docs/previews/darken.jpg b/docs/previews/darken.jpg index da4196b..b56996d 100644 Binary files a/docs/previews/darken.jpg and b/docs/previews/darken.jpg differ diff --git a/docs/previews/grayscale.jpg b/docs/previews/grayscale.jpg index a209b6c..9e4df11 100644 Binary files a/docs/previews/grayscale.jpg and b/docs/previews/grayscale.jpg differ diff --git a/docs/previews/hard_light.jpg b/docs/previews/hard_light.jpg index a2ea5b0..3878e4e 100644 Binary files a/docs/previews/hard_light.jpg and b/docs/previews/hard_light.jpg differ diff --git a/docs/previews/hue.jpg b/docs/previews/hue.jpg index 7a81d0c..da79676 100644 Binary files a/docs/previews/hue.jpg and b/docs/previews/hue.jpg differ diff --git a/docs/previews/lighten.jpg b/docs/previews/lighten.jpg index 44251aa..8b76413 100644 Binary files a/docs/previews/lighten.jpg and b/docs/previews/lighten.jpg differ diff --git a/docs/previews/lightness.jpg b/docs/previews/lightness.jpg index d105a3b..c2375d4 100644 Binary files a/docs/previews/lightness.jpg and b/docs/previews/lightness.jpg differ diff --git a/docs/previews/linear_burn.jpg b/docs/previews/linear_burn.jpg index 3f15ca3..c1570aa 100644 Binary files a/docs/previews/linear_burn.jpg and b/docs/previews/linear_burn.jpg differ diff --git a/docs/previews/linear_dodge.jpg b/docs/previews/linear_dodge.jpg index edbe0d4..0bcf075 100644 Binary files a/docs/previews/linear_dodge.jpg and b/docs/previews/linear_dodge.jpg differ diff --git a/docs/previews/linear_light.jpg b/docs/previews/linear_light.jpg index 9e28704..ad5f438 100644 Binary files a/docs/previews/linear_light.jpg and b/docs/previews/linear_light.jpg differ diff --git a/docs/previews/multiply.jpg b/docs/previews/multiply.jpg index 371a5ed..5fc92cd 100644 Binary files a/docs/previews/multiply.jpg and b/docs/previews/multiply.jpg differ diff --git a/docs/previews/overlay.jpg b/docs/previews/overlay.jpg index 47dd2c6..2163157 100644 Binary files a/docs/previews/overlay.jpg and b/docs/previews/overlay.jpg differ diff --git a/docs/previews/pin_light.jpg b/docs/previews/pin_light.jpg index 471ca63..99ad3e1 100644 Binary files a/docs/previews/pin_light.jpg and b/docs/previews/pin_light.jpg differ diff --git a/docs/previews/resize.jpg b/docs/previews/resize.jpg index b25d68c..ff59fe7 100644 Binary files a/docs/previews/resize.jpg and b/docs/previews/resize.jpg differ diff --git a/docs/previews/saturation.jpg b/docs/previews/saturation.jpg index c32fec0..30f1a03 100644 Binary files a/docs/previews/saturation.jpg and b/docs/previews/saturation.jpg differ diff --git a/docs/previews/screen.jpg b/docs/previews/screen.jpg index fa25aba..120f9b5 100644 Binary files a/docs/previews/screen.jpg and b/docs/previews/screen.jpg differ diff --git a/docs/previews/soft_light.jpg b/docs/previews/soft_light.jpg index 707357a..8401f54 100644 Binary files a/docs/previews/soft_light.jpg and b/docs/previews/soft_light.jpg differ diff --git a/docs/previews/vivid_light.jpg b/docs/previews/vivid_light.jpg index e768c97..7d51ef3 100644 Binary files a/docs/previews/vivid_light.jpg and b/docs/previews/vivid_light.jpg differ diff --git a/scripts/docs_layout.py b/scripts/docs_layout.py index 2b0de9d..d2b3f39 100644 --- a/scripts/docs_layout.py +++ b/scripts/docs_layout.py @@ -8,9 +8,12 @@ from __future__ import annotations +import hashlib import html import re from dataclasses import dataclass +from functools import cache +from pathlib import Path REPO_URL = "https://github.com/subwaymatch/layer-is-python" @@ -37,6 +40,20 @@ class Page: # The Layer.is logo (docs/assets/logo.svg), used in the sidebar and as favicon. LOGO = "assets/logo.svg" +ASSETS_DIR = Path(__file__).resolve().parent.parent / "docs" / "assets" + + +@cache +def asset_url(name: str) -> str: + """URL of a file in docs/assets/ with a hash of its contents appended. + + GitHub Pages serves assets under fixed names with a 10-minute cache, so + without this a browser can pair a freshly built page with a stale + stylesheet. The hash gives every version of a file its own URL. + """ + digest = hashlib.sha256((ASSETS_DIR / name).read_bytes()).hexdigest()[:10] + return f"assets/{name}?v={digest}" + # GitHub's "mark-github" octicon (MIT licensed, github.com/primer/octicons). GITHUB_ICON = ( '
diff --git a/scripts/generate_previews.py b/scripts/generate_previews.py index 0042f84..d484736 100644 --- a/scripts/generate_previews.py +++ b/scripts/generate_previews.py @@ -35,7 +35,7 @@ import docs_layout as layout # noqa: E402 (sibling module in scripts/) -DEFAULT_SOURCE = REPO_ROOT / "docs" / "photos" / "gamcheon-village.jpg" +DEFAULT_SOURCE = REPO_ROOT / "docs" / "photos" / "hanbok-portrait.jpg" PANEL_WIDTH = 480 # width of each before/after panel GUTTER = 4 # white gap between the two panels JPEG_QUALITY = 82