前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hugo Theme: CleanWhite

Hugo Theme: CleanWhite

作者头像
赵化冰
发布2022-08-01 10:35:26
3050
发布2022-08-01 10:35:26
举报
文章被收录于专栏:赵化冰的技术博客

Clean White Theme for Hugo

CleanWhite is a clean, elegant, but fully functional blog theme for Hugo. Here is a live demo site using this theme.

It is based on huxblog Jekyll Theme and Clean Blog Jekyll Theme.

These two upstream projects have done awesome jobs to create a blog theme, what I’m doing here is porting it to Hugo, of which I like the simplicity and the much faster compiling speed. Some other features which I think could be useful, such as site search with algolia and proxy for Disqus access in China, have also been built in the CleanWhite theme. Other fancy features of upstream projects are not supported by this Hugo theme, I’d like to make it as simple as possible and only focus on blog purpose, at least for now. While I created this theme, I followed the Hugo theme best practice and tried to make every part of the template as a replaceable partial html, so it could be much easier for you to make your customization based on it.

Screenshots

Home

screenshot
screenshot

Post

screenshot
screenshot

Search

screenshot
screenshot

Disqus

screenshot
screenshot

Wechat Pay & Alipay

screenshot
screenshot

Mind Map

screenshot
screenshot

Bilibili Video

screenshot
screenshot

Quick Start

The simplest way is to start with the example site coming with this theme, then you can play around and add your own stuff.

代码语言:javascript
复制
$ mkdir test
$ cd test
$ mkdir themes
$ cd themes
$ git clone https://github.com/zhaohuabing/hugo-theme-cleanwhite.git
$ cp -r hugo-theme-cleanwhite/exampleSite/** ../
$ cd ..
$ hugo serve

If your site is already a git project, you may want to choose to add the cleanwhite theme as a submodule to avoid messing up your existing git repository.

代码语言:javascript
复制
$ mkdir themes
$ git submodule add https://github.com/zhaohuabing/hugo-theme-cleanwhite.git themes/hugo-theme-cleanwhite

Run Hugo Build-in Server Locally

代码语言:javascript
复制
$ hugo serve -t  hugo-theme-cleanwhite

Now enter localhost:1313 in the address bar of your browser.

If you start from scratch, there is a working Hugo site configured with the CleanWhite theme in the exampleSite directory. You can use it as a starting point for your site.

For more information read the official setup guide of Hugo

Configuration

First, let’s take a look at the config.toml. It will be useful to learn how to customize your site. Feel free to play around with the settings.

Comments

The optional comments system is powered by Disqus. If you want to enable comments, create an account in Disqus and write down your shortname.

代码语言:javascript
复制
disqusShortname = "your-disqus-short-name"

You can disable the comments system by leaving the disqusShortname empty.

Disqus in China

Disqus is inaccessible in China. To get it to work, we can set up a proxy with disqus-php-api in a host which sets between the client browser and the Disqus server. The idea is that if Disqus can be reached in the guest network, the blog page will show the original Disqus comments UI, otherwise, it will downgrade and use the proxy to access the Disqus, the UI will be a little different, but the visitors can still write their comments on the page.

The client side java script has already been integrated to CleanWhite them, but you need to set up a proxy server yourself.

The proxy is written in php, which can be found here: https://github.com/zhaohuabing/disqus-php-api/tree/master/api

You need to specify your Disqus account information in the config.php.

代码语言:javascript
复制
define('PUBLIC_KEY', '');
define('SECRET_KEY', '');
define('DISQUS_USERNAME', '');
define('DISQUS_EMAIL', '');
define('DISQUS_PASSWORD', '');
define('DISQUS_WEBSITE', '');
define('DISQUS_SHORTNAME', '');

Set the proxy server address in the site config file of your Hugo project.

代码语言:javascript
复制
disqus_proxy = "http://yourdisqusproxy.com"

Site Search with Algolia

Follow this tutorial to create your index in Algolia. The index is just the storage of the indexing data of your site in the the cloud . The search page of CleanWhite theme will utilize this indexing data to do the search.

Go to the directory where you have your Hugo site and run the following commands:

代码语言:javascript
复制
$ npm init
$ npm install atomic-algolia --save

Next, open up the newly created package.json, where we’ll add an NPM script to update your index at Algolia. Find “scripts”, and add the following:

代码语言:javascript
复制
"algolia": "atomic-algolia"

Algolia index output format has already been supported by the CleanWhite theme, so you can just build your site, then you’ll find a file called algolia.json in your public directory, which we can use to update your index in Algolia. Generate index file:

代码语言:javascript
复制
$ hugo

Create a new file in the root of your Hugo project called .env, and add the following contents:

代码语言:javascript
复制
ALGOLIA_APP_ID={{ YOUR_APP_ID }}
ALGOLIA_ADMIN_KEY={{ YOUR_ADMIN_KEY }}
ALGOLIA_INDEX_NAME={{ YOUR_INDEX_NAME }}
ALGOLIA_INDEX_FILE={{ PATH/TO/algolia.json }}

Make sure double curly braces be replaced together.

Now you can push your index to Algolia by simply running:

代码语言:javascript
复制
$ npm run algolia

Add the following variables to your hugo site config so the search page can get access to algolia index data in the cloud:

代码语言:javascript
复制
algolia_search = true
algolia_appId = {{ YOUR_APP_ID }}
algolia_indexName = {{ YOUR_INDEX_NAME }}
algolia_apiKey = {{ YOUR_ADMIN_KEY }}

Open search page in your browser: http://localhost:1313/search

Analytics

You can optionally enable Google or Baidu Analytics. Type your tracking code in the

代码语言:javascript
复制
googleAnalytics = "UA-XXXXX-X"
ba_track_id  = "XXXXXXXXXXXXXXXX"

Leave the googleAnalytics or ‘ba_track_id ' key empty to disable it.

Wechat Pay & Alipay Rewards

You can enable Wechat Pay & Alipay to allow readers send you money. So if they like your articles, you may even get rewards from your writing. Now you must be motivated to write more.

  • Enable Wechat Pay & Alipay in the site config
代码语言:javascript
复制
reward = true
  • Replace the QR codes of Wechat Pay & Alipay by overriding the photos in folder /static/img/reward/, otherwise the money will be sent to my accounts!
  • Enable Wechat Pay & Alipay in the site config
代码语言:javascript
复制
reward = true

Mind Map

Mind Map is supported with shortcode ‘mind’, instering the following code snippet into your markdown file can create a mind map showing in the screenshots.

代码语言:javascript
复制
{{% mind %}}
- Root
    - Level 1
        - Level 2
        - Level 2
            - Level 3
            - Level 3
                - Level 4
                    - Level 5
                        - Level 6
    - Level 1
        - Level 2
        - Level 2
     - Level 1
        - Level 2
        - Level 2
     - Level 1
        - Level 2
        - Level 2
     - Level 1
        - Level 2
        - Level 2
{{% /mind %}}

Embedded Videos

Use the below hugo shortcodes to embed videos into your posts.

Bilibili (B站)

代码语言:javascript
复制
{{< bilibili BV1kZ4y137gv >}}

Youtube

代码语言:javascript
复制
{{< youtube cllc1ZGlhsQ >}}

Vimeo

代码语言:javascript
复制
{{< vimeo 146022717 >}}

Thanks

Thanks for the great jobs of huxblog Jekyll Theme and Clean Blog Jekyll Theme which are the the two upstream projects CleanWhite Hugo theme is based on.

Feedback

If you find any problems, please feel free to raise an issue or create a pull request to fix it.

If it’s helpful for you, I would appreciate it if you could star this repository, thanks!


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Clean White Theme for Hugo
    • Screenshots
      • Quick Start
        • Configuration
          • Comments
          • Disqus in China
          • Site Search with Algolia
          • Analytics
          • Wechat Pay & Alipay Rewards
          • Mind Map
          • Embedded Videos
        • Thanks
          • Feedback
          相关产品与服务
          网站建设
          网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档