Hugo 主题
Goa
Goa 是一款简洁、简单且极简主义的博客和个人网站主题。


演示
您可以在此处找到正在运行的演示站点,以及此处的源代码。
安装
hugo new site quickstart
cd quickstart
git init
git submodule add https://github.com/shenoydotme/hugo-goa.git themes/hugo-goa
echo "theme = 'hugo-goa'" >> hugo.toml
hugo server
内容创建
创建文章
要在 Hugo 中创建新页面或文章,请按照以下步骤操作
创建新文章
使用以下 Hugo 命令创建新文章。这将在指定目录中为您的文章创建一个 Markdown 文件。
hugo new content posts/my-first-post.md
编辑文章
创建文章后,您可以继续编辑新创建的文件。您可以在 Hugo 站点的 `content/posts` 目录下的内容文件夹中找到它。
预览您的编辑
要实时预览您的编辑,您可以运行包含草稿文章的 Hugo 服务器。您可以使用以下任一命令
hugo server --buildDrafts
或者
hugo server -D
发布您的文章
完成编辑并准备发布文章后,在文章的前言中设置 `draft = false`。此步骤至关重要,以确保 Hugo 将您的文章包含在生成的站点中。
请记住,在您设置 `draft = false` 之前,Hugo 会将文章视为草稿,并且它不会出现在您发布的站点中,除非您将 `-D` 或 `--buildDrafts` 标志与 `hugo server` 一起使用。
组织页面
要在 Hugo 中创建独立页面,例如“关于”页面或“项目”页面,您确实可以通过在相应的内容目录中添加 index.md 文件来覆盖默认的列表行为。此方法可以更好地控制这些特定页面的内容和呈现,使其与常规博客文章或列表页面区分开来。
创建目录和 index.md 文件:
要创建一个新的独立页面,如“项目”页面,您需要首先在相应的目录中创建一个 index.md 文件。使用 Hugo 命令来执行此操作
hugo new projects/index.md
此命令将在您的 Hugo 站点的 content 文件夹中创建一个名为 projects 的新目录,然后在该 projects 目录中创建一个 index.md 文件。
编辑 index.md 文件:
在您的文本编辑器中打开新创建的 index.md 文件。此文件将充当您独立页面的主要内容文件。在这里,您可以为您的“项目”页面添加内容。
自定义前言:
在 index.md 文件的顶部,您将找到前言,Hugo 使用它来存储有关页面的元数据。您可以根据需要自定义此页面前言。
应用自定义布局(可选):
如果您想将自定义布局应用于此页面,您可以在 Hugo 站点的 layouts 目录中创建一个新的布局文件。例如,您可能会为项目页面创建一个特定的布局。然后,在 index.md 文件的前言中引用此自定义布局。
构建您的站点:
设置好 index.md 文件和任何自定义布局后,运行 Hugo 命令来构建您的站点
hugo --cleanDestinationDir
这将在 public 目录中生成您站点的静态文件,包括您新的独立页面。
请记住,目录中的 index.md 文件允许您创建具有自身内容和布局的独立页面,这与博客文章或其他内容类型的自动生成的列表页面不同。此方法提供了在 Hugo 站点上组织和呈现不同类型内容的灵活性。
发布站点
要使用 Hugo 发布站点而不进行部署,您需要运行一个特定的命令,该命令会告诉 Hugo 在 public 目录中生成静态站点。此命令将创建所有必要的文件,如 HTML、CSS、JavaScript 和图像。为确保不包含草稿、未来或过期的内容,您将在命令中使用特定的标志。
以下是您需要在 Hugo 站点项目所在的终端或命令提示符中运行的命令
hugo --cleanDestinationDir
此命令执行以下操作
- hugo:这是构建站点的基本命令。
- –cleanDestinationDir:此标志在构建之前清除 public 目录。它确保仅发布当前内容,并且目录中不会留下旧的或不需要的文件。
请记住,此过程仅在您的 Hugo 项目的 public 目录中生成静态文件。它不会将这些文件部署到 Web 服务器或托管服务。对于部署,您需要根据您的托管解决方案遵循其他步骤。
页面设置
这些设置在页面级别。
showpagemeta
:默认值=true
。这允许您禁用页面元信息的显示。例如,此设置在此处被禁用,而在此处被启用。showcomments
:默认值=true
。启用或禁用评论。例如,此设置在此处被禁用,而在此处被启用。
配置
提供的 config.toml 文件描述了所有支持的选项和功能。请按照您的方式进行配置!
基本配置
这些是此模板使用的站点范围配置参数。
baseurl
:这是您站点的根目录。builddrafts
:默认值=false
。启用或禁用在运行 Hugo 时构建草稿。canonifyurls
:默认值=false
。使用您的基本 URL 为所有相对 URL 添加前缀。更多信息。languageCode
:用于设置站点本地化首选项。例如,en-US
。contentdir
:Hugo 在哪里可以找到您的内容。例如,content
。layoutdir
:Hugo 在哪里可以找到您的模板。例如,layouts
。publishdir
:Hugo 在哪里生成静态站点。例如,public
。author
:站点作者姓名。例如,Panjim Goa
。title
:站点标题名称。例如,Panjim Goa
。theme
:如果使用此主题,则您的主题名称应设置为hugo-goa
。
Hugo 内置功能
这些是 Hugo 提供的并且由此模板使用的功能。
disqusShortname
:如果您想在您的帖子中启用评论,您的 discusShortname。googleAnalytics
:您的 Google Analytics ID,用于跟踪。enableRobotsTXT
:启用或禁用搜索引擎抓取您的站点。
站点设置 [params]
这些是此主题特定的设置。
author
:主要作者姓名。例如,Panjim Goa
。intro
:作者简介。此字段支持 Markdown。例如,创新技术大师
。description
:作者描述。此字段支持 Markdown。例如,在 [Incircle Media](https://incirclemedia.com) 领导冲锋
。authorimage
:作者图片在 static/img 或 assets/images 目录下的位置。例如,headshot.jpg
dateformat
:此站点上要使用的 Golang 日期格式。例如,Jan 2, 2006
站点元设置 [params.meta]
这些设置包含在站点的元部分中。
description
:使用此字段向搜索引擎描述您的站点。例如,简约主题
。keywords
:描述您站点的关键字。例如,简约,博客,果阿,hugo,开发者
。
社交账户 [params.social]
这些设置用于显示您的社交账户。
github
:您的 Github 用户名。instagram
:您的 Instagram 用户名。xing
:您的 Xing 用户名。linkedin
:您的 Linkedin 用户名。twitter
:您的 Twitter 用户名。facebook
:您的 Facebook 用户名。google
:您的 Google 用户名。googlescholar
:您的 Google 学术账户 ID。如何获取此 IDmedium
:您的 Medium 用户名。devto
:您的 dev.to 用户名。stackoverflow
:您的 StackOverflow 用户名。angellist
:您的 AngelList 用户名。lastfm
:您的 Last.fm 用户名。goodreads
:您的 Goodreads 用户名。gitlab
:您的 Gitlab 用户名。bitbucket
:您的 BitBucket 用户名。fivehundredpx
:您的 500px 用户名。flickr
:您的 Flickr 用户名。foursquare
:您的 Foursquare 用户名。hackernews
:您的 Y Combinator Hackernews 用户名。kickstarter
:您的 Kickstarter 用户名。patreon
:您的 Patreon 用户名。pintrest
:您的 Pintrest 用户名。steam
:您的 Steam 用户名。reddit
:您的 Reddit 用户名。snapchat
:您的 Snapchat 用户名。keybase
:您的 Keybase 用户名。twitch
:您的 Twitch 用户名。youtube
:您的 YouTube 频道 ID。soundcloud
:您的 Soundcloud 用户名。tumblr
:您的 Tumblr 用户名。strava
:您的 Strava 用户名。skype
:您的 skype 用户名。telegram
:您的 Telegram 用户名。holopin
:您的 Holopin 用户名。whatsapp
:您的电话号码。请按照此处的步骤操作。隐私警告email
:您的电子邮件。隐私警告pgp
:您的 PGP 密钥。该值应设置为密钥指纹,并且公钥应放置在 static/key_fingerprint.txt 中
隐私警告
建议您将您的私人数据(电话号码/电子邮件)保密。特别是如果您不将它们用于业务。将其添加到您的公开资料中会将您的数据暴露给公众。这是不可逆转的。
账户详细信息
Google 学术
要获取此 ID,请转到 Google 学术,按顶部的“我的个人资料”选项卡,然后复制 user=
之后到第一个后续 &
的文本(例如,https://scholar.google.com/citations?user=ACCOUNT_ID&hl=en
中的 ACCOUNT_ID
部分)。
额外设置 [params.extra]
这些设置用于此站点使用的额外功能。
copyright
:在主题底部添加版权声明。例如,© 2024. Panjim Goa。[保留一些权利](https://creativecommons.org/licenses/by/3.0/)"
rss
:在社交账户旁边启用 rss 图标。poweredby
:帮助推广此主题并给予作者信用。例如,true
或false
。highlightjs
:使用 highlightJS 在您的站点上突出显示代码。例如,true
或false
。socialmarkup
:添加符合 Schema.org 标记的链接。有关详细信息,请参见此链接。
主菜单 [[menu.main]]
这些设置用于主页上显示的主菜单。
name
:菜单项的名称。例如,blog
weight
:此菜单项的权重。较高的项目会移到底部。例如,100
url
:此部分/页面的根 URL。例如,/blog/
。
示例
[[menu.main]]
name = "blog"
weight = 100
url = "blog/"
[[menu.main]]
name = "about"
weight = 200
url = "about/"
[[menu.main]]
name = "projects"
weight = 300
url = "projects/"
功能
- 响应式
- 简约
- Bootstrap 5
- Font Awesome 6
- HighlightJS
- Disqus 支持评论
- 内置支持 404 页面、Disqus 评论和 Google Analytics。
屏幕截图
移动设备




桌面




贡献
错误报告
- 搜索 GitHub 问题,查看该错误是否已被提交。
- 如果已被提交,请给该帖子 +1。这有助于我们评估影响并确定错误的优先级。
- 如果之前未提交,请打开一个新的 GitHub 问题并详细描述。附上错误跟踪信息并提供相关详细信息,以帮助我们解决它。
- 对于 Hugo 问题,请搜索 Hugo 论坛
功能请求
- 搜索 GitHub 问题,查看该功能是否已被请求。
- 如果已被提交,请给该帖子 +1。这有助于我们评估受欢迎程度并确定功能的优先级。
- 如果之前未提交,请打开一个新的 GitHub 问题并详细描述。
拉取请求
- 克隆存储库,创建功能/错误分支。
- 编码。
- 确保您的代码遵循项目的样式。
- 彻底测试。
- 打开一个 PR 请求将其合并。
- 详细描述您正在解决的功能或问题。
- 等待批准。
- 合并并欢庆。
归属
该主题的设计灵感来自许多博客和主题
- Hugo Cocoa。
- Hugo Vec。
- Hugo Agency。
许可证
在 MIT 许可证下获得许可。有关更多详细信息,请参阅 LICENSE 文件。
作者
- Raj Shenoy
- 网站:shenoydotme
- 推特:@shenoydotme
- Incircle Media
- 网站:Incircle Media
- 推特:@incirclemedia