karottenreibe-qwicky 0.0.6 → 0.0.7
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.markdown +7 -0
- data/README.markdown +14 -8
- data/bin/qwicky +45 -28
- data/qwicky.gemspec +1 -1
- metadata +1 -1
data/HISTORY.markdown
CHANGED
data/README.markdown
CHANGED
@@ -2,7 +2,7 @@ Share and enjoy!
|
|
2
2
|
================
|
3
3
|
|
4
4
|
Hi dear visitor, this is the README file of
|
5
|
-
**[Qwicky] [
|
5
|
+
**[Qwicky] [qwicky]**, the REALLY quick wiki. (and
|
6
6
|
small as well!)
|
7
7
|
|
8
8
|
You are obviously reading this, so the README
|
@@ -70,10 +70,16 @@ But DON'T PANIC, it's easy:
|
|
70
70
|
|
71
71
|
gem install rdiscount
|
72
72
|
|
73
|
-
or
|
74
|
-
|
73
|
+
or
|
74
|
+
|
75
|
+
gem install rpeg-markdown
|
76
|
+
|
77
|
+
or
|
78
|
+
|
79
|
+
gem install bluecloth
|
80
|
+
|
75
81
|
I wouldn't recommend BlueCloth, unless you really
|
76
|
-
think you need that, see [this Blog post] [
|
82
|
+
think you need that, see [this Blog post] [antiblue].
|
77
83
|
(As you might have already guessed from the layout
|
78
84
|
of this document, I prefer Markdown. But it's your
|
79
85
|
choice.)
|
@@ -104,7 +110,7 @@ that's impossible... silly...
|
|
104
110
|
But in any case, if you create a file called _qwicky.sass_
|
105
111
|
in the directory where your database and settings are
|
106
112
|
stored, qwicky will automatically run it through
|
107
|
-
[Sass] [
|
113
|
+
[Sass] [sass] and apply it.
|
108
114
|
|
109
115
|
Running Qwucky on a server
|
110
116
|
==========================
|
@@ -118,10 +124,10 @@ Running Qwucky on a server
|
|
118
124
|
|
119
125
|
|
120
126
|
|
121
|
-
[
|
127
|
+
[antiblue]: http://tomayko.com/writings/ruby-markdown-libraries-real-cheap-for-you-two-for-price-of-one
|
122
128
|
"Post about why not to use BlueCloth"
|
123
|
-
[
|
129
|
+
[qwicky]: http://github.com/karottenreibe/qwicky/
|
124
130
|
"Qwicky's Homepage/Git repo/Wiki/whatever :-)"
|
125
|
-
[
|
131
|
+
[sass]: http://haml.hamptoncatlin.com/docs/rdoc/classes/Sass.html
|
126
132
|
"Documentation of Sass syntax"
|
127
133
|
|
data/bin/qwicky
CHANGED
@@ -56,8 +56,11 @@ end
|
|
56
56
|
|
57
57
|
# Markup stuff. {{{1
|
58
58
|
module Markup
|
59
|
+
|
59
60
|
# Base class. {{{2
|
60
61
|
class Markup
|
62
|
+
WIKILINK = %r{\[\[([^|\]]+)(\|([^\]]+))?\]\]}
|
63
|
+
|
61
64
|
class << self
|
62
65
|
attr_reader :description, :link
|
63
66
|
|
@@ -76,6 +79,16 @@ module Markup
|
|
76
79
|
@description = description
|
77
80
|
@link = link
|
78
81
|
end
|
82
|
+
|
83
|
+
def linkify page, display_name
|
84
|
+
nexist = Page.first(:name => page).nil?
|
85
|
+
|
86
|
+
klass = nexist ? 'bad' : 'good'
|
87
|
+
title = nexist ? "Create page `#{page}'" : "Page `#{page}'"
|
88
|
+
link = '/' + page
|
89
|
+
text = display_name || page
|
90
|
+
"<a href=#{link.inspect} title=#{title.inspect} class=#{klass.inspect}>#{text}</a>"
|
91
|
+
end
|
79
92
|
end
|
80
93
|
|
81
94
|
def description
|
@@ -87,11 +100,9 @@ module Markup
|
|
87
100
|
end
|
88
101
|
|
89
102
|
def format text
|
90
|
-
text
|
91
|
-
|
92
|
-
|
93
|
-
def linkify link, title, klass, text
|
94
|
-
"<a href=#{link.inspect} title=#{title.inspect} class=#{klass.inspect}>#{text}</a>"
|
103
|
+
text.gsub Markup::WIKILINK do |match|
|
104
|
+
Markup::linkify $1, $3
|
105
|
+
end
|
95
106
|
end
|
96
107
|
end
|
97
108
|
|
@@ -100,7 +111,7 @@ module Markup
|
|
100
111
|
type 'text', 'Simple text'
|
101
112
|
|
102
113
|
def format text
|
103
|
-
"<
|
114
|
+
"<pre class='simple'>#{super}</pre>"
|
104
115
|
end
|
105
116
|
end
|
106
117
|
|
@@ -124,13 +135,14 @@ module Markup
|
|
124
135
|
|
125
136
|
begin
|
126
137
|
require 'bluecloth'
|
138
|
+
Object.const_set(:Markdown, BlueCloth)
|
127
139
|
return
|
128
140
|
rescue LoadError => boom
|
129
141
|
puts "Looks like you don't have a Markdown interpreter installed!"
|
130
|
-
puts "Please get one
|
131
|
-
puts "*
|
132
|
-
puts "*
|
133
|
-
puts "*
|
142
|
+
puts "Please get one of the following gems:"
|
143
|
+
puts "* rdiscount"
|
144
|
+
puts "* rpeg-markdown"
|
145
|
+
puts "* bluecloth (not recommended)"
|
134
146
|
puts "Reverting to simple text markup"
|
135
147
|
throw :revert
|
136
148
|
end
|
@@ -138,7 +150,7 @@ module Markup
|
|
138
150
|
end
|
139
151
|
|
140
152
|
def format text
|
141
|
-
Markdown.new(text
|
153
|
+
super(Markdown.new(text).to_html)
|
142
154
|
end
|
143
155
|
end
|
144
156
|
|
@@ -160,7 +172,11 @@ module Markup
|
|
160
172
|
end
|
161
173
|
|
162
174
|
def format text
|
163
|
-
|
175
|
+
text = text.gsub Markup::WIKILINK do |match|
|
176
|
+
"]#{match}"
|
177
|
+
end
|
178
|
+
|
179
|
+
super(RedCloth.new(text).to_html.gsub(%r{\](\[\[.*?\]\])}, '\1'))
|
164
180
|
end
|
165
181
|
end
|
166
182
|
|
@@ -180,17 +196,23 @@ module Markup
|
|
180
196
|
throw :revert
|
181
197
|
end
|
182
198
|
end
|
199
|
+
|
200
|
+
SM::ToHtml.class_eval do
|
201
|
+
define_method :handle_special_WIKILINK do |special|
|
202
|
+
match = Markup::WIKILINK.match(special.text)
|
203
|
+
Markup::linkify match[1], match[3]
|
204
|
+
end
|
205
|
+
end
|
183
206
|
end
|
184
207
|
|
185
208
|
def format text
|
186
|
-
|
187
|
-
|
188
|
-
"<a href=#{$1.inspect} title=#{$2.inspect} class=#{$3.inspect}>#{$4}</a>"
|
209
|
+
text = text.gsub Markup::WIKILINK do |link|
|
210
|
+
"]#{link}"
|
189
211
|
end
|
190
|
-
end
|
191
212
|
|
192
|
-
|
193
|
-
|
213
|
+
sm = SM::SimpleMarkup.new
|
214
|
+
sm.add_special(%r{\]\[\[.*?\]\]}, :WIKILINK)
|
215
|
+
sm.convert(text, SM::ToHtml.new)
|
194
216
|
end
|
195
217
|
end
|
196
218
|
end
|
@@ -230,16 +252,7 @@ class Qwicky
|
|
230
252
|
end
|
231
253
|
|
232
254
|
def format text
|
233
|
-
markup.format(
|
234
|
-
text.gsub %r{\[\[([^|\]]+)(\|([^\]]+))?\]\]} do |match|
|
235
|
-
page = $1
|
236
|
-
nexist = Page.first(:name => page).nil?
|
237
|
-
klass = nexist ? 'bad' : 'good'
|
238
|
-
title = nexist ? "Create page `#{page}'" : "Page `#{page}'"
|
239
|
-
link = '/' + page
|
240
|
-
markup.linkify(link, title, klass, ($3 || $1))
|
241
|
-
end
|
242
|
-
)
|
255
|
+
markup.format(text)
|
243
256
|
end
|
244
257
|
end
|
245
258
|
|
@@ -546,6 +559,10 @@ form
|
|
546
559
|
:border-left= 3px solid !border
|
547
560
|
:padding 10px
|
548
561
|
|
562
|
+
pre.simple
|
563
|
+
:border none
|
564
|
+
:padding none
|
565
|
+
:font-family normal
|
549
566
|
|
550
567
|
blockquote
|
551
568
|
:margin 0px
|
data/qwicky.gemspec
CHANGED