diff --git a/app.py b/app.py
index 06a83d7..a32951e 100644
--- a/app.py
+++ b/app.py
@@ -14,7 +14,7 @@ from functools import lru_cache
from pathlib import Path
import pronouncing
-from fastapi import FastAPI, HTTPException
+from fastapi import FastAPI, HTTPException, Response
from fastapi.staticfiles import StaticFiles
from pydantic import BaseModel
from wordfreq import zipf_frequency
@@ -1782,5 +1782,23 @@ def lookup(word: str, mode: str = "rhyme", limit: int = 60):
"near": near, "rhyme_on": rhyme_on, "multis": multis}
+@app.get("/robots.txt", include_in_schema=False)
+def robots() -> Response:
+ body = ("User-agent: *\n"
+ "Allow: /\n"
+ "Sitemap: https://rhymepad.org/sitemap.xml\n")
+ return Response(body, media_type="text/plain")
+
+
+@app.get("/sitemap.xml", include_in_schema=False)
+def sitemap() -> Response:
+ body = ('\n'
+ '\n'
+ ' https://rhymepad.org/'
+ 'weekly1.0\n'
+ '\n')
+ return Response(body, media_type="application/xml")
+
+
app.mount("/", StaticFiles(directory=Path(__file__).parent / "static",
html=True), name="static")
diff --git a/static/index.html b/static/index.html
index 340e0eb..e465094 100644
--- a/static/index.html
+++ b/static/index.html
@@ -8,8 +8,35 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -64,9 +91,10 @@
font-size: 30px;
letter-spacing: -0.02em;
color: var(--ink);
+ margin: 0;
}
.brand span { color: var(--accent); }
- .tagline { color: var(--ink-dim); font-size: 12px; letter-spacing: 0.04em; }
+ .tagline { color: var(--ink-dim); font-size: 12px; letter-spacing: 0.04em; margin: 0; }
/* ---- editor side ---- */
.editor-col { display: flex; flex-direction: column; min-height: 0; gap: 10px; }
@@ -282,8 +310,8 @@
- RhymePad
- a scratchpad for poets & rappers — real phonetic rhyme detection
+ RhymePad
+ a scratchpad for poets & rappers — real phonetic rhyme detection
diff --git a/static/og.png b/static/og.png
new file mode 100644
index 0000000..720a378
Binary files /dev/null and b/static/og.png differ