beautifulhugo

Theme for the Hugo static website generator

Github星跟蹤圖

Beautiful Hugo - An adaptation of the Beautiful Jekyll theme

Beautiful Hugo Theme Screenshot

Installation

$ mkdir themes
$ cd themes
$ git submodule add https://github.com/halogenica/beautifulhugo.git beautifulhugo

See the Hugo documentation for more information.

Extra Features

Responsive

This theme is designed to look great on both large-screen and small-screen (mobile) devices.

Syntax highlighting

This theme has support for either Hugo's lightning fast Chroma, or both server side and client side highlighting. See the Hugo docs for more.

Chroma - New server side syntax highlighting

To enable Chroma, add the following to your site parameters:

pygmentsCodeFences = true
pygmentsUseClasses = true

Then, you can generate a different style by running:

hugo gen chromastyles --style=trac > static/css/syntax.css

Pygments - Old server side syntax highlighting

To use this feature install Pygments (pip install Pygments) and add the following to your site parameters:

pygmentsStyle = "trac"
pygmentsUseClassic = true

Pygments is mostly compatable with the newer Chroma. It is slower but has some additional theme options. I recommend Chroma over Pygments. Pygments will use syntax.css for highlighting, unless you also set the config pygmentsUseClasses = false which will generate the style code directly in the HTML file.

Highlight.js - Client side syntax highlighting

[Params]
    useHLJS = true

Client side highlighting does not require pygments to be installed. This will use highlight.min.css instead of syntax.css for highlighting (effectively disabling Chroma). Highlight.js has a wider range of support for languages and themes, and an alternative highlighting engine.

Disqus support

To use this feature, uncomment and fill out the disqusShortname parameter in config.toml.

Staticman support

Add Staticman configuration section in config.toml or config.yaml

Sample config.toml configuration

[Params.staticman]
  api = "https://<API-ENDPOINT>/v3/entry/{GIT-HOST}/<USERNAME>/<REPOSITORY-BLOGNAME>/master/comments"
[Params.staticman.recaptcha]
      sitekey: "6LeGeTgUAAAAAAqVrfTwox1kJQFdWl-mLzKasV0v"
      secret: "hsGjWtWHR4HK4pT7cUsWTArJdZDxxE2pkdg/ArwCguqYQrhuubjj3RS9C5qa8xu4cx/Y9EwHwAMEeXPCZbLR9eW1K9LshissvNcYFfC/b8KKb4deH4V1+oqJEk/JcoK6jp6Rr2nZV4rjDP9M7nunC3WR5UGwMIYb8kKhur9pAic="

Note: The public API-ENDPOINT https://staticman.net is currently hitting its API limit, so one may use other API instances to provide Staticman comment service.

The section [Params.staticman.recaptcha] is optional. To add reCAPTCHA to your site, you have to replace the default values with your own ones (to be obtained from Google.) The site secret has to be encrypted with

https://<API-ENDPOINT>/v3/encrypt/<SITE-SECRET>

You must also configure the staticman.yml in you blog website.

comments:
  allowedFields: ["name", "email", "website", "comment"]
  branch            : "master"
  commitMessage     : "New comment in {options.slug}"
  path: "data/comments/{options.slug}"
  filename          : "comment-{@timestamp}"
  format            : "yaml"
  moderation        : true
  requiredFields    : ['name', 'email', 'comment']
  transforms:
    email           : md5
  generatedFields:
    date:
      type          : "date"
      options:
        format      : "iso8601"
  reCaptcha:
    enabled: true
    siteKey: "6LeGeTgUAAAAAAqVrfTwox1kJQFdWl-mLzKasV0v"
    secret: "hsGjWtWHR4HK4pT7cUsWTArJdZDxxE2pkdg/ArwCguqYQrhuubjj3RS9C5qa8xu4cx/Y9EwHwAMEeXPCZbLR9eW1K9LshissvNcYFfC/b8KKb4deH4V1+oqJEk/JcoK6jp6Rr2nZV4rjDP9M7nunC3WR5UGwMIYb8kKhur9pAic="

If you don't have the section [Params.staticman] in config.toml, you won't need the section reCaptcha in staticman.yml

Google Analytics

To add Google Analytics, simply sign up to Google Analytics to obtain your Google Tracking ID, and add this tracking ID to the googleAnalytics parameter in config.toml.

If the source of your site is in a Git repo, the SHA corresponding to the commit the site is built from can be shown on the footer. To do so, two site parameters commit has to be defined in the config file config.toml:

enableGitInfo = true
[Params]
  commit = "https://github.com/<username>/<siterepo>/tree/"

See at vincenttam/vincenttam.gitlab.io for an example of how to add it to a continuous integration system.

Multilingual

To allow Beautiful Hugo to go multilingual, you need to define the languages
you want to use inside the languages parameter on config.toml file, also
redefining the content dir for each one. Check the i18n/ folder to see all
languages available.

[languages]
  [languages.en] 
    contentDir = "content/en" # English
  [languages.ja]
    contentDir = "content/ja" # Japanese
  [languages.br]
    contentDir = "content/br" # Brazilian Portuguese

Now you just need to create a subdir within the content/ folder for each
language and just put stuff inside page/ and post/ regular directories.

content/      content/      content/  
└── en/       └── br/       └── ja/ 
    ├── page/     ├── page/     ├── page/
    └── post/     └── post/     └── post/

Extra shortcodes

There are two extra shortcodes provided (along with the customized figure shortcode):

Details

This simply adds the html5 detail attribute, supported on all modern browsers. Use it like this:

{{% details "This is the details title (click to expand)" %}}
This is the content (hidden until clicked).
{{% /details %}}

Split

This adds a two column side-by-side environment (will turn into 1 col for narrow devices):

{{< columns >}}
This is column 1.
{{< column >}}
This is column 2.
{{< endcolumn >}}

About

This is an adaptation of the Jekyll theme Beautiful Jekyll by Dean Attali. It supports most of the features of the original theme, and many new features. It has diverged from the Jekyll theme over time, with years of community updates.

License

MIT Licensed, see LICENSE.

主要指標

概覽
名稱與所有者halogenica/beautifulhugo
主編程語言HTML
編程語言HTML (語言數: 3)
平台
許可證Other
所有者活动
創建於2016-03-08 10:44:16
推送於2025-05-08 05:00:26
最后一次提交2025-05-08 01:00:25
發布數0
用户参与
星數1.2k
關注者數27
派生數621
提交數622
已啟用問題?
問題數228
打開的問題數112
拉請求數216
打開的拉請求數28
關閉的拉請求數61
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?