Sitemap, Open Graph-metadata og --follow-historikk
- sitemap.xml med forside, innlegg (lastmod) og gjesteoversikter. - Open Graph/Twitter-kort på alle sider; innlegg får article-type, utdrag som beskrivelse, første bilde som og:image og canonical. Absolutte URL-er via SOAPBOX_SITE_URL. - Historikk per innlegg kombinerer `git log --follow` på index.md med loggen for mappen, så utkast-lagringer fra før slug-omdøpingen vises. Diffen begrenses ikke lenger til nåværende sti av samme grunn. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcEy43fNYpwg6K6oTKakWR
This commit is contained in:
parent
77a8f4451f
commit
2f74de4a32
6 changed files with 106 additions and 18 deletions
|
|
@ -180,6 +180,7 @@ def test_post_history(client, cfg):
|
|||
|
||||
html = client.get(f"/admin/history/{pid}").text
|
||||
assert "Publiserte: Hist" in html and "Lagret: Hist" in html
|
||||
assert "Opprettet utkast" in html # fra før slug-omdøpingen (--follow)
|
||||
sha = re.search(r"sha=([0-9a-f]{40})", html).group(1)
|
||||
diff = client.get(f"/admin/history/{pid}?sha={sha}").text
|
||||
assert '<span class="add">+andre</span>' in diff and '<span class="del">-første</span>' in diff
|
||||
|
|
@ -264,3 +265,34 @@ def test_logo_links_to_blog_root(client):
|
|||
assert '<a class="brand" href="/"' in client.get("/admin/").text
|
||||
# offentlig tema: relativt til roten fra hvilken som helst dybde
|
||||
assert 'class="site-title" href="./"' in client.get("/").text
|
||||
|
||||
|
||||
def test_sitemap_and_open_graph(client, cfg):
|
||||
post_id = _create_post(client)
|
||||
token = csrf(client)
|
||||
client.post(
|
||||
f"/admin/upload/{post_id}",
|
||||
data={"file": (__import__("io").BytesIO(png_bytes((10, 10))), "b.png")},
|
||||
headers={"X-CSRF": token},
|
||||
content_type="multipart/form-data",
|
||||
)
|
||||
client.post(
|
||||
f"/admin/edit/{post_id}",
|
||||
data={
|
||||
"csrf": token,
|
||||
"title": "OG-test",
|
||||
"body": "Første *avsnitt* her.\n\n",
|
||||
"action": "publish",
|
||||
},
|
||||
)
|
||||
html = client.get("/og-test/").text
|
||||
assert '<meta property="og:type" content="article">' in html
|
||||
assert '<meta property="og:title" content="OG-test">' in html
|
||||
assert '<meta property="og:url" content="https://blog.example.no/og-test/">' in html
|
||||
assert '<meta property="og:image" content="https://blog.example.no/og-test/b.png">' in html
|
||||
assert '<meta property="og:description" content="Første avsnitt her.">' in html
|
||||
assert '<meta property="og:type" content="website">' in client.get("/").text
|
||||
sm = client.get("/sitemap.xml")
|
||||
assert sm.status_code == 200
|
||||
assert "<loc>https://blog.example.no/</loc>" in sm.text
|
||||
assert "<loc>https://blog.example.no/og-test/</loc>" in sm.text
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue