fix(content): slug transliteration, article links, country overview ranking
# Conflicts: # CHANGELOG.md
This commit is contained in:
@@ -767,9 +767,14 @@ async def get_all_paddle_prices() -> dict[str, str]:
|
||||
|
||||
|
||||
def slugify(text: str, max_length_chars: int = 80) -> str:
|
||||
"""Convert text to URL-safe slug."""
|
||||
"""Convert text to URL-safe slug.
|
||||
|
||||
Pre-replaces ß→ss before NFKD normalization so output matches the SQL
|
||||
@slugify macro (which uses DuckDB STRIP_ACCENTS + REPLACE).
|
||||
"""
|
||||
text = text.lower().replace("ß", "ss")
|
||||
text = unicodedata.normalize("NFKD", text).encode("ascii", "ignore").decode()
|
||||
text = re.sub(r"[^\w\s-]", "", text.lower())
|
||||
text = re.sub(r"[^\w\s-]", "", text)
|
||||
text = re.sub(r"[-\s]+", "-", text).strip("-")
|
||||
return text[:max_length_chars]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user