homeland 0.0.9 → 1.0.0.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +139 -43
  4. data/Rakefile +23 -0
  5. data/app/assets/javascripts/homeland/application.coffee +31 -0
  6. data/app/assets/javascripts/homeland/bootstrap.min.js +7 -0
  7. data/{lib/generators/homeland/install/templates/javascripts → app/assets/javascripts/homeland}/jquery.timeago.js +13 -13
  8. data/app/assets/javascripts/homeland/tether.min.js +1 -0
  9. data/app/assets/stylesheets/homeland/application.scss +114 -0
  10. data/app/assets/stylesheets/homeland/bootstrap-theme.scss +165 -0
  11. data/app/assets/stylesheets/homeland/bootstrap.min.css +5 -0
  12. data/app/assets/stylesheets/homeland/markdown.scss +13 -0
  13. data/app/assets/stylesheets/homeland/tether.min.css +1 -0
  14. data/app/controllers/homeland/application_controller.rb +37 -12
  15. data/app/controllers/homeland/replies_controller.rb +25 -11
  16. data/app/controllers/homeland/topics_controller.rb +50 -58
  17. data/app/helpers/homeland/application_helper.rb +45 -13
  18. data/app/models/homeland/concerns/markdown_body.rb +17 -0
  19. data/app/models/homeland/concerns/pagination.rb +14 -0
  20. data/app/models/homeland/concerns/soft_delete.rb +29 -0
  21. data/app/models/homeland/concerns/user_methods.rb +23 -0
  22. data/app/models/homeland/node.rb +10 -25
  23. data/app/models/homeland/reply.rb +16 -17
  24. data/app/models/homeland/topic.rb +19 -29
  25. data/app/views/homeland/replies/_reply.html.erb +35 -0
  26. data/app/views/homeland/replies/edit.html.erb +17 -27
  27. data/app/views/homeland/shared/_error_messages.html.erb +2 -4
  28. data/app/views/homeland/topics/_form.html.erb +21 -24
  29. data/app/views/homeland/topics/_node_info.html.erb +9 -0
  30. data/app/views/homeland/topics/_reply_form.html.erb +16 -0
  31. data/app/views/homeland/topics/_topic.html.erb +17 -26
  32. data/app/views/homeland/topics/edit.html.erb +6 -10
  33. data/app/views/homeland/topics/index.html.erb +28 -51
  34. data/app/views/homeland/topics/new.html.erb +5 -10
  35. data/app/views/homeland/topics/show.html.erb +16 -89
  36. data/app/views/layouts/homeland/application.html.erb +42 -0
  37. data/config/locales/homeland.en.yml +40 -0
  38. data/config/locales/homeland.zh-CN.yml +8 -0
  39. data/config/routes.rb +6 -8
  40. data/db/migrate/20160321125035_create_homeland_nodes.rb +15 -0
  41. data/db/migrate/20160321125610_create_homeland_topics.rb +25 -0
  42. data/db/migrate/20160321125920_create_homeland_replies.rb +16 -0
  43. data/db/migrate/20160322062228_add_reply_to_id_to_replies.rb +7 -0
  44. data/lib/generators/homeland/controllers_generator.rb +14 -0
  45. data/lib/generators/homeland/i18n_generator.rb +22 -0
  46. data/lib/generators/homeland/install_generator.rb +8 -54
  47. data/lib/generators/homeland/templates/config/initializers/homeland.rb +34 -0
  48. data/lib/generators/homeland/views_generator.rb +3 -10
  49. data/lib/homeland.rb +29 -3
  50. data/lib/homeland/action_view/will_paginate.rb +38 -0
  51. data/lib/homeland/configuration.rb +66 -0
  52. data/lib/homeland/engine.rb +4 -27
  53. data/lib/homeland/markup.rb +17 -0
  54. data/lib/homeland/markup/base.rb +11 -0
  55. data/lib/homeland/markup/html.rb +12 -0
  56. data/lib/homeland/markup/markdown.rb +17 -0
  57. data/lib/homeland/markup/simple.rb +14 -0
  58. data/lib/homeland/version.rb +3 -0
  59. data/lib/tasks/homeland_tasks.rake +4 -0
  60. metadata +119 -38
  61. data/Changelogs.md +0 -29
  62. data/app/assets/images/reply.png +0 -0
  63. data/app/assets/javascripts/homeland.coffee +0 -51
  64. data/app/assets/stylesheets/homeland.scss +0 -100
  65. data/app/helpers/homeland/topics_helper.rb +0 -14
  66. data/app/models/homeland/section.rb +0 -21
  67. data/app/views/homeland/topics/_base.html.erb +0 -4
  68. data/app/views/homeland/topics/_sidebar.html.erb +0 -49
  69. data/app/views/homeland/topics/feed.builder +0 -20
  70. data/lib/generators/homeland/install/templates/images/jquery.chosen.png +0 -0
  71. data/lib/generators/homeland/install/templates/initializer.rb +0 -8
  72. data/lib/generators/homeland/install/templates/javascripts/jquery.chosen.js +0 -898
  73. data/lib/generators/homeland/install/templates/javascripts/jquery.hotkeys.js +0 -99
  74. data/lib/generators/homeland/install/templates/locales/homeland.zh-CN.yml +0 -14
  75. data/lib/generators/homeland/install/templates/stylesheets/jquery.chosen.scss +0 -367
  76. data/lib/homeland/setting.rb +0 -37
@@ -0,0 +1,3 @@
1
+ module Homeland
2
+ VERSION = "1.0.0.beta2"
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :homeland do
3
+ # # Task goes here
4
+ # end
metadata CHANGED
@@ -1,104 +1,186 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: homeland
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 1.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-26 00:00:00.000000000 Z
11
+ date: 2016-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 4.2.0
20
+ - - "<="
21
+ - !ruby/object:Gem::Version
22
+ version: 5.1.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 4.2.0
30
+ - - "<="
31
+ - !ruby/object:Gem::Version
32
+ version: 5.1.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: activerecord
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 4.2.0
40
+ - - "<="
41
+ - !ruby/object:Gem::Version
42
+ version: 5.1.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 4.2.0
50
+ - - "<="
18
51
  - !ruby/object:Gem::Version
19
- version: 3.1.0
52
+ version: 5.1.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: redcarpet
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 3.3.0
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 3.3.0
67
+ - !ruby/object:Gem::Dependency
68
+ name: will_paginate
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 3.0.0
20
74
  type: :runtime
21
75
  prerelease: false
22
76
  version_requirements: !ruby/object:Gem::Requirement
23
77
  requirements:
24
- - - ">"
78
+ - - ">="
25
79
  - !ruby/object:Gem::Version
26
- version: 3.1.0
80
+ version: 3.0.0
27
81
  - !ruby/object:Gem::Dependency
28
- name: jquery-atwho-rails
82
+ name: jquery-rails
29
83
  requirement: !ruby/object:Gem::Requirement
30
84
  requirements:
31
- - - "~>"
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: 4.0.0
88
+ - - "<="
32
89
  - !ruby/object:Gem::Version
33
- version: 0.1.5
90
+ version: 5.1.0
34
91
  type: :runtime
35
92
  prerelease: false
36
93
  version_requirements: !ruby/object:Gem::Requirement
37
94
  requirements:
38
- - - "~>"
95
+ - - ">="
39
96
  - !ruby/object:Gem::Version
40
- version: 0.1.5
97
+ version: 4.0.0
98
+ - - "<="
99
+ - !ruby/object:Gem::Version
100
+ version: 5.1.0
41
101
  - !ruby/object:Gem::Dependency
42
- name: rails_autolink
102
+ name: font-awesome-rails
43
103
  requirement: !ruby/object:Gem::Requirement
44
104
  requirements:
45
105
  - - ">="
46
106
  - !ruby/object:Gem::Version
47
- version: 1.0.0
107
+ version: 4.4.0.0
48
108
  type: :runtime
49
109
  prerelease: false
50
110
  version_requirements: !ruby/object:Gem::Requirement
51
111
  requirements:
52
112
  - - ">="
53
113
  - !ruby/object:Gem::Version
54
- version: 1.0.0
55
- description: A new style forum for small communitys.
114
+ version: 4.4.0.0
115
+ description: A new style forum for tiny community as Rails Engine. You can mount this
116
+ in you apps.
56
117
  email:
57
118
  - huacnlee@gmail.com
58
119
  executables: []
59
120
  extensions: []
60
121
  extra_rdoc_files: []
61
122
  files:
62
- - Changelogs.md
123
+ - MIT-LICENSE
63
124
  - README.md
64
- - app/assets/images/reply.png
65
- - app/assets/javascripts/homeland.coffee
66
- - app/assets/stylesheets/homeland.scss
125
+ - Rakefile
126
+ - app/assets/javascripts/homeland/application.coffee
127
+ - app/assets/javascripts/homeland/bootstrap.min.js
128
+ - app/assets/javascripts/homeland/jquery.timeago.js
129
+ - app/assets/javascripts/homeland/tether.min.js
130
+ - app/assets/stylesheets/homeland/application.scss
131
+ - app/assets/stylesheets/homeland/bootstrap-theme.scss
132
+ - app/assets/stylesheets/homeland/bootstrap.min.css
133
+ - app/assets/stylesheets/homeland/markdown.scss
134
+ - app/assets/stylesheets/homeland/tether.min.css
67
135
  - app/controllers/homeland/application_controller.rb
68
136
  - app/controllers/homeland/replies_controller.rb
69
137
  - app/controllers/homeland/topics_controller.rb
70
138
  - app/helpers/homeland/application_helper.rb
71
- - app/helpers/homeland/topics_helper.rb
139
+ - app/models/homeland/concerns/markdown_body.rb
140
+ - app/models/homeland/concerns/pagination.rb
141
+ - app/models/homeland/concerns/soft_delete.rb
142
+ - app/models/homeland/concerns/user_methods.rb
72
143
  - app/models/homeland/node.rb
73
144
  - app/models/homeland/reply.rb
74
- - app/models/homeland/section.rb
75
145
  - app/models/homeland/topic.rb
146
+ - app/views/homeland/replies/_reply.html.erb
76
147
  - app/views/homeland/replies/edit.html.erb
77
148
  - app/views/homeland/shared/_error_messages.html.erb
78
- - app/views/homeland/topics/_base.html.erb
79
149
  - app/views/homeland/topics/_form.html.erb
80
- - app/views/homeland/topics/_sidebar.html.erb
150
+ - app/views/homeland/topics/_node_info.html.erb
151
+ - app/views/homeland/topics/_reply_form.html.erb
81
152
  - app/views/homeland/topics/_topic.html.erb
82
153
  - app/views/homeland/topics/edit.html.erb
83
- - app/views/homeland/topics/feed.builder
84
154
  - app/views/homeland/topics/index.html.erb
85
155
  - app/views/homeland/topics/new.html.erb
86
156
  - app/views/homeland/topics/show.html.erb
157
+ - app/views/layouts/homeland/application.html.erb
158
+ - config/locales/homeland.en.yml
159
+ - config/locales/homeland.zh-CN.yml
87
160
  - config/routes.rb
88
- - lib/generators/homeland/install/templates/images/jquery.chosen.png
89
- - lib/generators/homeland/install/templates/initializer.rb
90
- - lib/generators/homeland/install/templates/javascripts/jquery.chosen.js
91
- - lib/generators/homeland/install/templates/javascripts/jquery.hotkeys.js
92
- - lib/generators/homeland/install/templates/javascripts/jquery.timeago.js
93
- - lib/generators/homeland/install/templates/locales/homeland.zh-CN.yml
94
- - lib/generators/homeland/install/templates/stylesheets/jquery.chosen.scss
161
+ - db/migrate/20160321125035_create_homeland_nodes.rb
162
+ - db/migrate/20160321125610_create_homeland_topics.rb
163
+ - db/migrate/20160321125920_create_homeland_replies.rb
164
+ - db/migrate/20160322062228_add_reply_to_id_to_replies.rb
165
+ - lib/generators/homeland/controllers_generator.rb
166
+ - lib/generators/homeland/i18n_generator.rb
95
167
  - lib/generators/homeland/install_generator.rb
168
+ - lib/generators/homeland/templates/config/initializers/homeland.rb
96
169
  - lib/generators/homeland/views_generator.rb
97
170
  - lib/homeland.rb
171
+ - lib/homeland/action_view/will_paginate.rb
172
+ - lib/homeland/configuration.rb
98
173
  - lib/homeland/engine.rb
99
- - lib/homeland/setting.rb
100
- homepage: http://github.com/huacnlee/homeland
101
- licenses: []
174
+ - lib/homeland/markup.rb
175
+ - lib/homeland/markup/base.rb
176
+ - lib/homeland/markup/html.rb
177
+ - lib/homeland/markup/markdown.rb
178
+ - lib/homeland/markup/simple.rb
179
+ - lib/homeland/version.rb
180
+ - lib/tasks/homeland_tasks.rake
181
+ homepage: https://github.com/huacnlee/homeland
182
+ licenses:
183
+ - MIT
102
184
  metadata: {}
103
185
  post_install_message:
104
186
  rdoc_options: []
@@ -111,14 +193,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
193
  version: '0'
112
194
  required_rubygems_version: !ruby/object:Gem::Requirement
113
195
  requirements:
114
- - - ">="
196
+ - - ">"
115
197
  - !ruby/object:Gem::Version
116
- version: 1.3.6
198
+ version: 1.3.1
117
199
  requirements: []
118
200
  rubyforge_project:
119
- rubygems_version: 2.4.7
201
+ rubygems_version: 2.6.2
120
202
  signing_key:
121
203
  specification_version: 4
122
204
  summary: A new style forum for small communitys.
123
205
  test_files: []
124
- has_rdoc:
@@ -1,29 +0,0 @@
1
- 0.0.8 / 2012-07-02
2
-
3
- * Mongoid 3.0.0.rc support;
4
- * Fix body text font size to 14px;
5
-
6
- 0.0.7 / 2012-06-28
7
-
8
- * Add Early loading for queries;
9
-
10
- 0.0.6 / 2012-05-28
11
-
12
- * Remove hits field from Topic model.
13
-
14
- 0.0.5 / 2012-05-08
15
-
16
- * Add test app.
17
- * Add markdown like image syntax.
18
- * Bug fix in using.
19
-
20
- 0.0.4 / 2012-04-19
21
- ==================
22
-
23
- * Add chosen; Add @ reply feature.
24
- * More style improve.
25
-
26
- 0.0.3 / 2012-04-17
27
- ==================
28
-
29
- * 实现基础功能
Binary file
@@ -1,51 +0,0 @@
1
- #= require jquery.hotkeys
2
- #= require jquery.timeago
3
- #= require jquery.atwho
4
- #= require jquery.chosen
5
- #= require_self
6
- # TopicsController 下所有页面的 JS 功能
7
- window.Topics =
8
- # 往话题编辑器里面插入图片代码
9
- appendImageFromUpload : (srcs) ->
10
- txtBox = $(".topic_body_text_area")
11
- for src in srcs
12
- txtBox.val("#{txtBox.val()}[img]#{src}[/img]\n")
13
- txtBox.focus()
14
- $("#add_image").jDialog.close()
15
-
16
- # 上传图片
17
- addImageClick : () ->
18
- opts =
19
- title:"插入图片"
20
- width: 350
21
- height: 145
22
- content: '<iframe src="/photos/tiny_new" frameborder="0" style="width:330px; height:145px;"></iframe>',
23
- close_on_body_click : false
24
-
25
- $("#add_image").jDialog(opts)
26
- return false
27
-
28
- # 回复
29
- reply : (floor,login) ->
30
- reply_body = $("#reply_body")
31
- new_text = "##{floor}楼 @#{login} "
32
- if reply_body.val().trim().length == 0
33
- new_text += ''
34
- else
35
- new_text = "\n#{new_text}"
36
- reply_body.focus().val(reply_body.val() + new_text)
37
- return false
38
-
39
- # 高亮楼层
40
- hightlightReply : (floor) ->
41
- $("#replies .reply").removeClass("light")
42
- $("#reply"+floor).addClass("light")
43
-
44
- # Page.ready
45
- $(document).ready ->
46
- $("abbr.timeago").timeago()
47
- $("select").chosen()
48
- $("textarea").bind "keydown","ctrl+return",(el) ->
49
- if $(el.target).val().trim().length > 0
50
- $("#reply form").submit()
51
-
@@ -1,100 +0,0 @@
1
- /*
2
- *= require jquery.atwho
3
- *= require jquery.chosen
4
- */
5
- .bbs_name { text-align:right; font-size:18px;}
6
- .topics .topic .title a:link,
7
- .topics .topic .title a:visited,
8
- .node_topics .title a:link,
9
- .node_topics .title a:visited {color:#2c64d7; text-decoration: none;}
10
- .topics .topic .title a:hover,
11
- .node_topics .title a:hover { text-decoration: underline; }
12
-
13
- .sidebar p { margin-bottom:8px;}
14
-
15
- #sections {
16
- ul {
17
- margin:0; list-style:none;
18
- li {
19
- margin-bottom:10px;
20
- position:relative;
21
- min-height:20px;
22
- label { display:block; width:80px; text-align:right; color:#999; padding-right:10px; position:absolute; left:0; top:0; }
23
- a { display:inline-block; margin-right:8px; }
24
- .items { padding-left:90px; }
25
- }
26
-
27
- }
28
- }
29
-
30
- .topics { }
31
- .topics .topic { }
32
- .topics .topic_line {border-top:1px solid #DDD; padding:10px 0; margin:0 -10px; vertical-align:top; }
33
- #main .topics .topic h1 { font-size:22px; color:#333; margin-top:6px; text-align: left; line-height:100%;margin-bottom:8px;}
34
- .topics .topic .avatar_large { width:80px; }
35
- .topics .topic .avatar { width:56px; margin-left:10px; }
36
- .topics .topic .infos { padding-right:90px;}
37
- .topics .topic .right_info { padding-left:66px;}
38
- .topics .topic .title { font-size:14px; }
39
- .topics .topic .info { color:#999; margin-bottom:2px; }
40
- .topics .topic .info a:link,
41
- .topics .topic .info a:visited { color:#999; text-decoration: underline; }
42
- .topics .body { line-height:160%; font-size:14px; margin-top:8px;}
43
- .topics .body p { margin-bottom:10px; font-size:14px; }
44
- .topics .tools { text-align:right; }
45
- .topics .tools a {margin-left:6px;}
46
- .topics .topic .replies { width:70px; margin-right:10px; text-align:right; vertical-align:middle; }
47
- .topics .topic .replies a.count:link { line-height: 12px; font-weight: bold; color: white;
48
- background-color: #1c7fdb; display: inline-block;
49
- padding: 2px 10px 2px 10px;
50
- -moz-border-radius: 12px; -webkit-border-radius: 12px;
51
- margin: 18px 12px 0px 0px; text-decoration: none; }
52
- .topics .topic .replies a.count:visited { background:#ddd; color:#aaa;}
53
- .topics .topic .replies a.count:hover { color:write; background-color:#1F8AEE; }
54
-
55
- .topics tr.topic td.replies { text-align:right; width:50px; font-size:14px; color:green;font-weight:bold; }
56
- .more { padding:8px; border-top:1px solid #DDD; font-size:14px; text-align:right; }
57
-
58
- /* topics list in node page */
59
- .node_topics { margin-bottom:16px;}
60
- .node_topics tr td { padding:8px; }
61
- .node_topics tr.head td { padding-top:14px; color:#CCC; font-weight:bold; font-size:12px; }
62
- .node_topics tr.topic td.title { font-size:14px; font-weight:bold; }
63
- .node_topics tr.topic td.author { width:80px;}
64
- .node_topics tr.topic td.author a { color:#666; font-weight:bold; }
65
-
66
- .no_result { margin-bottom:20px; text-align:center; }
67
-
68
- #node_info { padding:8px;margin-bottom:8px;padding-top:0px; }
69
- #node_info h1 { font-size:18px; color:000; display:inline; margin-right:5px; }
70
- #node_info p { margin-bottom:8px; }
71
- #node_info p.summary { color:#999; }
72
-
73
- #replies {}
74
- #replies .total { padding-bottom:6px; color:#999; }
75
- #replies .reply { border-top:1px solid #DDD; padding:8px 10px; margin:0 -10px;}
76
- #replies .reply.light { background:#EFFCEE;}
77
- #replies .reply .face { padding-right:8px; width:48px; margin-left:0; }
78
- #replies .reply .infos { padding-left:58px;}
79
- #replies .reply .info { margin-top:4px; color:#999;height:20px;}
80
- #replies .reply .info a:link,
81
- #replies .reply .info a:visited { color:#999; text-decoration: underline;}
82
- #replies .reply .info .name { float:left; }
83
- #replies .reply .info .time { float:right; text-align:right; }
84
- #replies .reply .info a.reply_link img { vertical-align:middle;}
85
- #replies .reply .body { line-height:180%; font-size:14px; text-overflow: ellipsis;}
86
- #replies .reply .body p { font-size:14px; }
87
- #replies .reply .body img { max-width:622px;}
88
-
89
- #reply.form textarea { width:578px; }
90
-
91
- .edit_tools { text-align:right; margin-bottom:3px;}
92
-
93
- .totals ul li { line-height:150%;}
94
-
95
- #topic_new_tip li { margin-bottom:6px;}
96
-
97
- .body a.at_floor { color:#376B43; }
98
- .body a.at_user { }
99
-
100
- .topic_body_text_area { width:600px;}
@@ -1,14 +0,0 @@
1
- # coding: utf-8
2
- module Homeland
3
- module TopicsHelper
4
- def format_topic_body(text,title = "",allow_image = true)
5
- text.gsub!(/\!\[(.+?|)\]\((http:\/\/.+?)\)/i,'<img src="\2" alt="\1" />')
6
- auto_link(simple_format(text),:all, :target => '_blank', :rel => "nofollow")
7
- end
8
-
9
- def render_topic_node_select_tag(topic, opts = {})
10
- return "" if topic.blank?
11
- grouped_collection_select(:topic, :node_id, Section.all,:sorted_nodes, :name, :id, :name, {:value => topic.node_id, :include_blank => false}, opts)
12
- end
13
- end
14
- end