zoukankan      html  css  js  c++  java
  • Hexo建站教程

    Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

    这里我把个人博客托管在 GitHub Pages 上。GitHub Pages 是一种静态站点托管服务,每个 GitHub 帐户或组织都可以有一个站点。

    准备工作

    安装 Hexo 前要先安装:

    • Node.js
    • Git

    Git 初始化安装配置详见:GitHub 初始化配置

    Hexo 原理简要介绍

    由于 GitHub Pages 存放的都是静态文件,博客存放的不只是文章内容,还有文章列表、分类、标签、翻页等动态内容,假如每次写完一篇文章都要手动更新博文目录和相关链接信息,那就太繁琐了,毕竟博客的关键是内容,hexo 做的就是将这些 md 文件都放在本地,每次写完文章后框架会批量生成相关页面,然后我们只需要将生成的静态文件提交到 GitHub 即可。

    注意:建议使用 Git Bash 来执行后续的所有命令。

    GitHub Pages 上搭建博客

    GitHub 创建仓库

    新建一个名为你的用户名.github.io 的仓库,比如说,如果你的 GitHub 用户名是 dta0502,那么你就新建 dta0502.github.io 的仓库,将来你的网站访问地址就是 https://dta0502.github.io

    由此可见,每一个 GitHub 账户最多只能创建一个这样可以直接使用域名访问的仓库。

    几个注意的地方:

    • 注册的邮箱一定要验证,否则不会成功
    • 仓库名字必须是:username.github.io,其中 username 是你的用户名
    • 仓库创建成功不会立即生效,需要过一段时间

    Hexo 安装

    COPYnpm install -g hexo
    

    Hexo 初始化

    在想要的路径下新建一个名为 hexo 的文件夹(名字可以随便取),比如我的是 D:documentGitHubhexo,这个文件夹内就是你的 Hexo 博客的源文件:

    COPYcd /d/document/GitHub/hexo/
    hexo init
    

    输入以上命令后,hexo 会自动下载一些文件到这个目录,包括 node_modules,其中比较重要的几个文件的目录结构如下:

    COPY.
    ├── _config.yml
    ├── package.json
    ├── scaffolds
    ├── source
    |   ├── _drafts
    |   └── _posts
    └── themes
    

    注意:hexo 有 2 个_config.yml 文件,一个是站点根目录下的_config.yml,一个是 theme(主题)下的_config.yml 文件。

    博客生成、预览:

    COPYhexo g # 生成
    hexo s # 启动服务
    

    执行以上命令之后,hexo 就会在 public 文件夹生成相关 html 文件,这些就是你博客的静态文件,后续需要把这些提交到 GitHub 上。

    hexo s 是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容,很多人会碰到浏览器一直在转圈但是就是加载不出来的问题,一般情况下是因为端口占用的缘故。

    修改主题

    这里以 hexo-theme-yilia 这个主题为例做一下说明。

    首先下载 hexo-theme-yilia 这个主题:

    COPYcd /d/document/GitHub/hexo/
    git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia
    

    下载的主题文件都在 theme 目录下。

    然后我们将 Hexo 根目录下的_config.yml 中的 theme: landscape 改为 theme: yilia,然后重新执行 hexo g 来重新生成。

    注意:如果出现一些莫名其妙的问题,可以先执行 hexo clean 来清理一下 public 的内容,然后再重新生成。

    部署到 GitHub

    如果你一切都配置好了,接下来就是把博客部署到 GitHub 上:

    COPYhexo d
    

    注意:

    • ssh key 配置好。
    • 配置_config.yml 中有关 deploy 的部分(注意缩进)。
    COPYdeploy:
      type: git
      repository: git@github.com:dta0502/dta0502.github.io.git
      branch: master
    

    直接执行 hexo d 的话一般会报如下错误:

    COPYDeployer not found: git
    

    这是因为缺少了一个插件,我们可以通过如下命令安装:

    COPYnpm install hexo-deployer-git --save
    

    然后输入 hexo d 就会将本次有改动的代码全部提交。

    常用的 hexo 命令

    • 常见命令:
    COPYhexo new "postName"      # 新建文章
    hexo new page "pageName" # 新建页面
    hexo generate            # 生成静态页面至public目录
    hexo server              # 开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
    hexo deploy              # 部署到GitHub
    hexo help                # 查看帮助
    hexo version             # 查看Hexo的版本
    
    • 缩写命令:
    COPYhexo n == hexo new
    hexo g == hexo generate
    hexo s == hexo server
    hexo d == hexo deploy
    
    • 组合命令:
    COPYhexo s -g   # 生成并本地预览
    hexo d -g   # 生成并上传
    

    写文章

    我们可以在 hexo 根目录下执行命令:

    COPYhexo new 'my-first-blog'
    

    hexo 会帮我们在_posts 下生成相关 md 文件,我们只需要打开这个文件就可以开始写博客了,用这个命令的好处是帮我们自动生成了文章创建时间

    默认情况下,生成的博文目录会显示全部的文章内容,我们可以在文章合适的位置加上 `` 来设置文章摘要的长度。

    举例来说:

    COPYHexo 是一个快速、简洁且高效的博客框架。
    
    <!-- more -->
    

    给文章添加分类和标签

    (1) 在文件中设置tags和categories属性:

    COPYtitle: 在这里
    date: 2018-08-02 11:41:10
    tags:
    - 博客           //多个标签可以这样添加
    - hexocpp
    categories: web前端
    

    使用Typaro 和 picgo为博文配图

    手把手教你用Typora自动上传到picgo图床【教程与排坑】

    测试测试

    如果不使用图床配图

    1. 问题描述

    默认情况下,在 hexo 中新建一篇markdown博文,在文章中插入本地图片,再部署到 github 上面,是无法显示这些图片的。

    2. 解决方法

    首先找到博客根目录下面的_config.yml文件,修改post_assrt_folder的值为true.

    接着 git bash 切换到博客根目录下面,安装第三方插件hexo-assrt-image

    COPYnpm install hexo-asset-image --save
    

    接着hexo new "文章名" 新建一篇文章,会发现source/_posts/目录下面会生成一个和 markdown 文件同名的文件夹。再将当前这篇文章中需要插入的图片放到这个文件夹中,再到 markdown 中引用该文件夹中的图片,最后hexo g -> hexo d,就可以正常的查看这些图片了。

    参考文章

    推荐文章

    参考用链接:

    https://rivtian.github.io/

  • 相关阅读:
    从 HTTP 到 HTTPS
    一条很用的MSSQL语句
    MVC中 jquery validate 不用submit方式验证表单或单个元素
    深信服务发布SSL站点
    警告: 程序集绑定日志记录被关闭(IIS7 64位系统)
    Winform中子线程访问界面控件时被阻塞解决方案
    C# Winform中执行post操作并获取返回的XML类型的数据
    vs2010 vs2012中增加JSon的支持
    WebService应用一例,带有安全验证
    C#事件、委托简单示例
  • 原文地址:https://www.cnblogs.com/RioTian/p/13178243.html
Copyright © 2011-2022 走看看