news relaunch step 1: extract the feed into NewsFeed.svelte, mount at / and /news
Pure refactor, no visible/behavioral change. The ~1065-line feed moves verbatim from routes/+page.svelte into lib/components/NewsFeed.svelte; both routes/+page and the new routes/news render it. Link generation is base-aware (feedBase()): on `/` it builds `/?…` exactly as today (bug-for-bug parity); on `/news` it builds `/news?…` so /news is self-coherent. At cutover, `/` becomes the hub and the feed lives only at /news. /news is kept hidden during the transition (noindex, follow) so we never publish a duplicate indexable feed: route <meta robots> + a Caddy @newsHidden X-Robots-Tag (follow, so link equity flows). Removed at cutover, when /news enters the sitemap. 27/27 frontend tests green; build clean; /news.html prerenders. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
<script>
|
||||
// /news — the feed's permanent home. During transition it renders the SAME extracted
|
||||
// NewsFeed as `/` and stays hidden (noindex) so we never publish a duplicate indexable
|
||||
// surface. At cutover the noindex is dropped and /news enters the sitemap.
|
||||
import NewsFeed from '$lib/components/NewsFeed.svelte';
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
</svelte:head>
|
||||
|
||||
<NewsFeed />
|
||||
Reference in New Issue
Block a user