[feat] solution/frontend,site: 파비콘을 PNG 로 — 발행본·앱 양쪽에 건다
주신 32x32 PNG 를 브랜드 자산으로 넣고 앱과 발행본이 같이 쓴다. SVG 는 뒤에 남겨 둔다 — PNG 를 못 읽는 자리는 없지만, 고해상도 탭에서는 SVG 가 낫다. 브라우저는 앞의 것부터 보고 처리할 수 있는 것을 고른다. - public/brand/favicon-w4a.png (신규, 32x32) - site/seo/head.ts · frontend/root.tsx: PNG 를 먼저, SVG 를 뒤에 검증: site vitest 86건 통과 · tsc(site·frontend) 통과. 발행본 반영에는 전체 재굽기가 필요하다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
079c93a62a
commit
b76144746b
BIN
solution/frontend/public/brand/favicon-w4a.png
Normal file
BIN
solution/frontend/public/brand/favicon-w4a.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 339 B |
@ -15,6 +15,7 @@ const PUBLISH_HOST = import.meta.env.VITE_PUBLISH_HOST || 'web4ai.o2osolution.ai
|
|||||||
export const ORIGIN = `https://${PUBLISH_HOST}`;
|
export const ORIGIN = `https://${PUBLISH_HOST}`;
|
||||||
|
|
||||||
export const links: LinksFunction = () => [
|
export const links: LinksFunction = () => [
|
||||||
|
{rel: 'icon', type: 'image/png', sizes: '32x32', href: '/brand/favicon-w4a.png'},
|
||||||
{rel: 'icon', type: 'image/svg+xml', href: '/brand/favicon-w4a.svg?v=14'},
|
{rel: 'icon', type: 'image/svg+xml', href: '/brand/favicon-w4a.svg?v=14'},
|
||||||
// self-host Pretendard 가 어떤 환경에서든 못 뜰 때 한글이 굴림/맑은고딕으로 떨어지지 않게 하는 안전망
|
// self-host Pretendard 가 어떤 환경에서든 못 뜰 때 한글이 굴림/맑은고딕으로 떨어지지 않게 하는 안전망
|
||||||
{rel: 'preconnect', href: 'https://fonts.googleapis.com'},
|
{rel: 'preconnect', href: 'https://fonts.googleapis.com'},
|
||||||
|
|||||||
@ -181,6 +181,7 @@ export function renderHead({payload, meta, scriptSrc, cssHrefs = []}: HeadOption
|
|||||||
* 파일은 오리진 루트의 공용 자산이라 사이트마다 복사하지 않는다 — `basePath` 가 아니라
|
* 파일은 오리진 루트의 공용 자산이라 사이트마다 복사하지 않는다 — `basePath` 가 아니라
|
||||||
* 루트 절대경로로 가리킨다(robots·sitemap 과 같은 자리다).
|
* 루트 절대경로로 가리킨다(robots·sitemap 과 같은 자리다).
|
||||||
*/
|
*/
|
||||||
|
tag('link', {rel: 'icon', type: 'image/png', sizes: '32x32', href: '/brand/favicon-w4a.png'}),
|
||||||
tag('link', {rel: 'icon', type: 'image/svg+xml', href: '/brand/favicon-w4a.svg'}),
|
tag('link', {rel: 'icon', type: 'image/svg+xml', href: '/brand/favicon-w4a.svg'}),
|
||||||
tag('link', {rel: 'apple-touch-icon', href: '/apple-touch-icon.png'}),
|
tag('link', {rel: 'apple-touch-icon', href: '/apple-touch-icon.png'}),
|
||||||
tag('meta', {'http-equiv': 'content-language', content: 'ko-KR'}),
|
tag('meta', {'http-equiv': 'content-language', content: 'ko-KR'}),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user