• 我们将在以下所有示例中使用 yml/yaml 格式,建议使用 yaml 而不是 toml,因为它更易读。
  • 如果需要,可以在 YML to TOML 找到任何转换器。

入门 🚀

  1. 按照 Hugo Docs - Quick Start 指南安装
    (确保安装 Hugo >= v0.112.4)

  2. 创建一个新的 站点

    hugo new site MyFreshWebsite --format yaml
    # 用你的网站名称替换 MyFreshWebsite
    

    注意:

创建新站点后,按照以下步骤添加 PaperMod

安装/更新 PaperMod

  • 主题位于 MyFreshWebsite/themes 目录中。
  • PaperMod 将安装在 MyFreshWebsite/themes/PaperMod

展开方法 1 - Git Clone

安装:在 Hugo 站点文件夹 MyFreshWebsite 中运行:

git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1

如果您希望保持特定版本,请在上述命令末尾使用 --branch v7.0

更新:在 Hugo 站点文件夹 MyFreshWebsite 中运行:

cd themes/PaperMod
git pull

展开方法 2 - Git Submodule(推荐)

安装

git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
git submodule update --init --recursive # 当您重新克隆存储库时需要(子模块可能不会自动克隆)

如果您希望保持特定版本,请在上述命令末尾使用 --branch v7.0。 有关 git 子模块的更多信息,请阅读此处

更新:在 Hugo 站点文件夹 MyFreshWebsite 中运行:

git submodule update --remote --merge

展开方法 3 - 下载并解压缩

从 Github Releases 下载 PaperMod 源代码并在 MyFreshWebsite/themes/PaperMod 中解压缩。

直接链接:

展开方法 4 - Hugo 模块

安装

  • 在操作系统中安装 Go 编程语言

  • 初始化您自己的 hugo 模块

hugo mod init YOUR_OWN_GIT_REPOSITORY
  • config.yml 文件中添加 PaperMod
1
2
3
module:
  imports:
  - path: github.com/adityatelange/hugo-PaperMod

安装:在 Hugo 站点文件夹 MyFreshWebsite 中运行:

hugo

 mod get -u

更新

hugo mod get -u

阅读更多: Hugo文档 - HUGO MODULES

最后在您的站点配置中将主题设置为 PaperMod

config.yml 中添加:

1
theme: ["PaperMod"]

接下来 - 自定义 PaperMod 以满足您的偏好。

  • 在您第一次设置之后,您的站点将是空白的。
  • 您可以查看本网站的源代码 - PaperMod 的 exampleSite 源代码
  • 滚动到本页下方,您将找到关于每个部分的更具体的详细信息。
  • 请查看下面的所有页面,了解如何配置 PaperMod。

支持 🫶

  • Star 🌟 PaperMod 的 Github 仓库。
  • 通过在社交媒体上分享并向朋友推荐来帮助宣传 PaperMod。 🗣️
  • 您还可以在 Github 赞助者 / Ko-Fi 上赞助 🏅。

以 PaperMod 为特色的视频

您可以观看一些在 YouTube 上可用的视频,了解创作者的思想以及设置过程。

▶️ https://youtube.com/playlist?list=PLeiDFxcsdhUrzkK5Jg9IZyiTsIMvXxKZP


快速链接


示例 config.yml

示例站点结构在此处exampleSite

适当使用

baseURL: "https://examplesite.com/"
title: ExampleSite
paginate: 5
theme: PaperMod

enableRobotsTXT: true
buildDrafts: false
buildFuture: false
buildExpired: false

googleAnalytics: UA-123-45

minify:
  disableXML: true
  minifyOutput: true

params:
  env: production # to enable google analytics, opengraph, twitter-cards and schema.
  title: ExampleSite
  description: "ExampleSite description"
  keywords: [Blog, Portfolio, PaperMod]
  author: Me
  # author: ["Me", "You"] # multiple authors
  images: ["<link or path of image for opengraph, twitter-cards>"]
  DateFormat: "January 2, 2006"
  defaultTheme: auto # dark, light
  disableThemeToggle: false

  ShowReadingTime: true
  ShowShareButtons: true
  ShowPostNavLinks: true
  ShowBreadCrumbs: true
  ShowCodeCopyButtons: false
  ShowWordCount: true
  ShowRssButtonInSectionTermList: true
  UseHugoToc: true
  disableSpecial1stPost: false
  disableScrollToTop: false
  comments: false
  hidemeta: false
  hideSummary: false
  showtoc: false
  tocopen: false

  assets:
    # disableHLJS: true # to disable highlight.js
    # disableFingerprinting: true
    favicon: "<link / abs url>"
    favicon16x16: "<link / abs url>"
    favicon32x32: "<link / abs url>"
    apple_touch_icon: "<link / abs url>"
    safari_pinned_tab: "<link / abs url>"

  label:
    text: "Home"
    icon: /apple-touch-icon.png
    iconHeight: 35

  # profile-mode
  profileMode:
    enabled: false # needs to be explicitly set
    title: ExampleSite
    subtitle: "This is subtitle"
    imageUrl: "<img location>"
    imageWidth: 120
    imageHeight: 120
    imageTitle: my image
    buttons:
      - name: Posts
        url: posts
      - name: Tags
        url: tags

  # home-info mode
  homeInfoParams:
    Title: "Hi there \U0001F44B"
    Content: Welcome to my blog

  socialIcons:
    - name: x
      url: "https://x.com/"
    - name: stackoverflow
      url: "https://stackoverflow.com"
    - name: github
      url: "https://github.com/"

  analytics:
    google:
      SiteVerificationTag: "XYZabc"
    bing:
      SiteVerificationTag: "XYZabc"
    yandex:
      SiteVerificationTag: "XYZabc"

  cover:
    hidden: true # hide everywhere but not in structured data
    hiddenInList: true # hide on list pages and home
    hiddenInSingle: true # hide on single page

  editPost:
    URL: "https://github.com/<path_to_repo>/content"
    Text: "Suggest Changes" # edit text
    appendFilePath: true # to append file path to Edit link

  # for search
  # https://fusejs.io/api/options.html
  fuseOpts:
    isCaseSensitive: false
    shouldSort: true
    location: 0
    distance: 1000
    threshold: 0.4
    minMatchCharLength: 0
    limit: 10 # refer: https://www.fusejs.io/api/methods.html#search
    keys: ["title", "permalink", "summary", "content"]
menu:
  main:
    - identifier: categories
      name: categories
      url: /categories/
      weight: 10
    - identifier: tags
      name: tags
      url: /tags/
      weight: 20
    - identifier: example
      name: example.org
      url: https://example.org
      weight: 30
# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
pygmentsUseClasses: true
markup:
  highlight:
    noClasses: false
    # anchorLineNos: true
    # codeFences: true
    # guessSyntax: true
    # lineNos: true
    # style: monokai

示例 Page.md

---
title: "My 1st post"
date: 2020-09-15T11:30:03+00:00
# weight: 1
# aliases: ["/first"]
tags: ["first"]
author: "Me"
# author: ["Me", "You"] # multiple authors
showToc: true
TocOpen: false
draft: false
hidemeta: false
comments: false
description: "Desc Text."
canonicalURL: "https://canonical.url/to/page"
disableHLJS: true # to disable highlightjs
disableShare: false
disableHLJS: false
hideSummary: false
searchHidden: true
ShowReadingTime: true
ShowBreadCrumbs: true
ShowPostNavLinks: true
ShowWordCount: true
ShowRssButtonInSectionTermList: true
UseHugoToc: true
cover:
    image: "<image path/url>" # image path/url
    alt: "<alt text>" # alt text
    caption: "<text>" # display caption under cover
    relative: false # when using page bundles set this to true
    hidden: true # only hide on current single page
editPost:
    URL: "https://github.com/<path_to_repo>/content"
    Text: "Suggest Changes" # edit text
    appendFilePath: true # to append file path to Edit link
---

你可以通过创建 archetypes/post.md 来使用它。

hugo new --kind post <name>