在Linux系统搭建Hugo博客
简介
Hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。
该篇文章是在Linux/Ubuntu
系统下安装搭建 Hugo
博客。
本博客参考了该视频:https://www.bilibili.com/video/BV1q4411i7gL
一、安装Hugo
到 https://github.com/gohugoio/hugo/releases 查看与CPU对应的版本下载
我用 sudo apt-get install
命令下载的 hugo
是16年的版本,所以我建议到官网手动下载 deb
安装程序,或者复制下载地址,用命令
wjy@ubuntu:~$ wget https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_0.80.0_Linux-64bit.deb
进行下载,下载完后安装:
wjy@ubuntu:~/Downloads$ sudo dpkg -i hugo_0.80.0_Linux-64bit.deb
(正在读取数据库 ... 系统当前共安装有 183289 个文件和目录。)
正准备解包 hugo_0.80.0_Linux-64bit.deb ...
正在将 hugo (0.80.0) 解包到 (0.80.0) 上 ...
正在设置 hugo (0.80.0) ...
这样表示成功。验证(查看版本):
wjy@ubuntu:~$ hugo version
Hugo Static Site Generator v0.80.0-792EF0F4 linux/amd64 BuildDate: 2020-12-31T13:37:58Z
二、用hugo来生成博客
命令:
wjy@ubuntu:~$ hugo new site myblog
Congratulations! Your new Hugo site is created in /home/wjy/myblog.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/ orcreate your own with the "hugo new theme <THEMENAME>" command.
2. Perhaps you want to add some content. You can add single fileswith "hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>".
3. Start the built-in live server via "hugo server".Visit https://gohugo.io/ for quickstart guide and full documentation.
myblog
为博客的目录名,这个看个人意愿取名
三、下载并设置主题
主题官网:https://themes.gohugo.io ,找到想要的主题,点击去,复制下载命令,下载到 myblog
目录下的 themes
目录下,
例如,在 themes
目录下命令:
wjy@ubuntu:~/myblog/themes$ git clone https://github.com/vaga/hugo-theme-m10c.git m10c
正克隆到 'm10c'...
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 345 (delta 3), reused 13 (delta 3), pack-reused 323
接收对象中: 100% (345/345), 459.21 KiB | 236.00 KiB/s, 完成.
处理 delta 中: 100% (118/118), 完成.
检查连接... 完成。
下载后目录名默认为链接的最后的“/”
后的目录名,在链接后面加 m10c
,相当于把下载的主题放在 m10c
目录下,而不是使用默认的名字,需要注意,下载主题要使用到 git
命令。下载 git
:
wjy@ubuntu:~/myblog/themes$ sudo apt-get install git
验证(查看版本):
wjy@ubuntu:~/myblog$ git version
git version 2.7.4
四、在本地启动博客
在 myblog
目录下命令:
root@ubuntu:/home/wjy/myblog# hugo server -t m10c --buildDrafts
Start building sites … | EN
-------------------+-----Pages | 7 Paginator pages | 0 Non-page files | 0 Static files | 1 Processed images | 0 Aliases | 1 Sitemaps | 1 Cleaned | 0 Built in 11 ms
Watching for changes in /home/wjy/myblog/{archetypes,content,data,layouts,static,themes}
Watching for config changes in /home/wjy/myblog/config.toml
Environment: "development"
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
-t:指定主题(主题目录名)
访问 Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
里的本地网址,即可打开博客网页,如下:
五、写一篇文章
1、生成md文件
在 myblog
目录下:
root@ubuntu:/home/wjy/myblog# hugo new post/blog.md
/home/wjy/myblog/content/post/blog.md created
生成的 md
文件在myblog/context/post
目录下:
root@ubuntu:/home/wjy/myblog/content/post# ls
blog.md
2、编写
可以现在Windows
下写好博客,比如我这篇,也是在Windows
下编写的,编写完后,保存,用记事本打开,全选,复制,在Linux
下编辑blog.md
,打开文件命令:
root@ubuntu:/home/wjy/myblog/content/post# vim blog.md
进入编辑页面:
输入 i
,在 ~
前,---
后右键,粘贴,保存退出(键入 ESC
:
wq
,回车),这样,文章就写好了,可以重新运行看看文章。
六、将个人博客部署到远程服务器
1、登录GitHub官网
①新建一个仓库
②填写仓库地址,填写格式为:用户名小写.github.io
,例如我的仓库地址:wujvya.github.io
,那么我就可以通过 https://wujvya.github.io 来访问我的博客
③创建仓库
2、生成静态网页
命令:
root@ubuntu:/home/wjy/myblog# hugo --theme=m10c --baseUrl="https://wujvya.github.io" --buildDrafts
Start building sites … | EN
-------------------+-----Pages | 10 Paginator pages | 0 Non-page files | 0 Static files | 1 Processed images | 0 Aliases | 2 Sitemaps | 1 Cleaned | 0 Total in 25 ms
其中:
--theme=m10c
指定主题
--baseUrl="https://wujvya.github.io"
指定仓库地址
会把博客编译成网页形式,在myblog/public
目录里面
3、上传到GitHub
a、把 public 文件夹创建成 git 仓库:
root@ubuntu:/home/wjy/myblog/public# git init
初始化空的 Git 仓库于 /home/wjy/myblog/public/.git/
b、把所有的文件添加进去:
root@ubuntu:/home/wjy/myblog/public# git add *
c、提交:
root@ubuntu:/home/wjy/myblog/public# git commit -m "第一次提交"
[master (根提交) 2033233] 第一次提交15 files changed, 436 insertions(+)create mode 100644 404.htmlcreate mode 100644 avatar.jpgcreate mode 100644 categories/index.htmlcreate mode 100644 categories/index.xmlcreate mode 100644 css/main.min.88e7083eff65effb7485b6e6f38d10afbec25093a6fac42d734ce9024d3defbd.csscreate mode 100644 index.htmlcreate mode 100644 index.xmlcreate mode 100644 page/1/index.htmlcreate mode 100644 post/blog/index.htmlcreate mode 100644 post/index.htmlcreate mode 100644 post/index.xmlcreate mode 100644 post/page/1/index.htmlcreate mode 100644 sitemap.xmlcreate mode 100644 tags/index.htmlcreate mode 100644 tags/index.xml
d、本地仓库(public文件夹)与远程仓库关联:
root@ubuntu:/home/wjy/myblog/public# git remote add origin https://github.com/WuJvya/wujvya.github.io.git
注意:关联的地址为 打开你新建的仓库的全地址(浏览器地址栏的地址)
加上 .git
e、把博客推送到远程仓库(把代码放到远程仓库):
先输入下面的命令,用于保存账号和密码(第一次要输入账号和密码,之后就不用了)
root@ubuntu:/home/wjy/myblog/public# git config --global credential.helper store
root@ubuntu:/home/wjy/myblog/public# git push -u origin master
Username for 'https://github.com': 1813114396@qq.com
Password for 'https://1813114396@qq.com@github.com':
对象计数中: 26, 完成.
Delta compression using up to 2 threads.
压缩对象中: 100% (21/21), 完成.
写入对象中: 100% (26/26), 6.45 KiB | 0 bytes/s, 完成.
Total 26 (delta 9), reused 0 (delta 0)
remote: Resolving deltas: 100% (9/9), done.
To https://github.com/WuJvya/wujvya.github.io.git* [new branch] master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。
输入完命令后,需要你输入GitHub
的账号和密码,账号可以为用户名或者邮箱,完成后刷新远程仓库,就可以看到提交的文件。
好了,到这里,你的博客就搭建完成了。
七、新增文章
生成文章后,相当于执行六、将个人博客部署到远程服务器
中的第2步及之后,除下第3.d步的所有步骤。
新建博客文章文件:
root@ubuntu:/home/wjy/myblog# hugo new post/blog2.md
/home/wjy/myblog/content/post/blog2.md created
生成静态网页:
root@ubuntu:/home/wjy/myblog# hugo --theme=m10c --baseUrl="https://wujvya.github.io" --buildDrafts
Start building sites … | EN
-------------------+-----Pages | 11 Paginator pages | 0 Non-page files | 0 Static files | 1 Processed images | 0 Aliases | 2 Sitemaps | 1 Cleaned | 0 Total in 28 ms
添加文件:
root@ubuntu:/home/wjy/myblog/public# git add *
提交:
root@ubuntu:/home/wjy/myblog/public# git commit -m "第二次提交"
[master 6bc7870] 第二次提交6 files changed, 132 insertions(+), 7 deletions(-)create mode 100644 post/blog2/index.html
推送到远程仓库:
root@ubuntu:/home/wjy/myblog/public# git push -u origin master
Username for 'https://github.com': 1813114396@qq.com
Password for 'https://1813114396@qq.com@github.com':
对象计数中: 10, 完成.
Delta compression using up to 2 threads.
压缩对象中: 100% (9/9), 完成.
写入对象中: 100% (10/10), 1.10 KiB | 0 bytes/s, 完成.
Total 10 (delta 7), reused 0 (delta 0)
remote: Resolving deltas: 100% (7/7), completed with 5 local objects.
To https://github.com/WuJvya/wujvya.github.io.git2033233..6bc7870 master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。
八、疑难解答
本文图片有时候无法正常显示,可切换手机浏览(在写这篇文章时遇到过)。
若有疑问或发现不足,请留言或至本人邮箱:1813114396@qq.com
祝每位程序猿在以后的日子里蒸蒸日上!
在Linux系统搭建Hugo博客相关推荐
- hugo本地服务器不显示文章,Windows10本地搭建hugo博客教程 – 有点嫌弃我自己的家庭版系统...
大鸟前面的文章说了如何下载安装Git,安装了肯定是有用的,我们暂时先放在那边,现在大鸟准备在本地的Windows10里面搭建hugo博客. Hugo是由Go语言实现的静态网站生成器.简单.易用.高效. ...
- 搭建hugo博客部署到Github
文章目录 前提 安装 启动 部署 增加文章 修改配置 解决图片问题 前提 一定要配置好git,具体教程见 windows下搭建hexo博客部署到github 推荐在Microsoft Store安装W ...
- windows从零搭建hugo博客
写在前面的话 作为一个计算机专业的学生,平时没有好好学习,可又没想过转专业,听说程序员和博客很配,我早就想过搭建一个个人博客了,可是直到大四我才真正动起手来.我是按照在bi站上的一个大神CodeShe ...
- linux hexo搭建个人博客,gitee和hexo搭建个人博客
首先准备软件:git (提供命令git) notepad++(方便编辑) nodejs(hexo依赖) 7z(压缩包) 安装 nodejs.git.notepad++和7z的安装过程省略.主要要说的是 ...
- Hugo博客部署到腾讯云轻量级服务器
文章目录 一.前置条件 二.服务器下载nginx 三.防火墙设置 四.将静态网页传送到服务器 五.申请ssl证书 六.配置nginx的nginx.conf文件 七.后续发布文章 文章内容可能不全面和详 ...
- 使用 hugo oss 搭建个人博客网站
系列文章目录 文章目录 系列文章目录 前言 一.下载hugo 二.oss 三.域名 四.创建博客上传 五.发布,上传文章 前言 本文主要详解如何用最低的成本搭建个人博客网站 原本我是直接用的githu ...
- Github Pages + Hugo 搭建个人博客
文章目录 Github Pages + Hugo 搭建个人博客 零.效果 一.创建 Github 库 二.安装 Hugo 和 Git 三.新建 Hugo 网站 四.选择 Hugo 主题 五.新建文章 ...
- Hugo 博客搭建教程
前言 有了利用 Hexo.docsify.vuepress 等框架来搭建博客的经历之后,我们来今天又来看看 Hugo.Hugo 是一款基于 Go 语言而实现的静态网站生成器,具有简单易用.高效易扩展. ...
- Linux下使用 github+hexo 搭建个人博客01-hexo搭建
为什么要搭建自己的博客系统? 原因有好几个吧,归类如下: 1.自己搭建博客系统很有成就感,可以自己选定页面风格和页面排版: 2.自己搭建博客系统可以根据自己的需要添加各种插件功能,因此整体上比网上的第 ...
最新文章
- XLSReadWriteII 4.00.62 XE2 可以使用
- JZOJ 5606. 【NOI2018模拟3.27】Yja
- C语言的实现经过(C代码到CPU执行)
- 增大mysql修改表空间_Oracle修改表空间为自动扩展
- css纯字母或者字母换行显示
- 带头结点头部插入创建链表
- 【牛客 - 157C】PH试纸(前缀和,或权值线段树,主席树)
- C.One Piece
- 黄聪:Delphi 日期格式问题 - is not a valid date
- tensorflow不能安装问题之(wrapt)
- java后端getmonth_Java YearMonth getMonth()用法及代码示例
- 性能优化: 资源合并与压缩 -- 压缩(前端开发过程中 JavaScript、HTML、CSS 文件的压缩)
- 百度云服务器BCC购买
- 在python培训价格
- 自动驾驶仿真软件SCANeR studio(初级练习1):scenario构建之driver模式理解
- 弄懂这56个Python使用技巧,掌握Python高效开发
- 如何将文件夹中的图片名字提取到一个txt文档上
- 固态、机械双硬盘+UEFI、APT+Win10、Ubuntu18.04LTS双系统+GTX 1080Ti+Cuda9.0+cudnn7.1.4+Tensorflow1.12
- 从大盘数据看A股是否为政策市
- 【机器学习笔记37】模糊聚类分析(基于最大生成树)
热门文章
- select2下拉搜索框匹配汉字全拼及首字母
- linux网络爬虫代码,简单爬虫思路
- GitHub仓库push报错remote: Support for password authentication was removed on August 13, 2021.
- 我们为什么要去月球“吃土”?
- 我的2019计算机保研夏令营/预推免经历【中南,北理工,北航,南大,浙大】
- 怎么看服务器的内部性能参数,怎么看服务器详细配置参数
- 瓷器进口关税多少及相关瓷器进口报关流程中会遇到哪些问题?
- 《程序员生存定律》读后感
- 用Python写一个网络爬虫爬取网页中的图片
- DownAlbum:Chrome的pinterest批量下载插件