当前位置: 首页 > news >正文

使用hexo搭建个人博客

为什么80%的码农都做不了架构师?>>>   hot3.png

代码段中的”$ “指在命令行下执行


安装hexo

安装首先环境中要装好:

  • node.js

  • npm

这2个的安装这里不详细介绍,在安装完的情况下:

1
$ npm install -g hexo

初始化项目

初始化blog项目

1
$ hexo init blog

或者创建一个项目blog,在项目中初始化

1
2
3
$ mkdir blog
$ cd blog
$ hexo init

安装依赖

1
$ npm install

开启服务

hexo中3.0版本,在第一次开启服务的时候需要先安装一下hexo的server工具:

1
$ npm install hexo-server --sav

开启服务

1
$ hexo server -p 4000

-p命令是设置服务监听端口,不传默认4000,直接在浏览器输入http://localhost:4000就可以看到效果了:

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

新增文章

文章的目录是在根目录下的source/_posts文件夹中,可以直接在文件夹下新建md文件,也可以直接用命令的方式:

1
$ hexo new post example

这样,在source/_posts/下就多了个example.md的文件了:

1
2
3
4
title: example
date: 2015-09-18 21:04:03
tags:
---

title是文章的标题;
date是文章的时间;
tags是文章的标题,多个可以以数组的形式填写:[tag1,tag2,tag3,…];
categories是分类,如果你想添加到对应的分类,可以加上;
—之后的内容就是文章的主体了,以md的格式写之就可以了

生成静态文件

生成的文件放在根目录的public文件夹下,每次有文件重新部署,都需要重新生成一下静态化文件,再重开服务

1
$ hexo generate

部署项目文件

部署可以分2种,一种是直接访问静态化之后生成的public文件夹,一种是部署到其他服务器(如github)

用第一种方法的可以直接在服务器上用静态化命令就可以了,这里具体讲下第二种。

部署到git上的,需要在项目上根目录下的 _config.yml文件中加入部署配置

1
deploy:
  type: git
  repository: https://github.com/yourGithubRespository
  branch: master
  message: hexo deploy message

type是部署类型,repository是仓库地址,branch我选了主线

在部署时需要注意一点,deploy命令会直接删除仓库中的文件,把新生成的静态化文件更上去,这样的部署方式需要提交的目的仓库是单独为部署用的,我把当前hexo项目作为静态文件生成器独立成一个项目,把存放静态文件的项目独立成另一个仓库。

之后就可以开始部署了:
hexo中3.0版本,在第一次部署的时候需要先安装一下hexo的git部署工具:

1
$ npm install hexo-deployer-git --save

之后就可以开始部署了:

1
$ hexo deploy

每次部署前都需要重新生成文件,2步可以合成一起:

1
$ hexo deploy -generate

命令缩写

hexo的命令有缩写模式,有些命令中的单词可以简化成头字母:

1
2
3
4
$ hexo server  =>  $ hexo s
$ hexo deploy  =>  $ hexo d
$ hexo generate  =>  $ hexo g
$ hexo deploy -generate  =>  $ hexo d -g


转载于:https://my.oschina.net/jiec/blog/552461

相关文章:

  • Android ListView监听上下滑动(判断是否显示返回顶部按钮)
  • django返回json的几种方法以及android调用
  • Lind.DDD.ExpressionExtensions动态构建表达式树,实现对数据集的权限控制
  • 在Visual Studio中用C++语言创建DLL动态链接库图文教程
  • 2015.12.30 日学习总结
  • 谈模块独立拆分上线一些经验
  • SpringMVC multipart文件上传
  • apache开源项目--ibatis
  • 快播活该被抓,跟公诉人是谁无关
  • 一则简单演示样例看Oracle的“无私”健壮性
  • 忘记Mysql的root密码怎么办?
  • Linux vim 命令
  • [转载]基于TFS实践敏捷-工作项跟踪
  • ODBC CRecordSet访问
  • mysql 常用函数以及常见查询语句
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • GitUp, 你不可错过的秀外慧中的git工具
  • java多线程
  • JAVA之继承和多态
  • js继承的实现方法
  • mysql 数据库四种事务隔离级别
  • overflow: hidden IE7无效
  • PHP 7 修改了什么呢 -- 2
  • PHP的Ev教程三(Periodic watcher)
  • 记一次删除Git记录中的大文件的过程
  • 技术胖1-4季视频复习— (看视频笔记)
  • 简单实现一个textarea自适应高度
  • 聚簇索引和非聚簇索引
  • 开发基于以太坊智能合约的DApp
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 使用SAX解析XML
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​2021半年盘点,不想你错过的重磅新书
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (二十三)Flask之高频面试点
  • (附源码)ssm高校实验室 毕业设计 800008
  • (接口封装)
  • (十三)Maven插件解析运行机制
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转) RFS+AutoItLibrary测试web对话框
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET应用架构设计:原则、模式与实践 目录预览
  • /proc/vmstat 详解
  • /run/containerd/containerd.sock connect: connection refused
  • :O)修改linux硬件时间
  • [20170705]diff比较执行结果的内容.txt
  • [BUAA软工]第一次博客作业---阅读《构建之法》
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [Java][Android][Process] 暴力的服务能够解决一切,暴力的方式运行命令行语句
  • [LitCTF 2023]Http pro max plus