Discourse是什么
Discourse 是一個(gè)比較新的論壇軟件萌狂,比起上古時(shí)期的Discuz步势,樣式鄙信、體驗(yàn)都很好,二次定制開發(fā)也更為友好成黄,只是比Discuz更友好而已。 親自定制過Discourse后逻杖,吐槽無數(shù)奋岁。
好吧,Flarum 感覺比 Discourse更清爽荸百。
Discourse 完全開源闻伶,技術(shù)棧基于 Ruby on Rails + Ember.js + PostgreSQL够话。
官方例子:https://try.discourse.org/
官方論壇:https://meta.discourse.org/
中文論壇:https://meta.discoursecn.org/
使用Discourse的用戶
http://talk.nervos.org/
https://imtoken.fans/
https://forum.cyberrepublic.org/
使用flarum的用戶
https://nuls.community/
https://zijieke.com/
https://www.sescse.com/
https://paybase.cn/
https://community.nebulas.io/
安裝 Ruby
Discourse v2.3.2版本 需要的 ruby 最低版本是 2.5.2
蓝翰,咱來安裝 2.5.5
sudo apt-get -qq update
sudo apt-get install -qqy libreadline-dev zlib1g-dev
cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
rbenv install 2.5.5
rbenv global 2.5.5
ruby -v
gem install bundler -v 1.17.3 -V # 安裝 bundler gem
安裝postgresql數(shù)據(jù)庫
sudo apt -qq update && sudo apt install -qqy libpq-dev postgresql postgresql-client
設(shè)定 postgres 登錄方式
https://stackoverflow.com/a/26735105
安裝redis
sudo apt update
sudo apt install -y redis-server
安裝 node
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
nvm install node
nvm alias default node
npm install -g svgo # 優(yōu)化SVG文件
安裝imagemagick
https://imagemagick.org 用于裁剪照片
sudo apt install imagemagick
安裝 Discourse
git clone https://github.com/discourse/discourse.git # 下載源碼
cd discourse
bundle install -V # 安裝 package
RAILS_ENV=development bundle exec rake db:create --trace # 創(chuàng)建數(shù)據(jù)庫
RAILS_ENV=development bundle exec rake db:migrate --trace # 創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)
RAILS_ENV=development bundle exec rake autospec # 運(yùn)行測(cè)試
RAILS_ENV=development bundle exec rails s -b 0.0.0.0 # 運(yùn)行服務(wù) http://localhost:3000
定制教程
https://1c7.me/customize-discourse-part-1/
https://1c7.me/customize-discourse-part-2/
https://1c7.me/customize-discourse-part-3/
https://1c7.me/customize-discourse-part-4/
https://1c7.me/customize-discourse-part-5/
吐槽點(diǎn)
感覺 Discourse的科技樹點(diǎn)歪了:
- 沒有做前后端分離
現(xiàn)在還在玩 rails + render js ,還是 React/Vue 沒興起時(shí)用的模式更鲁,
它使用的 js template是hbs霎箍,爆難用 - 不知道在哪找的一套 icon 圖標(biāo)
- 對(duì)了,你還要了解Ember.js
Discourse的作者是 https://stackoverflow.com的 CEO澡为,C# 風(fēng)格比較濃厚漂坏,再說你也不能苛責(zé)一個(gè)已經(jīng)在 2010 年已經(jīng)啟動(dòng)的項(xiàng)目了。
參考:
https://github.com/discourse/discourse/blob/master/docs/DEVELOPER-ADVANCED.md
http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
https://github.com/rbenv/rbenv/issues/1138
https://meta.discoursecn.org
https://meta.discoursecn.org/t/topic/1012
https://github.com/fantasticfears/discourse-chinese-localization-pack