开发者的博客写作环境

作为一个开发者,本时有工作中肯定有技术上各种点点滴滴想记下来,毕竟好记忆不如烂笔头。当然使用一个笔记工具完全可以满足这个需求。但同时我在想能否将这些点点滴滴不仅记起来,同时这些知识也成为展现自己技术能力的一张名片呢?自然而然就想到很多大牛的技术博客。进而发现了github+hexo的组合,但我在使用中发现就为了写篇技术博文还得开chrome, iTerm2, Sublime 3三个程序,而且还在这三个程序间频繁切换了,太痛苦了有没有。不能在一个程序里搞定所有的事情吗?经过反复探索,终于找到了一个办法,那就是hexo-admin。下面简单记述一下我的实施步骤。

安装hexo

npm install hexo-cli -g
  • 初始化博客工程
cd ~/dev/git/
hexo init blog
cd blog
npm install

新建blog对应的github仓库

在github里创建一个git仓库

在上述图中填写名称时一定要填写你的github帐户的git用户名+github.io, 比如我的github帐户的github用户为abcd,则应该填写abcd.github.io

将blog推送至github

npm install hexo-deployer-git --save

编辑_config.yml文件,在里面填写好git部署的连接信息

deploy:
  type: git
  repo: git@github.com:abcd/abcd.github.io.git
  branch: master
  message: "博客更新: {{ now('YYYY-MM-DD HH:mm:ss') }}"

执行命令将blog推送至github

hexo deploy -g

等待片刻后就可以访问http://abcd.github.io查看你自己的博客了。

使用hexo-admin搞定所有工作

发现没有,在上面的步骤里,你至少打开了两个程序:iTerm2、Chrome。如果你还想对Markdown文件进行编辑,少不了还得打开一个类似于Sublime 3的程序。现在我们用hexo-admin一次搞定所有工作。

安装hexo-admin

1

npm install hexo-admin -g

设置部署命令

在blog目录下新建一个文件deploy_cmd.sh,在其中添加如下内容

#!/bin/bash
/usr/local/bin/node /usr/local/bin/hexo deploy -g 2>&1

给这个文件添加可执行权限chmod +x /Users/abcd/dev/git/blog/deploy_cmd.sh

在_config.yml文件中添加如下内容

admin:
  deployCommand: /Users/abcd/dev/git/blog/deploy_cmd.sh

注意这里文件的路径你得自己修改正确哦

试用hexo-admin的功能

执行命令启动本地server

1

hexo server -d

这里应该就可以使用Chrome访问http://127.0.0.1:4000/admin,在这里可以查看你写的博文,可以新建博文,编辑博文,甚至可以在这里直接部署blog至github。

最后设置hexo的本地server随用户启动登录自动启动

按Ctrl-C结束刚才的hexo本地server, 然后新建文件~/Library/LaunchAgents/hexo-admin.plist,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
    <false/>
  <key>KeepAlive</key>
  <true/>
  <key>Label</key>
  <string>hexo-admin</string>
  <key>WorkingDirectory</key>
  <string>/Users/abcd/dev/git/blog</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/node</string>
    <string>/usr/local/bin/hexo</string>
    <string>server</string>
    <string>-d</string>
  </array>
  <key>RunAtLoad</key>
  <false/>
</dict>
</plist>

启动hexo-admin

1

launchctl load ~/Library/LaunchAgents/hexo-admin.plist

以后这个hexo本地服务器就可以自启动了。

总结

至此,以后就可以在Chrome里访问http://127.0.0.1:4000/admin进行博文的撰写及发布了,发布完毕之后可访问http://abcd.github.io看一看blog的真实效果。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

黑客XSS攻击原理 真是叹为观止!

网络世界中的黑客XSS攻击原理 在现实世界的攻击实例中,保存型XSS漏洞可能会造成严重后果的特点表现得非常明显。 当收件人查阅电子邮件时,邮件内容在浏览器中显示...

53210
来自专栏java达人

web安全简易规范123

web安全,大公司往往有专门的安全开发流程去保证,有专门的安全团队去维护,而对于中小网络公司,本身体量小,开发同时兼带运维工作,时间精力有限,但是,同样需要做一...

1030
来自专栏腾讯大讲堂的专栏

全民K歌后台编译优化:从40分钟到30秒

编者注 全民K歌上线1年半的从0发展到1.5亿,用户越来越多,后台代码库越来越大,编译速度也与日俱慢,编译一下整个工程需要30-40分钟,如何实现秒编至关重要。...

3755
来自专栏ThoughtWorks

应用敏感信息的6个配置原则|洞见

无论是微服务还是单体应用,往往都会用到很多配置信息。在众多的配置信息中,有一类非常敏感,例如数据库账号密码、API Key、Service Account等。由...

2946
来自专栏lgp20151222

傻瓜式的go modules的讲解和代码

国内关于gomod的文章,哪怕是使用了百度 -csdn,依然全是理论,虽然golang的使用者大多是大神但是也有像我这样的的弱鸡是不是?

4922
来自专栏前端黑板报

HTTP2基础教程-读书笔记(三)

前面两篇记录了HTTP的历史和网络请求、页面渲染的过程以及HTTP/1的一些问题,本篇就来讲一下迁移HTTP/2需要考虑的一些问题。 迁移HTTP/2说简单无非...

3569
来自专栏H2Cloud

FFLIb Demo && CQRS

使用FFLIB 构建了一个demo,该demo模拟了一个常见的游戏后台架构,该demo主要有一下亮点: FFLIB 实现进程间通信非常方便 基于CQRS 思想构...

2738
来自专栏云计算教程系列

如何在CentOS上安装Mosquitto服务器

MQTT(消息队列遥测传输)是ISO 标准下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设...

4650
来自专栏Java成神之路

Java程序员常用工具集

我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了。我想列下我能想到的一个Java程序员会用...

1383
来自专栏喔家ArchiSelf

老曹眼中的Linux基础

Linux 几乎无处不在,不论是服务器构建,还是客户端开发,对操作系统的基本理解和基础技能的掌握对全栈来说都是必备的。

1223

扫码关注云+社区

领取腾讯云代金券