站点设置

本页内容

站点设置是全局值:标题、副标题、徽标、社交账号与展示偏好。在管理后台维护,在模板中用 getSiteSettings() 读取。

读取设置

---
import { getSiteSettings } from "emdash";

const settings = await getSiteSettings();
---

<html lang="en">
  <head>
    <title>{settings.title}</title>
    {settings.favicon && (
      <link rel="icon" href={settings.favicon.url} />
    )}
  </head>
  <body>
    <header>
      {settings.logo ? (
        <img src={settings.logo.url} alt={settings.logo.alt || settings.title} />
      ) : (
        <span class="site-title">{settings.title}</span>
      )}
      {settings.tagline && <p class="tagline">{settings.tagline}</p>}
    </header>
    <slot />
  </body>
</html>

可用字段

与英文文档相同的 SiteSettings / MediaReference TypeScript 接口。

读取单项

import { getSiteSetting } from "emdash";

const title = await getSiteSetting("title");
const logo = await getSiteSetting("logo");

在组件中使用

可提供站点页头、社交链接与 SEO 元信息示例(结构与英文文档 Header.astroSocialLinks.astroSEO.astroPostDate.astro 一致)。

日期格式

dateFormat 为模式字符串,实际渲染可能需要 date-fns 等库配合 timezone

管理 API

GET /_emdash/api/settingsPOST /_emdash/api/settings 的 JSON 示例与英文文档相同;更新时只需提交变更字段。媒体字段更新时通常只提交 mediaId

API 参考

  • getSiteSettings()Promise<Partial<SiteSettings>>
  • getSiteSetting(key) → 按 key 返回对应类型