古尔曼:苹果 iOS 27 将引入智能推荐 Genmoji 功能,基于相册照片与输入记录自动生成表情

May 17, 2026

AI 解读

苹果计划在 iOS 27 中引入智能推荐 Genmoji 功能,该功能将基于用户的相册照片和输入记录,自动生成个性化表情。此举旨在提升 Genmoji 功能的使用率和用户体验,使其在聊天场景中更加实用。用户可以通过键盘设置自主选择开启或关闭此功能,但其对用户隐私和数据安全的潜在影响仍需关注,同时该功能是否完全依赖端侧本地 AI 模型运行尚待确认。

国轩高科拟量产硫化锂及固态电解质,目标推动固态电池成本降至 1 元 / Wh

May 17, 2026

AI 解读

国轩高科宣布将量产固态电池关键材料硫化锂及固态电解质,目标在 2030 年实现硫化锂年产能 5 万吨、固态电解质年产能 10 万吨,以推动固态电池成本降至 1 元/Wh。此举旨在解决当前固态电池价格高昂的瓶颈,并计划于 2030 年满足 150GWh 的固态电池需求,同时对外供应硫化锂产品。公司最新升级的电芯技术能量密度可达 400Wh/kg,目前正建设 2GWh 量产线,并已对接多个场景客户。此战略性举措若能成功实施,将对新能源汽车及储能行业产生深远影响,加速固态电池的商业化进程。

SpaceX批准“1拆5”拆股方案,所有C类股将转换为A类股

May 16, 2026

AI 解读

SpaceX董事会已批准“一拆五”的拆股方案,并将所有C类普通股转换为A类普通股,该方案将于2026年5月4日起生效。此次拆股旨在按比例调整每股价格并增加股东持股数量,但不会改变公司的整体价值或股东持股的总价值。拆股后,每股公允市场价值将从526.59美元调整至105.318美元。此举可能为未来潜在的股票交易或上市活动做准备,同时通过降低单股价格吸引更多投资者,并简化公司股权结构。

当地时间5月15日,据SpaceX向股东发送的内部邮件通知,SpaceX董事会已提出建议并经多数股东批准,决定对公司的普通股进行“一拆五”的拆股操作,同时将所有C类普通股转换为A类普通股。这一方案已于当地时间2026年5月4日起正式自动生效。

SpaceX在通知中强调,此次拆股旨在成比例调整每股价格并增加股东持有的股票数量,并不会改变公司的整体价值,也不会改变股东所持股份的总价值。受此操作影响,每股当前公允市场价值已从526.59美元调整为105.318美元。(新浪财经)

创建新主题:Hugo 网站开发指南

May 16, 2026 by AI Assistant

在 Hugo 中创建一个新的主题是一个令人兴奋的过程,它能让你完全掌控网站的外观和感觉。本指南将带你一步步了解如何从零开始构建一个 Hugo 主题,从基本结构到更高级的定制。

主题的结构

Hugo 的主题遵循一定的目录结构。当你创建一个新的主题时,你会在 themes/yourtheme 目录下看到以下主要文件和文件夹:

  • layouts/: 存放你的 HTML 模板文件。
    • _default/: 存放默认布局。
    • index.html: 首页布局。
    • single.html: 单篇文章布局。
    • list.html: 列表页(如博客列表)布局。
    • partials/: 存放可复用的模板片段,例如页眉、页脚、导航栏等。
  • static/: 存放静态资源,如 CSS、JavaScript、图片等。这些文件会被直接复制到网站的根目录下。
  • assets/: 存放需要 Hugo 管道处理的资源,例如 Sass/SCSS 文件、图片优化等。
  • i18n/: 存放国际化(多语言)翻译文件。
  • archetypes/: 存放内容类型的默认 frontmatter 模板。
  • data/: 存放数据文件(如 JSON, YAML),可以在模板中引用。
  • config.toml (或 config.yaml, config.json): 如果你想让主题拥有自己的配置选项,可以在这里定义。

第一步:创建主题目录和基本文件

首先,在你的 Hugo 项目根目录下创建一个 themes 文件夹(如果还没有的话),然后在 themes 文件夹内创建一个代表你主题的文件夹,例如 mytheme

mkdir themes
cd themes
mkdir mytheme
cd mytheme

接下来,创建几个核心的布局文件:

mkdir layouts
cd layouts
touch index.html
touch single.html
touch list.html
touch _default/single.html # 备用
touch _default/list.html    # 备用
mkdir partials
touch partials/header.html
touch partials/footer.html

第二步:配置 Hugo 使用你的主题

在你的 Hugo 项目根目录下的 config.toml 文件中,设置 theme 参数指向你的主题名称:

baseURL = "http://example.org/"
languageCode = "en-us"
title = "My Hugo Site"
theme = "mytheme"

第三步:编写基础布局

让我们从 layouts/index.html 开始,这是你的网站首页。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{ .Site.Title }}</title>
</head>
<body>
    {{ partial "header.html" . }}

    <main>
        <h1>Welcome to {{ .Site.Title }}</h1>
        <p>This is the homepage of my new Hugo theme.</p>
    </main>

    {{ partial "footer.html" . }}
</body>
</html>

然后是 layouts/single.html,用于显示单篇文章。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{ .Title }} - {{ .Site.Title }}</title>
</head>
<body>
    {{ partial "header.html" . }}

    <main>
        <h1>{{ .Title }}</h1>
        <p>Published on: {{ .Date.Format "2006-01-02" }}</p>
        <article>
            {{ .Content }}
        </article>
    </main>

    {{ partial "footer.html" . }}
</body>
</html>

layouts/list.html 用于显示列表页面,例如博客文章列表。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Blog - {{ .Site.Title }}</title>
</head>
<body>
    {{ partial "header.html" . }}

    <main>
        <h1>Blog Posts</h1>
        <ul>
            {{ range .Pages }}
            <li>
                <a href="{{ .Permalink }}">{{ .Title }}</a>
                - {{ .Date.Format "2006-01-02" }}
            </li>
            {{ end }}
        </ul>
    </main>

![creating a new](/uploads/content/57a8207c58595c1f.jpg)

    {{ partial "footer.html" . }}
</body>
</html>

现在,创建 layouts/partials/header.htmllayouts/partials/footer.html

partials/header.html:

<header>
    <nav>
        <a href="{{ .Site.BaseURL }}">Home</a> |
        <a href="/about/">About</a> |
        <a href="/blog/">Blog</a>
    </nav>
    <h2>{{ .Site.Title }}</h2>
</header>
<hr>

partials/footer.html:

<hr>
<footer>
    <p>&copy; {{ now.Year }} {{ .Site.Title }}. All rights reserved.</p>
</footer>

第四步:添加静态资源

themes/mytheme 目录下创建 static 文件夹,并在其中添加你的 CSS 文件。

cd themes/mytheme
mkdir static
cd static
mkdir css
cd css
touch style.css

static/css/style.css 中添加一些简单的样式:

body {
    font-family: sans-serif;
    line-height: 1.6;
    margin: 20px;
}

header, footer {
    background-color: #f4f4f4;
    padding: 10px;
    text-align: center;
}

nav a {
    margin: 0 10px;
    text-decoration: none;
}

main {
    margin-top: 20px;
}

现在,你需要修改你的布局文件以链接到这个 CSS 文件。例如,在 layouts/index.html<head> 部分添加:

<link rel="stylesheet" href="{{ "css/style.css" | relURL }}">

relURL 是一个 Hugo 函数,用于生成相对于网站根目录的 URL。

第五步:使用 Hugo 提供的变量和函数

Hugo 提供了许多内置变量和函数,可以帮助你在模板中动态生成内容。

  • .Site: 包含网站的全局信息,如 .Site.Title, .Site.BaseURL, .Site.Params (自定义参数)。
  • .Page: 当前页面的信息,如 .Title, .Content, .Date, .Params (页面 frontmatter 参数)。
  • .Pages: 一个列表,包含当前上下文中的所有页面。
  • {{ .Content }}: 渲染 Markdown 内容。
  • {{ .Permalink }}: 当前页面的永久链接。
  • {{ .Date.Format "layout" }}: 格式化日期。
  • {{ range ... }}{{ end }}: 循环遍历列表。
  • {{ if ... }}{{ end }}: 条件判断。
  • {{ partial "name.html" . }}: 渲染部分模板。
  • {{ .Scratch.Set "key" "value" }}{{ .Scratch.Get "key" }}: 临时存储变量。

第六步:处理内容类型(Archetypes)

archetypes 文件夹允许你为不同类型的内容(如博客文章、页面)定义默认的 frontmatter。

themes/mytheme/archetypes/ 目录下创建 default.md

themes/mytheme/archetypes/default.md

creating a new

文件内容:

---
title: "{{ replace .File.ContentBaseName "-" " " | title }}"
date: {{ .Date }}
draft: true
---

当你在项目根目录下的 content/ 文件夹中创建新文件时,Hugo 会使用对应的内容类型(或 default.md)作为模板。例如,如果你创建 content/posts/my-first-post.md,Hugo 会使用 archetypes/default.md

第七步:使用 Sass/SCSS

Hugo 内置了对 Sass/SCSS 的支持。你可以在 assets 文件夹中组织你的 Sass 文件。

cd themes/mytheme
mkdir assets
cd assets
mkdir sass
cd sass
touch _index.scss # 主 Sass 文件
touch _variables.scss # 变量文件
touch _header.scss # 页眉样式
touch _footer.scss # 页脚样式

_index.scss 中导入其他文件:

@import "variables";
@import "header";
@import "footer";

body {
    font-family: $font-stack;
    line-height: 1.6;
    margin: 20px;
    background-color: $background-color;
}

main {
    margin-top: 20px;
}

_variables.scss 中定义变量:

$font-stack: Helvetica, sans-serif;
$background-color: #f0f0f0;
$primary-color: #333;

_header.scss_footer.scss 中添加相应的样式。

然后,你需要在布局文件中引用这个 Sass 文件,Hugo 会自动编译它。

<link rel="stylesheet" href="{{ "sass/_index.scss" | relURL }}">

第八步:构建和预览

在你完成主题的编写后,可以使用 Hugo 的本地服务器来预览你的网站。

在你的 Hugo 项目根目录下运行:

hugo server -D

-D 参数会显示草稿(draft)状态的内容。Hugo 会在 localhost:1313 (默认端口) 启动一个服务器。

第九步:打包和分发主题

当你对主题满意后,你可以将其打包并与他人分享。你可以将 themes/mytheme 文件夹复制到其他 Hugo 项目的 themes 目录下,或者通过 Git 仓库进行分发。

高级主题定制

  • 国际化 (i18n): 使用 i18n/ 文件夹和 {{ i18n "key" }} 函数来支持多语言。
  • 自定义参数: 在主题的 config.toml 或项目的 config.toml 中使用 params 来传递自定义配置给主题。
  • 短代码 (Shortcodes): 创建自定义短代码来在 Markdown 中插入富媒体内容或交互元素。
  • 图片处理: Hugo 的 images 管道可以用于图片处理,如调整大小、裁剪、添加水印等。

创建 Hugo 主题是一个不断学习和迭代的过程。通过实践这些步骤,你将能够构建出满足你特定需求的强大且美观的 Hugo 网站。

从 Jekyll 迁移到 Hugo:一步步指南

May 16, 2026

对于许多长期使用 Jekyll 的用户来说,考虑迁移到 Hugo 通常是出于对性能和构建速度的追求。Hugo 以其极快的构建速度和简洁的开发流程,吸引了大量开发者。本指南将帮助你逐步完成从 Jekyll 到 Hugo 的迁移过程。

为什么迁移?

Jekyll 是一个久经考验的静态网站生成器,但随着网站规模的增大,其构建时间可能会显著增加。Hugo 使用 Go 语言编写,其并发特性使得它在处理大量内容时拥有压倒性的速度优势。如果你发现 Jekyll 的构建速度已经成为瓶颈,那么迁移到 Hugo 是一个值得考虑的选择。

迁移步骤

第一步:安装 Hugo

首先,确保你已经安装了 Hugo。你可以从 Hugo 官方网站 获取安装指南。

第二步:创建新的 Hugo 项目

在你的项目目录下,创建一个新的 Hugo 项目:

hugo new site my-new-site
cd my-new-site

第三步:复制内容文件

将你 Jekyll 项目中的内容文件(通常在 _posts 目录下)复制到 Hugo 项目的 content/posts 目录下。

# 假设你的 Jekyll 项目在上一级目录
cp ../your-jekyll-project/_posts/* content/posts/

注意: Jekyll 的内容文件通常以 YYYY-MM-DD-title.md 的格式命名。Hugo 也支持这种格式,但它也可以使用更灵活的文件名。

第四步:处理 Frontmatter

Jekyll 使用 YAML Frontmatter,而 Hugo 支持 YAML, TOML, JSON。你需要将 Jekyll 的 Frontmatter 转换为 Hugo 支持的格式。

migrate from jekyll.md

Jekyll Frontmatter 示例:

---
layout: post
title: "My Awesome Post"
date: 2023-10-27 10:00:00 +0800
categories: [tech, web]
tags: [hugo, jekyll]
---

Hugo Frontmatter 示例 (TOML):

+++
date = 2023-10-27T10:00:00+08:00
title = "My Awesome Post"
categories = ["tech", "web"]
tags = ["hugo", "jekyll"]
+++

Hugo Frontmatter 示例 (YAML):

---
date: 2023-10-27T10:00:00+08:00
title: "My Awesome Post"
categories: ["tech", "web"]
tags: ["hugo", "jekyll"]
---

Hugo 的 date 字段通常期望 ISO 8601 格式。你可能需要编写一个脚本来批量转换你的 Frontmatter。

  • layout: post: 在 Hugo 中,这通常由文件所在的目录(例如 content/posts/)决定,或者通过 type 参数指定。
  • categoriestags: Hugo 将它们映射为 categoriestags 变量。

第五步:迁移主题

这是迁移中最具挑战性的部分。Hugo 和 Jekyll 的模板语言(Liquid vs Go Templates)有所不同。

  1. 寻找 Hugo 主题: 最简单的方法是寻找一个与你 Jekyll 主题风格相似的现成 Hugo 主题。访问 Hugo Themes 网站 查找。
  2. 手动重写主题: 如果找不到合适的主题,你需要手动将 Jekyll 的 Liquid 模板转换为 Hugo 的 Go Templates。这需要对两种模板语言都有一定的了解。
    • 基础布局:_layouts/default.html 迁移到 layouts/_default/single.htmllayouts/_default/list.html
    • 页眉/页脚/导航:_includes/ 中的文件迁移到 layouts/partials/
    • 变量: Jekyll 的 {{ page.title }} 对应 Hugo 的 {{ .Title }}{{ site.title }} 对应 {{ .Site.Title }}
    • 循环: Jekyll 的 {% for post in site.posts %} 对应 Hugo 的 {{ range .Pages }}{{ range where .Pages "Type" "post" }}

第六步:迁移静态文件

将 Jekyll 项目中的静态文件(如图片、CSS、JS,通常在 assetsimages 目录下)复制到 Hugo 项目的 static/ 目录下。

cp -r ../your-jekyll-project/assets static/
cp -r ../your-jekyll-project/images static/

Hugo 会自动处理 static/ 目录下的文件,将它们复制到网站的根目录。

第七步:配置 Hugo

migrate from jekyll.md

在 Hugo 项目的根目录下创建 config.toml (或 config.yaml/config.json) 文件,并配置基本信息。

baseURL = "http://example.org/" # 替换为你的网站URL
languageCode = "en-us"
title = "My New Hugo Site"

# 如果使用主题,则需要配置主题
# theme = "your-hugo-theme"

[params]
  # 这里可以添加主题相关的参数
  description = "A blog migrated from Jekyll to Hugo."

# 导航菜单配置 (根据主题文档进行配置)
# [[menu.main]]
#   name = "Home"
#   url = "/"
#   weight = 1
# [[menu.main]]
#   name = "About"
#   url = "/about/"
#   weight = 2

第八步:本地测试

运行 Hugo 的本地服务器来预览你的网站:

hugo server -D

-D 参数会显示草稿状态的内容。检查所有页面是否正常显示,链接是否正确,样式是否一致。

第九步:部署

一旦你对本地预览满意,就可以构建你的网站:

hugo

这会在 public/ 目录下生成所有静态文件。然后,将 public/ 目录下的内容部署到你的托管平台。

常见迁移问题及解决方案

  • 日期格式不匹配: Hugo 的 date 字段通常需要 ISO 8601 格式。使用脚本转换 YYYY-MM-DD HH:MM:SSYYYY-MM-DDTHH:MM:SS+ZZ:ZZ
  • Markdown 渲染差异: 某些 Markdown 扩展在 Jekyll 和 Hugo 中可能渲染方式不同。检查并调整你的 Markdown 内容或 Hugo 的 Markdown 配置。
  • 图片路径问题: 确保你的图片路径在 Hugo 中被正确解析。使用相对路径或 Hugo 的 relURL 函数。
  • Permalink 结构: Jekyll 的 _config.yml 中的 permalink 设置需要映射到 Hugo 的 config.toml 中的 uglyURLs 或自定义的 permalinks 配置。

迁移是一个细致的过程,可能需要一些时间和耐心。但一旦完成,你将享受到 Hugo 带来的速度和效率提升。爱游戏平台也一直在探索和优化内容管理和网站构建的流程,以提供更优质的用户体验。

索尼 PS5 Beta 新增热度小组件,展示热门游戏活跃度

May 16, 2026

AI 解读

索尼在 PlayStation 5 Beta 测试版固件中引入了一项新功能,允许玩家通过“欢迎中心”小组件查看热门游戏的周玩家数量和近期热度上升的游戏。该功能借鉴了 SteamDB 的模式,但侧重于展示区域性的周活跃玩家数据,而非实时在线人数。此举旨在帮助玩家发现当前热门或新近受关注的游戏,从而可能更容易找到游戏伙伴。然而,该功能可能面临服务型游戏长期占据榜单前列的局限性,导致榜单变化不大。目前已公布的美国区数据显示,《使命召唤》和《Apex Legends》等游戏依然保持高活跃度。

唯卓仕发布 DC-550 Pro Ⅱ 监视器:支持反向操控相机,到手价 1098 元

May 16, 2026

AI 解读

唯卓仕发布 DC-550 Pro Ⅱ 监视器,售价 1098 元,该产品支持通过 USB 或 Wi-Fi 反向操控相机,可直接在监视器上调整快门、光圈、ISO 等参数,对于视频创作者而言,这一功能显著提升了拍摄效率和便捷性。监视器配备 5.5 英寸 IPS 全高清屏幕,最高亮度 1400 尼特,支持 4K 60Hz HDMI 输入输出,并提供多种专业监看辅助功能,如直方图、波形图等,同时支持 3DLUT 监看和自定义导入,满足专业色彩管理需求,多种供电方式也增强了其在不同场景下的适用性。

Steam 喜加一:原价 22 元心理恐怖游戏《Terrors to Unveil - Day Off》免费领

May 15, 2026

AI 解读

Steam 平台现已开启心理恐怖游戏《Terrors to Unveil - Day Off》的限时免费领取活动,原价 22 元,活动截止至北京时间 5 月 20 日凌晨 1:00。该游戏是一款第一人称叙事导向的步行模拟器,采用复古 VHS 滤镜,玩家将扮演一名在假期遭遇诡异事件的社畜。此次免费领取为玩家提供了以零成本体验这款独立恐怖游戏的机会,对于喜爱该类型游戏的玩家而言不容错过。

华硕 ROG 魔导士 Falchion Ace 75 HE 磁轴键盘新增熔岩红配色

May 15, 2026

AI 解读

华硕在 ROG DAY 2026 广州站发布了 ROG 魔导士 Falchion Ace 75 HE 磁轴键盘的熔岩红配色,该键盘提供 HFX V2 和 HFX V2X 两种轴体选择,售价分别为 1199 元和 1249 元。此次新配色的推出,旨在与同系列的 ROG 龙鳞 2 Ace 鼠标熔岩红版形成一套完整的红色游戏外设组合,满足消费者对个性化和成套搭配的需求,进一步丰富了 ROG 在高端游戏键盘市场的选择。

奇瑞尹同跃:鸿蒙智行智界 V9 小定已破 40000 台

May 15, 2026

AI 解读

奇瑞董事长尹同跃在鸿蒙智行智界 V9 上市发布会上透露,该车型自 4 月 22 日开启预售以来,小定量已突破 40000 台,价格区间为 39.98 万-52.98 万元。同时,智界 R7 在 J.D.Power 中型纯电 SUV 质量排名中位列第一,智界 R7 和 S7 累计交付量已超过 160000 台。这些数据表明智界品牌在产品研发、技术创新和市场接受度方面均取得显著进展,尤其是在高端新能源汽车市场。智界超级工厂获得国家智能制造能力成熟度四级认证,也预示着其在生产制造和品控方面的领先地位。