# Markdown 格式
gem "redcarpet", "~> 2.2.2"
调用地方在这里
https://github.com/ruby-china/ruby-china/blob/master/app/models/mongoid/markdown_body.rb#L13
然后这个模块被 Topic 和 Replay 引入。
我都有点晕,哈哈。
#14 楼 @HungYuHei Passenger 普通版不支持,我打算用户量上去之后买企业版。
passenger 特点就是简单。
#99 楼 @quakewang 获得成就:审美偏差。
只要购买苹果产品,就会自动获得前所未有的审美能力和开启 Think different 技能,赶紧拨打电话订购吧!
#72 楼 @dreamable 打算部分组件开源,通用的才会作成 Gem。
nginx 里面
server {
listen 80 default_server;
...
}
让所有域名都指向这个 Rails app,然后路由里面做判断,将二级域名或者其他域名指向 Site 模块下的 Controller
class Sitedomain
def matches?(request)
request.host =~ /^\w+\.writings.io$/ or request.host !~ /writings.io$/ # 刚发现这里一个 != 'writings.io' 就完事了,可以简化。为了方便开发时候测试,writings.io 这个域名最好替换成不同开发环境的常量,或者放到统一的配置文件里面,我目前用配置文件。
end
end
constraints(Sitedomain) do
scope :module => 'site', :as => 'site' do
root :to => 'articles#index'
...
end
end
Site 模块下的 Controller 继承一个 Site::BaseConroller,前置过滤器确定要显示的子站
class Site::BaseController < ApplicationController
layout 'site'
before_filter :require_site
private
def require_site
if request.host =~ /^\w+\.writings.io$/
# 二级域名
@user = User.find_by(:name => /^#{request.subdomain(2)}$/i)
redirect_to url_for(:host => @user.domain) if @user.domain.present? # 已经设置独立域名则跳到独立域名
else
# 个人域名
@user = User.find_by(:domain => request.host)
end
end
end
然后 Site 模块下的控制器处理的都是 @user
这个用户的数据。
#26 楼 @linjunpop 好文章
这样的坏处就是没人会“跟帖”,都会 reply 尽量靠上的那个人。
不要。很难看,现在的 #楼层效果很好。
要补 CSS 知识。
#2 楼 @jokerjiang application.css 里面加这行
label {
display: inline;
}
css
rake db:schema:dump
预编译哪个 js 是要设置的,在 config/environments/production.rb 里面
config.assets.precompile += %w( dashboard.js editor.js site.js )
dashboard layout 里面引用
= javascript_include_tag "dashboard"
如果再加上 Turbolink 可能更难理解了。
js 全部打包在一起,怎么区分不同 action 的逻辑
if ($('body#articles-edit').length) {
// code for ArticlesController#edit
}
layout
body id=("#{controller_name}-#{action_name}")
给个实例
▾ app/
▾ assets/
▸ images/
▾ javascripts/
▾ dashboard/
▸ accounts/
▾ articles/
edit.js
index.js
▸ books/
▸ profiles/
▸ editor/
▾ sitewide/
alert_messages.js
dropdown.js
highlight.js
jquery.cookie.js
modal.js
page_ready.js
rails.validations.js
dashboard.js
editor.js
site.js
预编译顶层的三个 js,dashboard.js, editor.js, site.js,分别对应三个 layout,每个 layout link 一个 js。
dashboard.js 的头
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require mousetrap
//= require_tree ./sitewide
//= require_tree ./dashboard
sitewide 本来打算放全局都要用的 js,后来发现里面有些 js 也不是全局需要的,改名 lib 更好。
我猜是这样,浮点数是底层硬件直接支持运算的类型,默认用精确数的话效率就不一样了。
这个把拼音直接输入的 bug 解决了,不知还有什么别的问题?
https://github.com/writings-io/writings-io/issues/3
今天借到 Mac,才发现之前在 Mac 下一直处于不可用状态。
其实我还是喜欢 Linux。
#26 楼 @aisensiy 在 Canonical 工作的 @tualatrix 就是 Mac 双系统。