Monorepo: consolidate 7 repos into one
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m5s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m5s
Combines shared, blog, market, cart, events, federation, and account into a single repository. Eliminates submodule sync, sibling model copying at build time, and per-app CI orchestration. Changes: - Remove per-app .git, .gitmodules, .gitea, submodule shared/ dirs - Remove stale sibling model copies from each app - Update all 6 Dockerfiles for monorepo build context (root = .) - Add build directives to docker-compose.yml - Add single .gitea/workflows/ci.yml with change detection - Add .dockerignore for monorepo build context - Create __init__.py for federation and account (cross-app imports)
This commit is contained in:
24
market/scrape/build_snapshot/tools/rewrite_nav.py
Normal file
24
market/scrape/build_snapshot/tools/rewrite_nav.py
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
from typing import Dict
|
||||
from urllib.parse import urljoin
|
||||
from shared.config import config
|
||||
|
||||
def rewrite_nav(nav: Dict[str, Dict], nav_redirects:Dict[str, str]):
|
||||
if nav_redirects:
|
||||
for label, data in (nav.get("cats") or {}).items():
|
||||
top_slug = (data or {}).get("slug")
|
||||
if not top_slug:
|
||||
continue
|
||||
new_subs = []
|
||||
for s in (data.get("subs") or []):
|
||||
old_sub = (s.get("slug") or "").strip()
|
||||
if not old_sub:
|
||||
continue
|
||||
old_path = f"/{top_slug}/{old_sub}"
|
||||
canonical_path = nav_redirects.get(old_path, old_path)
|
||||
parts = [x for x in canonical_path.split("/") if x]
|
||||
top2, sub2 = parts[0], parts[1]
|
||||
s["slug"] = sub2
|
||||
s["href"] = urljoin(config()["base_url"], f"/{top2}/{sub2}")
|
||||
new_subs.append(s)
|
||||
data["subs"] = new_subs
|
||||
Reference in New Issue
Block a user