Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jinhucheung/milog
Milog 是一基于 Ruby on Rails 的个人博客网站
https://github.com/jinhucheung/milog
bootstrap elasticsearch rails ruby
Last synced: 7 days ago
JSON representation
Milog 是一基于 Ruby on Rails 的个人博客网站
- Host: GitHub
- URL: https://github.com/jinhucheung/milog
- Owner: jinhucheung
- Created: 2016-10-05T11:56:40.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-06-08T05:31:27.000Z (5 months ago)
- Last Synced: 2024-11-02T01:50:25.836Z (14 days ago)
- Topics: bootstrap, elasticsearch, rails, ruby
- Language: Ruby
- Homepage: https://github.com/jinhucheung/milog
- Size: 19.2 MB
- Stars: 28
- Watchers: 5
- Forks: 23
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Milog
一基于 [Ruby on Rails](https://github.com/rails/rails) 的个人博客网站 https://milog-demo.herokuapp.com/
游客账号: Email [email protected] | Password 123456
静态页面: https://github.com/jinhucheung/milog/tree/static_pages
## 特点
+ 支持 [Bootstrap](http://getbootstrap.com/), 实现响应式设计
+ 使用 [Markdown](https://zh.wikipedia.org/zh-hans/Markdown) 作为编辑文本格式, 主要由 [Markdown-it](https://github.com/markdown-it/markdown-it) 在客户端进行解析渲染, [motion-markdown-it](https://github.com/digitalmoksha/motion-markdown-it) 负责后端解析
+ Markdown 支持 [Emoji](https://github.com/afeld/emoji-css)
+ 实现 Markdown 工具栏
+ 使用 [bcrypt](https://github.com/codahale/bcrypt-ruby) 加密用户重要资料
+ 可暂存用户编辑中的文本
+ [Elasticsearch](https://github.com/elastic/elasticsearch) 作为全文搜索引擎, 可根据关键字搜索文章
+ 支持上传图片, 使用[七牛](http://www.qiniu.com/)存储
## 更新
### 2016/12/20
+ 增加社区模块
+ 修改用户主页, 增加用户关注功能
+ 增加消息通知系统
### 2017/1/30
+ 使用 [Letter Avatar](https://github.com/ksz2k/letter_avatar), 代替原本的用户默认头像模块
+ 使用 [Rails Settings Cached](https://github.com/huacnlee/rails-settings-cached) 保存系统设置
### 2017/3/14
+ 实现 Milog Android 客户端 [Milog-Android](https://github.com/HiKumho/milog-android)
+ 修复文章中图片尺寸过大, 溢出页面
### 2017/5/7
+ 将原先的 `afeld.github.io/emoji-css` 文件导入本地
+ 修复客户端用户未登录访问消息通知 404
### 2017/5/15
+ 后台添加用户后发送密码激活邮件至用户邮箱
+ 修复测试用例
## Thanks
+ [Ruby on Rails](http://rubyonrails.org/)
+ [Ruby China](https://ruby-china.org/)
+ [Hexo-theme-next](https://github.com/iissnan/hexo-theme-next)
+ [Bootstrap](http://getbootstrap.com/)
+ [Markdown-it](https://github.com/markdown-it/markdown-it)
+ [Elasticsearch](https://github.com/elastic/elasticsearch)
## 部署
### 环境
```
Ubuntu 14.04 / Git / Ruby 2.3.1 / Rails 5.0.0 / MariaDB 5.5.52
```### 下载
```
git clone [email protected]:Hikumho/milog.git
```### 数据库
安装 [MariaDB](https://mariadb.org/)
```sh
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty main'sudo apt-get update
sudo apt-get install mariadb-server
```### 项目配置
1. 更新配置文件
```
cp config/local_env.yml.example config/local_env.yml
cp config/email.yml.example config/email.yml
```修改 `config/local_env.yml` 中的 `MYSQL` 信息
2. 安装 Gem
```
bundle install
```其他问题可见 [#FQA](#FQA)
3. 迁移数据
```
rails db:createrails db:migrate
rails db:seed
```至此, 项目可在开发环境中运行
以下进行生产环境的部署
1. 生成 App 密钥
```
require 'securerandom'SecureRandom.hex(64)
```
并将密钥写入 `config/secrets.yml` 的 `production` 节点2. 部署七牛云
修改 `config/local_env.yml` 中的 `QINIU` 信息
具体配置请看 [carrierwave-qiniu](https://github.com/huobazi/carrierwave-qiniu)
3. 部署邮件
修改 `config/email.yml`
### FQA
1. Imagemagick
本地可能由于没有安装 [Imagemagick](https://github.com/ImageMagick/ImageMagick) 导致 `bundle install` 出错
安装 Imagemagick: `sudo apt-get install imagemagick`
2. Elasticsearch
安装 Elasticsearch: [教程](https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-on-an-ubuntu-vps)
配置 Elasticsearch: `bundle exec rake environment elasticsearch:import:model CLASS='Article' SCOPE='posted'`