hexo 是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github上.Hexo简单优雅, 而且风格多变, 适合搭建个人博客,而且支持多平台的搭建.

平台

Ubuntu14.04

安装hexo

安装node.js

使用nvm安装node.js:

cURL:

curl https://raw.github.com/creationix/nvm/master/install.sh | sh

Wget:

wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

安装完后,用nvm安装node.js.

nvm install 4

安装hexo

npm install -g hexo-cli

开始写博客

建立博客

$mkdir ~/blog
$hexo init ~/blog #初始化博客
$cd ~/blog
$hexo generate #生成博客
$hexo server #运行本地服务

在浏览器输入http://localhost:4000就可以看到效果.

写文章

配置完后,就可以写markdown文章了,进入博客目录,

$hexo new "postname"   #文章名字是postname

博文会自动生成在博客目录下source/_posts/postName.md

#文件自动生成格式:
title: "It Starts with iGaze: Visual Attention Driven Networkingwith Smart Glasses" #博文题目
date: 2014-11-21 11:25:38 #生成时间
tags: Paper #标签, 多个标签使用格式[Paper1, Paper2, Paper3,...]
---

如果不想博文在首页全部显示, 并能出现阅读全文按钮效果, 需要在你想在首页显示的部分下添加

将博客托管在github上

生成github ssh公钥

1.检查是否已安装ssh,如果没有则安装

2.检查是否存在ssh公钥.

$cd ~/.ssh

3.生成ssh公钥

$ ssh-keygen -t rsa -C "your_email@youremail.com" 

生成了~/.ssh目录.

输入github密码

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
Your identification has been saved in /home/you/.ssh/id_rsa.
# Your public key has been saved in /home/you/.ssh/id_rsa.pub.
# The key fingerprint is: ...

4.将公钥添加到github

打开github,找到账户里面添加SSH,把~/.ssh/idrsa.pub的内容复制到key里面。

5.测试是否生效

使用下面的命令测试

$ssh -T git@github.com
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

输入yes

Hi username!
You've successfully authenticated, but GitHub does not provide shell access.

成功.

将博客部署到github

1.安装部署到git的插件:

npm install hexo-deployer-git --save

2.修改~/blog/_config.yml文件:

# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
type: git
repository: git@github.com:goodluckcwl/goodluckcwl.github.io.git
branch: master #部署分支,一般使用master主分支

执行:

$hexo deploy

打开你的github个人博客.

修改主题

在hexo官网下载主题,修改~/blog/_config.yml文件.


数学公式显示

数学公式显示使用Mathjax引擎,可以下载插件hexo-math.

公式显示错误

Markdown 里使用 Mathjax 有一个很大的缺点,会把两个_按照Markdown的语法解释.

该冲突主要是由于对 \ 和 _ 的转义造成的。找到 marked.js脚本文件, 通常在:/blog/node_modules/hexo-renderer-marked/node_modules/marked/lib/markd.js,先复制一份保存,再修改:

escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,

改为

escape: /^\\([`*\[\]()#+\-.!_>])/,

再将

return '<em>' + text + '</em>';

改为:

return '_' + text + '_';

取消markdown转义,这样数学公式就显示正确了.

Markdown编辑器

haroopad

Ubuntu下github pages+hexo搭建自己的博客的更多相关文章

  1. 使用 GitHub 和 Hexo 搭建个人独立博客

      Wordpress这类博客系统功能强大,可对与我只想划拉的写点东西的人,感觉大材小用了.而且wp需要部署,网站的服务器也会带来问题,国内的服务器首先需要备案,费用不低:国外服务器访问速度受影响.近 ...

  2. 使用Github pages+jekyll搭建自己的博客(windows版)

    最近突发奇想,想试试GitHub pages来搭建博客.网上一搜一大堆,嗯...看来还是挺简单的...于是自己撸起袖子干...... 结果对于我这种GitHub注册过,git 没用过,ruby.jek ...

  3. Github 结合 Hexo 搭建轻量博客

    http://www.open-open.com/lib/view/open1481532171287.html 开始 Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown(或 ...

  4. GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录

    目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...

  5. 使用GitHub+hexo搭建个人独立博客

    前言 使用github pages服务搭建博客的好处有: 全是静态文件,访问速度快: 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台: 可以随意绑定自己的域名,不仔细看的话 ...

  6. github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url)

    详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定了域名: http://www.chengxinsong.cn hexo+github博客网站源码(可以clo ...

  7. github+hexo搭建自己的博客网站(七)注意事项(避免read.me,CNAME文件的覆盖,手动改github page的域名)

    详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定域名可以查看:http://www.chengxinsong.cn 可以查看在github上生成的静态文件(如 ...

  8. Hexo搭建静态个人博客

    Hexo简介 之前在Github上托管的博客就是使用jekyll搭建的,官方的Github Pages同样推荐使用它.我之前体验了一下jekyll,没有达到我想要的效果.于是寻找替代方案,搜索同类博客 ...

  9. 转--利用hexo搭建个人静态博客

    引用地址 可谓图文并茂,可以配合 七牛云存储(做图片等文件服务器),搭建好看的个人博客 hexo 官方指导文档 主题 官网教程 问题集锦 简书 http://blog.csdn.net/wx_9624 ...

随机推荐

  1. python--序列化:json、pickle、shelva

    序列化 数据类型--->str 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 反序列化 str--->数据类型 序列化三大方法:json *** ...

  2. C#异步编程----async和await组合的写法

    微软示例: private async void StartButton_Click(object sender, RoutedEventArgs e) { // ExampleMethodAsync ...

  3. JAVA里面的int类型 和Integer类型,有什么不一样

    JAVA里面的int类型 和Integer类型,有什么不一样 原创 2013年09月04日 23:15:11 标签: java / 2120 编辑 删除 JAVA里面的int类型 和Integer类型 ...

  4. 从数据库更新模型报错:无法将运行时连接字符串转换为设计时等效项,没有为提供程序“mysql.data.mysqlclient”安装为设计目的启用visual studio以便与数据库进行通信所需要的库

    评论里有同学说:VS2017 Enterprise版本的无效,我现在也是用的vs2017Enterprise版本,数据库也是mysql的,但没遇到过.在此说明一下. 一.环境:VS2015 + EF ...

  5. wkhtmltopdf linux下html转pdf

    https://blog.csdn.net/wujunlei1595848/article/details/91129197 https://github.com/wkhtmltopdf/wkhtml ...

  6. requests中text和content的区别

    # -*- coding: utf-8 -*- __author__ = "nixinxin" import re img_url = "https://f11.baid ...

  7. react 使用触摸事件

    react开发支持的事件中,onClick事件,部分标签不支持点击,只能onTouchEnd,但是在移动端,手指触碰到事件绑定元素上,滑动,也会触发该事件,故来share解决办法,有更好的方法,欢迎评 ...

  8. Delphi 与SQL编程

    Delphi 与SQL编程 SQL语言作为关系数据库管理系统中的一种通用的结构查询语言, 已经被众多的数据库管理系统所采用,如Oracle.Sybase.Informix等数据库管理系统,它们都支持S ...

  9. NX二次开发-UFUN获取圆锥参数UF_MODL_ask_cone_parms

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize( ...

  10. hive简述

    显示表头,当前终端有效 set hive.cli.print.header=true; 查看表结构 desc table; 详细的表结构 desc formatted table; 删除表 drop ...