• HEXO与Github.io搭建个人博客


    HEXO与Github.io搭建个人博客

    HEXO搭建
        HEXO是基于Node.JS的一款简单快速的博客框架,能够支持多线程,支持markdown,可以将生成的静态网页发布到github.io以及coding上。
    要使用搭建HEXO博客,先安装hexo
    1.安装node.js

    sudo apt-get install -y python-software-properties software-properties-common
    sudo add-apt-repository ppa:chris-lea/node.js
    sudo apt-get update
    sudo apt-get install nodejs

    2.安装npm
        npm全名:Node Package Manager,是Nodejs的包管理器。
    ubuntu16.04LTS自带nodejs和npm,但是版本较低,假如要安装最新的,先移除自带的。

    sudo apt-get remove nodejs && sudo apt-get remove npm

    再清理依赖包:

    sudo apt-get autoremove

    官网上下载nodejs:

    cd  /opt && wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz
    xz -d node-v4.4.5-linux-x64.tar.xz && tar vxf node-v4.4.5-linux-x64.tar

    让任意目录可以访问,先配置环境变量

    sudo vim /etc/profile

    文件最后加上

    export PATH=$PATH:/opt/node-v4.4.5-linux-x64/bin

    也可以通过软链接,使得任意目录可访问
    将node和npm链接到系统默认的PATH目录下的一个,软链接方式如下

    ln -s /home/simon/node-v4.4.5-linux-x64/bin/node /usr/local/bin/node
    ln -s /home/simon/node-v4.4.5-linux-x64/bin/npm /usr/local/bin/npm

    同步文件配置:

    source /etc/profile

    查看版本:

    node –version && npm –version

    3.安装hexo
    国外站点网速较慢,建议换成淘宝站点

    npm install -g npm –registry=https://registry.npm.taobao.org
    npm –version

    接下来安装hexo-cli
    切换到一个合适的目录下

    npm install -g hexo-cli

    下载完毕之后可以检测一下:
    hexo –version
    4.配置
    hexo本地文件在安装插件的时候,最好都是用root身份执行,不然经常遇到一些问题
    初始化本地路径

    cd /home/simon/hexo && hexo init

    生成node_modules

    npm install

    生成本地博客

    hexo g
    hexo server

    在浏览器下输入http://localhost:4000,成功的话就生成hexo的标准界面

    ###部署到github
        新建一个repository,例如web(网上说要把名字设置成your_github_name.github.io这种格式,否则会404,但是我没有采用,也能生成)
    修改hexo根目录下的_config.yml,新增关联仓库
    deploy:
    type: git
    repository: https://github.com/yourID/web.git
    branch: master
    注意了,变量名之前要有两个空格,参数值前要有一个空格,通过:分割
    假如格式不对,不能被识别,比如:
    You should configure deployment settings in _config.yml first!

    Available deployer plugins:
    git

    这样的错误
    或者:FATAL remote: Repository not found.
    完成之后,到github上完成部署
    在项目的setting项找到Github Pages,生成项目
    回到终端部署

    hexo deploy

    如果报错说缺少deployer:npm install hexo-deployer-git –save
    打开 https://yourID.github.io/web/ 就可以看到效果,同时自己的github项目也会有文件更新
    注:中途可能遇到github的配置问题,请尝试用ssh
    ssh-keygen -C “username@email.com” -t rsa

    Note: “username@email.com”需要更换成你在Github上注册的Email地址或者是Username
    这样会在家目录生成一个公钥文件夹.ssh,其中id_rsa.pub是Github需要的SSH公钥文件。复制后粘贴到github上
    hexo简写命令格式:

    hexo g == hexo generate(生成静态网页)
    hexo d == hexo deploy(部署)
    hexo s == hexo server(测试)
    hexo n xxx (new article)
    hexo clean
    hexo help

        还有其他选项:
    init 创建一个hexo项目
    migrate 从其他系统向hexo迁移
    version 查看hexo的版本
    –config参数,指定配置文件,代替默认的_config.yml
    –debug参数,调试模式,输出所有日志信息
    –safe参数,安全模式,禁用所有的插件和脚本
    –silent参数,无日志输出模式
    hexo有许多的主题和插件,可以通过npm、git工具来进行下载,放在theme下
    hexo根目录的目录及文件说明:

    scaffolds 脚手架,也就是一个工具模板
    scripts 写文件的js,扩展hexo的功能
    source 存放博客正文内容
    source/_drafts 草稿箱
    source/_posts 文件箱
    themes 存放皮肤的目录
    themes/landscape 默认的皮肤
    _config.yml 全局的配置文件
    db.json 静态常量
    

    _posts目录:Hexo是一个静态博客框架,因此没有数据库。文章内容都是以文本文件方式进行存储的,直接存储在_posts的目录。Hexo天生集成了markdown,我们可以直接使用markdown语法格式写博客,例如:hello-world.md。新增加一篇文章,就在_posts目录,新建一个xxx.md的文件。

    themes目录:是存放皮肤的,包括一套Javascript+CSS样式和基于EJS的模板设置。通过在themes目录下,新建一个子目录,就可以创建一套新的皮肤,当然我们也可以直接在landscape上面修改。

    ###全局配置

    _config.yml是全局的配置文件:很多的网站配置都在这个文件中定义。

    站点信息: 定义标题,作者,语言
    URL: URL访问路径
    文件目录: 正文的存储目录
    写博客配置:文章标题,文章类型,外部链接等
    目录和标签:默认分类,分类图,标签图
    归档设置:归档的类型
    服务器设置:IP,访问端口,日志输出
    时间和日期格式: 时间显示格式,日期显示格式
    分页设置:每页显示数量
    评论:外挂的Disqus评论系统
    插件和皮肤:换皮肤,安装插件
    Markdown语言:markdown的标准
    CSS的stylus格式:是否允许压缩
    部署配置:github发布
     
    参考:http://www.tuicool.com/articles/y6JJV3Z(最详细)
    http://www.cnblogs.com/purediy/archive/2013/03/07/2948892.html
    http://www.aichengxu.com/other/10706481.htm
     
    Technorati Tags:
  • 相关阅读:
    Resource Path Location Type Target runtime Apache Tomcat v6.0 is not defined已解决
    项目跳转白名单防止其他系统随意跳转到本系统过滤器实现
    页面跳转的方式Redirect跳转机制:
    总结一下在ASP.NET中开发网站的一般步骤
    总结asp控件的重要属性
    页面跳转
    ASP.NET中的Image和ImageButton控件
    页面跳转的方式
    总结基本概念
    总结asp标准控件的重要属性
  • 原文地址:https://www.cnblogs.com/simonid/p/6363848.html
Copyright © 2020-2023  润新知