用Hugo搭建个人网站
来源:互联网 发布:淘宝怎么免单 编辑:程序博客网 时间:2024/06/10 05:04
用Hugo搭建个人网站
摘要:本文将介绍什么是Hugo,怎么用Hugo搭建个人网站,如何本地测试及如何发布到Github并生成Github pages。
什么是Hugo
Hugo是一种静态网站生成器。适用于搭建个人博客、小型公司主页等网站,是一种小型的CMS系统。
静态站点的好处就是快速、安全、易于部署,最主要是可以通过版本控制来进行管理。
静态网站生成器有很多种,Github上有总结,知名的有Jekyll,Middle Man App,等等。
我之所以选择Hugo,首先是因为它支持Windows系统,并且安装很简单。其次是对markdown语法的支持,这对我来说很方便。然后是主题、文档支持等等各方面都比较完善。
如何用Hugo搭建个人网站
一 下载和安装Hugo
Hugo是用Go语言写的,早期版本还要下载Go,目前版本是v0.18.1,直接下载,不再需要额外的依赖了。
win64x对应的是hugo_0.18.1_Windows-64bit.zip,下载后创建安装目录,例如D:\Hugo
,之下建两个子目录bin
和Sites
,然后解压,例如解压到D:\Hugo\bin
,把解压的hugo_0.18.1_windows_amd64.exe文件重命名为hugo.exe
,然后加到环境变量Path里,方便在命令行里使用。
添加成功后打开cmd或者PowerShell,运行命令hugo version
,如果安装成功,会输出Hugo Static Site Generator v0.18.1 BuildDate: 2017-02-08T21:36:59+08:00
。
二 搭建个人网站
首先要确定自己要搭建什么网站,我要建的是托管到Github的用户网站,按照Github Pages规则,网站名应该是<username.github.io>
,所以我第一步创建网站用以下命令:
cd D:\Hugo\Siteshugo new site brent-li.github.io
之后在Site目录下多了一个brent-li.github.io文件夹,进入文件夹可以看到目录结构如下:
|-- archetypes|-- config.toml|-- content|-- data|-- layouts`-- static
archetypes目录里可以放一些原型,用于hugo新建内容的配置属性。config.toml是网站的配置属性文件。content文件夹里放你网站的内容,例如你发布的博客文章。data目录是Hugo使用的配置文件存放的地方。layout目录存放布局内容。static目录存放静态资源如图片、css等。
接下来我们先在content里放点东西。命令如下:
cd brent-li.github.iohugo new post/scala-learning-pattern-matching.md
Hugo会在content目录下创建post
目录,在post
目录下创建scala-learning-pattern-matching.md
文件。之后打开md文件,里面已经有些内容
+++date = "2017-02-08T22:07:46+08:00"title = "scala learning pattern matching"draft = true+++
+++
包起来的内容是TOML配置信息,叫作扉页(front matter)
,默认这3项,可以再添加一些,其中draft
是true
时Hugo不会真正发布它,我修改后的扉页如下:
+++date = "2017-02-08T22:07:46+08:00"title = "Scala学习笔记之模式匹配"draft = falsetags = ["scala","pattern matching","模式匹配"]share = true+++
然后再把我的博客内容复制进md文件,一篇博客完成了。接下来该给网站添加主题来装饰一下了。
Hugo主题网站提供了很多主题,选择自己喜欢的下载,我选择了casper,在自己网站目录下创建themes
目录,然后下载主题:
cd themesgit clone https://github.com/vjeantet/hugo-theme-casper casper
然后配置config.toml文件如下:
languageCode = "zh_CN" #语言title = "李子峰的Github Page" #博客标题baseurl = "https://brent-li.github.io/" #一定要用https,github强制安全措施paginate = 5 #分页每页记录数DisqusShortname = "李子峰" #评论时显示的名字Copyright = "All rights reserved - 2017" #版权canonifyurls = true [params] description = "知其雄,守其雌,为天下溪。" #加段提升逼格的副标题 cover = "images/cover.jpg" #自己找的博客封面,要够大够酷 author = "李子峰" #文章作者 authorlocation = "Beijing, China" #作者位置 authorwebsite = "https://brent-li.github.io/" #作者站点 bio= "京东|高级软件工程师" #作者简介 logo = "images/Einstan.jpg" #作者头像 #googleAnalyticsUserID = "UA-79101-12" # Optional RSS-Link, if not provided it defaults to the standard index.xml #RSSLink = "http://feeds.feedburner.com/..." githubName = "Brent-Li" #github用户名 #twitterName = "vjeantet" # facebookName = "" linkedinName = "zifeng" #LinkedIn用户名 # set true if you are not proud of using Hugo (true will hide the footer note "Proudly published with HUGO.....") hideHUGOSupport = false #是否显示Hugo水印 [params.social] linkedin = "https://cn.linkedin.com/in/zifeng"[[menu.main]] #页面菜单参数 name = "李子峰的博客" weight = -120 identifier = "blog" url = "/"[[menu.main]] name = "About me" weight = -110 identifier = "about" url = "/about"
配置完不要忘了把封面、头像图片都拷贝到static\images
目录下。
三 本地测试
Hugo自带服务器,可以用命令行启动:
hugo server -t casper
服务器启动后访问http://localhost:1313
访问网站,发现问题可以及时修改。
四 发布到github
本地测试网站没有问题后,就可以准备发布了。执行以下命令
hugo -t casper
Hugo将编译所有文件并输出到public
目录,你需要在github上创建repository,名字就是<你的用户名>.github.io
,创建完后,返回你本地命令行,进入public
目录,执行以下命令:
git initgit add .git commit -m "Initial commit."git remote add origin git@github.com:Brent-Li/brent-li.github.io.gitgit push -u origin master
稍等片刻后,打开<你的用户名>.github.io
网址,就可以看到你的个人网站了。
- 用Hugo搭建个人网站
- 使用Hugo搭建个人博客站点
- 如何使用hugo搭建个人博客(一)
- 使用Hugo搭建博客
- 使用hugo搭建博客
- 如何使用hugo搭建个人博客(二):修改主题:颜色,字体,布局
- 如何使用hugo搭建个人博客(三):添加follow与修改share的方式
- 如何使用hugo搭建个人博客(四):添加评论系统disqus
- 如何使用hugo搭建个人博客(五):添加站内搜索(gcse)
- 用自己的电脑搭建个人网站
- 用Wordpress搭建个人网站(1)
- 用Wordpress搭建个人网站(2)
- 用Wordpress搭建个人网站(3)
- 用tomcat和花生壳搭建个人网站
- 用 GitHub Pages 搭建 个人网站
- 如何搭建个人网站
- 搭建个人网站
- 如何搭建个人网站
- FastDFS分布式文件系统
- SIMD技术
- spring与mybatis整合
- P1553 数字反转(升级版)
- vim commond
- 用Hugo搭建个人网站
- Java去掉字符串中所有的标签,获取纯文本内容
- 关于内存泄漏的一些知识概括和记录
- 508. Most Frequent Subtree Sum
- 文件及目录命令
- MediaPlayer播放应用中、内存卡中、网络中的音乐
- CSS实现的几款不错的菜单栏
- 【Python】学习笔记——-3.0、函数
- IO流_字符流的2种读数据的方式