草庐IT

在github上搭建个人独立博客

gridcell 2024-05-09 原文

这篇文章会给大家分享利用github pages搭建我的个人独立博客的过程,希望能帮助到一些想搭建独立博客的朋友。本文操作中所使用的操作系统为MacOS。

一、工具准备

1.下载nodejs

https://nodejs.org/zh-cn/download/
进入网站以后,根据自己的电脑系统,选择不同的平台下载。目前支持的主要平台是Windows,MacOS,Linux。下载的版本推荐是长期维护版,另外一个版本是最新尝鲜版,虽然包含了很多最新功能,但是有可能不太稳定,不太适合新人使用。

2.下载git

https://git-scm.com/downloads
进入网站以后,也是跟据自己的电脑系统选择相应平台。安装时基本就是按照它的提示,点击下一步即可。

3.测试安装结果

打开终端(Windows系统下需要管理员运行cmd),依次输入

node -v
npm -v
git -v

如果都能正常输出版本号,说明安装成功了,可以进入下一步操作。

4.安装hexo

npm install hexo-cli -g

这里比较旧的版本可能是npm install hexo -g,但是现在这个命令已经不用了

二、搭建仓库

1.注册登录github

登录成功以后,点击 Repositories -> New,进入新建仓库页面
在仓库名称处,输入 用户名.github.io (这里的用户名是你注册的用户名,一般是英文字母)
选择Public
选择Add a README file
最后,点击最下面的Create repository,完成仓库创建。

2.创建SSH key

打开终端,输入

ssh-keygen -t rsa -C "邮件地址"

然后连续4次敲入回车键,完成创建。
打开~/目录,寻找.ssh目录,这是一个隐藏目录,需要在Find中设置一下,把所有隐藏的目录显示出来才能看到。在Windows系统下的目录应该是C:\Users\用户名。
在.ssh目录中,以文本方式打开id_rsa.pub文件,并复制里面的内容。

然后打开github,点击右上角图形,在弹出菜单中选技Settings,进入设置页面。
选择SSH and GPG keys菜单,在SSH keys项上点击New SSH key,在弹出框中粘贴刚才id_rsa.pub的文件内容。

现在,可以测试一下是否成功了,在终端中输入

ssh -T git@github.com

回车,然后再输入yes。

三、在本地生成博客内容

1. 在本地电脑上建一个博客目录,比如~/blog/,在终端上进入这个目录,然后运行

hexo init

我在运行时,报了如下错误:

(node:67639) ExperimentalWarning: The fs.promises API is experimental
INFO  Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
INFO  Install dependencies
warning hexo-renderer-stylus > stylus > css > source-map-resolve@0.6.0: See https://github.com/lydell/source-map-resolve#deprecated
error hexo@6.3.0: The engine "node" is incompatible with this module. Expected version ">=12.13.0". Got "11.13.0"
error Found incompatible module.
WARN  Failed to install dependencies. Please run 'npm install' in "/Users/tianlibin/blog" folder.

从错误信息上可以看出来,是我本地的node版本太低了,因为hexo要求node最低版本是12.13.0。升级了本机的node版本后,问题解决。

2. 运行

hexo generate

注:此命令可简写为 hexo g

3. 运行

hexo server

注:命令可简写为 hexo s
如果上述命令运行失败,有可能是国内与github的连接不太稳定,可以尝试重复几次,直到成功。
每次写好文章之后,也可以运行这个命令,来预览文章的效果。

hexo server命令运行成功后,输出如下:

INFO  Validating config
INFO  Start processing
INFO  Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.

在浏览器地址栏里打开 http://localhost:4000/ ,即可看到一个博客DEMO页面
可以按 control+C,结束服务。

4. 修改_config.yml

在博客目录下,找到_config.yml文件,找到 Site模块,修改

# Site
title: '给博客取个大标题'
subtitle: '给博客取个副标题'
description: ''
keywords:
author: 
language: en
timezone: ''

在这里可以修改网站的标题、副标题、描述、关健字、作者、语言等信息。

另外,找到最下面的Deployment模块
原始内容如下:

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: ''

修改如下

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: git
  repository: git@github.com:xxx/xxx.github.io.git
  branch: main

这里有几点需要注意一下

  • type,repository,branch三个关健字,前面都有两个空格,冒号后面有一个空格,这里不能把空格删掉
  • type和branch后面的值都是固定的,repository后面的值,需要到github上找你创建的那个仓库,点击Code按钮,复制git的链接。(为了后面提交代码方便,尽量复制git链接,而不是https链接)

四、博客上线

1. 安装自动部署发布工具

npm install hexo-deployer-git --save

然后在终端依次输入

hexo g(生成)
hexo d(上传)

接下来我们就成功把本地内容上传到github了
上传成功以后,我们就算搭建好了!上自己的网址看看吧
网址是我们之前设的仓库名:用户名.github.io

2. 写文章

我们在Blog目录下,在终端中输入以下命令,就可以生成新的文章文件

hexo new 文章标题

文章是.md格式,在我们的Blog文件夹中的source/_posts中。
我个人是使用有道云笔记录来编辑md文件,支持所见即所得。

3. 上传文章

文章写好以后,还是输入,即可发布。

hexo g(生成)
hexo d(上传)

至此,我们就成功搭建好基本的博客了,剩下的就是对博客的一些优化和美化了。

有关在github上搭建个人独立博客的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. C51单片机——实现用独立按键控制LED亮灭(调用函数篇) - 2

    说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时

  3. 语法类似于 GitHub Flavored Markdown 的 Ruby markdown 解释器? - 2

    我使用Jekyll运行博客,并认为我会解决RedcarpetMarkdown解释器,因为它是developedandusedbyGitHub.好吧,我只是碰巧遇到了一个错误,去检查问题,然后foundthis.Maintainersays,"Asyouprobablyhavenoticed(harharharhar)Idon'thavetimetomaintainRedcarpetanymore.It'snotapriorityforme(IfindMarkdownthoroughlyboring)andit'snotapriorityforGitHub,becausewenolong

  4. ruby - vagrant 从 github 安装插件 - 2

    我们正在使用Vagrant进行部署,我们最终希望将此集群部署在Rackspace上。vagrant-rackspace插件是一个自然的选择,但它有一些错误,这些错误未包含在最新的0.1.1版本中(notablythatvagrantprovisiondoesn'twork)。我已经在我的personalfork中解决了这个问题通过合并其他人的工作来对存储库进行改造。是否可以从github安装vagrant插件?显而易见的事情没有奏效:[unix]$vagrantplugininstallvagrant-rackspace--plugin-sourcehttps://github.com

  5. ruby - 如何让 GitHub 页面使用 master 分支? - 2

    我有一个使用Jekyll托管在GitHub上的静态网站。问题是,我真的不需要master分支,因为存储库唯一包含的是网站。这样我就必须gitcheckoutgh-pages,然后gitmergemaster,然后gitpushorigingh-pages。有什么简单的方法可以摆脱gh-pages分支并直接从master推送? 最佳答案 Theproblemis,Idon'treallyneedthemasterbranch,astheonlythingtherepositorycontainsisthewebsite.Isthere

  6. ruby - 警告 : PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, 请参阅 : https://github. com/wayneeseguin/rvm/issues/3212 - 2

    我每次打开终端时都会收到这个错误:警告:PATH设置为RVMruby​​但未设置GEM_HOME和/或GEM_PATH,请参阅:https://github.com/wayneeseguin/rvm/issues/3212这是在我最近安装zsh(oh-my-zsh)后开始发生的我不知道如何设置GEM_HOME和/或GEM_PATH的路径。 最佳答案 我也面临同样的问题,更改.zshrc中的以下行,exportPATH="/usr/local/heroku/bin:.........."到exportPATH="$PATH:/usr/

  7. ruby - github api v3 创建问题消息未找到 - 2

    当我尝试创建一个github问题时,它给出消息未找到回复。以及如何发送身份验证header。因为创建问题需要用户登录或验证curl-XPOST-i-d'{"title":"my-new-repo","body":"mynewissuedescription"}'https://api.github.com/repos/barterli/barter.li/issuesHTTP/1.1404NotFoundServer:GitHub.comDate:Wed,19Feb201407:11:33GMTContent-Type:application/json;charset=utf-8Sta

  8. ruby-on-rails - 独立测试 Rails 部分 View - 2

    我在标准rails2.1项目中使用Test/Unit。我希望能够独立于任何特定的Controller/操作来测试分部View。好像ZenTest'sTest::Rails::ViewTestCase会有所帮助,但我无法让它工作,与view_testhttp://www.continuousthinking.com/tags/view_test类似Google出现的大部分内容似乎都已经过时了,所以我猜它并不真正适用于Rails2.1非常感谢任何帮助。谢谢,罗兰 最佳答案 我们正在使用RSpec在我们的Rails2.1项目中,我们可以做

  9. ruby - 如何在 github 操作中捆绑安装私有(private) gem - 2

    我想通过github操作在gem上运行rspec(称之为priv_gem_a)。priv_gem_a依赖于私有(private)存储库中的另一个gem(称之为priv_gem_b)。但是,由于权限无效,我无法捆绑安装priv_gem_b。错误:Fetchinggemmetadatafromhttps://rubygems.org/..........Fetchinggit@github.com:myorg/priv_gem_bHostkeyverificationfailed.fatal:Couldnotreadfromremoterepository.Pleasemakesureyo

  10. ruby - 如何使用 webhooks 从 Gitlab 推送到 Github - 2

    如果我只能找到正确的手册,我的Google-fu就会让我失望,因为这看起来很明显。我有一个由我们的托管服务提供商安装的Gitlab服务器Gitlab服务器有很多项目。对于其中一些项目,我希望Gitlab每次从本地客户端推送到Gitlab时自动推送到远程存储库(在本例中为Github)。像这样:客户端-->gitlab-->github任何标签和分支也应该被推送。AFAICT我有3个选择:用两个Remote配置本地客户端,同时推送到Gitlab和Github。我想避免这种情况,因为开发人员。在Gitlab服务器上的存储库中添加一个gitpost-receiveHook。这将是最灵活的(我

随机推荐