junebug-wiki 0.0.29 → 0.0.30
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/History.txt +8 -0
- data/deploy/public/style/base.css +4 -2
- data/lib/junebug.rb +1 -1
- data/lib/junebug/controllers.rb +35 -14
- data/lib/junebug/version.rb +1 -1
- data/lib/junebug/views.rb +33 -19
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
= 0.0.30 2007-04-21
|
2
|
+
|
3
|
+
* Small style tweaks, make header smaller
|
4
|
+
* Changed quicksave checkbox to 'minor update' button
|
5
|
+
* Fixed issue with creation of pages when first viewing them, before explicitly saving
|
6
|
+
* Orphans page (/all/orphans)
|
7
|
+
* Backlink bugfix
|
8
|
+
|
1
9
|
= 0.0.29 2007-04-15
|
2
10
|
|
3
11
|
* Support Unicode wikiwords. Thanks Julian Tarkhanov
|
data/lib/junebug.rb
CHANGED
data/lib/junebug/controllers.rb
CHANGED
@@ -27,9 +27,14 @@ module Junebug::Controllers
|
|
27
27
|
def get page_name, version = nil
|
28
28
|
redirect("/login?return_to=#{CGI::escape(@env['REQUEST_URI'])}") and return unless logged_in?
|
29
29
|
page_name_spc = page_name.gsub(/_/,' ')
|
30
|
-
@page = Page.
|
31
|
-
@page
|
32
|
-
|
30
|
+
@page = Page.find_by_title(page_name_spc)
|
31
|
+
if @page.nil?
|
32
|
+
# new page
|
33
|
+
@page = Page.new(:title=>page_name_spc, :body=>'') unless @page
|
34
|
+
else
|
35
|
+
# check for version request
|
36
|
+
@page = @page.versions.find_by_version(version) unless version.nil? or version == @page.version.to_s
|
37
|
+
end
|
33
38
|
@page_title = "Editing: #{page_name_spc}"
|
34
39
|
render :edit
|
35
40
|
end
|
@@ -39,19 +44,24 @@ module Junebug::Controllers
|
|
39
44
|
redirect("/login?return_to=#{CGI::escape(@env['REQUEST_URI'])}") and return unless logged_in?
|
40
45
|
page_name_spc = page_name.gsub(/_/,' ')
|
41
46
|
if input.submit == 'save'
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
47
|
+
attrs = { :body => input.post_body, :title => input.post_title, :user_id =>@state.user.id }
|
48
|
+
attrs[:readonly] = input.post_readonly if is_admin?
|
49
|
+
@page = Page.find_by_title(page_name_spc)
|
50
|
+
if @page.nil?
|
51
|
+
# new page
|
52
|
+
@page = Page.create(attrs)
|
46
53
|
else
|
47
|
-
attrs
|
48
|
-
attrs[:readonly] = input.post_readonly if is_admin?
|
49
|
-
page = Page.find_by_title(page_name_spc)
|
50
|
-
current_version = page.find_version(page.version)
|
51
|
-
current_version.update_attributes(attrs)
|
52
|
-
page.without_revision { page.update_attributes(attrs) }
|
54
|
+
@page.update_attributes(attrs)
|
53
55
|
end
|
54
56
|
redirect Show, input.post_title.gsub(/ /,'_')
|
57
|
+
elsif input.submit == 'minor edit'
|
58
|
+
attrs = { :body => input.post_body }
|
59
|
+
attrs[:readonly] = input.post_readonly if is_admin?
|
60
|
+
page = Page.find_by_title(page_name_spc)
|
61
|
+
current_version = page.find_version(page.version)
|
62
|
+
current_version.update_attributes(attrs)
|
63
|
+
page.without_revision { page.update_attributes(attrs) }
|
64
|
+
redirect Show, input.post_title.gsub(/ /,'_')
|
55
65
|
else # cancel
|
56
66
|
redirect Show, page_name
|
57
67
|
end
|
@@ -107,11 +117,22 @@ module Junebug::Controllers
|
|
107
117
|
page_name_spc = page_name.gsub(/_/,' ')
|
108
118
|
@page = Page.find_by_title(page_name_spc)
|
109
119
|
@page_title = "Backlinks for: #{page_name_spc}"
|
110
|
-
@pages = Page.find(:all, :conditions => ["body LIKE ?", "
|
120
|
+
@pages = Page.find(:all, :conditions => ["body LIKE ? OR body LIKE ?", "%[[#{page_name_spc}]]%", "%[[#{page_name_spc}|%"])
|
111
121
|
render :backlinks
|
112
122
|
end
|
113
123
|
end
|
114
124
|
|
125
|
+
class Orphans < R '/all/orphans'
|
126
|
+
def get
|
127
|
+
@page_title = "Orphan pages"
|
128
|
+
@pages = Page.find :all, :order => 'title'
|
129
|
+
@pages = @pages.reject do |page|
|
130
|
+
linked_pages = Page.find(:all, :conditions => ["body LIKE ? OR body LIKE ?", "%[[#{page.title}]]%", "%[[#{page.title}|%"]).length > 0
|
131
|
+
end
|
132
|
+
render :orphans
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
115
136
|
class Recent < R '/all/recent'
|
116
137
|
def get
|
117
138
|
@page_title = "Recent Changes"
|
data/lib/junebug/version.rb
CHANGED
data/lib/junebug/views.rb
CHANGED
@@ -34,7 +34,7 @@ module Junebug::Views
|
|
34
34
|
br :clear=>'all'
|
35
35
|
end
|
36
36
|
_footer {
|
37
|
-
text "
|
37
|
+
text "Page last edited by <b>#{@version.user.username}</b> on #{@page.updated_at.strftime('%B %d, %Y %I:%M %p')}"
|
38
38
|
text " (#{diff_link(@page, @version)}) " if @version.version > 1
|
39
39
|
br
|
40
40
|
text '<b>[readonly]</b> ' if @page.readonly
|
@@ -77,6 +77,9 @@ module Junebug::Views
|
|
77
77
|
textarea @page.body, :name => 'post_body', :rows => 17, :cols => 80
|
78
78
|
}
|
79
79
|
input :type => 'submit', :name=>'submit', :value=>'cancel', :class=>'button', :style=>'float: right;'
|
80
|
+
if @page.user_id == @state.user.id
|
81
|
+
input :type => 'submit', :name=>'submit', :value=>'minor edit', :class=>'button', :style=>'float: right;', :accesskey => 'm'
|
82
|
+
end
|
80
83
|
input :type => 'submit', :name=>'submit', :value=>'save', :class=>'button', :style=>'float: right;', :accesskey => 's'
|
81
84
|
if is_admin?
|
82
85
|
opts = { :type => 'checkbox', :value=>'1', :name => 'post_readonly' }
|
@@ -85,10 +88,6 @@ module Junebug::Views
|
|
85
88
|
text " Readonly "
|
86
89
|
br
|
87
90
|
end
|
88
|
-
if @page.user_id == @state.user.id
|
89
|
-
input :type=>'checkbox', :value=>'1', :name=>'quicksave'
|
90
|
-
text " Minor edit (don't increment version) "
|
91
|
-
end
|
92
91
|
|
93
92
|
end
|
94
93
|
br :clear=>'all'
|
@@ -150,7 +149,22 @@ module Junebug::Views
|
|
150
149
|
_footer { '' }
|
151
150
|
end
|
152
151
|
|
153
|
-
|
152
|
+
def orphans
|
153
|
+
_header :show
|
154
|
+
_body do
|
155
|
+
h1 @page_title
|
156
|
+
ul {
|
157
|
+
@pages.each { |p|
|
158
|
+
li{
|
159
|
+
a p.title, :href => R(Show, p.title_url)
|
160
|
+
text ' - empty page' if p.body.nil? or p.body.empty?
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
end
|
165
|
+
_footer { '' }
|
166
|
+
end
|
167
|
+
|
154
168
|
def list
|
155
169
|
_header :static
|
156
170
|
_body do
|
@@ -255,32 +269,32 @@ module Junebug::Views
|
|
255
269
|
|
256
270
|
span :id=>'userlinks' do
|
257
271
|
if logged_in?
|
258
|
-
text "
|
272
|
+
text "Hi, #{@state.user.username} - "
|
259
273
|
a 'sign out', :href=>"#{R(Logout)}?return_to=#{@env['REQUEST_URI']}"
|
260
274
|
else
|
261
275
|
a 'sign in', :href=> "#{R(Login)}?return_to=#{@env['REQUEST_URI']}"
|
262
276
|
end
|
263
277
|
end
|
264
|
-
|
278
|
+
|
279
|
+
span :id=>'search' do
|
280
|
+
# text 'Search: '
|
281
|
+
form :action => R(Search), :method => 'post' do
|
282
|
+
input :name => 'q', :type => 'text', :value=>(''), :accesskey => 's'
|
283
|
+
#input :type => 'submit', :name => 'search', :value => 'Search',
|
284
|
+
# :style=>'margin: 0 0 5px 5px;'
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
265
288
|
span :id=>'navlinks' do
|
266
289
|
a 'Home', :href => R(Show, Junebug.config['startpage'])
|
267
290
|
text ' | '
|
268
|
-
a '
|
291
|
+
a 'Updates', :href => R(Recent)
|
269
292
|
text ' | '
|
270
|
-
a '
|
293
|
+
a 'Pages', :href => R(List)
|
271
294
|
text ' | '
|
272
295
|
a 'Help', :href => R(Show, "Junebug_help")
|
273
296
|
end
|
274
297
|
|
275
|
-
span :id=>'search' do
|
276
|
-
text 'Search: '
|
277
|
-
form :action => R(Search), :method => 'post' do
|
278
|
-
input :name => 'q', :type => 'text', :value=>(''), :accesskey => 's'
|
279
|
-
#input :type => 'submit', :name => 'search', :value => 'Search',
|
280
|
-
# :style=>'margin: 0 0 5px 5px;'
|
281
|
-
end
|
282
|
-
end
|
283
|
-
|
284
298
|
br :clear => 'all'
|
285
299
|
|
286
300
|
# if type == :static
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: junebug-wiki
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2007-04-
|
6
|
+
version: 0.0.30
|
7
|
+
date: 2007-04-21 00:00:00 -07:00
|
8
8
|
summary: Junebug is a minimalist ruby wiki running on Camping.
|
9
9
|
require_paths:
|
10
10
|
- lib
|