Refine site meta observability
This commit is contained in:
parent
a063d0d29b
commit
34e6fdb6c2
@ -111,8 +111,8 @@ Application behavior can be changed by configuring the following environment var
|
|||||||
#### Content
|
#### Content
|
||||||
- `NEXT_PUBLIC_META_TITLE` (seen in search results and browser tab)
|
- `NEXT_PUBLIC_META_TITLE` (seen in search results and browser tab)
|
||||||
- `NEXT_PUBLIC_META_DESCRIPTION` (seen in search results)
|
- `NEXT_PUBLIC_META_DESCRIPTION` (seen in search results)
|
||||||
- `NEXT_PUBLIC_NAV_TITLE` (defaults to domain when not configured)
|
- `NEXT_PUBLIC_NAV_TITLE` (seen in top-right navigation, defaults to domain when not configured)
|
||||||
- `NEXT_PUBLIC_NAV_CAPTION` (seen in navigation, beneath title)
|
- `NEXT_PUBLIC_NAV_CAPTION` (seen in top-right navigation, beneath title)
|
||||||
- `NEXT_PUBLIC_PAGE_ABOUT` (seen in grid sidebar—accepts rich formatting tags: `<b>`, `<strong>`, `<i>`, `<em>`, `<u>`, `<br>`)
|
- `NEXT_PUBLIC_PAGE_ABOUT` (seen in grid sidebar—accepts rich formatting tags: `<b>`, `<strong>`, `<i>`, `<em>`, `<u>`, `<br>`)
|
||||||
- `NEXT_PUBLIC_DOMAIN_SHARE` (seen in share modals where a shorter url may be desirable)
|
- `NEXT_PUBLIC_DOMAIN_SHARE` (seen in share modals where a shorter url may be desirable)
|
||||||
|
|
||||||
|
|||||||
@ -6,9 +6,10 @@ import {
|
|||||||
DEFAULT_THEME,
|
DEFAULT_THEME,
|
||||||
PRESERVE_ORIGINAL_UPLOADS,
|
PRESERVE_ORIGINAL_UPLOADS,
|
||||||
META_DESCRIPTION,
|
META_DESCRIPTION,
|
||||||
NAV_TITLE_OR_DOMAIN,
|
NAV_TITLE,
|
||||||
META_TITLE,
|
META_TITLE,
|
||||||
HTML_LANG,
|
HTML_LANG,
|
||||||
|
NAV_CAPTION,
|
||||||
} from '@/app/config';
|
} from '@/app/config';
|
||||||
import AppStateProvider from '@/state/AppStateProvider';
|
import AppStateProvider from '@/state/AppStateProvider';
|
||||||
import ToasterWithThemes from '@/toast/ToasterWithThemes';
|
import ToasterWithThemes from '@/toast/ToasterWithThemes';
|
||||||
@ -90,7 +91,10 @@ export default function RootLayout({
|
|||||||
'mx-3 mb-3',
|
'mx-3 mb-3',
|
||||||
'lg:mx-6 lg:mb-6',
|
'lg:mx-6 lg:mb-6',
|
||||||
)}>
|
)}>
|
||||||
<Nav navTitleOrDomain={NAV_TITLE_OR_DOMAIN} />
|
<Nav
|
||||||
|
navTitle={NAV_TITLE}
|
||||||
|
navCaption={NAV_CAPTION}
|
||||||
|
/>
|
||||||
<main>
|
<main>
|
||||||
<ShareModals />
|
<ShareModals />
|
||||||
<RecipeModal />
|
<RecipeModal />
|
||||||
|
|||||||
@ -362,8 +362,8 @@ export default function AdminAppConfigurationClient({
|
|||||||
status={hasNavTitle}
|
status={hasNavTitle}
|
||||||
optional
|
optional
|
||||||
>
|
>
|
||||||
{hasNavTitle && renderContent(navTitle)}
|
{renderContent(navTitle)}
|
||||||
Store in environment variable (replaces domain in nav):
|
Store in environment variable (replaces domain in top-right nav):
|
||||||
{renderEnvVars(['NEXT_PUBLIC_NAV_TITLE'])}
|
{renderEnvVars(['NEXT_PUBLIC_NAV_TITLE'])}
|
||||||
</ChecklistRow>
|
</ChecklistRow>
|
||||||
<ChecklistRow
|
<ChecklistRow
|
||||||
@ -372,7 +372,7 @@ export default function AdminAppConfigurationClient({
|
|||||||
optional
|
optional
|
||||||
>
|
>
|
||||||
{hasNavCaption && renderContent(navCaption)}
|
{hasNavCaption && renderContent(navCaption)}
|
||||||
Store in environment variable (seen in nav, under title):
|
Store in environment variable (seen in top-right nav, under title):
|
||||||
{renderEnvVars(['NEXT_PUBLIC_NAV_CAPTION'])}
|
{renderEnvVars(['NEXT_PUBLIC_NAV_CAPTION'])}
|
||||||
</ChecklistRow>
|
</ChecklistRow>
|
||||||
<ChecklistRow
|
<ChecklistRow
|
||||||
|
|||||||
@ -26,9 +26,11 @@ const NAV_HEIGHT_CLASS = NAV_CAPTION
|
|||||||
: 'min-h-[4rem]';
|
: 'min-h-[4rem]';
|
||||||
|
|
||||||
export default function Nav({
|
export default function Nav({
|
||||||
navTitleOrDomain,
|
navTitle,
|
||||||
|
navCaption,
|
||||||
}: {
|
}: {
|
||||||
navTitleOrDomain: string;
|
navTitle: string
|
||||||
|
navCaption?: string
|
||||||
}) {
|
}) {
|
||||||
const ref = useRef<HTMLElement>(null);
|
const ref = useRef<HTMLElement>(null);
|
||||||
|
|
||||||
@ -89,14 +91,14 @@ export default function Nav({
|
|||||||
'translate-y-[-1px]',
|
'translate-y-[-1px]',
|
||||||
)}>
|
)}>
|
||||||
<div className="truncate overflow-hidden select-none">
|
<div className="truncate overflow-hidden select-none">
|
||||||
{renderLink(navTitleOrDomain, PATH_ROOT)}
|
{renderLink(navTitle, PATH_ROOT)}
|
||||||
</div>
|
</div>
|
||||||
{NAV_CAPTION &&
|
{navCaption &&
|
||||||
<div className={clsx(
|
<div className={clsx(
|
||||||
'hidden sm:block truncate overflow-hidden',
|
'hidden sm:block truncate overflow-hidden',
|
||||||
'leading-tight text-dim',
|
'leading-tight text-dim',
|
||||||
)}>
|
)}>
|
||||||
{NAV_CAPTION}
|
{navCaption}
|
||||||
</div>}
|
</div>}
|
||||||
</div>
|
</div>
|
||||||
</nav>]
|
</nav>]
|
||||||
|
|||||||
@ -107,7 +107,7 @@ export const APP_LOCALE = (process.env.NEXT_PUBLIC_LOCALE || 'en-us')
|
|||||||
.replace('_', '-');
|
.replace('_', '-');
|
||||||
export const HTML_LANG = (APP_LOCALE.split('-')[1] || 'en');
|
export const HTML_LANG = (APP_LOCALE.split('-')[1] || 'en');
|
||||||
|
|
||||||
export const NAV_TITLE =
|
export const CUSTOM_NAV_TITLE =
|
||||||
process.env.NEXT_PUBLIC_NAV_TITLE;
|
process.env.NEXT_PUBLIC_NAV_TITLE;
|
||||||
|
|
||||||
export const NAV_CAPTION =
|
export const NAV_CAPTION =
|
||||||
@ -119,14 +119,14 @@ export const META_TITLE =
|
|||||||
process.env.NEXT_PUBLIC_META_TITLE ||
|
process.env.NEXT_PUBLIC_META_TITLE ||
|
||||||
// Legacy environment variable
|
// Legacy environment variable
|
||||||
process.env.NEXT_PUBLIC_SITE_TITLE ||
|
process.env.NEXT_PUBLIC_SITE_TITLE ||
|
||||||
NAV_TITLE ||
|
CUSTOM_NAV_TITLE ||
|
||||||
TEMPLATE_TITLE;
|
TEMPLATE_TITLE;
|
||||||
|
|
||||||
export const IS_META_TITLE_CONFIGURED =
|
export const IS_META_TITLE_CONFIGURED =
|
||||||
Boolean(process.env.NEXT_PUBLIC_META_TITLE) ||
|
Boolean(process.env.NEXT_PUBLIC_META_TITLE) ||
|
||||||
// Legacy environment variable
|
// Legacy environment variable
|
||||||
Boolean(process.env.NEXT_PUBLIC_SITE_TITLE) ||
|
Boolean(process.env.NEXT_PUBLIC_SITE_TITLE) ||
|
||||||
Boolean(NAV_TITLE);
|
Boolean(CUSTOM_NAV_TITLE);
|
||||||
|
|
||||||
export const IS_META_DESCRIPTION_CONFIGURED =
|
export const IS_META_DESCRIPTION_CONFIGURED =
|
||||||
Boolean(process.env.NEXT_PUBLIC_META_DESCRIPTION) ||
|
Boolean(process.env.NEXT_PUBLIC_META_DESCRIPTION) ||
|
||||||
@ -135,10 +135,10 @@ export const IS_META_DESCRIPTION_CONFIGURED =
|
|||||||
export const META_DESCRIPTION =
|
export const META_DESCRIPTION =
|
||||||
process.env.NEXT_PUBLIC_META_DESCRIPTION ||
|
process.env.NEXT_PUBLIC_META_DESCRIPTION ||
|
||||||
NAV_CAPTION ||
|
NAV_CAPTION ||
|
||||||
SITE_DOMAIN;
|
SITE_DOMAIN_SHORT;
|
||||||
|
|
||||||
export const NAV_TITLE_OR_DOMAIN =
|
export const NAV_TITLE =
|
||||||
NAV_TITLE ||
|
CUSTOM_NAV_TITLE ||
|
||||||
SITE_DOMAIN_SHORT ||
|
SITE_DOMAIN_SHORT ||
|
||||||
META_TITLE;
|
META_TITLE;
|
||||||
|
|
||||||
@ -361,7 +361,7 @@ export const APP_CONFIGURATION = {
|
|||||||
metaDescription: META_DESCRIPTION,
|
metaDescription: META_DESCRIPTION,
|
||||||
isMetaDescriptionConfigured: IS_META_DESCRIPTION_CONFIGURED,
|
isMetaDescriptionConfigured: IS_META_DESCRIPTION_CONFIGURED,
|
||||||
navTitle: NAV_TITLE,
|
navTitle: NAV_TITLE,
|
||||||
hasNavTitle: Boolean(NAV_TITLE),
|
hasNavTitle: Boolean(CUSTOM_NAV_TITLE),
|
||||||
navCaption: NAV_CAPTION,
|
navCaption: NAV_CAPTION,
|
||||||
hasNavCaption: Boolean(NAV_CAPTION),
|
hasNavCaption: Boolean(NAV_CAPTION),
|
||||||
pageAbout: PAGE_ABOUT,
|
pageAbout: PAGE_ABOUT,
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { NAV_TITLE_OR_DOMAIN } from '@/app/config';
|
import { NAV_TITLE } from '@/app/config';
|
||||||
import { Photo } from '../photo';
|
import { Photo } from '../photo';
|
||||||
import ImageCaption from './components/ImageCaption';
|
import ImageCaption from './components/ImageCaption';
|
||||||
import ImageContainer from './components/ImageContainer';
|
import ImageContainer from './components/ImageContainer';
|
||||||
@ -29,7 +29,7 @@ export default function HomeImageResponse({
|
|||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
fontFamily,
|
fontFamily,
|
||||||
title: NAV_TITLE_OR_DOMAIN,
|
title: NAV_TITLE,
|
||||||
}} />
|
}} />
|
||||||
</ImageContainer>
|
</ImageContainer>
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user