热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用Hugo30分钟搭建静态博客|Linux中国

用Hugo30分钟搭建静态博客|Linux中国,Go语言社区,Golang程序员人脉社


640?wx_fmt=png了解 Hugo 如何使构建网站变得有趣。-- Marek Czernek

有用的原文链接请访问文末的“
原文链接”获得可点击的文内链接、全尺寸原图和相关文章。

致谢
编译自 | 
https://opensource.com/article/18/3/start-blog-30-minutes-hugo 


 作者 | Marek Czernek


 译者 | jrg (jrglinux) ??共计翻译:3.0 篇 贡献时间:308 天


了解 Hugo 如何使构建网站变得有趣。



你是不是强烈地想搭建博客来将自己对软件框架等的探索学习成果分享呢?你是不是面对缺乏指导文档而一团糟的项目就有一种想去改变它的冲动呢?或者换个角度,你是不是十分期待能创建一个属于自己的个人博客网站呢?


很多人在想搭建博客之前都有一些严重的迟疑顾虑:感觉自己缺乏内容管理系统(CMS)的相关知识,更缺乏时间去学习这些知识。现在,如果我说不用花费大把的时间去学习 CMS 系统、学习如何创建一个静态网站、更不用操心如何去强化网站以防止它受到黑客攻击的问题,你就可以在 30 分钟之内创建一个博客?你信不信?利用 Hugo 工具,就可以实现这一切。


640?wx_fmt=png


Hugo 是一个基于 Go 语言开发的静态站点生成工具。也许你会问,为什么选择它?

◈ 无需数据库、无需需要各种权限的插件、无需跑在服务器上的底层平台,更没有额外的安全问题。◈ 都是静态站点,因此拥有轻量级、快速响应的服务性能。此外,所有的网页都是在部署的时候生成,所以服务器负载很小。◈ 极易操作的版本控制。一些 CMS 平台使用它们自己的版本控制软件(VCS)或者在网页上集成 Git 工具。而 Hugo,所有的源文件都可以用你所选的 VCS 软件来管理。

0-5 分钟:下载 Hugo,生成一个网站


直白的说,Hugo 使得写一个网站又一次变得有趣起来。让我们来个 30 分钟计时,搭建一个网站。


为了简化 Hugo 安装流程,这里直接使用 Hugo 可执行安装文件。

1. 下载和你操作系统匹配的 Hugo 
版本
[1];2. 压缩包解压到指定路径,例如 windows 系统的 
C:hugo_dir 或者 Linux 系统的 
~/hugo_dir 目录;下文中的变量 
${HUGO_HOME} 所指的路径就是这个安装目录;3. 打开命令行终端,进入安装目录:
cd ${HUGO_HOME};4.

确认 Hugo 已经启动:

◈ Unix 系统:
${HUGO_HOME}/[hugo version];◈ Windows 系统:
${HUGO_HOME}[hugo.exe version],例如:cmd 命令行中输入:
c:hugo_dirhugo version

为了书写上的简化,下文中的 hugo 就是指 hugo 可执行文件所在的路径(包括可执行文件),例如命令 hugo version 就是指命令 c:hugo_dirhugo version 。(LCTT 译注:可以把 hugo 可执行文件所在的路径添加到系统环境变量下,这样就可以直接在终端中输入 hugo version


如果命令 hugo version 报错,你可能下载了错误的版本。当然,有很多种方法安装 Hugo,更多详细信息请查阅 官方文档[2]。最稳妥的方法就是把 Hugo 可执行文件放在某个路径下,然后执行的时候带上路径名

5.

创建一个新的站点来作为你的博客,输入命令:hugo new site awesome-blog

6.

进入新创建的路径下: cd awesome-blog


恭喜你!你已经创建了自己的新博客。


5-10 分钟:为博客设置主题


Hugo 中你可以自己构建博客的主题或者使用网上已经有的一些主题。这里选择 Kiera[3] 主题,因为它简洁漂亮。按以下步骤来安装该主题:

1. 进入主题所在目录:
cd themes;2. 克隆主题:
git clone https://github.com/avianto/hugo-kiera kiera。如果你没有安装 Git 工具:◈ 从 
Github
[4] 上下载 hugo 的 .zip 格式的文件;◈ 解压该 .zip 文件到你的博客主题 
theme 路径;◈ 重命名 
hugo-kiera-master 为 
kiera;3. 返回博客主路径:
cd awesome-blog;4.

激活主题;通常来说,主题(包括 Kiera)都自带文件夹 exampleSite,里面存放了内容配置的示例文件。激活 Kiera 主题需要拷贝它提供的 config.toml 到你的博客下:

◈ Unix 系统:
cp themes/kiera/exampleSite/config.toml .;◈ Windows 系统:
copy themeskieraexampleSiteconfig.toml .;◈ 选择 
Yes 来覆盖原有的 
config.toml;5.

( 可选操作 )你可以选择可视化的方式启动服务器来验证主题是否生效:hugo server -D 然后在浏览器中输入 http://localhost:1313。可用通过在终端中输入 Crtl+C 来停止服务器运行。现在你的博客还是空的,但这也给你留了写作的空间。它看起来如下所示:


640?wx_fmt=png


你已经成功的给博客设置了主题!你可以在官方 Hugo 主题[3] 网站上找到上百种漂亮的主题供你使用。


10-20 分钟:给博客添加内容


对于碗来说,它是空的时候用处最大,可以用来盛放东西;但对于博客来说不是这样,空博客几乎毫无用处。在这一步,你将会给博客添加内容。Hugo 和 Kiera 主题都为这个工作提供了方便性。按以下步骤来进行你的第一次提交:

1. archetypes 将会是你的内容模板。2.

添加主题中的 archtypes 至你的博客:

◈ Unix 系统: 
cp themes/kiera/archetypes/* archetypes/◈ Windows 系统:
copy themeskieraarchetypes* archetypes◈ 选择 
Yes 来覆盖原来的 
default.md 内容架构类型3.

创建博客 posts 目录:

◈ Unix 系统: 
mkdir content/posts◈ Windows 系统: 
mkdir contentposts4.

利用 Hugo 生成你的 post:

◈ Unix 系统:
hugo nes posts/first-post.md;◈ Windows 系统:
hugo new postsfirst-post.md;5.

在文本编辑器中打开这个新建的 post 文件:

◈ Unix 系统:
gedit content/posts/first-post.md;◈ Windows 系统:
notepadd contentpostsfirst-post.md

此刻,你可以疯狂起来了。注意到你的提交文件中包括两个部分。第一部分是以 +++ 符号分隔开的。它包括了提交文档的主要数据,例如名称、时间等。在 Hugo 中,这叫做前缀。在前缀之后,才是正文。下面编辑第一个提交文件内容:



  1. +++

  2. title = "First Post"

  3. date = 2018-03-03T13:23:10+01:00

  4. draft = false

  5. tags = ["Getting started"]

  6. categories = []

  7. +++

  8. Hello Hugo world! No more excuses for having no blog or documentation now!

现在你要做的就是启动你的服务器:hugo server -D;然后打开浏览器,输入 http://localhost:1313/


640?wx_fmt=png


20-30 分钟:调整网站


前面的工作很完美,但还有一些问题需要解决。例如,简单地命名你的站点:

1. 终端中按下 
Ctrl+C 以停止服务器。2. 打开 
config.toml,编辑博客的名称,版权,你的姓名,社交网站等等。

当你再次启动服务器后,你会发现博客私人订制味道更浓了。不过,还少一个重要的基础内容:主菜单。快速的解决这个问题。返回 config.toml 文件,在末尾插入如下一段:



  1. [[menu.main]]

  2.    name = "Home" #Name in the navigation bar

  3.    weight = 10 #The larger the weight, the more on the right this item will be

  4.    url = "/" #URL address

  5. [[menu.main]]

  6.    name = "Posts"

  7.    weight = 20

  8.    url = "/posts/"

上面这段代码添加了 Home 和 Posts 到主菜单中。你还需要一个 About 页面。这次是创建一个 .md 文件,而不是编辑 config.toml 文件:

1. 创建 
about.md 文件:
hugo new about.md 。注意它是 
about.md,不是 
posts/about.md。该页面不是博客提交内容,所以你不想它显示到博客内容提交当中吧。2. 用文本编辑器打开该文件,输入如下一段:


  1. +++

  2. title = "About"

  3. date = 2018-03-03T13:50:49+01:00

  4. menu = "main" #Display this page on the nav menu

  5. weight = "30" #Right-most nav item

  6. meta = "false" #Do not display tags or categories

  7. +++

  8. > Waves are the practice of the water. Shunryu Suzuki

当你启动你的服务器并输入:http://localhost:1313/,你将会看到你的博客。(访问我 Gihub 主页上的 例子[5] )如果你想让文章的菜单栏和 Github 相似,给 themes/kiera/static/css/styles.css 打上这个 补丁[6]



via: https://opensource.com/article/18/3/start-blog-30-minutes-hugo


作者:Marek Czernek[8] 
译者:jrg 
校对:wxy


本文由 LCTT 原创编译,Linux中国 荣誉推出







推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了win7系统休眠功能无法启动和关闭的解决方法,包括在控制面板中启用休眠功能、设置系统休眠的时间、通过命令行定时休眠、手动进入休眠状态等方法。 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
author-avatar
禹Ayu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有