Hugo博客

hugo-june-theme — Hugo 博客模板

作者 clavinjune

Hugo June 是一个面向多语言个人站点与博客的 Hugo 主题,默认支持英语、印尼语和日语,配置集中在 config、i18n 与 data 目录。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-04查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

面向多语言个人站点与博客,默认提供英语、印尼语、日语三种语言

02

每种语言可配置独立的内容目录、菜单名称与描述

03

界面文案与结构化数据分别放在 i18n 和 data 目录,便于调整

04

内置 Giscus 评论、CSP、Google 站点验证、Brave Rewards 验证文件与 Web Monetization Meta 标签等可选配置

05

提供自定义 Shortcodes 与跳转到正文按钮

06

仓库 README 标注项目处于 Work In Progress 状态

模板详细介绍

Hugo June 由 Jessi 设计、Clavin June 实现,定位是多语言个人站点与博客主题。默认内置英语、印尼语和日语三种语言,每种语言可拥有独立的内容目录与菜单,语言描述、菜单名称等通过 config 文件配置,界面文案放在 i18n 目录,其他结构化数据放在 data 目录。

主题提供博客功能,并包含若干可选的站点级配置项:Giscus 评论、内容安全策略(CSP)、Google 站点验证 Meta 标签、Brave Rewards 验证文件、Web Monetization Meta 标签、自定义 Shortcodes,以及跳转到正文按钮。分页、目录层级、代码高亮、分类法(如 categories)等由 Hugo 自身的配置项控制。

仓库 README 标注该项目处于 Work In Progress 状态,使用前需留意这一点。主题以 Git submodule 或 clone 到 themes/june 的方式引入,配置示例中给出了 baseURL、语言菜单、作者信息、支持与联系方式链接等字段。

Hugo博客

适合你的项目吗?

适用场景

  • 搭建需要同时维护多种语言内容的个人博客
  • 把已有的 Hugo 站点改造成多语言个人主页与文章列表
  • 为博客接入 Giscus 评论并配置内容安全策略
  • 在个人站点中放置站点验证、Brave Rewards 验证或 Web Monetization 相关配置

适合人群

  • 使用 Hugo 并需要多语言个人站点或博客的开发者
  • 希望用配置文件集中管理语言、菜单与站点参数的站长
  • 需要 Giscus 评论、CSP 或站点验证类可选功能的个人站点作者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    通过 git submodule add 或 git clone 将主题放入 themes/june 目录

  2. 2

    在站点 config 中设置 theme = 'june',并按示例配置 languages、菜单与 params.june 等参数

  3. 3

    语言内容分别放入 content/en、content/id、content/ja 等目录,界面文案与数据分别维护在 i18n 和 data 目录

  4. 4

    Giscus 参数需从 giscus.app 获取后填入 params.june.giscus

  5. 5

    仓库标注为 Work In Progress,使用前建议先查看仓库当前状态与 README

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • Giscus 评论为可选功能,需在 giscus.app 创建并获取 Repo、RepoID、Category、CategoryID 等参数后填入配置,评论数据托管于 GitHub Discussions,属于外部服务依赖。
  • 使用 Giscus 评论前必须访问 giscus.app 获取仓库与分类标识等配置值,并依赖 GitHub 账号与仓库,属于外部服务与账号要求。
  • Web Monetization Meta 标签需填入 Uphold 等支付服务提供的 ILP 收款地址,启用该功能依赖第三方支付服务账号。
  • Brave Rewards 验证文件需替换为站点所有者自己的验证令牌,该功能依赖 Brave 浏览器生态的验证流程。
  • 配置示例包含 Google Analytics,启用统计需自行申请 GA 跟踪 ID,属于外部服务依赖,非主题强制要求。
  • README 徽章标注项目处于 Work In Progress 状态,功能与配置可能尚未稳定,使用前应确认当前仓库状态。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Giscus Support Comment Section

README 原文

get from https://giscus.app/

README 原文

monetization = '$ilp.uphold.com/XXXXX'

README 原文

braveRewardsVerification = 'ze0dec1b3acfbd430cac887ce390fdefcb56679334fcd39bc49d434660a52e26c'

README 原文

[services.googleAnalytics] id = 'XXXXX'

README 原文

Work In Progress

README 原文
https://github.com/clavinjune/hugo-june-theme/blob/master/LICENSEhttps://github.com/clavinjune/hugo-june-theme/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 80 / 100
技术栈
Hugo
网站类型
博客
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-08-10
截图检查日期
2026-10-04

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Hugo。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-04

查看当时使用的来源资料

SHA-256: 4f60e254ecdb12edd0cf49366f3f8cfeb661468a2dde988a63214f8e540fad8e

2026-10-04T00:36:16.005Z

来源文件 / 仓库
# Hugo June Theme

[![Hugo Version](https://img.shields.io/static/v1?label=Hugo+Version&message=0.145.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.145.0)
[![Latest Release](https://img.shields.io/github/tag/ClavinJune/hugo-june-theme.svg)](https://github.com/ClavinJune/hugo-june-theme/releases/latest)
[![GitHub](https://img.shields.io/github/license/ClavinJune/hugo-june-theme)](https://github.com/ClavinJune/hugo-june-theme/blob/master/LICENSE)
[![Work In Progress](https://img.shields.io/static/v1?label=Work+In+Progress&message=true&color=green&logo=github)](https://github.com/ClavinJune/hugo-june-theme)

![Hugo June Theme Example](https://hugo.ClavinJune.dev/images/example.png)

Hugo June is a theme that created to serve multilingual personal site and blog. The design itself is created by [Jessi](https://munyaaa.github.io/) and implemented by [Clavin June](https://clavinjune.dev). By default, Hugo June has supported English, Indonesian, and Japanese. All the configuration could be modified by adjusting the built-in `config file`, `i18n directory`, and `data directory`. See Demo [here](https://clavinjune.dev)

## Features

- Blog
- Brave Rewards Verification File
- Content Security Policy Support
- Custom Shortcodes
- Giscus Support Comment Section
- Google Site Verification Meta Tag
- Minimalist
- Multilingual
- Responsive
- Simple
- Skip to Content Button
- Web Monetization Meta Tag

## Usage

```bash
# add theme as submodule
$ git submodule add https://github.com/ClavinJune/hugo-june-theme themes/june

# or clone
$ git clone https://github.com/ClavinJune/hugo-june-theme themes/june
```

## Config Example

```toml
baseURL = 'https://clavinjune.dev'
canonifyURLs = true
enableEmoji = true
defaultContentLanguage = 'en'
defaultContentLanguageInSubdir = true
enableMissingTranslationPlaceholders = true
enableRobotsTXT = true
hasCJKLanguage = true
languageCode = 'en-us'
publishDir = 'docs'
title = 'June Personal Web'
theme = 'june'

[pagination]
  pagerSize = 5

[services]
  [services.googleAnalytics]
    id = 'XXXXX'

[privacy]
  [privacy.googleAnalytics]
    respectDoNotTrack = true

[markup]
  [markup.tableOfContents]
    endLevel = 3
    ordered = true
    startLevel = 1
  [markup.highlight]
    anchorLineNos = true
    codeFences = true
    guessSyntax = true
    lineNos = true
    lineNumbersInTable = true
    style = 'vs'
    tabWidth = 4
  
[taxonomies]
  category = 'categories'

[languages]
  [languages.en]
    contentDir = 'content/en'
    languageName = 'English'
    weight = 1
    [languages.en.params]
    description = 'Clavin June Personal Web'
    locale = "en_US"

    [[languages.en.menu.main]]
      name = 'HOME'
      url = '/'
      weight = 1

    [[languages.en.menu.main]]
      name = 'BLOG'
      url = '/blogs/'
      weight = 2

    [[languages.en.menu.main]]
      name = 'PODCAST'
      url = '/podcasts/'
      weight = 3

    [[languages.en.menu.main]]
      name = 'WORK'
      url = '/works/'
      weight = 4

  [languages.id]
    contentDir = 'content/id'
    languageName = 'Bahasa Indonesia'
    weight = 2
    [languages.id.params]
      description = 'Clavin June Personal Web'
      locale = "id_ID"

    [[languages.id.menu.main]]
      name = 'HOME'
      url = '/'
      weight = 1

    [[languages.id.menu.main]]
      name = 'BLOG'
      url = '/blogs/'
      weight = 2

    [[languages.id.menu.main]]
      name = 'SINIAR'
      url = '/podcasts/'
      weight = 3

    [[languages.id.menu.main]]
      name = 'KARYA'
      url = '/works/'
      weight = 4

  [languages.ja]
    contentDir = 'content/ja'
    languageName = '日本語'
    weight = 3
    [languages.ja.params]
      description = 'Clavin June Personal Web'
      locale = "ja_JP"

    [[languages.ja.menu.main]]
      name = 'ホーム'
      url = '/'
      weight = 1

    [[languages.ja.menu.main]]
      name = 'ブログ'
      url = '/blogs/'
      weight = 2

    [[languages.ja.menu.main]]
      name = 'ポード'
      url = '/podcasts/'
      weight = 3

    [[languages.ja.menu.main]]
      name = '作品'
      url = '/works/'
      weight = 4

[params]
  [params.author]
    Name = "XXXXX"
    Email = 'XXXXX'

  [params.june]
    braveRewardsVerification = 'ze0dec1b3acfbd430cac887ce390fdefcb56679334fcd39bc49d434660a52e26c'
    canonicalURL = 'XXXXX'
    csp = "default-src 'self' 'unsafe-inline' https:;"
    googleSiteVerification = 'XXXXX'
    monetization = '$ilp.uphold.com/XXXXX'

    [[params.june.support]]
      Name = 'Bitcoin'
      URL = 'XXXXX'

    [[params.june.support]]
      Name = 'Ko-fi'
      URL = 'XXXXX'

    [[params.june.support]]
      Name = 'Trakteer'
      URL = 'XXXXX'

    [[params.june.contact]]
      Name = "Email"
      URL  = "XXXXX"

    [[params.june.contact]]
      Name = "Github"
      URL  = "XXXXX"

    [[params.june.contact]]
      Name = "LinkedIn"
      URL  = "XXXXX"
      
    # get from https://giscus.app/
    [params.june.giscus]
      Repo =  "XXXXX"
      RepoID = "XXXXX"
      Category = "XXXXX"
      CategoryID = "XXXXX"
      Mapping = "XXXXX"
      Reaction = "XXXXX"
      Metadata = "XXXXX"
      Theme = "XXXXX"
```
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。