(text: str)
| 84 | |
| 85 | |
| 86 | def _markdown_to_html(text: str) -> str: |
| 87 | try: |
| 88 | import markdown as _md |
| 89 | except ImportError: |
| 90 | from html import escape as _esc |
| 91 | return f"<pre>{_esc(text)}</pre>" |
| 92 | return _md.markdown(text, extensions=["extra", "fenced_code", "sane_lists"], output_format="html5") |
| 93 | |
| 94 | |
| 95 | def _eligible_posts(today: dt.date, floor: dt.date, min_age_days: int, blog_dir: Path) -> list[Post]: |