开源项目 Writings 开源

Rei · 发布于 2013年09月28日 · 最后由 riskgod 回复于 2014年01月17日 · 12209 次阅读
1
本帖已被设为精华帖!

https://github.com/chloerei/writings

前略,约定的 writings.io 开源。

我不打算继续投入到这个项目了,所以不会有特性更新和技术支持。如果有安全漏洞或者哪块代码需要注释,可以发 isuess 或 PR。

开源的意义在于:

  1. 作为一个 Rails 应用示范,可以用来交流讨论
  2. 可以随意 Fork 并搭建自己的站点,MIT 协议

谁有意继续这个项目的,我乐意为之宣传,但是不会参与,因为我的看法是消极的,不利于项目发展。

接下来我会回到 Gitbub Pages 搭建个人网站,也推荐技术型作者用 Github Pages。

共收到 92 条回复
445

第一个,马上,顶!

4584

真心感谢,顶!

2449

好忧桑

599

抢到板凳,一定好好学习源码

1

#3楼 @Sunnyroger 我已经开始想下一个计划啦。

3872

#5楼 @Rei 电子书平台?

1

#6楼 @chankaward 不做平台了,资源少做不了的。

3872

#7楼 @Rei o(▽)o 期待一下

4982

感谢,顶一个

8616

大力支持

2653

#5楼 @Rei 期待下一个项目……

2973

支持,学习去了。。

743

支持,学习下。

2741

顶一个

2209

支持

68

很好,听到这个消息我很开心。你投入这么多,还是蛮有收获的,坚定看好你。

96

支持,希望开源社区能够更多支持这个项目

96

会变成中文开源社区宝贵项目之一啊,特别是那个编辑器!

1090

谢谢分享

1026

支持,学习去了。

8783

顶,果断学习

96

支持!

68

不过还是不建议关闭网站,网站只要花不多的钱就可以维系下去。比如我的http://www.mystory.cc 流量和注册用户数都远不及writings.io,都没有关掉。

20

其实看着还是挺遗憾的,祝楼主下一个项目顺利!

5219

大赞楼主!

945

非常感谢Rei的开源精神,坚持,同时期待更优秀的作品~

96

挺遗憾,学习学习

96

支持@rei。 startup成功率是低,但是你有一个项目成功了,你就成功。

96

感谢Rei!最近在考虑做一个面向academia圈子里使用的线上写作工具,writtings.io相信能让我从中学到很多东西~

7550

Writings 给我的感觉是, 早上刚刚注册的, 还来不及好好看下功能, 那天下午就发邮件说被拖库了, 并且由于一个比较低级的错误... 隔了几天上去看了一下, 发现这东西居然收费... 然后几天前, 突然收到邮件, 说要关站了, 好吧.

刚学 Rails , 对这个社区不是很熟悉, 看了 Rei 的资料, 发现还是挺 Senior 的工程师. "这个社区的第一位用户".......

不过这个开源的事情还是挺不错的, 谢谢分享.

1141

@Rei 支持加感谢,希望你接下来能成功。

1638

#29楼 @dotcomXY

支持latex吗?

5610

支持rei

5130

@Rei 祝好~

F7b32c

@Rei 精品,赶紧clone了学习

583

支持

5696

@Rei 支持!!

8130

正好趁国庆好好研究writings.io 期待@Rei下一个产品

1520

人家Ucloud活动都结束了,你看你这来晚了吧

4355

我一直想告诉 @Rei 看看Quip 这个东西。

96

:thumbsup:

96

感谢分享,学习

6281

感谢分享

96

#32楼 @xiaoronglv 现在在UCSD这边读书,有个Cal Tech毕业的faculty,之前做了一个beta版,反映很好,现在打算从工具入手, 因为主要面向给学术圈的人用,所以能参考很多writting.io的设计

1638

#44楼 @dotcomXY

参考一下Quip吧,很棒。

2685

感谢分享。~~

973

let it go, thank you...

1748

@Rei 建议纠正下readme中的typo 和 某些语法错误

1

#49楼 @dfang 我英文水平有限,能提一下是哪些地方吗?pull request 就最好了。

6022

旧的不去新的不来,支持楼主

3420

支持~~

202

这还是一个Rails 4的开源项目,值得关注。

1153

#53楼 @xds2000 应该是可以直接运行在你们厂的PaaS上的吧

202

@mobiwolf 可以。

96

支持楼主

9162

顶楼主!已fork,已部署…

2648

好赞的!!

6258

扼腕 扼腕

7270

支持

9392

新人,赞一个!

3469

下午研究了一下,学到很多,谢谢。

96

顶一个!

3251

很牛的开源,第一时间学习了。。

65楼 已删除
1

#65楼 @o_0 买了,第一天买的。谢了:-)

96

要是能基于此项目出个教程,文字的和视频的,像Michael Hartl的那个就好了,不管多少钱,个人绝对第一时间购买

8972

我想学习你的代码,可怜的我连怎么跑起来都不知道

9162

#68楼 @u1378130755 README.md里写得很清楚了…

8972

Gem::RemoteFetcher::UnknownHostError: no such name (https://rubygems.org/gems/factory_girl_rails-4.2.1.gem)
An error occurred while installing factory_girl_rails (4.2.1), and Bundler cannot continue.
Make sure that gem install factory_girl_rails -v '4.2.1' succeeds before bundling.
看看这个是什么情况啊

8972

#69楼 @cassiuschen Mongodb for database.

  • Memcached for caching.
  • Redis && Sidekiq for delay jobs.
  • Pandoc for markdown export.

这些怎么弄来?

9162

#70楼 @u1378130755 就按照说的安装gem install factory_girl_rails -v '4.2.1'啊…………第二个就是说你需要安装mongodb

9162

#68楼 @u1378130755 你是不是根本就没安装rails啊= =!

6

#74楼 @Rei 你的那个编辑器我很喜欢,很想集成进 Pragmatic.ly, 不知道方不方便? 上次还跟 Terry 说,愿意付费购买使用权...

1

#75楼 @yedingding MIT 协议开源的,可以随意用。其实看起来好用有一半是样式的功劳,用来嵌入不一定比成熟的开源项目好。

2419

支持一下

8972

#73楼 @cassiuschen 呵呵,装上了,研究研究

8972

#74楼 @Rei 爱你

8972

#74楼 @Rei 爱你

9606

大谢楼主,现在有了一份基于rail4 的优秀源码可以学习了.

96

谢谢分享,编辑器很棒。

487

@Rei writings.io,我刚注册了用户,还没三天就关闭了,我有种负罪感。

不过,对于lz来说, fail fast,是个好事。 看过你写的关于Writings.io失败的文章,我觉的你考虑的第二个方案,我觉得可以实施,产品只提供给想用的那部分用户,但是你的心已经放弃了,所以你选了第3种方案,关闭, 确实,自己没有这个心劲,实在是无法继续前行的。

愿lz重新启航,继续加油!

7703

期待楼主可以做出更好的项目,责任心在,一定可以做出更多好的东西。

9162

#76楼 @Rei 求问个小问题…writings你是用啥做服务器的?我用puma托管但子域名无法访问,看log发现根本就没发请求给puma…nginx里writings.xxx.com和*.writings.xxx.com都指向了puma的socket,但还是不行……

1

#85楼 @cassiuschen passenger ,现在我推荐 unicorn

9162

#86楼 @Rei 我Unicorn的配置:

worker_processes 4

app_root = File.expand_path("../..", __FILE__)
working_directory app_root

# Listen on fs socket for better performancelisten "/tmp/unicorn.sock", :backlog => 64

# Nuke workers after 30 seconds instead of 60 seconds (the default)
timeout 30

# App PID
pid "#{app_root}/tmp/pids/unicorn.pid"

# By default, the Unicorn logger will write to stderr.
# Additionally, some applications/frameworks log to stderr or stdout,
# so prevent them from going to /dev/null when daemonized here:
stderr_path "#{app_root}/log/unicorn.stderr.log"
stdout_path "#{app_root}/log/unicorn.stdout.log"

# To save some memory and improve performance
preload_app true
GC.respond_to?(:copy_on_write_friendly=) and  GC.copy_on_write_friendly = true

# Force the bundler gemfile environment variable to
# reference the Сapistrano "current" symlinkbefore_exec do |_|
  ENV["BUNDLE_GEMFILE"] = File.join(app_root, 'Gemfile')
end

before_fork do |server, worker|
  # 参考 http://unicorn.bogomips.org/SIGNALS.html
  # 使用USR2信号,以及在进程完成后用QUIT信号来实现无缝重启
  old_pid = app_root + '/tmp/pids/unicorn.pid.oldbin'
  if File.exists?(old_pid) && server.pid != old_pid
    begin
      Process.kill("QUIT", File.read(old_pid).to_i)
    rescue Errno::ENOENT, Errno::ESRCH
      # someone else did our job for us
    end
  end

  # the following is highly recomended for Rails + "preload_app true"
  # as there's no need for the master process to hold a connection
  defined?(ActiveRecord::Base) and
    ActiveRecord::Base.connection.disconnect!
end

after_fork do |server, worker|
  # 禁止GC,配合后续的OOB,来减少请求的执行时间
  GC.disable
  # the following is *required* for Rails + "preload_app true",
  defined?(ActiveRecord::Base) and
    ActiveRecord::Base.establish_connection
end

Nginx的配置是

upstream writings-unicorn {
  server unix:/tmp/unicorn.sock fail_timeout=0;
}

server {
  listen 80;
  server_name writings.xxx.com;
  root /var/mirrors/writing/public;
  try_files $uri $uri/index.html @user2;
  location @user3 {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://writings-unicorn;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 4G;
  keepalive_timeout 10;
}

依然子域名访问失败… dns上writings和*.writings全指向这台服务器,用端口模式访问的时候子域名正常,用socket就出问题了……很纠结…看来应该是unicorn配置问题…

1

#87楼 @cassiuschen Nginx的配置

listen 80 default_server;
9162

#88楼 @Rei 明白了……终究是因为没有绑定上……谢谢Rei大大~

9162

#88楼 @Rei 不过依旧不行= =!

1

#90楼 @cassiuschen 自己修吧,我不想花时间对一个放弃了的项目做技术支持了。

3757

准备作为第一个开源项目来读

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册