Linux 基础 - 档案与目录管理(ls/cp/rm/mv/basename/dirname)
本文介绍了 Linux 系统与档案与目录管理相关的指令
本文介绍了 Linux 系统与档案与目录管理相关的指令
本文介绍了 Linux 系统有关目录的常用指令和 $PATH 变量的意义
本文记录了 Linux 系统下预设目录的划分依据,以及自定义软件放置数据的最佳实践
本文介绍了 Linux 系统与档案目录预设和隐藏权限相关的指令
本文记录了 Linux 系统下档案是什么,档案是如何组织的,包括权限的设定与划分
本文主要记录了 Linux 系统下与用户何群组相关的指令和操作指南
本文简要介绍了 Linux 系统关于磁盘分区的基础知识
当在项目中引用了其他开源库的源代码,如何进行管理?
在远程机器上搭建 Git Repository
本文记录了一些 Hexo NexT 主题进行定制化的常见需求
本文索引:
如果你
那么 Hexo 将是个人博客很好的一个选择。Hexo 是一个轻量级的基于 Markdown(.md) 的轻博客框架。
hexo
是 npm 的一个包,首先从 Node.js 官网下载对应系统的安装包。Node.js
安装完成后会自动在环境变量中加入 npm cli
的路径,接着在 cli 中使用以下命令安装 hexo
包:
1 | npm install -g hexo-cli |
确认安装已经成功:
1 | hexo version |
以下两种途径初始化 hexo
:
hexo
的根目录,在该目录下运行命令行工具,执行 hexo init
,该命令会以当前目录作为 hexo
的根hexo init <folder>
初始化指定目录为 hexo
的根,随后执行 cd <folder>
导航到该目录
hexo init <folder>
命令中,如果folder
所包含的目录层级中包含不存在的层级,该命令会自动创建该层级下的目录
初始化完成后,得到以下的目录结构:
1 | . |
在初始化完成后的目录中包含了 package.json
文件,意味着该项目有其自己的 npm 包依赖,执行 npm install
解析依赖并在本地安装。
_config.yml
文件包含了对 hexo
博客站点的配置信息。
参数 | 描述 |
---|---|
title | 网站标题 |
subtitle | 网站副标题 |
description | 网站描述 |
author | 作者名字 |
language | 网站使用的语言 |
timezone | 时区 |
其中,description 主要用于 SEO,为搜索引擎提供一个关于站点的简单描述,通常建议包含网站的关键词。author 参数用于主题显示文章的作者。 |
参数 | 描述 | 默认值(示例值) |
---|---|---|
url | 根地址 | http://www.your-site.conm/blog/ |
root | 站点根目录 | /blog/ |
permalink | 文章的永久链接格式 | :year/:month/:day/:title/ |
permalink_defaults | 永久链接中各部分的默认值 |
永久链接是指,当执行
hexo s
或发布到 web server 之后,其生成文件的 url 组成策略,默认值为:year/:month/:day/:title/
,这意味着 url 将以分隔的日期值来定位文章。
url
和root
总是成对修改,例如,想要把站点的根目录放在子目录/blog
下,那么root
的值应该修改为/blog/
,url
的值对应修改为http://www.your-site.com/blog/
。
官方文档中的网站存放于子目录的意思是,
hexo
项目包含的是生成站点的源代码文件,包括source/_posts
目录,均用于生成网站,而“网站”是指生成好之后的静态资源文件集。
更多配置详情参考官方文档
本地生成并 serve:
1 | cd <target-directory> |
此时在浏览器中访问 localhost 对应的端口号将看到一个新的模板页面已经生成成功,执行如下命令来创建新的文章,在 source/_posts
目录下一个对应的文件被创建
1 | hexo new "my-first-post" |
导航到该文件可以看到其模板内容
1 | --- |
重新生成博客文章并启动 hexo server
1 | hexo generate |
-o
参数代表在成功serve
立即打开一个浏览器窗口以访问站点的根页面,--debug
参数启用在控制台打印debug
级别的日志信息,方便排错。hexo generate
可简写为hexo g
,hexo server
可简写为hexo s
文章列表中已经列出刚刚创建的文章名称,进一步修改该文件,hexo server
将实时更新页面内容
当站点准备就绪后,下一步就是要给它找个家,GitHub 为每个账号提供了站点寄宿服务——GitHub Pages,在 GitHub
中创建一个 username.github.io
的公开仓库,将 build
好的站点资源文件集 push
到该仓库,再访问唯一的 https://username.github.io/
即可。
hexo
提供了自动部署机制,在 _config.yml
中找到 deploy
这一项:
1 | # Deployment |
部署的更多详情参考官方文档
GitHub Pages
支持自定域名解析,假设已经有了一个根域名 example.com
,可配置将 blog
二级域名指向 username.github.io
,具体参考「官方指南」,Github Pages 接受使用 CNAME 记录将自定义域名指向 username.github.io
,其实现原理是在站点根目录下放置一个名为 CNAME
的文件,其内容包含一行自定义域名值:
1 | blog.example.com |
该文件并不由 hexo 项目维护,所以每次运行 hexo d
之后该文件都将被删除。为了解决这个问题,可在 hexo 项目的 /source
目录下包含一个 CNAME
文件用于告知 Github Pages 自定义域名的值,在执行 hexo g
之后,生成的 public
文件夹也将包含该文件。这样,每次部署都会将该文件一同上传至 username.github.io
项目。