## dreamgo
[![Build Status](https://travis-ci.org/go-chinese-site/dreamgo.svg?branch=master)](https://travis-ci.org/go-chinese-site/dreamgo)
一个新手学习用的博客系统,用 Go 语言实现自己的梦想。项目地址:https://github.com/go-chinese-site/dreamgo
## 开发计划
### 该博客系统计划采用三种方式实现
1. 不使用框架,直接使用标准库 net/http, branch-std
2. 使用一些基本的路由库,比如 https://github.com/gorilla/mux 或 https://github.com/julienschmidt/httprouter, branch-mux
3. 使用一个 Web 框架,可能考虑使用 Beego,因为国内貌似用这个的比较多,满足广大 gopher 的要求, branch-beego
### 开发时间
2017 年 10 月 1 日开始
## 合作方式
通过 net/http 搭建起来基本的架子后,大家可以以此为基础,加入进来
## 设计说明
1. 数据源(存储),支持三种:
1. 将文章存在 Github Repo 上;
2. 将文章存入 MySQL 中;
3. 将文字存入 MongoDB 中;
2. 支持自定义模板
3. 通过 yaml 做项目配置
## Roadmap
1. master 分支和 branch-std 分支采用 net/http 方式实现。
- 目前已实现了如下功能:
1. 基于 http.ServeMux 的简单封装:route.BlogMux,方便写中间件;
2. 完成基于 github repo 的首页、归档、文章;
- 还未实现的功能:
1. tag 列表和 tag 文章列表页;
2. 友情链接页;
3. 关于页面(怎么设计?);
4. 基于 mysql、mongodb 的存储实现,通过配置切换存储;
5. 管理后台;
2. 使用一些基本的路由库,比如 https://github.com/gorilla/mux 或 https://github.com/julienschmidt/httprouter, branch-mux 还未动工;
3. 使用一个 Web 框架,可能考虑使用 Beego,因为国内貌似用这个的比较多,满足广大 gopher 的要求, branch-beego, 还未动工
## Install
要求:Go 1.8 及以上
1. 本项目使用 `gvt` 作为依赖管理工具,通过 `go get github.com/polaris1119/gvt` 安装,并将 gvt 放入 $PATH 中;
2. 下载 dreamgo 源码:`git clone https://github.com/go-chinese-site/dreamgo`,比如下载到 ~/dreamgo 中;
3. cd ~/dreamgo,执行 ./getpkg.sh;
4. 执行 ./install.sh
5. 启动 dreamgo:bin/dreamgo
通过浏览器访问:http://localhost:2017
![screenshot1](https://github.com/go-chinese-site/dreamgo/raw/master/screenshot1.png)
新手,还从未参与过这种合作,很有兴趣,但不知道如何能参与进去。页面设计之类的要自己做么?项目的需求是规定好的还是要自己分析?流程要自己来确定么?还请大大们解答。
#2
更多评论
我建議是最好不要用框架,或
用最少的框架. gin
如果真的要用框架,那用個可以全球接軌的 Revel
而且希望這個練習 porject 的基礎部份,是有文件、說明,
任何人在任何時間進來都可以自己重做一次的,
不然過陣子,它變成了一個大專案,又是一個對新手遙不可及的對象了.
簡單說,我們希望這個 pooject 的基礎是可以讓個人可跟做,自己 fork 的,
但是如果它做大了,功能多了,模組多了,則可以被其它人引用..
#1