homeland 1.0.0.beta2 → 1.0.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/app/assets/javascripts/homeland/homeland/nodes.js +2 -0
- data/app/assets/javascripts/homeland/nodes.js +2 -0
- data/app/assets/stylesheets/homeland/application.scss +33 -0
- data/app/assets/stylesheets/homeland/homeland/nodes.css +4 -0
- data/app/controllers/homeland/application_controller.rb +12 -1
- data/app/controllers/homeland/nodes_controller.rb +49 -0
- data/app/models/homeland/reply.rb +4 -3
- data/app/models/homeland/topic.rb +5 -4
- data/app/views/homeland/nodes/_form.html.erb +27 -0
- data/app/views/homeland/nodes/_node.html.erb +25 -0
- data/app/views/homeland/nodes/edit.html.erb +8 -0
- data/app/views/homeland/nodes/index.html.erb +14 -0
- data/app/views/homeland/nodes/new.html.erb +7 -0
- data/app/views/homeland/nodes/update.html.erb +2 -0
- data/app/views/homeland/topics/_node_info.html.erb +5 -1
- data/app/views/layouts/homeland/application.html.erb +3 -0
- data/config/locales/homeland.en.yml +4 -1
- data/config/locales/homeland.zh-CN.yml +38 -3
- data/config/routes.rb +1 -0
- data/lib/generators/homeland/controllers_generator.rb +10 -2
- data/lib/generators/homeland/models_generator.rb +22 -0
- data/lib/homeland.rb +10 -0
- data/{app/models/homeland/concerns/markdown_body.rb → lib/homeland/concerns/markup.rb} +1 -1
- data/{app/models → lib}/homeland/concerns/soft_delete.rb +2 -2
- data/{app/models/homeland/concerns/user_methods.rb → lib/homeland/concerns/user_delegates.rb} +1 -1
- data/lib/homeland/configuration.rb +2 -0
- data/lib/homeland/version.rb +1 -1
- metadata +15 -5
- data/app/models/homeland/concerns/pagination.rb +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfcb275be53c93806dcc275f7c76b2dc846c2193
|
4
|
+
data.tar.gz: 604b6421b2fa89afe5669989c35d55e8fee1fbf4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 797f4b1dd577bcd590c31144380d9a05bf91767fd9d5b2146100a3722b9ef2a05e1ebad7f6012c61611f5e1150f4b257805e3bf245b48fbbc6756d0abc91be25
|
7
|
+
data.tar.gz: 20b207acab1c5f48dd51541779f1f8b8179d3ffc49b9c132950b785e9da4cbdde1531dff315358a344b971723d942653183869c111f61ee6425fa9303126f2de
|
data/README.md
CHANGED
@@ -112,9 +112,11 @@ end
|
|
112
112
|
|
113
113
|
```
|
114
114
|
|
115
|
-
### 如果你有更高级的需要,可以直接生成出 Homeland 的 View 文件,然后按自己的需要定制:
|
115
|
+
### 如果你有更高级的需要,可以直接生成出 Homeland 的 Model, Controller, View 文件,然后按自己的需要定制:
|
116
116
|
|
117
117
|
```bash
|
118
|
+
$ rails g homeland:models
|
119
|
+
$ rails g homeland:controllers
|
118
120
|
$ rails g homeland:views
|
119
121
|
```
|
120
122
|
|
@@ -22,6 +22,8 @@
|
|
22
22
|
border-radius: 180px;
|
23
23
|
}
|
24
24
|
|
25
|
+
.timeago { color: #999; text-decoration: none; }
|
26
|
+
|
25
27
|
.btn-opt {
|
26
28
|
line-height: 100%;
|
27
29
|
padding: 6px 8px 8px 8px;
|
@@ -112,3 +114,34 @@
|
|
112
114
|
box-shadow: 0 1px 4px rgba(0,0,0,0.28);
|
113
115
|
}
|
114
116
|
}
|
117
|
+
|
118
|
+
.nodes {
|
119
|
+
margin-bottom: 20px;
|
120
|
+
|
121
|
+
.node-item {
|
122
|
+
padding: 15px 15px;
|
123
|
+
border: 1px solid #eee;
|
124
|
+
&:last-child {
|
125
|
+
border-bottom: 1px solid #eee;
|
126
|
+
}
|
127
|
+
border-bottom: 0px;
|
128
|
+
border-left: 5px solid #EEE;
|
129
|
+
|
130
|
+
|
131
|
+
.info {
|
132
|
+
.title {
|
133
|
+
font-size: 18px; font-weight: bold;
|
134
|
+
.count { font-weight: normal; font-size: 14px; }
|
135
|
+
}
|
136
|
+
.desc { color: #666; margin-top: 10px; }
|
137
|
+
}
|
138
|
+
|
139
|
+
.topics {
|
140
|
+
.item {
|
141
|
+
margin: 3px;
|
142
|
+
a { color: #333; font-size: 13px; }
|
143
|
+
.timeago { font-size: 12px; }
|
144
|
+
}
|
145
|
+
}
|
146
|
+
}
|
147
|
+
}
|
@@ -3,7 +3,7 @@ module Homeland
|
|
3
3
|
helper Homeland::ActionView::WillPaginate
|
4
4
|
helper Homeland::ApplicationHelper
|
5
5
|
|
6
|
-
helper_method :current_user, :owner?
|
6
|
+
helper_method :current_user, :owner?, :admin?
|
7
7
|
|
8
8
|
alias_method :origin_current_user, Homeland.config.current_user_method.to_sym
|
9
9
|
alias_method :origin_authenticate_user!, Homeland.config.authenticate_user_method.to_sym
|
@@ -22,6 +22,12 @@ module Homeland
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
+
def authorize_admin!
|
26
|
+
if !admin?
|
27
|
+
redirect_to homeland.root_path, alert: t('homeland.access_denied')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
25
31
|
def set_seo_meta(title = '', meta_keywords = '', meta_description = '')
|
26
32
|
@page_title = "#{title}" if title.length > 0
|
27
33
|
@meta_keywords = meta_keywords
|
@@ -35,5 +41,10 @@ module Homeland
|
|
35
41
|
|
36
42
|
obj.user_id == current_user.id
|
37
43
|
end
|
44
|
+
|
45
|
+
def admin?
|
46
|
+
return false if current_user.blank?
|
47
|
+
current_user.send(Homeland.config.user_admin_method) == true
|
48
|
+
end
|
38
49
|
end
|
39
50
|
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Homeland
|
2
|
+
class NodesController < Homeland::ApplicationController
|
3
|
+
before_action :authorize_admin!, except: [:index]
|
4
|
+
before_action :node, only: [:edit, :update, :destroy]
|
5
|
+
|
6
|
+
def index
|
7
|
+
@nodes = Node.order('sort desc')
|
8
|
+
end
|
9
|
+
|
10
|
+
def new
|
11
|
+
@node = Node.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def create
|
15
|
+
@node = Node.new(node_params)
|
16
|
+
if @node.save
|
17
|
+
redirect_to(node_topics_path(@node), notice: t('homeland.node_created'))
|
18
|
+
else
|
19
|
+
render action: "new"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def edit
|
24
|
+
end
|
25
|
+
|
26
|
+
def update
|
27
|
+
if @node.update_attributes(node_params)
|
28
|
+
redirect_to(node_topics_path(@node), notice: t('homeland.node_updated'))
|
29
|
+
else
|
30
|
+
render action: "new"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def destroy
|
35
|
+
@node.destroy
|
36
|
+
redirect_to(nodes_path, notice: t('homeland.node_deleted'))
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def node
|
42
|
+
@node ||= Node.find(params[:id])
|
43
|
+
end
|
44
|
+
|
45
|
+
def node_params
|
46
|
+
params.require(:node).permit(:name, :description, :color, :sort)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -1,9 +1,10 @@
|
|
1
1
|
module Homeland
|
2
2
|
class Reply < ActiveRecord::Base
|
3
3
|
include Homeland::Concerns::SoftDelete
|
4
|
-
include Homeland::Concerns::
|
5
|
-
include Homeland::Concerns::
|
6
|
-
|
4
|
+
include Homeland::Concerns::Markup
|
5
|
+
include Homeland::Concerns::UserDelegates
|
6
|
+
|
7
|
+
self.per_page = Homeland.config.per_page
|
7
8
|
|
8
9
|
belongs_to :user, class_name: Homeland.config.user_class.to_s
|
9
10
|
belongs_to :topic, class_name: 'Homeland::Topic'
|
@@ -1,13 +1,14 @@
|
|
1
1
|
module Homeland
|
2
2
|
class Topic < ActiveRecord::Base
|
3
3
|
include Homeland::Concerns::SoftDelete
|
4
|
-
include Homeland::Concerns::
|
5
|
-
include Homeland::Concerns::
|
6
|
-
|
4
|
+
include Homeland::Concerns::Markup
|
5
|
+
include Homeland::Concerns::UserDelegates
|
6
|
+
|
7
|
+
self.per_page = Homeland.config.per_page
|
7
8
|
|
8
9
|
belongs_to :user, class_name: Homeland.config.user_class.to_s
|
9
10
|
belongs_to :last_reply_user, class_name: Homeland.config.user_class.to_s
|
10
|
-
belongs_to :node, class_name: 'Homeland::Node'
|
11
|
+
belongs_to :node, class_name: 'Homeland::Node', counter_cache: true
|
11
12
|
has_many :replies, class_name: 'Homeland::Reply'
|
12
13
|
|
13
14
|
validates :user_id, :title, :body, :node_id, presence: true
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%= form_for(@node) do |f| %>
|
2
|
+
<%= render_errors @node %>
|
3
|
+
|
4
|
+
<div class="form-group">
|
5
|
+
<%= f.label :name %>
|
6
|
+
<%= f.text_field :name, class: 'form-control' %>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div class="form-group">
|
10
|
+
<%= f.label :description %>
|
11
|
+
<%= f.text_area :description, rows: 4, class: 'form-control' %>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<div class="form-group">
|
15
|
+
<%= f.label :color %>
|
16
|
+
<%= f.select :color, Homeland.config.node_colors , {}, class: 'form-control' %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="form-group">
|
20
|
+
<%= f.label :sort %>
|
21
|
+
<%= f.text_field :sort, class: 'form-control' %>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="form-group">
|
25
|
+
<button type="submit" class="btn btn-primary btn-lg" data-disable-with="<%= t('homeland.submiting') %>"><%= t('homeland.submit') %></button>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<div class="node-item row" style="border-left-color: <%= node.badge_color %>;">
|
2
|
+
<div class="info col-sm-5">
|
3
|
+
<div class="title"><%= link_to node.name, homeland.node_topics_path(node) %> <span class="count"><%= node.topics_count %></span></div>
|
4
|
+
<div class="desc">
|
5
|
+
<%= simple_format node.description %>
|
6
|
+
</div>
|
7
|
+
<div class="opts">
|
8
|
+
<% if admin? %>
|
9
|
+
<a class="btn-opt edit" href="<%= homeland.edit_node_path(node) %>"><i class="fa fa-pencil"></i></a>
|
10
|
+
|
11
|
+
<a class="btn-opt delete" href="<%= homeland.node_path(node) %>" data-method="DELETE" data-confirm="<%= t('homeland.are_you_sure_to_delete') %>"><i class="fa fa-trash"></i></a>
|
12
|
+
<% end %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<div class="topics col-sm-7">
|
16
|
+
<%= cache(node, 'topics-recent-5') do %>
|
17
|
+
<% node.topics.recent.limit(3).each do |topic| %>
|
18
|
+
<div class="item">
|
19
|
+
<%= link_to topic.title, homeland.topic_path(topic) %>
|
20
|
+
<%= timeago topic.created_at %>
|
21
|
+
</div>
|
22
|
+
<% end %>
|
23
|
+
<% end %>
|
24
|
+
</div>
|
25
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<ol class="breadcrumb">
|
2
|
+
<li><a href="<%= homeland.root_path %>"><%= t('homeland.nav.home') %></a></li>
|
3
|
+
<li><a href="<%= homeland.nodes_path %>"><%= t('homeland.nav.channels') %></a></li>
|
4
|
+
<li><a href="<%= homeland.node_topics_path %>"><%= @node.name %></a></li>
|
5
|
+
<li class="active"><%= t('homeland.nav.edit') %></li>
|
6
|
+
</ol>
|
7
|
+
|
8
|
+
<%= render 'form' %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% if admin? %>
|
2
|
+
<ul class="nav nav-pills" style="margin-bottom:20px ">
|
3
|
+
<li class="nav-item">
|
4
|
+
<a class="nav-link active" href="<%= homeland.nodes_path %>"><%= t("homeland.channels") %></a>
|
5
|
+
</li>
|
6
|
+
<li class="nav-item">
|
7
|
+
<a class="nav-link" href="<%= homeland.new_node_path %>"><%= t("homeland.new_node") %></a>
|
8
|
+
</li>
|
9
|
+
</ul>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<div class="nodes">
|
13
|
+
<%= render @nodes %>
|
14
|
+
</div>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<ol class="breadcrumb">
|
2
|
+
<li><a href="<%= homeland.root_path %>"><%= t('homeland.nav.home') %></a></li>
|
3
|
+
<li><a href="<%= homeland.nodes_path %>"><%= t('homeland.nav.channels') %></a></li>
|
4
|
+
<li class="active"><%= t('homeland.nav.new') %></li>
|
5
|
+
</ol>
|
6
|
+
|
7
|
+
<%= render 'form' %>
|
@@ -3,7 +3,11 @@
|
|
3
3
|
<div class="card-block">
|
4
4
|
<h4 class="card-title"><%= node_tag(@node) %></h4>
|
5
5
|
<p class="card-text"><%= simple_format @node.description %></p>
|
6
|
-
|
6
|
+
<% if admin? %>
|
7
|
+
<a class="btn-opt" href="<%= homeland.edit_node_path(@node) %>"><i class="fa fa-pencil"></i></a>
|
8
|
+
|
9
|
+
<a class="btn-opt" href="<%= homeland.node_path(@node) %>" data-method="DELETE" data-confirm="<%= t('homeland.are_you_sure_to_delete') %>"><i class="fa fa-trash"></i></a>
|
10
|
+
<% end %>
|
7
11
|
</div>
|
8
12
|
</div>
|
9
13
|
<% end %>
|
@@ -21,6 +21,9 @@
|
|
21
21
|
<li class="nav-item<%= ' active' if controller_name == 'topics' and action_name == 'recent' %>">
|
22
22
|
<a class="nav-link" href="<%= homeland.recent_topics_path %>"><%= t('homeland.nav.recent') %></a>
|
23
23
|
</li>
|
24
|
+
<li class="nav-item<%= ' active' if controller_name == 'nodes' %>">
|
25
|
+
<a class="nav-link" href="<%= homeland.nodes_path %>"><%= t('homeland.nav.channels') %></a>
|
26
|
+
</li>
|
24
27
|
</ul>
|
25
28
|
<ul class="nav navbar-nav pull-xs-right">
|
26
29
|
<li class="nav-item<%= ' active' if controller_name == 'topics' and action_name == 'new' %>">
|
@@ -20,7 +20,7 @@ en:
|
|
20
20
|
features: 'Features'
|
21
21
|
recent: 'Recent'
|
22
22
|
node: "Channel"
|
23
|
-
new: "New
|
23
|
+
new: "New"
|
24
24
|
edit: 'Edit'
|
25
25
|
topics:
|
26
26
|
empty: 'Ther have no subject created.'
|
@@ -38,3 +38,6 @@ en:
|
|
38
38
|
reply_created: "Reply created success."
|
39
39
|
reply_deleted: "Reply deleted success."
|
40
40
|
reply_updated: "Reply updated success."
|
41
|
+
node_created: "Channel created success."
|
42
|
+
node_updated: "Channel updated success."
|
43
|
+
node_deleted: "Channel deleted success."
|
@@ -1,8 +1,43 @@
|
|
1
1
|
zh-CN:
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
homeland/topic: "话题"
|
5
|
+
homeland/reply: "回帖"
|
6
|
+
attributes:
|
7
|
+
homeland/topic:
|
8
|
+
title: "标题"
|
9
|
+
body: "正文"
|
10
|
+
node: "频道"
|
11
|
+
replies_count: "回帖量"
|
12
|
+
user: "作者"
|
13
|
+
activity: "更新"
|
14
|
+
homeland/reply:
|
15
|
+
body: "正文"
|
2
16
|
homeland:
|
3
17
|
nav:
|
4
|
-
home: '
|
5
|
-
|
6
|
-
|
18
|
+
home: 'Homeland'
|
19
|
+
latest: '话题'
|
20
|
+
features: '精华帖'
|
21
|
+
recent: '最新发布'
|
22
|
+
node: "频道"
|
23
|
+
new: "发帖"
|
24
|
+
edit: '编辑'
|
25
|
+
topics:
|
26
|
+
empty: '没有查到任何话题'
|
27
|
+
type_reply: '在这里输入你要参与回复的内容...'
|
28
|
+
reply_to: "回复"
|
29
|
+
submiting: '提交中,请稍后...'
|
7
30
|
submit: '提交'
|
8
31
|
cancel: '取消'
|
32
|
+
reply: '回复'
|
33
|
+
access_denied: "拒绝访问."
|
34
|
+
are_you_sure_to_delete: "确定要删除么?"
|
35
|
+
topic_created: "话题创建成功"
|
36
|
+
topic_updated: "话题修改成功"
|
37
|
+
topic_deleted: "话题删除成功"
|
38
|
+
reply_created: "回帖创建成功"
|
39
|
+
reply_deleted: "话题删除成功"
|
40
|
+
reply_updated: "话题修改成功"
|
41
|
+
node_created: "节点创建成功"
|
42
|
+
node_updated: "节点修改成功"
|
43
|
+
node_deleted: "节点删除成功"
|
data/config/routes.rb
CHANGED
@@ -4,10 +4,18 @@ module Homeland
|
|
4
4
|
module Generators
|
5
5
|
class ControllersGenerator < Rails::Generators::Base #:nodoc:
|
6
6
|
source_root File.expand_path("../../../../app/controllers", __FILE__)
|
7
|
-
desc "Used to copy Homeland's
|
7
|
+
desc "Used to copy Homeland's controllers to your application's controllers."
|
8
8
|
|
9
9
|
def copy_controllers
|
10
|
-
|
10
|
+
%w(nodes replies topics).each do |fname|
|
11
|
+
path = "#{Rails.root}/app/controllers/homeland/#{fname}_controller.rb"
|
12
|
+
if File.exists?(path)
|
13
|
+
puts "Skipping homeland/#{fname}_controller.rb creation, as file already exists!"
|
14
|
+
else
|
15
|
+
puts "Adding model (homeland/#{fname}_controller.rb)..."
|
16
|
+
template "homeland/#{fname}_controller.rb", path
|
17
|
+
end
|
18
|
+
end
|
11
19
|
end
|
12
20
|
end
|
13
21
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'rails/generators'
|
3
|
+
module Homeland
|
4
|
+
module Generators
|
5
|
+
class ModelsGenerator < Rails::Generators::Base #:nodoc:
|
6
|
+
source_root File.expand_path("../../../../app/models", __FILE__)
|
7
|
+
desc "Used to copy Homeland's models to your application's models."
|
8
|
+
|
9
|
+
def copy_models
|
10
|
+
%w(node reply topic).each do |fname|
|
11
|
+
path = "#{Rails.root}/app/models/homeland/#{fname}.rb"
|
12
|
+
if File.exists?(path)
|
13
|
+
puts "Skipping homeland/#{fname}.rb creation, as file already exists!"
|
14
|
+
else
|
15
|
+
puts "Adding model (homeland/#{fname}.rb)..."
|
16
|
+
template "homeland/#{fname}.rb", path
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/homeland.rb
CHANGED
@@ -3,6 +3,11 @@ require "homeland/engine"
|
|
3
3
|
require 'homeland/configuration'
|
4
4
|
require 'homeland/markup'
|
5
5
|
require 'homeland/action_view/will_paginate'
|
6
|
+
require 'homeland/concerns/markup'
|
7
|
+
require 'homeland/concerns/soft_delete'
|
8
|
+
require 'homeland/concerns/user_delegates'
|
9
|
+
require 'will_paginate'
|
10
|
+
require 'will_paginate/active_record'
|
6
11
|
require 'font-awesome-rails'
|
7
12
|
|
8
13
|
module Homeland
|
@@ -22,11 +27,16 @@ module Homeland
|
|
22
27
|
@config.user_profile_url_method = 'profile_url'
|
23
28
|
@config.authenticate_user_method = 'authenticate_user!'
|
24
29
|
@config.current_user_method = 'current_user'
|
30
|
+
@config.node_colors = ['#0E76BD', '#CEA9A9', '#e9dd00', '#222', '#F7941D', '#AB9364', '#76923C', '#33b']
|
25
31
|
@config
|
26
32
|
end
|
27
33
|
|
28
34
|
def configure(&block)
|
29
35
|
config.instance_exec(&block)
|
30
36
|
end
|
37
|
+
|
38
|
+
def node_colors
|
39
|
+
|
40
|
+
end
|
31
41
|
end
|
32
42
|
end
|
data/lib/homeland/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: homeland
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Lee
|
@@ -125,24 +125,30 @@ files:
|
|
125
125
|
- Rakefile
|
126
126
|
- app/assets/javascripts/homeland/application.coffee
|
127
127
|
- app/assets/javascripts/homeland/bootstrap.min.js
|
128
|
+
- app/assets/javascripts/homeland/homeland/nodes.js
|
128
129
|
- app/assets/javascripts/homeland/jquery.timeago.js
|
130
|
+
- app/assets/javascripts/homeland/nodes.js
|
129
131
|
- app/assets/javascripts/homeland/tether.min.js
|
130
132
|
- app/assets/stylesheets/homeland/application.scss
|
131
133
|
- app/assets/stylesheets/homeland/bootstrap-theme.scss
|
132
134
|
- app/assets/stylesheets/homeland/bootstrap.min.css
|
135
|
+
- app/assets/stylesheets/homeland/homeland/nodes.css
|
133
136
|
- app/assets/stylesheets/homeland/markdown.scss
|
134
137
|
- app/assets/stylesheets/homeland/tether.min.css
|
135
138
|
- app/controllers/homeland/application_controller.rb
|
139
|
+
- app/controllers/homeland/nodes_controller.rb
|
136
140
|
- app/controllers/homeland/replies_controller.rb
|
137
141
|
- app/controllers/homeland/topics_controller.rb
|
138
142
|
- app/helpers/homeland/application_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
|
143
143
|
- app/models/homeland/node.rb
|
144
144
|
- app/models/homeland/reply.rb
|
145
145
|
- app/models/homeland/topic.rb
|
146
|
+
- app/views/homeland/nodes/_form.html.erb
|
147
|
+
- app/views/homeland/nodes/_node.html.erb
|
148
|
+
- app/views/homeland/nodes/edit.html.erb
|
149
|
+
- app/views/homeland/nodes/index.html.erb
|
150
|
+
- app/views/homeland/nodes/new.html.erb
|
151
|
+
- app/views/homeland/nodes/update.html.erb
|
146
152
|
- app/views/homeland/replies/_reply.html.erb
|
147
153
|
- app/views/homeland/replies/edit.html.erb
|
148
154
|
- app/views/homeland/shared/_error_messages.html.erb
|
@@ -165,10 +171,14 @@ files:
|
|
165
171
|
- lib/generators/homeland/controllers_generator.rb
|
166
172
|
- lib/generators/homeland/i18n_generator.rb
|
167
173
|
- lib/generators/homeland/install_generator.rb
|
174
|
+
- lib/generators/homeland/models_generator.rb
|
168
175
|
- lib/generators/homeland/templates/config/initializers/homeland.rb
|
169
176
|
- lib/generators/homeland/views_generator.rb
|
170
177
|
- lib/homeland.rb
|
171
178
|
- lib/homeland/action_view/will_paginate.rb
|
179
|
+
- lib/homeland/concerns/markup.rb
|
180
|
+
- lib/homeland/concerns/soft_delete.rb
|
181
|
+
- lib/homeland/concerns/user_delegates.rb
|
172
182
|
- lib/homeland/configuration.rb
|
173
183
|
- lib/homeland/engine.rb
|
174
184
|
- lib/homeland/markup.rb
|