Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,10 @@ export default defineConfig({
// pages that exist in multiple locales. Keys are URL slugs, values are the
// hreflang codes — so /zh/ is advertised as zh-Hans.
sitemap({
// Keep noindex pages out of the sitemap — advertising a URL we then tell
// crawlers to ignore is a contradictory signal. /brand/wallpaper/ is an
// internal brand tool, not a page we want indexed.
filter: (page) => !page.includes('/brand/wallpaper/'),
i18n: {
defaultLocale: 'en',
locales: {
Expand Down
5 changes: 5 additions & 0 deletions src/components/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ const groups = [
links: [
{ href: localeHref('/blog/'), label: ui.navBlog },
{ href: localeHref('/about/'), label: ui.footerAbout },
// English-only, deliberately: the wallpaper page itself isn't translated,
// so it's offered where the reader is already reading English rather than
// pointing a localized footer at an English destination. That also keeps
// it from costing a ninth translation of a label for a brand extra.
...(lang === 'en' ? [{ href: '/brand/wallpaper/', label: 'Wallpaper' }] : []),
],
},
];
Expand Down
9 changes: 8 additions & 1 deletion src/layouts/Base.astro
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ interface Props {
ogImageAlt?: string;
ogType?: 'website' | 'article';
noindex?: boolean;
/**
* Mount the shared animated waveform backdrop. Off only for pages that draw
* their own full-bleed field (the /brand/wallpaper/ live wallpaper), so two
* canvases never animate at once.
*/
siteBackground?: boolean;
article?: {
publishedTime?: Date;
modifiedTime?: Date;
Expand All @@ -33,6 +39,7 @@ const {
ogImageAlt = 'WaveKat — open-source AI voice tools for small business',
ogType = 'website',
noindex = false,
siteBackground = true,
article,
} = Astro.props;

Expand Down Expand Up @@ -175,7 +182,7 @@ const orgSchema = {
</script>
</head>
<body class="min-h-screen bg-white dark:bg-wk-bg text-gray-900 dark:text-gray-100 transition-colors duration-200">
<SiteBackground />
{siteBackground && <SiteBackground />}

{bannerOffers.length > 0 && (
<div
Expand Down
Loading
Loading