2015年3月份我用Rails写了第一个比较完整的项目——首个博客系统,现在回过头来看,觉得很多地方都写的比较烂,今年年初的时候我打算重构自己的博客系统,从一开始的想法到完成整件事,经历了长达一年的时间,原因只有一个——懒。
这个博客的诞生是因为平时在浏览其他网站及关注一些 js 库时发现一些特别喜欢的东西,所以才给了我做这件事的动力。其实做完这个项目真正花费的时间并不多,比较难的是要让自己愿意来做这件事。
整个项目做下来,对我来说,最难的不是技术实现,而是为博客每个主题找到合适的背景图片,简直就是大海捞针。别人给我推荐了这个图片库,经过长时间的寻找,终于找到了几张让我比较满意的的图片。这个工具不错,有需要的可以收藏一下。
新的博客系统主要功能有:
后端:数据统计,后台文章管理,相册管理,个人简历管理
前端:文章列表,相册展示,时间线等
Demo
项目 Demo 请访问:http://liuzhen.me/
项目 github 代码:https://github.com/liuzhenangel/RBlog
核心技术框架
Ruby on Rails 5.1.4
bootstrap 4
font-awesome
figaro
postgres
slim
high_voltage
carriewave & upyun
sidekiq
kaminari
mina
puma
lograge
simditor
turn.js
开发环境准备
第一步, 安装项目依赖
$ bundle install
第二步, 启动服务
$ rails s
第三步, 浏览器访问:http://localhost:3000
结束.
如何发布?
第一步, 配置nginx
先根据项目里的 config/deploy/production.rb, /config/deploy.rb, config/puma.rb, /config/nigix.conf 文件, 修改其中的配置, 然后将 /config/nigix.conf 文件复制到你的服务器上 nginx 所在目录的 /etc/nginx/conf.d 目录下, 命名为 xxx.conf 的文件. 然后重启 nginx.
第二步, 在服务器上初始化
$ mina setup
第三步, 发布
$ mina deploy
学习参考资料
Rails文档:http://edgeguides.rubyonrails.org/api_app.html
使用模板创建Rails项目:https://github.com/80percent/rails-template
ubuntu16.04安装railshttps://gorails.com/setup/ubuntu/16.04
simditor编辑器:http://simditor.tower.im/
startbootstrap-clean-blog前端样式:https://startbootstrap.com/template-overviews/clean-blog/
sb-admin前端样式:https://startbootstrap.com/template-overviews/sb-admin/
turnjs前端样式:http://www.turnjs.com
timeline前端样式:https://github.com/RyanFitzgerald/vertical-timeline
引荐 Vue.js 项目
项目 Demo 请访问:http://v2ex.liuzhen.me/
项目代码:https://github.com/liuzhenangel/v2ex_frontend
引荐 React.js 项目
项目 Demo 请访问:http://ruby-china.liuzhen.me/
项目代码:https://github.com/liuzhenangel/react-ruby-china
Built with
接下来的目标
工作以来很少静下心来写点东西,时间长了,导致语言组织能力也在退化,这是个很恐怖的事情,所以我给自己接下来定的目标是学习如何将自己的知道的东西有条理的讲清楚,并能让别人理解清楚,这是一项非常有挑战的任务,我希望自己在2018年未的时候,在语言表达方面能有所精进。