Hexo搭建个人博客系列一为什么选择Hexo

文/方子龙 一天不码字就剁手的程序猿 1.简介花了几天搭建了个网站,先上链接,欢迎来访:方子龙的个人博客 现在市面上的博客很多,如CSDN,博客园,简书等平台,可以直接在上面发表,用户交互做的好,写的文章百度也能搜索的到。缺点是比较不自由,会受到平台的各种限制和恶心的广告。 而自己购买域名和服务器,搭建博客的成本实在是太高了,不光是说这些购买成本,单单是花力气去自己搭这么一个网站,还要定期的维护它,对于我们大多数人来说,实在是没有这样的精力和时间。 那么就有第三种选择,直接在github page平台上托管我们的博客。这样就可以安心的来写作,又不需要定期维护,而且hexo作为一个快速简洁的博客框架,用它来搭建博客真的非常容易。 我第一次接触Hexo是2018年,我开始是想自己用SpringBoot写一个博客系统,后来在实践的过程中,需要考虑几件事情: 前端页面的实现后端功能的实现数据库的维护服务器的维护考虑购买服务器的费用,还有前端功能的实现,这样的周期就拖得很长,也就没有去实践了。 经过一段时间的收集资料,发现有另外几种方案的实现,Wordpress, Hexo, Jekyll等, 既减少了服务器上的运维,也可以拥有好看的前端效果,而且整个搭建过程也是很简单的。那我们先来看看方案的对比,拓展一下眼界。 2. 方案对比【1】WordPress是什么?引用百度百科 WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。WordPress有许多第三方开发的免费模板,安装方式简单易用。WordPress需要会PHP和服务器,所以对于新手来说,还是有门槛的。 【2】Jekyll是什么? 引用自官网:Jekyll 是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过一个转换器(如 Markdown)和我们的 Liquid 渲染器转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll 也可以运行在 GitHub Page 上,也就是说,你可以使用 GitHub 的服务来搭建你的项目页面、博客或者网站,而且是完全免费的。Jekyll需要的环境如下: RubyRubyGemsNodeJS或其他 JavaScript 运行环境(如果还没安装NodeJS的,可以参照我写的另一篇文章Mac下安装nvm和NodeJS)Python2.7(或2.7以上版本)看着这些环境,三哥就不想沾染了。 【3】Hexo是什么? Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。Hexo的主题样式也有很多好看的,而且github都有star上万的。说明还是很受欢迎的。Hexo是基于Nodejs,目前也比较火,基于Nodejs搭建的脚手架,对于前后端还是很友好的。Hexo官方中文文档 3. 总结采用Hexo博客框架,来快速搭建属于自己的博客系统,在托管到Pages上去,可以省去服务器维护的时间和精力。

June 17, 2019 · 1 min · jiezi

hexo-githubpage-搭建个人博客

github + hexo 搭建博客大学时搭建过 github 博客,但是后来没怎么弄了。感觉有点折腾,就没有继续维护了,今天再来重新搭建一个博客。本文记录搭建操作。 预备知识:npm 命令;git 命令github 常见操作环境要求: nodegit我的环境: $ git versiongit version 2.15.1.windows.2$ node -vv8.11.1$ npm -v6.4.0安装 hexonpm i -g hexo-cli 在某个文件夹内初始化 hexo 博客所需要的文件 mkdir myBlog # /e/HexoPages 新建一个文件夹cd myBlognpm i # 安装npm 依赖得到如下目录: ├── _config.yml # 网站的配置信息,您可以在此配置大部分的参数。 ├── package.json├── scaffolds # 模版文件夹├── source # 资源文件夹,除 _posts 文件,其他以下划线_开头的文件或者文件夹不会被编译打包到public文件夹| ├── _drafts # 草稿文件| └── _posts # 文章Markdowm文件 └── themes # 主题文件夹本地预览博客: hexo s打开http://localhost:4000即可看到效果。 ...

May 19, 2019 · 1 min · jiezi

网站如何获得收入?初识个站广告盈利的基本方法

鄙人不才,建站足有半年有余博客zzzmh.cn 壁纸bz.zzzmh.cn 插件chrome.zzzmh.cn 粗(初)布算了一笔账,没有杂七杂八的优惠,一般来说建站开支少说要30¥ ~ 150¥每月。。。那么如果想长期经营,最好能有一笔微薄的收益来支撑这些成本。最简单的当然可以放个微信支付宝的收款码求打赏。那么今天简单说下除此之外,几个也许可以获取微薄收益的方法。一、推广活动,例如:支付宝红包、云闪付APP支付宝红包、云闪付APP,用户扫码后可以获得随机金额的消费红包。按照活动规则,用户完成任务以后,站长便可获得响应的推广奖励。虽然不多也可以积少成多。效果如下二、技术类型网站可以做云主机推广。例如:阿里云、腾讯云这类推广需要结合当时的云主机提供商搞的推广活动,以实际为准。目前来看是通过挂图片外链,到云主机的各种产品购买活动,用户消费成功后,按结果15~30%的提成。最终推广的效果看图中标识三、广告联盟,例如:阿里妈妈、京东联盟、百度联盟。其中阿里妈妈和京东联盟,都是按效果结算奖励,也就是用户最终购买了商品,可以获得相应比例的提成奖励。这两个申请起来相对容易一些。百度联盟略有,他可以按点击次数奖励。但是申请门槛较高,一般个站人气权重不够高略难申请下来。END本博客也发布在了我的项目: https://zzzmh.cn/single?id=57

January 19, 2019 · 1 min · jiezi

Hexo 搭建个人博客 #05 利用 Travis CI 帮你自动部署

本文首发于:https://y0ngb1n.github.io/a/5…什么是 Travis CI?Travis CI 是在软件开发领域中的一个在线的,分布式的持续集成服务,用来构建及测试在 GitHub 托管的代码。这个软件的代码同时也是开源的,可以在 GitHub 上下载到,尽管开发者当前并不推荐在闭源项目中单独使用它。它提供了多种编程语言的支持,包括 Ruby、JavaScript、Java、Scala、PHP、Haskell 和 Erlang 在内的多种语言。许多知名的开源项目使用它来在每次提交的时候进行构建测试,比如 Ruby on Rails,Ruby 和 Node.js。目前 Travis CI 两个站点,提供不同的服务:版本主页特色免费版https://travis-ci.org/为开源项目提供免费服务收费版https://travis-ci.com/可以部署 GitHub 私有仓库两个站点只能看到各自的项目,不能通用,按需选用。准备工作首先,访问官方网站 travis-ci.org,点击右上角的登入按钮,使用 GitHub 账户登入 Travis CI。Travis 会列出 GitHub 上面你的所有仓库,以及你所属于的组织。此时,选择你需要 Travis 帮你构建的仓库,打开仓库旁边的开关。一旦激活了一个仓库,Travis 会监听这个仓库的所有变化。<p align=“center”> <img src=“https://i.loli.net/2019/01/17...; alt=“travis github repo”></p>.travis.ymlTravis 要求项目的根目录下面,必须有一个 .travis.yml 文件。这是配置文件,指定了 Travis 的行为。该文件必须保存在 GitHub 仓库里面,一旦代码仓库有新的 Commit,Travis 就会去找这个文件,执行里面的命令。.travis.yml:language: node_js # 指定语言环境node_js: ‘8.9.3’ # 指定 NodeJS 版本cache: npm # 指定 npm 缓存方案,会缓存 $HOME/.npm 或 node_modules 文件夹dist: trusty # 指定系统版本,trusty 是指 Ubuntu 14.04 发行版的名称sudo: required # 是否需要 sudo 权限branches: # 指定要构建的分支 only: # only 表示只构建以下分支 - sourcebefore_install: # install 阶段之前执行 - npm install -g hexo-cli # 全局安装 Hexo 命令行工具install: # 在安装项目环境阶段需要运行的命令,一条一行,类似的还有 before_install - npm install # 安装 package.json 中的依赖script: # 在构建阶段需要运行的命令,一条一行,类似的还有 before_script、after_script - hexo clean - hexo generate # Hexo 常规命令,执行清理和生成after_success: # script 阶段成功时执行,构建失败不会执行,其他同上 - git config –local user.name “travis-ci” - git config –local user.email “deploy@travis-ci.org” - sed -i’’ “s~git@github.com:https://${GITHUB_REPO_TOKEN}@github.com/” _config.yml - hexo deploy > /dev/null # 通过 Hexo 的 deploy 命令部署博客更多使用技巧请主动参考「持续集成服务 Travis CI 教程」。那么,现在又有一个问题了:我们的目是自动部署到 GitHub Pages,用的是 hexo deploy 命令,但是 Hexo 又配置使用的是 Git push 来推送的(由 hexo-deployer-git 插件提供技术支持),那么 Travis CI 怎么有权限操作我的 GitHub 仓库呢!GitHub Access Token以下内容摘抄「使用 Travis 自动构建 Hexo 到 GitHub」GitHub 允许你通过设置页面添加一个「个人访问令牌(Personal access tokens)」,使用 Assess Token 将有权限通过 https 访问 GitHub Api 操作自己的仓库,可见这个就是我们需要的。现在我们来添加一个 token,先进入自己 GitHub 的设置页面,点击 Personal access tokens → Generate new token 按钮,新建一个 token。在权限设置中,我们只需要操作仓库,因此只需要打开仓库相关的权限就够了,权限开放应该满足最小原则,能少就少。设置好权限后点击生成按钮就会生成完毕并跳到 tokens 列表。现在就需要把刚生成的 Access Token 的值复制下来,注意,这个页面一旦刷新过了, token 就不能再显示了,没记住的只能重新生成一个了。嗯,现在 Access Token 也有了,能操作仓库了,那么,这个 token 应该放到哪里呢?肯定不是放到代码里。。。其实在 Travis CI 的项目设置界面就有提供设置环境变量,我们就应该把 token 放到那里。回到我们 Travis CI 的博客项目设置页面中,添加一个名为 GITHUB_REPO_TOKEN 的环境变量储存我们的 token,并记得要设置 Display value in build log 为 OFF,关闭变量的显示,否则等于公开了 token。现在在我们的执行脚本中就能使用 $GITHUB_REPO_TOKEN 访问 token 的环境变量了~然后就是如何使用了。在 Hexo 部署前,我们应该把原来的部署仓库地址用带有 Access Token 的地址替换掉,于是在 .travis.yml 的 hexo deploy 命令前增加一条命令:sed -i’’ “s~git@github.com:https://${GITHUB_REPO_TOKEN}@github.com/” _config.yml这样,在执行时,这条命令就能自动替换到有权限操作的 token 地址了,并且也不会泄露或者影响本地的原始配置文件。构建失败:子模块拉取失败本博客的第三方主题使用 git submodule 管理,可以翻看「Hexo 搭建个人博客 #04 主题的安装与自定义样式」详细的构建日志可见 #1,下面提取关键信息:$ git submodule update –init –recursiveSubmodule ’themes/skapp’ (git@github.com:Mrminfive/hexo-theme-skapp.git) registered for path ’themes/skapp’Cloning into ‘/home/travis/build/y0ngb1n/y0ngb1n.github.io/themes/skapp’…Warning: Permanently added the RSA host key for IP address ‘192.30.253.113’ to the list of known hosts.Permission denied (publickey).fatal: Could not read from remote repository.Travis CI 官方是默认支持 Git Submodules,在拉取仓库时会默认拉取子模块的仓库,可以手动关闭该特性。由于在使用 git submodule 时,添加了 git@github.com 的仓库地址,使用 SSH 的协议,所以拉取失败了,下面提供两个解决方案:Adding to SSH Known Hosts - 官方提供的解决方案手动修改 .gitmodules 里配置的仓库地址,将使用 git 协议的仓库链接改为 https 协议我这使用方案 2,修改为https 协议:[submodule “themes/skapp”] path = themes/skapp url = https://github.com/Mrminfive/hexo-theme-skapp.git将修改推送至 GitHub 后,Travis CI 会进行构建,此时可见 #2 成功构建了。在 README 中查看构建状态我们可以在 README 中添加 Travis CI 的构建状态,这样便可方便地查看项目在 Travis CI 上的构建状态。—— Embedding Status Images、Shields.io参考资料Travis CI Tutorial - @Travis CI Docs持续集成服务 Travis CI 教程 - @阮一峰Travis CI 持续集成 GitHub 个人博客 - @路家豪使用 Travis 自动构建 Hexo 到 GitHub - @zthxxx开箱即用,Hexo 博客的 github+server 自动部署 - @伍酱用 Travis CI 自动部署 Hexo 博客 - @Karl使用 Travis CI 自动部署 Hexo 博客 - @wshunliHexo 遇上 Travis-CI:可能是最通俗易懂的自动发布博客图文教程 - @MichaelXHexo+Github+Travis-ci 搭建程序员自己的博客 - @baiyangliu ...

January 18, 2019 · 2 min · jiezi