在Ubuntu 18.04/Debian 10上安装和使用Hugo

时间:2020-02-23 14:32:45  来源:igfitidea点击:

在本教程中,我将带我们完成在Ubuntu 18.04/Debian 10桌面和服务器版上安装和使用Hugo的步骤。
Hugo已被证实是常用的最快的开源静态站点生成器。
Hugo能够以每页1 ms的速度生成静态站点,平均在不到一秒钟内构建。
它与预先制作的模板汇款,以便快速完成SEO,评论,分析和其他函数。

Hugo支持无限的内容类型,分类,菜单,动态API驱动的内容等,所有内容都没有插件。
此外,我们还可以以多种格式输出内容,包括JSON或者AMP

在Ubuntu 18.04/Debian 10上安装Hugo

Hugo可以通过下载.deb包或者从apt存储库安装在Ubuntu 18.04/Debian 10上。

在APT存储库中安装Hugo在Ubuntu 18.04/Debian 10上

更新系统APT索引并安装Hugo:

sudo apt update
sudo apt -y install hugo

我们可以在安装后确认Hugo二进制二进制文件的位置 which

$which hugo
/usr/bin/hugo

从.deb包上安装ubuntu 18.04/debian 10

要在ubuntu 18.04/debian 10从debian套餐中安装hugo,请先从github释放页面https://github.com/hugo/release//下载最新版本。
选择与CPU架构匹配的版本:

curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest \
 | grep  browser_download_url \
 | grep Linux-64bit.deb \
 | grep -v extended \
 | cut -d '"' -f 4 \
 | wget -i 

然后使用:

$sudo dpkg -i hugo*_Linux-64bit.deb
 Selecting previously unselected package hugo.
 (Reading database … 187292 files and directories currently installed.)
 Preparing to unpack hugo_0.58.3_Linux-64bit.deb …
 Unpacking hugo (0.58.3) …
 Setting up hugo (0.58.3) …

如果安装成功,则应该使用 hugo命令:

$hugo --help

在Ubuntu 18.04/Debian 10 Linux上使用Hugo

既然安装了Hugo,我们可以开始创建内容。
在此之前,我们需要为创建新内容。
在此示例中,我的被称为 hugo.theitroad.com

$hugo new site hugo.theitroad.com
Congratulations! Your new Hugo site is created in /home/jmutai/hugo.theitroad.com.
Just a few more steps and you're ready to go:
1. Download a theme into the same-named folder.
   Choose a theme from https://themes.gohugo.io/, or
   create your own with the "hugo new theme " command.
2. Perhaps you want to add some content. You can add single files
   with "hugo new /.".
3. Start the built-in live server via "hugo server".
Visit https://gohugo.io/for quickstart guide and full documentation.

要创建一个测试页,CD到目录并使用

$hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>

例子:

$cd hugo.theitroad.com
$ls
archetypes config.toml content data layouts static themes

内容放在里面 content目录

$hugo new posts/test-page.md
/home/jmutai/hugo.theitroad.com/content/posts/test-page.md created

为测试添加虚拟内容:

$vim content/posts/test-page.md

添加:

--
title: "Test Page"
date: 2016-07-12T10:17:29Z
draft: true
--
# Hello World
This is my first hugo site, wooo!!
``
hugo_install="success"
if [[ $hugo_install == "success" ]]; then
  echo "Happy me"
``
bye!

构建:

$hugo
                   | EN  
+------------------+----+
  Pages            |  3  
  Paginator pages  |  0  
  Non-page files   |  0  
  Static files     |  0  
  Processed images |  0  
  Aliases          |  0  
  Sitemaps         |  1  
  Cleaned          |  0  
Total in 9 ms

这将是创造的 public文件夹并向其添加内容。
使用Hugo Build-In Server服务,使用:

$hugo server
                   | EN  
+------------------+----+
  Pages            |  3  
  Paginator pages  |  0  
  Non-page files   |  0  
  Static files     |  0  
  Processed images |  0  
  Aliases          |  0  
  Sitemaps         |  1  
  Cleaned          |  0  
Total in 10 ms
Watching for changes in /root/hugo.theitroad.com/{content,data,layouts,static}
Watching for config changes in /root/hugo.theitroad.com/config.toml
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/(bind address 127.0.0.1)
Press Ctrl+C to stop

对于像Nginx或者Apache这样的Web服务器上的自我托管,内部复制内容 public目录到Web服务器文档根目录。