神刀安全网

独立博客的搭建

写作,一直是思考和表达的一种重要的途径,而博客是一个很好的表达和分享的平台。网络上的博客平台有很多,自己也有在用简书Lofter。但同时作为一个理想主义的程序员,总是向往更加简单和自由的写作方式。由此,经过一番折腾,才有了我的第一个独立博客以及这篇博客搭建的文章。

废话少说,先上博客:点击访问我的博客


Github+Hexo

博客程序有很多,也都有各自的优缺点,关于选用哪一个,也因人而异,毕竟适合自己的才是做好的。

可以看这一篇进行了解 : 各种博客程序有什么特点

我所选用的是Github+hexo进行搭建。理由如下:

  • 用 Node.js 搭建的博客平台,速度快,免费
  • Hexo 操作比 Jekyll 简单,命令少,易于记忆。
  • 搭建在 Github 上,Github稳定,空间免费。

搭建环境

1. 安装 Git

Git是目前世界上最先进的分布式版本控制系统。在这里主要用来把本地内容提交到github上区。

安装方式:

  1. 下载
    http://msysgit.github.io/
  2. 安装
    安装过程中,询问是否修改环境变量,选择“Use Git Bash Only”. 即只在msysGit提供的Shell

    运行 Git 前的配置

  3. 配置你个人的用户名称和电子邮件地址

    $ git config –global user.name “xxx”
    $ git config –global user.email xxx@example.com

  4. 配置GitHub SSH
    (1)首先使用 ssh-keygen 生成 SSH 密钥
    $ ssh-keygen -t rsa -C "youremail@163.com"
    (2) 配置Github SSH。
    登陆GitHub->Settings->“SSH Keys”,然后,点“Add SSH Key”,起个Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”。

    2. 安装 node.js

  5. 下载
    下载:http://nodejs.org/download/
    作用:用来生成静态页面

    配置Github

    Github网址:https://github.com/
    作用:用来做远程博客的仓库

    1. 建立Repository

    建立与你用户名对应的仓库,仓库名必须为【your_user_name.github.io

    2. 配置SSH-Key

    参考http://www.cnblogs.com/zhcncn/p/3787849.html

搭建 Hexo

1. 安装

打开Git命令行,执行如下命令

$ npm install -g hexo

2 Quick Start

1. 建立你的博客

在电脑中建立一个文件夹(比如我建在了D:/blog),然后在此文件夹中右键打开Git Bash。执行下面的命令

$ hexo init  [info] Copying data  [info] You are almost done! Don't forget to run `npm install` before you start b logging with Hexo!

Hexo随后会自动在目标文件夹建立网站所需要的文件。然后按照提示,运行 npm install(在 /D/blog下

npm install

会在D:/blog目录中安装node/_modules

2. 打开服务

运行下面的命令(在 /D/blog下)

$ hexo server  [info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

表明Hexo Server已经启动了,在浏览器中打开 http://localhost:4000/,这时可以看到Hexo已为你生成了一篇blog。

你可以按Ctrl+C停止Server。

文件目录为

blog
_config_yml — 注配置文件
db.json –数据
debug.log — 调试日志
_node_mudules — nodejs 相关依赖
package.json — 配置依赖
scaffolds — 脚手架 – 也就是一个工具模板
source — 存放blog正文的地方
themes — 存放皮肤的地方

3. 创建一篇文章

新打开一个git bash命令行窗口,cd到/D/blog下,执行下面的命令

$ hexo new "My New Post"

刷新http://localhost:4000/,可以发现已生成了一篇新文章 “My New Post”。

注意

在创建文章时,要ctrl+c关掉hexo server

4. 生成静态页面

执行下面的命令,将你自己写的markdown文件生成静态网页。

$ hexo generate

该命令执行完后,会在 D:/blog/public/ 目录下生成一系列html,css等文件。

5. 编辑文章

hexo new “My New Post”会在D:/blog/source/_posts目录下生成一个markdown文件:My-New-Post.md

可以使用一个支持markdown语法的编辑器(推荐MarkEditor 或 Sublime Text 2)来编辑该文件。

6. 部署到Github

部署到Github前需要配置_config.yml文件,首先找到下面的内容

# Deployment  ## Docs: http://hexo.io/docs/deployment.html  deploy:  type:

将它们修改为

# Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repository: git@github.com:chuanqiang/chuanqiang.github.io.git branch: master

7. 测试

当部署完成后,在浏览器中打开http://chuanqiang.github.io/ 正常显示网页,表明部署成功。

Hexo 命令总结

1. 常用命令

hexo new "postName" #新建文章 hexo new page "pageName" #新建页面 hexo generate #生成静态页面至public目录 hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server) hexo deploy #将.deploy目录部署到GitHub hexo help  # 查看帮助 hexo version  #查看Hexo的版本

2. 复合命令

hexo deploy -g  #生成加部署 hexo server -g  #生成加预览

命令的简写为:

hexo n == hexo new hexo g == hexo generate hexo s == hexo server hexo d == hexo deploy

为博客添加域名

1. 域名购买

网站:推荐去GoDaddy 购买
优点:安全,支持支付宝。
注意

  • 注册时用户填写信息时一定要输入正确的邮箱名字。
  • 买完域名之后一定要记得去自己的邮箱查看激活邮件,否则域名激活不了。

    2.域名和 Github 空间绑定

    1. GitHub Pages的设置

    方法1:在Repository的根目录下面,新建一个名为CNAME的文本文件,里面写入你要绑定的域名,不用写http://,直接写域名。比如我的是qixiantong.info
    方法2:到我的github仓库,点击右下角的「Download ZIP」,下载源文件,解压,修改CNAME,改成你想要的域名,放进Hexo/source目录下,用hexo命令提交上去。

独立博客的搭建

2.DNS设定

网站DNSpod
步骤

  1. 登录或者注册DNSpod
  2. 之后进入到了域名下一解析管理窗口,这里需记录两个记录值:/
    f1g1ns1.dnspod.net. f1g1ns2.dnspod.net.
    独立博客的搭建

独立博客的搭建

  1. 点击添加记录,按图所述:
独立博客的搭建

  1. 等待全球递归DNS服务器刷新(最多72小时)。

Hexo 配置

1. 配置文件介绍

文件名:_config.yml(在文件根目录下)

# Hexo Configuration ## Docs: http://hexo.io/docs/configuration.html ## Source: https://github.com/tommy351/hexo/  # Site #整站的基本信息 title: 1000 words a Day #网站标题 subtitle: Writing 1000 Words a Day Changes My Life #网站副标题 description: 学习总结 思考感悟 知识管理 #网站描述 author:  cnFeat #网站作者,在下方显示 email: cnFeat@gmail.com #联系邮箱 language: zh-CN  # URL ## If your site is put in a subdirectory url: http://www.cnfeat.com #你的域名 root: / permalink: :year/:month/:day/:title/ tag_dir: tags archive_dir: archives category_dir: categories code_dir: downloads/code  # Directory source_dir: source public_dir: public  # Writing new_post_name: :title.md # File name of new posts default_layout: post auto_spacing: false # Add spaces between asian characters and western characters titlecase: false # Transform title into titlecase external_link: true # Open external links in new tab max_open_file: 100 multi_thread: true filename_case: 0 render_drafts: false post_asset_folder: false highlight: enable: true line_number: true tab_replace:  # Category & Tag default_category: uncategorized category_map: tag_map:  # Archives ## 2: Enable pagination ## 1: Disable pagination ## 0: Fully Disable archive: 2 category: 2 tag: 2  # Server ## Hexo uses Connect as a server ## You can customize the logger format as defined in ## http://www.senchalabs.org/connect/logger.html port: 4000 server_ip: 0.0.0.0 logger: false logger_format:  # Date / Time format ## Hexo uses Moment.js to parse and display date ## You can customize the date format as defined in ## http://momentjs.com/docs/#/displaying/format/ date_format: YYYY-MM-DD time_format: H:mm:ss  # Pagination ## Set per_page to 0 to disable pagination per_page: 15 #每页15篇文章 pagination_dir: page  # Disqus #社会化评论disqus,我使用多说,在主题中配置 disqus_shortname:  # Extensions ## Plugins: https://github.com/tommy351/hexo/wiki/Plugins ## Themes: https://github.com/tommy351/hexo/wiki/Themes theme: jacman exclude_generator: Plugins: - hexo-generator-feed - hexo-generator-sitemap  #sitemap sitemap: path: sitemap.xml  #Feed Atom feed: type: atom path: atom.xml limit: 20  # Markdown ## https://github.com/chjj/marked markdown: gfm: true pedantic: false sanitize: false tables: true breaks: true smartLists: true smartypants: true  # Stylus stylus: compress: false  # Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repository: git@github.com:chuanqiang/chuanqiang.github.io.git branch: master

2. 修改局部页面

页面展现的全部逻辑都在每个主题中控制,源代码在hexo/themes/jacman/中:

├── languages  #多语言 |   ├── default.yml#默认语言 |   └── zh-CN.yml  #中文语言 ├── layout #布局,根目录下的*.ejs文件是对主页,分页,存档等的控制 |   ├── _partial   #局部的布局,此目录下的*.ejs是对头尾等局部的控制 |   └── _widget#小挂件的布局,页面下方小挂件的控制 ├── source #源码 |   ├── css#css源码  |   |   ├── _base  #*.styl基础css |   |   ├── _partial   #*.styl局部css |   |   ├── fonts  #字体 |   |   ├── images #图片 |   |   └── style.styl #*.styl引入需要的css源码 |   ├── fancybox   #fancybox效果源码 |   └── js #javascript源代码 ├── _config.yml#主题配置文件 └── README.md  #用GitHub的都知道

安装主题

1. 下载主题

这里以我安装的主题为例。
如果你熟悉 Git, 建议你使用 克隆最新版本 的方式,之后的更新可以通过 git pull 来快速更新, 而不用再次下载压缩包替换。
在终端窗口下,定位到 Hexo 站点目录下。使用 Git checkout 代码:

$ cd your-hexo-site $ git clone https://github.com/iissnan/hexo-theme-next themes/next

2. 启用主题

与所有 Hexo 主题启用的模式一样。 当 克隆/下载 完成后,打开 站点配置文件, 找到 theme 字段,并将其值更改为 next。

启用 NexT 主题

theme: next

到此,NexT 主题安装完成。下一步我们将验证主题是否正确启用。在切换主题之后、验证之前, 我们最好使用 hexo clean 来清除 Hexo 的缓存。

首先启动 Hexo 本地站点,并开启调试模式(即加上 –debug),整个命令是 hexo s –debug。 在服务启动的过程,注意观察命令行输出是否有任何异常信息,如果你碰到问题,这些信息将帮助他人更好的定位错误。 当命令行输出中提示出:

INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.

此时即可使用浏览器访问 http://localhost:4000,检查站点是否正确运行。

现在,已经成功安装并启用了 主题。下一步要做的是更改一些主题的设定,包括个性化以及集成第三方服务。这个因主题而异。

3. 主题设定

这里叙述的是各主题通用的功能。

设定语言

编辑 站点配置文件, 将 language 设置成你所需要的语言。建议明确设置你所需要的语言,例如选用简体中文,配置如下:

language: zh-Hans

多说评论

注意:duoshuo_shortname 不是你的多说登录的 id

使用多说前需要先在 多说 创建一个站点。具体步骤如下:

  1. 登录后在首页选择 “我要安装”。
  2. 创建站点,填写站点相关信息。 多说域名 这一栏填写的即是你的 duoshuo/_shortname,如图:
独立博客的搭建

  1. 创建站点完成后在 站点配置文件 中新增 duoshuo_shortname 字段,值设置成上一步中的值。
    【eg】:

    duoshuo_shortname: iissnan-notes

    百度统计

    注意: baidu_analytics 不是你的百度 id 或者 百度统计 id

  2. 登录 百度统计, 定位到站点的代码获取页面

  3. 复制 hm.js? 后面那串统计脚本 id,如:
独立博客的搭建

  1. 编辑 站点配置文件, 新增字段 baidu_analytics 字段,值设置成你的百度统计脚本 id

    分享

JiaThis

编辑 站点配置文件, 添加字段 jiathis,值为 true。

JiaThis 内容分享服务配置示例

# JiaThis 分享服务 jiathis: true

百度分享

编辑 站点配置文件,添加字段 baidushare,值为 true。

百度内容分享服务配置示例

# 百度分享服务 baidushare: true

多说分享
多说分享必须与多说评论同时使用
编辑 站点配置文件, 添加字段 duoshuo_share, 值为 true。
多说内容分享服务配置示例

# 多说分享服务 duoshuo_share: true

404页面

GitHub Pages有提供制作404页面的指引:Custom 404 Pages
直接在根目录下创建自己的404.html或者404.md就可以。但是自定义404页面仅对绑定顶级域名的项目才起作用,GitHub默认分配的二级域名是不起作用的,使用hexo server在本机调试也是不起作用的。

推荐使用腾讯公益404。为公益尽自己的一份微薄之力。

总结

博客的搭建看似简单,其实过程中还是有许多磕磕绊绊。这时,需要的就是自己解决问题的能力:如何利用互联网搜索你需要的答案,如何借鉴别人的经验。这个也是搭建博客之外的宝贵收获。

另外,博客只是一种输出和展现形式,关键还是在于内容本身。盛酒的容器美观与否固然重要,但瓶子里酒的味道才是真谛。所以,重要的还是不断输入和输出

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 独立博客的搭建

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址