写这篇文章的原因是在网上看了很多的教程,踩了不少的坑,更多的白费了很多功夫,也没找到一篇从头到尾完整有效的个人建站方法。

有些教程年代久远,有些教程极为繁琐,有些教程压根跑不通。

为了方便自己,做个记录,也方便大家,在这个人人都可以发声的时代,又感觉人人的喉咙都被扼住了。

虽然大家在各个媒体平台都有自己的账号,但是给自己留一份自己的自留地,貌似也不会是什么坏事。

这也是我建个人博客的最主要理由,因为有些东西因为这样的或者那样的原因,无法在公域平台发布,那么自己的博客网站,总可以容纳的下。

建立个人博客的两个方法

这是一套非常简单的方法,我希望可以让每一个人都可以照着这套方法建立自己的博客。

总共分为两个版本:

第一个版本为通用版本,利用云服务器的host功能,一个月仅需要花费一杯咖啡的钱。

第二个版本为github版本,利用github pages的免费host和自动部署功能,不需要花一分钱就可以拥有自己的博客。

视频版本:

如何零基础零费用的在30分钟内创建一个专属于你的个人博客 - 简单快捷到建议人手一个

前置准备

Mac 和 linux

需要:homebrew,git包管理,Node.js, vscode(推荐)

homebrew安装:直接命令行输入

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

git包管理:直接命令行输入

brew install git

Node.js: 下载安装包后按照默认设置安装

Node.js下载链接

Windows

需要:git包管理,hugo预编译文件,Node.js, vscode(推荐)

git包管理:点击下面链接下载后安装

git包管理下载链接

Node.js: 下载安装包后按照默认设置安装

Node.js下载链接

准备 hugo 环境

我们用hugo来写个人博客,它是一个非常快捷和友好的博客框架。

mac 安装方法:命令行种输入

brew install hugo

Windows安装方法

比mac要麻烦点,但是安装方法很详细。

windows版本的安装方法

学会在命令行中创建blog

windows:在搜索栏中输入cmd或者命令行

mac:找到Terminal

创建一个新的blog

使用命令hugo new site来创建一个博客,pingfan-blog这个名字可以根据自己的需要改

hugo new site pingfan-blog

进入刚刚创建好的博客文件夹中

在命令行中使用cd命令

cd pingfan-blog

给博客加个皮肤,一次复制+粘贴三行代码到命令行中

第一行:把当前目录进行github仓库的初始化

git init

第二行:下载anatole主题,并存放在themes文件夹中

git submodule add https://github.com/lxndrblz/anatole.git themes/anatole

第三行:把主题改为anatole

echo theme = "anatole" >> config.toml

写第一篇blog

hugo new + aaa/bbb.md, aaa指代的是某一个文件夹,如果你想写美食和电影两种,那就是[美食/第一篇美食.md],或者[电影/第一篇电影.md],尽量都用字母,其次一定要加.md

hugo new life/first_day.md

运行下博客看是否可行

hugo server

出现以下界面后,打开任意浏览器,输入http://localhost:1313 即可查看。

一般是因为1313端口被占用了,可以用它生成的别的网址;或者用kill -9 $(lsof -ti:1313)在命令行把1313端口重新释放出来

浏览器中出现如下界面说明你成功了

生成静态文件,准备进一步托管

hugo -D

你可以去自己的文件目录中看到,public文件夹里面已经多了很多文件出来。

静态网站托管服务

使用云服务进行托管,这一步针对是不能访问github的同学,那么你必须得用一款云服务器进行托管。

1. 首先你得有一个云服务空间,这里我使用的是腾讯云的cloudbase

这里我使用的是腾讯云的cloudbase,可以通过下面这个链接,选择新用户体验券后可以免费体验一个月。

腾讯云cloudbase免费试用一个月链接

添加成功后点击【控制台->云产品->cloudbase】,点开可以看到如下内容。

2. 创建好后得到了一个环境ID,待会儿要用到

3. 在本地安装Node.js

网址为:https://nodejs.org/en/ windows和mac按类型下载,下载完成后安装即可。

在命令行中输入以下验证是否安装成功

npm -v

出现类似于6.14.13就表示成功了。

4. 打开命令行,输入以下命令安装 cloudbase cli

npm install -g @cloudbase/cli

5. 登录云开发

tcb login

6. 在弹出的页面中单击确认授权进行授权

7. 执行以下命令,把public文件夹部署到云服务器上(把EnvID换成刚刚的环境ID

cloudbase hosting deploy ./public  -e EnvID

8.登录云开发控制台

进入静态网站托管页面,可以找到默认的域名,单击域名,就可以看到你的博客已经部署成功了。

下面就是自动生成的域名

出现如下界面表明创建成功了

使用Github进行托管

这个方法是给可以访问github的同学准备的,首先你需要新建一个github仓库,名字无所谓。

然后在命令后中进行操作

1.在命令行中进行git初始化

这步我们已经做过了,当然了,再做一次也没关系

git init

2. 检查是否有改变

git status

3. 提交到暂存区

git add .

4. 交到版本库

git commit -m "msg"

5. 创建分支

git branch -M main
git remote add origin https://.....git

6. 推送到远程仓库

git push -u origin main

7. 添加gh-pages.yml文件

新建一个文件,在pingfan-blog目录下,名称为**.github**,然后在.github文件夹下新建一个文件夹workflows,在workflows文件夹下新建一个文件叫gh-pages.yml

总的路径为pingfan-blog/.github/workflows/gh-pages.yml

在gh-pages.yml输入以下内容后保存。

name: github pageson:push:branches:- main  # Set a branch to deploypull_request:jobs:deploy:runs-on: ubuntu-20.04steps:- uses: actions/checkout@v2with:submodules: true  # Fetch Hugo themes (true OR recursive)fetch-depth: 0    # Fetch all history for .GitInfo and .Lastmod- name: Setup Hugouses: peaceiris/actions-hugo@v2with:hugo-version: 'latest'# extended: true- name: Buildrun: hugo --minify- name: Deployuses: peaceiris/actions-gh-pages@v3if: github.ref == 'refs/heads/main'with:github_token: ${{ secrets.GITHUB_TOKEN }}publish_dir: ./public

8. 重新把修改过的文件上传到github上

再走一遍

git status
git add .
git commit -m "add yml file"
git push

9. 成功的话,我们会发现所有的内容都上传到github了

10. 找到刚刚的github仓库,点击Actions,就可以看到我们的网站部署成功了

11. 修改branch为gh-pages,位置在settings->Pages那里

11. 最后一步,修改hugo的baseURL

在github的仓库中找到Settings->Pages,找到为https://******.github.io/pingfan-blog

复制粘贴,打开config.toml,然后替换掉原先的。

12. 再走一遍

git status
git add .
git commit -m "revise config"
git push

13. 打开github,点开pages,点击sourse,选择gh-pages,结束

我这个是换成了我自己购买的域名,所以会显示的不一样,你也可以买一个自己喜欢的域名,而不是默认的域名。

这是我的域名。

如果有问题,可以加这个群,有空我会看的。
群号:339309252
或者扫这个:QQ群

如何零基础零费用的在30分钟内用hugo+github pages创建一个专属于你的个人博客 - 简单快捷到建议人手一个相关推荐

  1. 零基础学习C语言如何入门(内附工具书推荐+视频教程)

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多.C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开发 ...

  2. 请使用recaptcha_如何在30分钟内使用ReCaptcha和PHP构建Bootstrap电子邮件表单

    请使用recaptcha by Ondrej Svestka 通过Ondrej Svestka 如何在30分钟内使用ReCaptcha和PHP构建Bootstrap电子邮件表单 (How to bui ...

  3. swiftui_使用SwiftUI在30分钟内制作一个应用

    swiftui This post was first delivered as a live coding presentation at a Telstra Purple Back2Base ev ...

  4. k8s aws 部署_如何在短短30分钟内使用CircleCI设置到AWS S3的持续部署

    k8s aws 部署 by Adam Watt 通过亚当·瓦特 如何在短短30分钟内使用CircleCI设置到AWS S3的持续部署 (How to setup Continuous Deployme ...

  5. 30分钟内使用MongoDB

    最近,我被NoSQL错误咬住了-或是我的同事Mark Atwell提出的"燃烧在哪里!" 运动. 尽管我无意于在不久的将来或可预见的将来回避友好的" SELECT ... ...

  6. 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人

    机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...

  7. Retrace AV推出新型涂料添加剂,可在30分钟内灭杀新冠病毒

    新型涂料添加剂可在30分钟内消灭新冠病毒,为家庭和工作场所提供高达99.99%的保护   伦敦--(美国商业资讯)--全球数十亿人正尝试重返办公室.学校和社交场所.政府和企业主需要尽其所能提振信心,让 ...

  8. 如何实现生成订单30分钟内未支付则自动取消?

    如何实现生成订单30分钟内未支付则自动取消? 数据库轮询 JDK的延迟队列 Quartz 时间轮算法 使用消息队列 数据库轮询 不是很推荐的一种方式,需要定时扫描数据库,借助定时任务工具,如果是多服务 ...

  9. 《算法零基础100讲》(第30讲) 概率与统计

    文章目录 零.写在前面 一.概念定义 二.题目描述 三.算法详解 四.源码剖析 五.推荐专栏 六.习题练习 零.写在前面   这是<算法零基础100讲> 专栏打卡学习的第 30 天了.如果 ...

最新文章

  1. 多传感器融合(算法)综述
  2. Excel VBA附合导线平差自动计算表
  3. Almost sorted interval
  4. 【Linux】一步一步学Linux——ssh-copy-id命令(180)
  5. Vim和Vi的常用命令
  6. python有哪些常用的库
  7. ATL(COM) 开发下 -- VS2010
  8. mysql转openldap_用mysql作openldap的后台数据库
  9. Seata多微服务互相调用_全局分布式事物使用案例_Order-Module order微服务的配置搭建_写代码下---微服务升级_SpringCloud Alibaba工作笔记0062
  10. 【计算机网络】ACL工作原理及标准
  11. XML配置文件的智能感知(IntelliSense)功能
  12. PTA——堆中的路径
  13. java 分布式同步锁_java编程进阶之路:回归锁的本质,探索分布式锁之源头
  14. 程序员如何写工作日志
  15. JS: 百度地图与腾讯/高德地图经纬度转换
  16. 智慧体检中心管理系统方案/APP/小程序/公众号/网站
  17. 赛博朋克!灵感来自枫树种子荚的多翼滑翔机,空中可分体
  18. U盘病毒泛滥 专家解析病毒历史及防范方法
  19. G6-定制不同节点的参数 --组合图
  20. mysql 下 计算 两点 经纬度 之间的距离 含具体sql语句

热门文章

  1. 最熟悉的路,莫过于归途
  2. ai芯片fpga_AI芯片技术趋势景观GPU TPU FPGA初创公司
  3. R语言怎么比较两个模型C指数,手把手教你用R语言评价临床预测模型,一文就够(附代码)...
  4. 女生被逼疯的日记(课余篇)
  5. beatsx三闪红灯_beatsX耳机维修,beats耳机红灯白灯闪维修,南京beatsX耳机维修
  6. php视频转音频文件怎么打开,视频怎么转音频格式 MP4格式怎样转MP3格式
  7. 人工解决问题和用计算机解决问题的相同点,2计算机解决问题的过程.docx
  8. 记录一次 Liferay 7.X 中弹出窗口的简单使用
  9. 小侃设计模式(十五)-命令模式
  10. 2018年Android源码下载记录