README.md

# eeb
Elixir Extendable Blog, http://eeb.aborn.me/  
[![Build Status](https://travis-ci.org/aborn/eeb.svg)](https://travis-ci.org/aborn/eeb)
[![Coverage Status](https://coveralls.io/repos/aborn/eeb/badge.svg?branch=master&service=github)](https://coveralls.io/github/aborn/eeb?branch=master)   
eeb是elixir语言版本的博客平台,它由两部分组成:博客生成器和webserver。

## 源码安装
执行以下命令
```
git clone https://github.com/aborn/eeb.git
cd eeb
mix deps.get             # 安装依赖
mix eeb.config blog_path "/Users/aborn/github/technotebook"  # 配置markdown文件目录,默认为posts/目录
mix eeb.blog             # 将posts/下的markdown文件转化成html文档
mix eeb.deploy           # 本地运行/部署 (或者采用: mix run --no-halt 命令)
```

## 开发模式
交互式命令运行eeb
```
iex -S mix
```
命令执行完成后,在本地的4000端口(默认为cowboy的监控端口号)监听http请求:  
http://localhost:4000/index.html  

## 后台部署
利用screen作为后台daemon,这样退出terminal后会在后台运行  
```shell
screen mix eeb.deploy  # C-a d
# screen -ls
# screen -r id
```

## Github Webhooks
当你的博客文章放在自己github的某个项目里,这个功能就很有用。比如,你更新了博客或者添加了新博客
这时想让eeb及时地更新博客文章,在github的项目配置里找到Webhooks的配置,添加如下Payload URL:  
```
http://aborn.me/github.json?token=xxx
```
我的eeb博客部署在aborn.me这台服务器上,你把以上链接改成你自己部署的服务器链接:
注意这里的token值xxx改成你自己通过mix eeb.config配置的值:  
```
mix eeb.config webhook_token xxx
```

## 注意
**1.** 默认的markdown格式的文章目录为posts/  
改变这个目录,只需要执行 mix eeb.config blog\_path "path/to/your/markdown/file/dir",例如:  
```
mix eeb.config blog_path "/Users/aborn/github/technotebook"
```
**2.** 生成的对应的.html静态文件目录为html/  
**3.** 图片从原来的.md文件对应目录或者其目录下的images目录拷贝到html/images目录

## 相关命令
```mix
mix eeb          ## 显示帮助信息.
mix eeb.blog     ## 将markdown格式博客生成静态html文件.
mix eeb.config   ## 读取或者更新博客的key/value的配置.
mix eeb.deploy   ## 运行和部署eeb博客.
mix eeb.index    ## 生成博客首页index.html文件.
```

## 相关配置
通过mix eeb.config key [value] 配置以下key对应的值:  
```
blog_path        ## 配置markdown文件目录(默认为posts/目录).
blog_name        ## 配置博客名 (默认为:eeb).
blog_slogan      ## 配置博客签名(默认为:elixir extendable blog, aha!).
blog_avatar      ## 配置博客头像.
webhook_token    ## 配置webhook的token.
```

## 端口号配置
eeb采用cowboy默认端口号为:4000,通过设置环境变量EEB_PORT的值,  
可改变端口号,如下例中将端口号改为4001:  
```shell
export EEB_PORT=4001
```

## 项目更新于
2016-01-28