cortex-reaver 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/cortex_reaver +9 -2
- data/lib/cortex_reaver.rb +61 -14
- data/lib/cortex_reaver/config.rb +6 -1
- data/lib/cortex_reaver/controller/journal.rb +3 -1
- data/lib/cortex_reaver/controller/main.rb +10 -9
- data/lib/cortex_reaver/controller/page.rb +4 -2
- data/lib/cortex_reaver/controller/photograph.rb +3 -1
- data/lib/cortex_reaver/controller/project.rb +1 -1
- data/lib/cortex_reaver/controller/tag.rb +1 -1
- data/lib/cortex_reaver/helper/canonical.rb +1 -1
- data/lib/cortex_reaver/helper/crud.rb +7 -15
- data/lib/cortex_reaver/helper/navigation.rb +16 -0
- data/lib/cortex_reaver/helper/pages.rb +62 -0
- data/lib/cortex_reaver/helper/tags.rb +2 -3
- data/lib/cortex_reaver/migrations/009_mysql.rb +8 -4
- data/lib/cortex_reaver/migrations/010_pageparents.rb +17 -0
- data/lib/cortex_reaver/model/page.rb +68 -7
- data/lib/cortex_reaver/plugin.rb +4 -0
- data/lib/cortex_reaver/public/css/main.css +4 -1
- data/lib/cortex_reaver/public/images/tag.gif +0 -0
- data/lib/cortex_reaver/public/js/autocompletefb.js +125 -0
- data/lib/cortex_reaver/snippets/ramaze/dispatcher/file.rb +1 -1
- data/lib/cortex_reaver/support/canonical.rb +42 -38
- data/lib/cortex_reaver/support/renderer.rb +10 -72
- data/lib/cortex_reaver/support/sequenceable.rb +1 -1
- data/lib/cortex_reaver/support/tags.rb +17 -6
- data/lib/cortex_reaver/version.rb +2 -2
- data/lib/cortex_reaver/view/journals/journal.rhtml +4 -3
- data/lib/cortex_reaver/view/pages/form.rhtml +1 -0
- data/lib/cortex_reaver/view/pages/list.rhtml +3 -3
- data/lib/cortex_reaver/view/pages/show.rhtml +2 -8
- data/lib/cortex_reaver/view/photographs/show.rhtml +1 -1
- data/lib/cortex_reaver/view/projects/show.rhtml +3 -2
- data/lib/cortex_reaver/view/tags/list.rhtml +4 -3
- data/lib/cortex_reaver/view/tags/show.rhtml +2 -2
- data/lib/cortex_reaver/view/text_layout.rhtml +12 -9
- data/lib/cortex_reaver/view/users/list.rhtml +2 -2
- metadata +11 -6
@@ -11,34 +11,11 @@ module CortexReaver
|
|
11
11
|
require 'bluecloth'
|
12
12
|
require 'hpricot'
|
13
13
|
require 'coderay'
|
14
|
+
require 'sanitize'
|
14
15
|
|
15
|
-
# Elements to allow in sanitized HTML.
|
16
|
-
ELEMENTS = [
|
17
|
-
'a', 'b', 'blockquote', 'br', 'code', 'dd', 'dl', 'dt', 'em', 'i', 'li',
|
18
|
-
'ol', 'p', 'pre', 'small', 'strike', 'strong', 'sub', 'sup', 'u', 'ul'
|
19
|
-
]
|
20
|
-
|
21
|
-
# Attributes to allow in sanitized HTML elements.
|
22
|
-
ATTRIBUTES = {
|
23
|
-
'a' => ['href', 'title'],
|
24
|
-
'pre' => ['class']
|
25
|
-
}
|
26
|
-
|
27
|
-
# Attributes to add to sanitized HTML elements.
|
28
|
-
ADD_ATTRIBUTES = {
|
29
|
-
'a' => {'rel' => 'nofollow'}
|
30
|
-
}
|
31
|
-
|
32
|
-
# Attributes that should be checked for valid protocols.
|
33
|
-
PROTOCOL_ATTRIBUTES = {'a' => ['href']}
|
34
|
-
|
35
|
-
# Valid protocols.
|
36
|
-
PROTOCOLS = ['ftp', 'http', 'https', 'mailto']
|
37
|
-
|
38
|
-
|
39
16
|
# Renders plain text and html to html. If parse_code isn't true, only
|
40
17
|
# runs bluecloth on text *outside* any <code>...</code> blocks.
|
41
|
-
def bluecloth(text, parse_code = true)
|
18
|
+
def bluecloth(text, parse_code = true, increment_headers = true)
|
42
19
|
return text if text.nil?
|
43
20
|
|
44
21
|
if parse_code
|
@@ -57,7 +34,12 @@ module CortexReaver
|
|
57
34
|
|
58
35
|
if j != 0
|
59
36
|
# Convert to bluecloth
|
60
|
-
|
37
|
+
blue = BlueCloth::new(text[0..j]).to_html
|
38
|
+
if increment_headers
|
39
|
+
# Increment headings by two (h1, h2 are page/entry headers)
|
40
|
+
blue.gsub!(/<(\/)?h(\d)>/) { |match| "<#{$1}h#{$2.to_i + 2}>" }
|
41
|
+
end
|
42
|
+
out << blue
|
61
43
|
end
|
62
44
|
else
|
63
45
|
# Find end of code block
|
@@ -129,7 +111,7 @@ module CortexReaver
|
|
129
111
|
case prefix
|
130
112
|
when 'image'
|
131
113
|
# Create an inline image
|
132
|
-
"<img src=\"#{target.public_path}\" alt=\"#{name.gsub('"', '"')}\" title=\"#{name.gsub('"', '"')}\" />"
|
114
|
+
"<img class=\"attachment\" src=\"#{target.public_path}\" alt=\"#{name.gsub('"', '"')}\" title=\"#{name.gsub('"', '"')}\" />"
|
133
115
|
when 'url'
|
134
116
|
# Create a URL
|
135
117
|
target.public_path
|
@@ -171,54 +153,10 @@ module CortexReaver
|
|
171
153
|
end
|
172
154
|
end
|
173
155
|
|
174
|
-
# Stolen wholesale from Ryan's Thoth (http://github.com/rgrove/thoth/)
|
175
|
-
# Who adapted it from http://rid.onkulo.us/archives/14-sanitizing-html-with-ruby-and-hpricot
|
176
156
|
def sanitize_html(html)
|
177
157
|
return html if html.nil?
|
178
158
|
|
179
|
-
|
180
|
-
|
181
|
-
h.search('*').each do |el|
|
182
|
-
if el.elem?
|
183
|
-
tag = el.name.downcase
|
184
|
-
|
185
|
-
if ELEMENTS.include?(tag)
|
186
|
-
if ATTRIBUTES.has_key?(tag)
|
187
|
-
# Delete any attribute that isn't in the whitelist for this
|
188
|
-
# particular element.
|
189
|
-
el.raw_attributes.delete_if do |key, val|
|
190
|
-
!ATTRIBUTES[tag].include?(key.downcase)
|
191
|
-
end
|
192
|
-
|
193
|
-
# Check applicable attributes for valid protocols.
|
194
|
-
if PROTOCOL_ATTRIBUTES.has_key?(tag)
|
195
|
-
el.raw_attributes.delete_if do |key, val|
|
196
|
-
PROTOCOL_ATTRIBUTES[tag].include?(key.downcase) &&
|
197
|
-
(!(val.downcase =~ /^([^:]+)\:/) || !PROTOCOLS.include?($1))
|
198
|
-
end
|
199
|
-
end
|
200
|
-
else
|
201
|
-
# Delete all attributes from elements with no whitelisted
|
202
|
-
# attributes.
|
203
|
-
el.raw_attributes = {}
|
204
|
-
end
|
205
|
-
|
206
|
-
# Add required attributes.
|
207
|
-
if ADD_ATTRIBUTES.has_key?(tag)
|
208
|
-
el.raw_attributes.merge!(ADD_ATTRIBUTES[tag])
|
209
|
-
end
|
210
|
-
else
|
211
|
-
# Delete any element that isn't in the whitelist.
|
212
|
-
el.parent.replace_child(el, el.children)
|
213
|
-
end
|
214
|
-
elsif el.comment?
|
215
|
-
# Delete all comments, since it's possible to make IE execute JS
|
216
|
-
# within conditional comments.
|
217
|
-
el.swap('')
|
218
|
-
end
|
219
|
-
end
|
220
|
-
|
221
|
-
h.to_s
|
159
|
+
Sanitize.clean(html, Sanitize::Config::BASIC)
|
222
160
|
end
|
223
161
|
|
224
162
|
# Default renderer
|
@@ -235,7 +235,7 @@ module CortexReaver
|
|
235
235
|
# Returns a url for this record, viewed in an absolute window. TODO: handle non-default window sizes.
|
236
236
|
def absolute_window_url(size = self.class.window_size)
|
237
237
|
page = (Float(position) / size).floor
|
238
|
-
self.class.url + '/page/' + page.to_s + '#' + self.class.to_s.underscore +
|
238
|
+
self.class.url + '/page/' + page.to_s + '#' + self.class.to_s.demodulize.underscore +
|
239
239
|
'_' + send(self.class.canonical_name_attr)
|
240
240
|
end
|
241
241
|
|
@@ -32,8 +32,13 @@ module CortexReaver
|
|
32
32
|
remove_all_tags
|
33
33
|
end
|
34
34
|
|
35
|
+
# Returns all models with ANY of the following tags
|
36
|
+
def self.tagged_with_any_of(tags)
|
37
|
+
tagged_with(tags, false)
|
38
|
+
end
|
39
|
+
|
35
40
|
# Returns all models with ALL the following tags:
|
36
|
-
def self.tagged_with(tags)
|
41
|
+
def self.tagged_with(tags, all=true)
|
37
42
|
# Find map between this model and tags, e.g. pages_tags
|
38
43
|
map = [table_name.to_s, 'tags'].sort.join('_').to_sym
|
39
44
|
|
@@ -48,11 +53,17 @@ module CortexReaver
|
|
48
53
|
# to contain only rows with one of our interesting tags.
|
49
54
|
#
|
50
55
|
# Man, don't you wish MySQL had intersect?
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
+
if all
|
57
|
+
filter(:id =>
|
58
|
+
CortexReaver.db[map].filter(:tag_id => ids).group(own_id).having(
|
59
|
+
"count(*) = #{ids.size}"
|
60
|
+
).select(own_id)
|
61
|
+
)
|
62
|
+
else
|
63
|
+
filter(:id =>
|
64
|
+
CortexReaver.db[map].filter(:tag_id => ids).select(own_id)
|
65
|
+
)
|
66
|
+
end
|
56
67
|
end
|
57
68
|
end
|
58
69
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module CortexReaver
|
2
2
|
APP_NAME = 'Cortex Reaver'
|
3
|
-
APP_VERSION = '0.0.
|
3
|
+
APP_VERSION = '0.0.7'
|
4
4
|
APP_AUTHOR = 'aphyr'
|
5
5
|
APP_EMAIL = 'aphyr@aphyr.com'
|
6
6
|
APP_URL = 'http://aphyr.com'
|
7
|
-
APP_COPYRIGHT = 'Copyright (c)
|
7
|
+
APP_COPYRIGHT = 'Copyright (c) 2009 aphyr <aphyr@aphyr.com>. All rights reserved.'
|
8
8
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="journal text-entry">
|
1
|
+
<div class="journal text-entry <%= @journal.tags.map {|t| 'tagged_' + t.name}.join(' ')%>">
|
2
2
|
<h2><a id="journal_<%= @journal.name %>" href="<%= @journal.url %>"><%=h @journal.title %></a></h2>
|
3
3
|
<div class="byline">
|
4
4
|
<span class="written">
|
@@ -8,6 +8,7 @@
|
|
8
8
|
</div>
|
9
9
|
<div class="body">
|
10
10
|
<%= @journal.body_cache %>
|
11
|
+
<div class="clear"></div>
|
11
12
|
</div>
|
12
13
|
<div class="footer">
|
13
14
|
<ul class="actions">
|
@@ -16,11 +17,11 @@
|
|
16
17
|
<%= @journal.comment_count %> <%= @journal.comment_count == 1 ? 'comment' : 'comments' %>
|
17
18
|
</a></li>
|
18
19
|
<% if admin? %>
|
19
|
-
<li><a class="edit-link" href="/journals/edit/<%= @journal.
|
20
|
+
<li><a class="edit-link" href="/journals/edit/<%= @journal.id %>">
|
20
21
|
<img src="/images/edit.gif" class="icon" alt="edit" /> Edit
|
21
22
|
</a></li>
|
22
23
|
<li >
|
23
|
-
<%= A '<img src="/images/delete.gif" class="icon" alt="delete" /> Delete', :href => "/journals/delete/#{@journal.
|
24
|
+
<%= A '<img src="/images/delete.gif" class="icon" alt="delete" /> Delete', :href => "/journals/delete/#{@journal.id}", :onclick => "return confirm('Are you sure you want to delete this journal?');" %>
|
24
25
|
</li>
|
25
26
|
<% end %>
|
26
27
|
</ul>
|
@@ -3,6 +3,7 @@
|
|
3
3
|
<%= errors_on @page %>
|
4
4
|
|
5
5
|
<form class="edit-form" action="<%= Rs(@form_action) %>" method="post" enctype="multipart/form-data">
|
6
|
+
<%= page_select 'page_id', :default_id => @page.page_id, :skip_id => @page.id, :description => 'Parent page' %>
|
6
7
|
<%= form_p 'title', :model => @page %>
|
7
8
|
<%= live_name_field @page %>
|
8
9
|
<%= live_tags_field @page %>
|
@@ -11,13 +11,13 @@
|
|
11
11
|
</tr>
|
12
12
|
</thead>
|
13
13
|
<tbody>
|
14
|
-
<% @pages.each do |page| %>
|
14
|
+
<% @pages.all.each do |page| %>
|
15
15
|
<tr>
|
16
16
|
<td><%= A(page.name, :href => page.url) %></td>
|
17
17
|
<td><%= page.title %></td>
|
18
18
|
<% if admin? %>
|
19
|
-
<td><a href="/pages/edit/<%= page.
|
20
|
-
<td><%= A 'Delete', :href => "/
|
19
|
+
<td><a href="/pages/edit/<%= page.id %>">Edit</a></td>
|
20
|
+
<td><%= A 'Delete', :href => "/pages/delete/#{page.id}", :onclick => "return confirm('Are you sure you want to delete this page?');" %></td>
|
21
21
|
<% end %>
|
22
22
|
</tr>
|
23
23
|
<% end %>
|
@@ -1,12 +1,6 @@
|
|
1
|
-
|
2
|
-
<ul class="actions">
|
3
|
-
<li><a href="/pages/edit/<%= @page.name %>">Edit</a></li>
|
4
|
-
<li><a href="/pages/delete/<%= @page.name %>">Delete</a></li>
|
5
|
-
</ul>
|
6
|
-
<% end %>
|
7
|
-
|
8
|
-
<div class="page" id="page_<%= @page.name %>">
|
1
|
+
<div class="page <%= @page.tags.map {|t| 'tagged_' + t.name}.join(' ')%>" id="page_<%= @page.name %>">
|
9
2
|
<div class="body">
|
10
3
|
<%= @page.body_cache %>
|
4
|
+
<div class="clear"></div>
|
11
5
|
</div>
|
12
6
|
</div>
|
@@ -8,6 +8,7 @@
|
|
8
8
|
</div>
|
9
9
|
<div class="body">
|
10
10
|
<%= @project.body_cache %>
|
11
|
+
<div class="clear"></div>
|
11
12
|
</div>
|
12
13
|
<%= attachment_list @project %>
|
13
14
|
<div class="footer">
|
@@ -17,10 +18,10 @@
|
|
17
18
|
<%= @project.comment_count %> <%= @project.comment_count == 1 ? 'comment' : 'comments' %>
|
18
19
|
</a></li>
|
19
20
|
<% if admin? %>
|
20
|
-
<li><a href="/projects/edit/<%= @project.
|
21
|
+
<li><a href="/projects/edit/<%= @project.id %>">
|
21
22
|
<img src="/images/edit.gif" class="icon" alt="edit" /> Edit
|
22
23
|
</a></li>
|
23
|
-
<li><%= A '<img src="/images/delete.gif" class="icon" alt="delete" /> Delete', :href => "/projects/delete/#{@project.
|
24
|
+
<li><%= A '<img src="/images/delete.gif" class="icon" alt="delete" /> Delete', :href => "/projects/delete/#{@project.id}", :onclick => "return confirm('Are you sure you want to delete this project?');" %></li>
|
24
25
|
<% end %>
|
25
26
|
</ul>
|
26
27
|
</div>
|
@@ -12,13 +12,14 @@
|
|
12
12
|
</tr>
|
13
13
|
</thead>
|
14
14
|
<tbody>
|
15
|
-
<%
|
15
|
+
<% top_tag = @tags.order(:count).reverse.first %>
|
16
|
+
<% max_count = top_tag ? top_tag.count : 1 %>
|
16
17
|
<% @tags.each do |tag| %>
|
17
18
|
<tr>
|
18
19
|
<td class="title"><%= A(tag.title, :href => tag.url) %></td>
|
19
20
|
<% if admin? %>
|
20
|
-
<td><a href="/tags/edit/<%= tag.
|
21
|
-
<td><%= A 'Delete', :href => "/tags/delete/#{tag.
|
21
|
+
<td><a href="/tags/edit/<%= tag.id %>">Edit</a></td>
|
22
|
+
<td><%= A 'Delete', :href => "/tags/delete/#{tag.id}", :onclick => "return confirm('Are you sure you want to delete this tag?');" %></td>
|
22
23
|
<% end %>
|
23
24
|
<td class="count" style="width: <%= admin? ? 60 : 80 %>%"><div class="percent-bar" style="width: <%= tag.count.to_f / max_count * 100 %>%"><%= tag.count %></div></td>
|
24
25
|
</tr>
|
@@ -41,10 +41,10 @@
|
|
41
41
|
<div class="footer">
|
42
42
|
<ul class="actions">
|
43
43
|
<% if admin? and @tags.size == 1 %>
|
44
|
-
<li><a href="/tags/edit/<%= @tags.first.
|
44
|
+
<li><a href="/tags/edit/<%= @tags.first.id %>">
|
45
45
|
<img src="/images/edit.gif" class="icon" alt="comment" /> Edit
|
46
46
|
</a></li>
|
47
|
-
<li><%= A '<img src="/images/delete.gif" class="icon" alt="delete" /> Delete', :href => "/tags/delete/#{@tags.first.
|
47
|
+
<li><%= A '<img src="/images/delete.gif" class="icon" alt="delete" /> Delete', :href => "/tags/delete/#{@tags.first.id}", :onclick => "return confirm('Are you sure you want to delete this tag?');" %></li>
|
48
48
|
<% end %>
|
49
49
|
</ul>
|
50
50
|
</div>
|
@@ -30,22 +30,25 @@
|
|
30
30
|
<script type="text/javascript" src="/js/jquery.js"></script>
|
31
31
|
<script type="text/javascript" defer="defer" src="/js/cookie.js"></script>
|
32
32
|
<script type="text/javascript" defer="defer" src="/js/admin.js"></script>
|
33
|
+
<% if admin? %>
|
34
|
+
<script type="text/javascript" defer="defer" src="/js/autocompletefb.js"></script>
|
35
|
+
<% end %>
|
33
36
|
|
34
37
|
<div id="top">
|
35
38
|
<a href="/">
|
36
|
-
<img id="header" src="/images/header.png" alt="
|
39
|
+
<img id="header" src="/images/header.png" alt="<%= attr_h CortexReaver.config[:site][:name] %>" />
|
37
40
|
</a>
|
38
41
|
</div>
|
39
42
|
|
40
43
|
<div id="sections">
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
<%= section_nav([
|
45
|
+
['Journals', '/journals'],
|
46
|
+
['Photographs', '/photographs'],
|
47
|
+
['Projects', '/projects'],
|
48
|
+
['Tags', '/tags'],
|
49
|
+
['Comments', '/comments'],
|
50
|
+
['About', '/about']
|
51
|
+
]) %>
|
49
52
|
</div>
|
50
53
|
|
51
54
|
<div id="middle">
|
@@ -20,12 +20,12 @@
|
|
20
20
|
<td><%= h user.name %></td>
|
21
21
|
<% if admin? %>
|
22
22
|
<td>
|
23
|
-
<a class="edit-link" href="/users/edit/<%= user.
|
23
|
+
<a class="edit-link" href="/users/edit/<%= user.id %>">
|
24
24
|
<img src="/images/edit.gif" class="icon" alt="edit" /> Edit
|
25
25
|
</a>
|
26
26
|
</td>
|
27
27
|
<td>
|
28
|
-
<%= A '<img src="/images/delete.gif" class="icon" alt="delete" /> Delete', :href => "/users/delete/#{user.
|
28
|
+
<%= A '<img src="/images/delete.gif" class="icon" alt="delete" /> Delete', :href => "/users/delete/#{user.id}", :onclick => "return confirm('Are you sure you want to delete this user?');" %>
|
29
29
|
</td>
|
30
30
|
<% end %>
|
31
31
|
</tr>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cortex-reaver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- aphyr
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-03-18 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: "
|
23
|
+
version: "2009.02"
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: builder
|
@@ -43,14 +43,14 @@ dependencies:
|
|
43
43
|
version: 2.6.2
|
44
44
|
version:
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
|
-
name:
|
46
|
+
name: sanitize
|
47
47
|
type: :runtime
|
48
48
|
version_requirement:
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - ~>
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 1.0.6
|
54
54
|
version:
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: BlueCloth
|
@@ -70,7 +70,7 @@ dependencies:
|
|
70
70
|
requirements:
|
71
71
|
- - ~>
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: 2.
|
73
|
+
version: 2.11.0
|
74
74
|
version:
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: thin
|
@@ -124,6 +124,7 @@ files:
|
|
124
124
|
- lib/cortex_reaver/helper/photographs.rb
|
125
125
|
- lib/cortex_reaver/helper/date.rb
|
126
126
|
- lib/cortex_reaver/helper/auth.rb
|
127
|
+
- lib/cortex_reaver/helper/pages.rb
|
127
128
|
- lib/cortex_reaver/helper/workflow.rb
|
128
129
|
- lib/cortex_reaver/helper/navigation.rb
|
129
130
|
- lib/cortex_reaver/helper/error.rb
|
@@ -203,6 +204,7 @@ files:
|
|
203
204
|
- lib/cortex_reaver/view/blank_layout.rhtml
|
204
205
|
- lib/cortex_reaver/view/documentation
|
205
206
|
- lib/cortex_reaver/view/documentation/formatting.rhtml
|
207
|
+
- lib/cortex_reaver/plugin.rb
|
206
208
|
- lib/cortex_reaver/model
|
207
209
|
- lib/cortex_reaver/model/comment.rb
|
208
210
|
- lib/cortex_reaver/model/project.rb
|
@@ -228,6 +230,7 @@ files:
|
|
228
230
|
- lib/cortex_reaver/public/images/border_bottom_right.png
|
229
231
|
- lib/cortex_reaver/public/images/dark_trans.png
|
230
232
|
- lib/cortex_reaver/public/images/border_bottom_left.png
|
233
|
+
- lib/cortex_reaver/public/images/tag.gif
|
231
234
|
- lib/cortex_reaver/public/images/comment.gif
|
232
235
|
- lib/cortex_reaver/public/images/body.png
|
233
236
|
- lib/cortex_reaver/public/images/border_top_right.png
|
@@ -237,6 +240,7 @@ files:
|
|
237
240
|
- lib/cortex_reaver/public/images/rss-xml-icon.png
|
238
241
|
- lib/cortex_reaver/public/js
|
239
242
|
- lib/cortex_reaver/public/js/jquery.js
|
243
|
+
- lib/cortex_reaver/public/js/autocompletefb.js
|
240
244
|
- lib/cortex_reaver/public/js/admin.js
|
241
245
|
- lib/cortex_reaver/public/js/photo.js
|
242
246
|
- lib/cortex_reaver/public/js/cookie.js
|
@@ -264,6 +268,7 @@ files:
|
|
264
268
|
- lib/cortex_reaver/migrations/005_projects.rb
|
265
269
|
- lib/cortex_reaver/migrations/006_tags.rb
|
266
270
|
- lib/cortex_reaver/migrations/008_config.rb
|
271
|
+
- lib/cortex_reaver/migrations/010_pageparents.rb
|
267
272
|
- lib/cortex_reaver/migrations/007_comments.rb
|
268
273
|
- lib/cortex_reaver/migrations/009_mysql.rb
|
269
274
|
- lib/cortex_reaver/migrations/001_users.rb
|