cortex-reaver 0.0.3 → 0.0.4
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.
- data/bin/cortex_reaver +75 -0
- data/lib/cortex_reaver.rb +11 -9
- data/lib/cortex_reaver/config.rb +7 -2
- data/lib/cortex_reaver/controller/comment.rb +7 -1
- data/lib/cortex_reaver/controller/documentation.rb +10 -0
- data/lib/cortex_reaver/controller/journal.rb +4 -1
- data/lib/cortex_reaver/controller/main.rb +17 -1
- data/lib/cortex_reaver/controller/photograph.rb +3 -1
- data/lib/cortex_reaver/controller/project.rb +4 -1
- data/lib/cortex_reaver/controller/tag.rb +5 -1
- data/lib/cortex_reaver/helper/crud.rb +5 -0
- data/lib/cortex_reaver/helper/feeds.rb +12 -4
- data/lib/cortex_reaver/model/page.rb +1 -1
- data/lib/cortex_reaver/model/project.rb +8 -4
- data/lib/cortex_reaver/version.rb +1 -1
- data/lib/cortex_reaver/view/documentation/formatting.rhtml +64 -0
- data/lib/cortex_reaver/view/journals/form.rhtml +1 -1
- data/lib/proto/cortex_reaver.yaml +2 -3
- metadata +8 -4
data/bin/cortex_reaver
CHANGED
@@ -33,6 +33,11 @@ module CortexReaver
|
|
33
33
|
self.config_file = file
|
34
34
|
end
|
35
35
|
|
36
|
+
o.on '-d', '--dump file', 'Dump database' do |file|
|
37
|
+
@action = :dump
|
38
|
+
@values[:dump_file] = file
|
39
|
+
end
|
40
|
+
|
36
41
|
o.on '-f', '--force', 'Just do it' do
|
37
42
|
@values[:force] = true
|
38
43
|
end
|
@@ -49,6 +54,12 @@ module CortexReaver
|
|
49
54
|
@action = :stop
|
50
55
|
end
|
51
56
|
|
57
|
+
o.on '-l', '--load file', 'Load database' do |file|
|
58
|
+
@action = :load
|
59
|
+
@values[:load_file] = file
|
60
|
+
end
|
61
|
+
|
62
|
+
|
52
63
|
o.on '-m', '--migrate [version]',
|
53
64
|
'Migrate the database to schema version, or to the latest version' do |version|
|
54
65
|
@action = :migrate
|
@@ -73,6 +84,70 @@ module CortexReaver
|
|
73
84
|
|
74
85
|
# Main
|
75
86
|
case @action
|
87
|
+
when :dump
|
88
|
+
# Dump the database to disk
|
89
|
+
|
90
|
+
# Connect to current DB
|
91
|
+
reload_config
|
92
|
+
setup_db false
|
93
|
+
current_version = Sequel::Migrator.get_current_migration_version(db)
|
94
|
+
|
95
|
+
puts "Using database #{config[:database][:host]}/#{config[:database][:database]}."
|
96
|
+
|
97
|
+
# Prepare dump file
|
98
|
+
file = @values[:dump_file]
|
99
|
+
if File.file? file
|
100
|
+
exit unless confirm("Overwrite #{File.expand_path(file)} with current Cortex Reaver database?")
|
101
|
+
FileUtils.rm file
|
102
|
+
end
|
103
|
+
|
104
|
+
# Connect to dump DB
|
105
|
+
dump = Sequel.connect "sqlite:////#{File.expand_path(file)}"
|
106
|
+
Sequel::Migrator.apply dump, LIB_DIR/:migrations, current_version
|
107
|
+
|
108
|
+
# Copy tables
|
109
|
+
db.tables.each do |table|
|
110
|
+
puts "Table #{table} (#{db[table].count} rows)..."
|
111
|
+
dump_table = dump[table]
|
112
|
+
db[table].each do |row|
|
113
|
+
dump_table << row
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
puts "Dumped database to #{file}."
|
118
|
+
|
119
|
+
when :load
|
120
|
+
# Load an SQLite database from disk.
|
121
|
+
|
122
|
+
# Connect to dump DB
|
123
|
+
file = @values[:load_file]
|
124
|
+
dump = Sequel.connect "sqlite:////#{File.expand_path(file)}"
|
125
|
+
current_version = Sequel::Migrator.get_current_migration_version(dump)
|
126
|
+
|
127
|
+
# Connect to current DB
|
128
|
+
reload_config
|
129
|
+
setup_db false
|
130
|
+
puts "Using database #{config[:database][:host]}/#{config[:database][:database]}."
|
131
|
+
|
132
|
+
unless confirm("Overwrite current database with #{File.expand_path(file)}?")
|
133
|
+
exit
|
134
|
+
end
|
135
|
+
|
136
|
+
# Drop current migrations and move to the dump's version
|
137
|
+
system($0, '-f', '-m', '0')
|
138
|
+
Sequel::Migrator.apply db, LIB_DIR/:migrations, current_version
|
139
|
+
|
140
|
+
# Copy tables
|
141
|
+
dump.tables.each do |table|
|
142
|
+
puts "Table #{table} (#{dump[table].count} rows)..."
|
143
|
+
db_table = db[table]
|
144
|
+
dump[table].each do |row|
|
145
|
+
db_table << row
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
puts "Database #{file} loaded."
|
150
|
+
|
76
151
|
when :status
|
77
152
|
# Make a quick HTTP request to see how we're doing.
|
78
153
|
require 'open-uri'
|
data/lib/cortex_reaver.rb
CHANGED
@@ -46,6 +46,7 @@ module CortexReaver
|
|
46
46
|
# Tell Ramaze where to find public files and views
|
47
47
|
Ramaze::Global.public_root = LIB_DIR/:public
|
48
48
|
Ramaze::Global.view_root = config[:view_root]
|
49
|
+
Ramaze::Global.compile = config[:compile_views]
|
49
50
|
|
50
51
|
# Check directories
|
51
52
|
if config[:public_root] and not File.directory? config[:public_root]
|
@@ -127,7 +128,7 @@ module CortexReaver
|
|
127
128
|
begin
|
128
129
|
stop
|
129
130
|
# Wait for Cortex Reaver to finish, and for the port to become available.
|
130
|
-
sleep
|
131
|
+
sleep 2
|
131
132
|
ensure
|
132
133
|
start
|
133
134
|
end
|
@@ -144,6 +145,7 @@ module CortexReaver
|
|
144
145
|
|
145
146
|
# Run Ramaze
|
146
147
|
Ramaze.startup(
|
148
|
+
:force => true,
|
147
149
|
:adapter => config[:adapter],
|
148
150
|
:host => config[:host],
|
149
151
|
:port => config[:port]
|
@@ -212,14 +214,14 @@ module CortexReaver
|
|
212
214
|
setup
|
213
215
|
|
214
216
|
# Check port availability
|
215
|
-
begin
|
216
|
-
socket = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
|
217
|
-
sockaddr = Socket.pack_sockaddr_in(*[config[:port], config[:host]])
|
218
|
-
socket.bind(sockaddr)
|
219
|
-
socket.close
|
220
|
-
rescue => e
|
221
|
-
abort "Unable to bind to port #{config[:host]}:#{config[:port]} (#{e})"
|
222
|
-
end
|
217
|
+
# begin
|
218
|
+
# socket = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
|
219
|
+
# sockaddr = Socket.pack_sockaddr_in(*[config[:port], config[:host]])
|
220
|
+
# socket.bind(sockaddr)
|
221
|
+
# socket.close
|
222
|
+
# rescue => e
|
223
|
+
# abort "Unable to bind to port #{config[:host]}:#{config[:port]} (#{e})"
|
224
|
+
# end
|
223
225
|
|
224
226
|
if config[:daemon]
|
225
227
|
fork do
|
data/lib/cortex_reaver/config.rb
CHANGED
@@ -14,11 +14,13 @@ module CortexReaver
|
|
14
14
|
# :mode - Cortex Reaver mode: either :development or :production
|
15
15
|
# :daemon - Whether to daemonize or not. Defaults to :true if :mode
|
16
16
|
# is :production, otherwise nil.
|
17
|
-
# :adapter - The Ramaze adapter name (default '
|
17
|
+
# :adapter - The Ramaze adapter name (default 'thin')
|
18
18
|
# :host - Host to bind to
|
19
19
|
# :port - Port to bind to (default 7000)
|
20
20
|
# :pidfile - Process ID file for this server. Defaults to
|
21
21
|
# HOME_DIR/cortex_reaver_<host>_<port>.pid
|
22
|
+
# :compile_views - Whether to cache compiled view templates. Defaults to
|
23
|
+
# true in production mode.
|
22
24
|
#
|
23
25
|
# Site configuration options
|
24
26
|
# :site = {
|
@@ -37,7 +39,7 @@ module CortexReaver
|
|
37
39
|
self[:view_root] = File.join(CortexReaver::LIB_DIR, 'view')
|
38
40
|
self[:log_root] = File.join(CortexReaver::HOME_DIR, 'log')
|
39
41
|
self[:mode] = :production
|
40
|
-
self[:adapter] = '
|
42
|
+
self[:adapter] = 'thin'
|
41
43
|
self[:host] = nil
|
42
44
|
self[:port] = 7000
|
43
45
|
|
@@ -62,6 +64,9 @@ module CortexReaver
|
|
62
64
|
|
63
65
|
# Daemon mode
|
64
66
|
self[:daemon] ||= true if self[:mode] == :production
|
67
|
+
|
68
|
+
# Compile views
|
69
|
+
self[:compile_views] ||= true if self[:mode] == :production
|
65
70
|
end
|
66
71
|
end
|
67
72
|
end
|
@@ -8,7 +8,8 @@ module CortexReaver
|
|
8
8
|
template :new, :form
|
9
9
|
engine :Erubis
|
10
10
|
|
11
|
-
helper :
|
11
|
+
helper :cache,
|
12
|
+
:error,
|
12
13
|
:auth,
|
13
14
|
:form,
|
14
15
|
:workflow,
|
@@ -18,6 +19,8 @@ module CortexReaver
|
|
18
19
|
:crud,
|
19
20
|
:feeds
|
20
21
|
|
22
|
+
cache :index, :ttl => 60
|
23
|
+
|
21
24
|
on_save do |comment, request|
|
22
25
|
comment.title = request[:title]
|
23
26
|
comment.body = request[:body]
|
@@ -102,6 +105,9 @@ module CortexReaver
|
|
102
105
|
# Save
|
103
106
|
raise unless @comment.save
|
104
107
|
|
108
|
+
# Clear action cache
|
109
|
+
action_cache.delete '/index'
|
110
|
+
|
105
111
|
flash[:notice] = "Your comment (<a href=\"##{@comment.url.gsub(/.*#/, '')}\">#{h @comment.title}</a>) has been posted."
|
106
112
|
redirect @comment.parent.url
|
107
113
|
end
|
@@ -9,7 +9,8 @@ module CortexReaver
|
|
9
9
|
template :new, :form
|
10
10
|
engine :Erubis
|
11
11
|
|
12
|
-
helper :
|
12
|
+
helper :cache,
|
13
|
+
:error,
|
13
14
|
:auth,
|
14
15
|
:form,
|
15
16
|
:workflow,
|
@@ -21,6 +22,8 @@ module CortexReaver
|
|
21
22
|
:attachments,
|
22
23
|
:feeds
|
23
24
|
|
25
|
+
cache :index, :ttl => 60
|
26
|
+
|
24
27
|
on_second_save do |journal, request|
|
25
28
|
journal.tags = request[:tags]
|
26
29
|
add_attachments(journal, request[:attachments])
|
@@ -4,9 +4,20 @@ module CortexReaver
|
|
4
4
|
class MainController < Ramaze::Controller
|
5
5
|
map '/'
|
6
6
|
layout '/text_layout'
|
7
|
-
helper :
|
7
|
+
helper :cache,
|
8
|
+
:workflow,
|
9
|
+
:auth,
|
10
|
+
:error,
|
11
|
+
:navigation,
|
12
|
+
:date,
|
13
|
+
:tags,
|
14
|
+
:form,
|
15
|
+
:feeds
|
16
|
+
|
8
17
|
engine :Erubis
|
9
18
|
|
19
|
+
cache :index, :ttl => 60
|
20
|
+
|
10
21
|
# the index action is called automatically when no other action is specified
|
11
22
|
def index(id = nil)
|
12
23
|
if id and @page = Page.get(id)
|
@@ -44,6 +55,11 @@ module CortexReaver
|
|
44
55
|
end
|
45
56
|
end
|
46
57
|
|
58
|
+
# TODO: We don't implement a collective ATOM feed. Yet.
|
59
|
+
def atom
|
60
|
+
error_404
|
61
|
+
end
|
62
|
+
|
47
63
|
private
|
48
64
|
|
49
65
|
# the string returned at the end of the function is used as the html body
|
@@ -12,7 +12,8 @@ module CortexReaver
|
|
12
12
|
template :new, :form
|
13
13
|
engine :Erubis
|
14
14
|
|
15
|
-
helper :
|
15
|
+
helper :cache,
|
16
|
+
:error,
|
16
17
|
:auth,
|
17
18
|
:form,
|
18
19
|
:workflow,
|
@@ -25,6 +26,7 @@ module CortexReaver
|
|
25
26
|
:photographs,
|
26
27
|
:feeds
|
27
28
|
|
29
|
+
cache :index, :ttl => 60
|
28
30
|
|
29
31
|
on_save do |photograph, request|
|
30
32
|
photograph.title = request[:title]
|
@@ -8,7 +8,8 @@ module CortexReaver
|
|
8
8
|
template :new, :form
|
9
9
|
engine :Erubis
|
10
10
|
|
11
|
-
helper :
|
11
|
+
helper :cache,
|
12
|
+
:error,
|
12
13
|
:auth,
|
13
14
|
:form,
|
14
15
|
:workflow,
|
@@ -20,6 +21,8 @@ module CortexReaver
|
|
20
21
|
:attachments,
|
21
22
|
:feeds
|
22
23
|
|
24
|
+
cache :index, :ttl => 60
|
25
|
+
|
23
26
|
on_second_save do |project, request|
|
24
27
|
project.tags = request[:tags]
|
25
28
|
add_attachments(project, request[:attachments])
|
@@ -8,7 +8,8 @@ module CortexReaver
|
|
8
8
|
template :new, :form
|
9
9
|
engine :Erubis
|
10
10
|
|
11
|
-
helper :
|
11
|
+
helper :cache,
|
12
|
+
:error,
|
12
13
|
:auth,
|
13
14
|
:form,
|
14
15
|
:workflow,
|
@@ -16,6 +17,9 @@ module CortexReaver
|
|
16
17
|
:canonical,
|
17
18
|
:crud
|
18
19
|
|
20
|
+
cache :index, :ttl => 60
|
21
|
+
cache :show, :ttl => 60
|
22
|
+
|
19
23
|
on_save do |tag, request|
|
20
24
|
tag.title = request[:title]
|
21
25
|
tag.name = Tag.canonicalize request[:name], tag.id
|
@@ -224,6 +224,11 @@ module Ramaze
|
|
224
224
|
raise unless @model.save
|
225
225
|
end
|
226
226
|
|
227
|
+
# Invalidate caches
|
228
|
+
if respond_to? :action_cache
|
229
|
+
action_cache.clear
|
230
|
+
end
|
231
|
+
|
227
232
|
flash[:notice] = "Updated #{model_class.to_s.demodulize.downcase} #{h @model.to_s}."
|
228
233
|
redirect @model.url
|
229
234
|
end
|
@@ -4,7 +4,7 @@ module Ramaze
|
|
4
4
|
# lists that controller's recent elements by yielding a block with
|
5
5
|
# each record and a builder object for the feed.
|
6
6
|
#
|
7
|
-
# Requires crud.
|
7
|
+
# Requires crud. Will attempt to cache feeds if the cache helper is available.
|
8
8
|
module Feeds
|
9
9
|
require 'builder'
|
10
10
|
|
@@ -19,6 +19,10 @@ module Ramaze
|
|
19
19
|
def self.for_feed_block
|
20
20
|
@for_feed_block
|
21
21
|
end
|
22
|
+
|
23
|
+
if base.respond_to? :cache
|
24
|
+
cache :atom, :ttl => 300
|
25
|
+
end
|
22
26
|
end
|
23
27
|
end
|
24
28
|
|
@@ -28,7 +32,7 @@ module Ramaze
|
|
28
32
|
|
29
33
|
private
|
30
34
|
|
31
|
-
def atom_builder(params = {:model_class => self.
|
35
|
+
def atom_builder(params = {:model_class => self.class.const_get('MODEL')})
|
32
36
|
response['Content-Type'] = 'application/atom+xml'
|
33
37
|
|
34
38
|
x = Builder::XmlMarkup.new(:indent => 2)
|
@@ -41,11 +45,15 @@ module Ramaze
|
|
41
45
|
recent = params[:recent] || model_class.recent
|
42
46
|
|
43
47
|
# Find update time
|
44
|
-
|
48
|
+
if first = recent.first
|
49
|
+
updated = first.updated_on.xmlschema
|
50
|
+
else
|
51
|
+
updated = Time.now.xmlschema
|
52
|
+
end
|
45
53
|
|
46
54
|
x.feed(:xmlns => 'http://www.w3.org/2005/Atom') do
|
47
55
|
x.id = model_class.url
|
48
|
-
x.title CortexReaver.config
|
56
|
+
x.title "#{CortexReaver.config[:name]} - #{model_class.to_s.demodulize.titleize}"
|
49
57
|
# x.subtitle
|
50
58
|
x.updated updated
|
51
59
|
x.link :href => model_class.url
|
@@ -73,7 +73,7 @@ module CortexReaver
|
|
73
73
|
:title => 'About Cortex Reaver',
|
74
74
|
:body => <<EOF
|
75
75
|
<p>Cortex Reaver is a blog engine designed for managing photographs, projects,
|
76
|
-
journal entries, and more, with support for tags
|
76
|
+
journal entries, and more, with support for tags and comments. Cortex
|
77
77
|
Reaver is written in <a href="http://ruby-lang.org">Ruby</a> using <a
|
78
78
|
href="http://ramaze.net">Ramaze</a>, uses the <a
|
79
79
|
href="http://sequel.rubyforge.org/">Sequel</a> database toolkit and the <a
|
@@ -1,9 +1,5 @@
|
|
1
1
|
module CortexReaver
|
2
2
|
class Project < Sequel::Model(:projects)
|
3
|
-
def self.url
|
4
|
-
'/projects'
|
5
|
-
end
|
6
|
-
|
7
3
|
include CortexReaver::Model::Timestamps
|
8
4
|
include CortexReaver::Model::CachedRendering
|
9
5
|
include CortexReaver::Model::Renderer
|
@@ -26,6 +22,10 @@ module CortexReaver
|
|
26
22
|
|
27
23
|
render :body
|
28
24
|
|
25
|
+
def self.atom_url
|
26
|
+
'/projects/atom'
|
27
|
+
end
|
28
|
+
|
29
29
|
def self.get(id)
|
30
30
|
self[:name => id] || self[id]
|
31
31
|
end
|
@@ -34,6 +34,10 @@ module CortexReaver
|
|
34
34
|
reverse_order(:updated_on).limit(16)
|
35
35
|
end
|
36
36
|
|
37
|
+
def self.url
|
38
|
+
'/projects'
|
39
|
+
end
|
40
|
+
|
37
41
|
def atom_url
|
38
42
|
'/projects/atom/' + name
|
39
43
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
<div class="documentation">
|
2
|
+
<h2>Cortex Reaver Formatting</h2>
|
3
|
+
|
4
|
+
<p>Cortex Reaver will pass through all HTML in the body of a text. Hence, you
|
5
|
+
can specify paragraphs, block-quotes, insertions and deletions, headings, and
|
6
|
+
so forth using plain HTML. However, there are also some shortcuts for your
|
7
|
+
convenience.</p>
|
8
|
+
|
9
|
+
<h3>Markdown</h3>
|
10
|
+
|
11
|
+
<p>All posts are automatically formatted with <a
|
12
|
+
href="http://daringfireball.net/projects/markdown/basics">Markdown</a>,
|
13
|
+
which transforms common plain-text conventions to HTML.</p>
|
14
|
+
|
15
|
+
<ul>
|
16
|
+
<li>Headings are specified by underlining with the equals sign (=) and the dash (-).</li>
|
17
|
+
<li>Paragraphs are delineated by a blank line between blocks of text.</li>
|
18
|
+
<li>Surrounding text with underscores (_) and asterisks (*) denotes emphasis.</li>
|
19
|
+
<li>Asterisks, pluses, and dashes (*, +, -) all create unordered lists.</li>
|
20
|
+
<li>Numbers (no matter what their order) followed by periods, yield ordered lists.</li>
|
21
|
+
<li>Indenting with the right angle bracket (>) gives a blockquote.</li>
|
22
|
+
</ul>
|
23
|
+
|
24
|
+
<h3>Attachments</h3>
|
25
|
+
|
26
|
+
<p>To reference an attachment hacker.jpg, use a macro like:</p>
|
27
|
+
|
28
|
+
<code>[[hacker.jpg]]</code>
|
29
|
+
|
30
|
+
<p>This will create a link to the attachment with that name. You can give an
|
31
|
+
optional name for the link, which will be shown instead of the filename, used
|
32
|
+
for descriptions of images, and so forth.</p>
|
33
|
+
|
34
|
+
<code>[[hacker.jpg][A pathetic creature of meat and bone.]]</code>
|
35
|
+
|
36
|
+
<p>A variety of attachment macros are available.</p>
|
37
|
+
|
38
|
+
<code>
|
39
|
+
[[link:hacker.jpg]] => An HTML link to the attachment.<br />
|
40
|
+
[[image:hacker.jpg]] => An inline image.<br />
|
41
|
+
[[url:hacker.jpg]] => The URL for the attachment.
|
42
|
+
</code>
|
43
|
+
|
44
|
+
<p>The url macro is especially useful when you want additional control:</p>
|
45
|
+
|
46
|
+
<code>
|
47
|
+
<img src="[[url:hacker.jpg]]" style="width: 40%; float: left;" />
|
48
|
+
</code>
|
49
|
+
|
50
|
+
<h3>Code</h3>
|
51
|
+
|
52
|
+
<p>Cortex Reaver escapes code using HTML entities, and if you specify a
|
53
|
+
language, can use <a href="http://coderay.rubychan.de/">CodeRay</a> to format
|
54
|
+
syntax.</p>
|
55
|
+
|
56
|
+
<code>
|
57
|
+
<cr:code lang="ruby">
|
58
|
+
class << self
|
59
|
+
</cr:code>
|
60
|
+
</code>
|
61
|
+
|
62
|
+
<p>Cortex Reaver won't do anything to ordinary <code> tags, however, it
|
63
|
+
will avoid applying Markdown to anything inside them.</p>
|
64
|
+
</div>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<%= form_p :title, :model => @journal %>
|
7
7
|
<%= live_name_field @journal %>
|
8
8
|
<%= live_tags_field @journal %>
|
9
|
-
<%= form_p :body, :model => @journal, :type => 'textarea' %>
|
9
|
+
<%= form_p :body, :model => @journal, :type => 'textarea', :description => 'Body (<a href="/documentation/formatting" />Formatting Help</a>)' %>
|
10
10
|
<%= attachment_form @journal %>
|
11
11
|
<input type="submit" name="submit" />
|
12
12
|
</form>
|
@@ -38,10 +38,9 @@
|
|
38
38
|
# Defaults to true in production mode, false in development mode.
|
39
39
|
# :daemon: true
|
40
40
|
|
41
|
-
# Ramaze host, port, and adapter. Defaults to nil (listens on all interfaces),
|
42
|
-
# and port 7000.
|
41
|
+
# Ramaze host, port, and adapter. Defaults to nil (listens on all interfaces), htin, and port 7000.
|
43
42
|
# :host: 127.0.0.1
|
44
|
-
# :adapter: '
|
43
|
+
# :adapter: 'thin'
|
45
44
|
# :port: 7000
|
46
45
|
|
47
46
|
# Process ID file: stores each Cortex Reaver's process ID, so you can control it later.
|
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.4
|
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: 2008-12-
|
12
|
+
date: 2008-12-21 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -73,14 +73,14 @@ dependencies:
|
|
73
73
|
version: 2.7.1
|
74
74
|
version:
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
76
|
+
name: thin
|
77
77
|
type: :runtime
|
78
78
|
version_requirement:
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - ~>
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: 1.
|
83
|
+
version: 1.0.0
|
84
84
|
version:
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: exifr
|
@@ -137,6 +137,7 @@ files:
|
|
137
137
|
- lib/cortex_reaver/controller/user.rb
|
138
138
|
- lib/cortex_reaver/controller/main.rb
|
139
139
|
- lib/cortex_reaver/controller/journal.rb
|
140
|
+
- lib/cortex_reaver/controller/documentation.rb
|
140
141
|
- lib/cortex_reaver/controller/photograph.rb
|
141
142
|
- lib/cortex_reaver/controller/page.rb
|
142
143
|
- lib/cortex_reaver/controller/tag.rb
|
@@ -149,6 +150,7 @@ files:
|
|
149
150
|
- lib/cortex_reaver/support/timestamps.rb
|
150
151
|
- lib/cortex_reaver/support/renderer.rb
|
151
152
|
- lib/cortex_reaver/support/canonical.rb
|
153
|
+
- lib/cortex_reaver/support/renderers
|
152
154
|
- lib/cortex_reaver/support/pagination.rb
|
153
155
|
- lib/cortex_reaver/view
|
154
156
|
- lib/cortex_reaver/view/users
|
@@ -195,6 +197,8 @@ files:
|
|
195
197
|
- lib/cortex_reaver/view/journals/short.rhtml
|
196
198
|
- lib/cortex_reaver/view/journals/form.rhtml
|
197
199
|
- lib/cortex_reaver/view/blank_layout.rhtml
|
200
|
+
- lib/cortex_reaver/view/documentation
|
201
|
+
- lib/cortex_reaver/view/documentation/formatting.rhtml
|
198
202
|
- lib/cortex_reaver/model
|
199
203
|
- lib/cortex_reaver/model/comment.rb
|
200
204
|
- lib/cortex_reaver/model/project.rb
|