Git Product home page Git Product logo

gopher's Introduction

Golang **

Gopher

Golang **(www.golangtc.com)源代码.

重构计划

该分支『2.0』使用 Tango 进行后端重构,前端页面使用 Template 进行渲染(考虑到 SEO),表单渲染使用 React,使用 Fetch 和后端 API 进行交互。

社区功能和后台管理功能重构完成后即上线。

  • 架构搭建;
  • 前端架构;
  • 首页;
  • 注册;
  • 登录;
  • 开发 Markdown 编辑器(使用 tui.editor);
  • 主题浏览;
  • 新建主题;
  • 编辑主题;
  • 提交评论;
  • 删除评论;
  • 编辑评论;
  • 主题检索;
  • 浏览节点下所有的主题 (80%);
  • 会员首页;
  • 后台管理框架。

Install

$ git clone https://github.com/jimmykuu/gopher.git
$ cd gopher
$ make

Run

$ cp etc/config.json.default etc/config.json
$ ./bin/gopher

复制文件 etc/config.json.default 并改名为 etc/config.json 作为配置文件

  • superusers: 内容为用户名,如果没有管理员,内容为"",如果有多个,用英文逗号隔开
  • analytics_file: 内容为统计分析代码的文件名
  • time_zone_offset: 时差,跟 UTC 的时间差,单位小时
  • github_login_redirect: 第三方登录失败无法获取 cookie 跳转地址
  • github_login_success_redirect: 第三方登录成功后跳转地址
  • cookie_secure: 第三方登录需要使用 HTTPS,当设置为 false 供本地测试使用
  • gt_captcha_id: geetest.com 服务的 id
  • gt_private_key: geetest.com 服务的 key
  • go_download_path: 存放下载的 Go 文件目录

内容如下:

{
    "host": "http://localhost:8888",
    "port": 8888,
    "db": "localhost:27017",
    "cookie_secret": "05e0ba2eca9411e18155109add4b8aac",
    "sendmail_path": "",
    "smtp_username": "[email protected]",
    "smtp_password": "password",
    "smtp_host": "smtp.example.com",
    "smtp_addr": "smtp.example.com:25",
    "from_email": "[email protected]",
    "superusers": "jimmykuu,another",
    "analytics_file": "",
    "time_zone_offset": 8,
    "static_file_version": 1,
    "public_salt": "",
    "gt_captcha_id": "",
    "gt_private_key": "",
    "image_path": "",
    "debug": false
}

注意etcstatictemplates 目录需要在可执行文件同一个目录下,可以通过软链或者复制到同一个目录下。

Contributors

License

Copyright (c) 2012-2019

Released under the MIT license:

gopher's People

Contributors

fanflash avatar ggaaooppeenngg avatar goofcc avatar jimmykuu avatar lunny avatar name5566 avatar wangtuanjie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gopher's Issues

测试以后简单bug提交,

一样一样说吧,
1,七牛云上传的失败
原因:作者填写的是七牛自己分配的url 这个得改,要么,头像组上传失败,
建议:写在readme里面,虽然不用写成配置文件
2.第三方包数据提交东西不做审核,如果弄垃圾广告就恶心了,
3.新建文章分类模板错误
<<<<<<< HEAD <<<<<<< HEAD
新建文章分类

名称
======= ======= >>>>>>> 评论at
新建文章分类

名称
<<<<<<< HEAD >>>>>>> account 改成指针handler ======= >>>>>>> 评论at
.....................................分割线..............
现在更改作者的代码,想做个简单的文章系统还是挺简单的,给作者点个赞最好加上用户权限,要么以后是个问题.....删号还得进数据库...

是否可以切换 Markdown 到 GFM?

主要还是处理换行的问题吧, 论坛回复经常出现文本块, 不便阅读, 也不便书写了
Github 版本的 Markdown 对原来的 Markdown 做了改进, 很多细节更舒服一些.
包括代码块的语法也有改进 https://help.github.com/articles/github-flavored-markdown
JS 方面的模块实现主要是 Marked https://github.com/chjj/marked#usage
通过 {gfm: true, breaks: true} 可以开启 GFM 支持.
GFM 在其他若干个中文编程社区已经长期使用, 因此我认为适合 Go 社区支持 GFM.

没有使用cookie记住用户功能。

应该增加记住用户密码功能。
而且应该开发一个第三方账号接入的。比如qq,人人,微博登陆。
开发成这样已经很厉害了。

Makefile

建议使用 Makefile 管理编译和安装第三方库,这样比较规范。下面这个是我在使用的 Makefile, 可以参考一下

default:go_install

go_install:
    export GOPATH=`pwd`  && (go install app)

fmt:
    export GOPATH=`pwd`; gofmt -w src/app
    export GOPATH=`pwd`; gofmt -w src/common
    export GOPATH=`pwd`; gofmt -w src/module
    export GOPATH=`pwd`; gofmt -w src/web

clean:
    rm -f bin/*

get:
    export GOPATH=`pwd` && go get menteslibres.net/gosexy/yaml
    export GOPATH=`pwd` && go get github.com/lifeibo/log4go
    export GOPATH=`pwd` && go get github.com/go-sql-driver/mysql

自定义路由不是可以当作ListenAndServer的参数么?

        http.Handle("/", r)
    fmt.Println("Server start on:", Config.Port)
    log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", Config.Port), nil))

为什么不写成

        //http.Handle("/", r)
    fmt.Println("Server start on:", Config.Port)
    log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", Config.Port),r))

新功能加入

注册验证邮箱,取消收藏,删除用户,消息提醒系统

rss订阅功能

如题 如果将新帖子和新回复添加进.atom就好了

flash 好像没有立即销毁

我看到renderTemplate里面
直接就是

flash, _ := store.Get(r, "flash")
data["flash"] = flash

这样的flash怎么销毁?
好像可以用来管理flash
store.AddFlash()
store.Flashes()

build.sh gopath

build.sh中的:
export GOPATH="$CURDIR"
不应该是这样么?要不找不到其他的库吧
export GOPATH="$CURDIR:$OLDGOPATH"

一个问题

我喜欢把 所有的包放在 GOPATH/src 下面, 但是gopher自己是一个GOPATH,这样的话,我文件路径就对不上号了,用了里面的shell,全局变量不知道怎么没有变,后来我手动改了,但是还是报错说找不到etc/config.json. 这个文件,那个etc的路径是相对于哪里的呀?我etc下面是有config.json的。

收藏功能

可以收藏主题,文章,第三方库等

安装后出错?

1、安装:go get github.com/jimmykuu/gopher/server
2、运行:go run d:\go\src\crypto\tls\generate_cert.go --host 127.0.0.1:8888
3、出错:GetFileAttributesEx d:\go\src\crypto\tls\generate_cent.go
之后:
1、我在cmd里边设置代理:(我用的是xp系统)
set http_proxy=127.0.0.1:8087(我用的是GoAgent)
2、重新运行安装流程,结果:错误依旧。
3、我查看了 d:\go\src 目录,里边并没有 crypto 目录 。这是怎么回事?
求解?谢谢!

playground 采用gopherjs

 各种安全问题比较麻烦,鉴于Go官方的playground的闭源的(貌似是为了防止被弄出安全问题),而且部署的话,没有方法在后期修改,直接反代官方的要申请User-Agent,而且share不能用,反正要单独搞一个的话,并且嵌入到topic里面的,又要解决安全问题,最后想到了gopherjs,直接把代码丢到浏览器去运行,这样就不存在安全问题了.

管理员账户设置

通过配置文件初始化管理员,管理员登录系统后可以设置用户为管理员

论坛的广告有办法筛选吗?

想问下是否有研究, 可以在做些改变的,,
我不知道因为上了什么网站, 被推荐的广告很的都不适合在公司打开的,
具体说都是游戏广告, 画面有点过. 不截图了.
觉得出现在论坛非常不协调, 但也觉得关了不好, 请问是否有方案可以限定广告内容范围?

修复textarea可以拉伸和一些样式问题

clone代码后,感觉有些乱,不知道样式写在哪了。所以就来提个issue
加上下面这几行样式,textarea就比以前好多了

resize: none;
overflow: auto;
outline: none;
border: 1px solid #d7dbe0;
border-color: #6daaec;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.