webby 0.2.0 → 0.3.0
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 +4 -0
- data/Manifest.txt +4 -0
- data/Rakefile +3 -2
- data/data/content/css/coderay.css +111 -0
- data/data/layouts/default.rhtml +3 -0
- data/lib/webby/coderay_filter.rb +79 -0
- data/lib/webby/renderer.rb +10 -2
- data/lib/webby.rb +2 -2
- data/tasks/setup.rb +12 -1
- data/website/content/css/site.css +1 -1
- data/website/content/manual.txt +10 -0
- data/website/content/tips_and_tricks.txt +54 -0
- data/website/layouts/default.rhtml +6 -3
- metadata +19 -6
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -19,6 +19,7 @@ data/content/css/blueprint/lib/reset.css
|
|
19
19
|
data/content/css/blueprint/lib/typography.css
|
20
20
|
data/content/css/blueprint/print.css
|
21
21
|
data/content/css/blueprint/screen.css
|
22
|
+
data/content/css/coderay.css
|
22
23
|
data/content/css/site.css
|
23
24
|
data/content/index.txt
|
24
25
|
data/layouts/default.rhtml
|
@@ -30,6 +31,7 @@ data/templates/page.erb
|
|
30
31
|
lib/webby.rb
|
31
32
|
lib/webby/auto_builder.rb
|
32
33
|
lib/webby/builder.rb
|
34
|
+
lib/webby/coderay_filter.rb
|
33
35
|
lib/webby/file.rb
|
34
36
|
lib/webby/main.rb
|
35
37
|
lib/webby/pages_db.rb
|
@@ -64,6 +66,8 @@ website/content/css/blueprint/screen.css
|
|
64
66
|
website/content/css/site.css
|
65
67
|
website/content/download.txt
|
66
68
|
website/content/index.txt
|
69
|
+
website/content/manual.txt
|
70
|
+
website/content/tips_and_tricks.txt
|
67
71
|
website/content/tutorial.txt
|
68
72
|
website/layouts/default.rhtml
|
69
73
|
website/tasks/create.rake
|
data/Rakefile
CHANGED
@@ -27,7 +27,8 @@ PROJ.rdoc_exclude << '^(\.\/|\/)?website'
|
|
27
27
|
|
28
28
|
PROJ.spec_opts << '--color'
|
29
29
|
|
30
|
-
|
31
|
-
|
30
|
+
depend_on 'directory_watcher', '1.0.0'
|
31
|
+
depend_on 'hpricot'
|
32
|
+
depend_on 'rspec'
|
32
33
|
|
33
34
|
# EOF
|
@@ -0,0 +1,111 @@
|
|
1
|
+
.CodeRay {
|
2
|
+
padding: 0.5em;
|
3
|
+
margin-bottom: 1.3em;
|
4
|
+
background-color: #eee;
|
5
|
+
border: 1px solid black;
|
6
|
+
font: 1.1em Monaco, 'Courier New', 'Terminal', monospace;
|
7
|
+
color: #100;
|
8
|
+
}
|
9
|
+
.CodeRay pre {
|
10
|
+
padding: 0px;
|
11
|
+
margin: 0px;
|
12
|
+
overflow: auto;
|
13
|
+
background-color: transparent;
|
14
|
+
border: none;
|
15
|
+
}
|
16
|
+
|
17
|
+
div.CodeRay { }
|
18
|
+
|
19
|
+
span.CodeRay { white-space: pre; border: 0px; padding: 2px }
|
20
|
+
|
21
|
+
table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px }
|
22
|
+
table.CodeRay td { padding: 2px 4px; vertical-align: top }
|
23
|
+
|
24
|
+
.CodeRay .line_numbers, .CodeRay .no {
|
25
|
+
background-color: #def;
|
26
|
+
color: gray;
|
27
|
+
text-align: right;
|
28
|
+
}
|
29
|
+
.CodeRay .line_numbers tt { font-weight: bold }
|
30
|
+
.CodeRay .no { padding: 0px 4px }
|
31
|
+
|
32
|
+
ol.CodeRay { font-size: 10pt }
|
33
|
+
ol.CodeRay li { white-space: pre }
|
34
|
+
|
35
|
+
.CodeRay .debug { color:white ! important; background:blue ! important; }
|
36
|
+
|
37
|
+
.CodeRay .af { color:#00C }
|
38
|
+
.CodeRay .an { color:#007 }
|
39
|
+
.CodeRay .av { color:#700 }
|
40
|
+
.CodeRay .aw { color:#C00 }
|
41
|
+
.CodeRay .bi { color:#509; font-weight:bold }
|
42
|
+
.CodeRay .c { color:#666; }
|
43
|
+
|
44
|
+
.CodeRay .ch { color:#04D }
|
45
|
+
.CodeRay .ch .k { color:#04D }
|
46
|
+
.CodeRay .ch .dl { color:#039 }
|
47
|
+
|
48
|
+
.CodeRay .cl { color:#B06; font-weight:bold }
|
49
|
+
.CodeRay .co { color:#036; font-weight:bold }
|
50
|
+
.CodeRay .cr { color:#0A0 }
|
51
|
+
.CodeRay .cv { color:#369 }
|
52
|
+
.CodeRay .df { color:#099; font-weight:bold }
|
53
|
+
.CodeRay .di { color:#088; font-weight:bold }
|
54
|
+
.CodeRay .dl { color:black }
|
55
|
+
.CodeRay .do { color:#970 }
|
56
|
+
.CodeRay .ds { color:#D42; font-weight:bold }
|
57
|
+
.CodeRay .e { color:#666; font-weight:bold }
|
58
|
+
.CodeRay .en { color:#800; font-weight:bold }
|
59
|
+
.CodeRay .er { color:#F00; background-color:#FAA }
|
60
|
+
.CodeRay .ex { color:#F00; font-weight:bold }
|
61
|
+
.CodeRay .fl { color:#60E; font-weight:bold }
|
62
|
+
.CodeRay .fu { color:#06B; font-weight:bold }
|
63
|
+
.CodeRay .gv { color:#d70; font-weight:bold }
|
64
|
+
.CodeRay .hx { color:#058; font-weight:bold }
|
65
|
+
.CodeRay .i { color:#00D; font-weight:bold }
|
66
|
+
.CodeRay .ic { color:#B44; font-weight:bold }
|
67
|
+
|
68
|
+
.CodeRay .il { background: #eee }
|
69
|
+
.CodeRay .il .il { background: #ddd }
|
70
|
+
.CodeRay .il .il .il { background: #ccc }
|
71
|
+
.CodeRay .il .idl { font-weight: bold; color: #888 }
|
72
|
+
|
73
|
+
.CodeRay .in { color:#B2B; font-weight:bold }
|
74
|
+
.CodeRay .iv { color:#33B }
|
75
|
+
.CodeRay .la { color:#970; font-weight:bold }
|
76
|
+
.CodeRay .lv { color:#963 }
|
77
|
+
.CodeRay .oc { color:#40E; font-weight:bold }
|
78
|
+
.CodeRay .of { color:#000; font-weight:bold }
|
79
|
+
.CodeRay .op { }
|
80
|
+
.CodeRay .pc { color:#038; font-weight:bold }
|
81
|
+
.CodeRay .pd { color:#369; font-weight:bold }
|
82
|
+
.CodeRay .pp { color:#579 }
|
83
|
+
.CodeRay .pt { color:#339; font-weight:bold }
|
84
|
+
.CodeRay .r { color:#080; font-weight:bold }
|
85
|
+
|
86
|
+
.CodeRay .rx { background-color:#fff0ff }
|
87
|
+
.CodeRay .rx .k { color:#808 }
|
88
|
+
.CodeRay .rx .dl { color:#404 }
|
89
|
+
.CodeRay .rx .mod { color:#C2C }
|
90
|
+
.CodeRay .rx .fu { color:#404; font-weight: bold }
|
91
|
+
|
92
|
+
.CodeRay .s { background-color:#fff0f0 }
|
93
|
+
.CodeRay .s .s { background-color:#ffe0e0 }
|
94
|
+
.CodeRay .s .s .s { background-color:#ffd0d0 }
|
95
|
+
.CodeRay .s .k { color:#D20 }
|
96
|
+
.CodeRay .s .dl { color:#710 }
|
97
|
+
|
98
|
+
.CodeRay .sh { background-color:#f0fff0 }
|
99
|
+
.CodeRay .sh .k { color:#2B2 }
|
100
|
+
.CodeRay .sh .dl { color:#161 }
|
101
|
+
|
102
|
+
.CodeRay .sy { color:#A60 }
|
103
|
+
.CodeRay .sy .k { color:#A60 }
|
104
|
+
.CodeRay .sy .dl { color:#630 }
|
105
|
+
|
106
|
+
.CodeRay .ta { color:#070 }
|
107
|
+
.CodeRay .tf { color:#070; font-weight:bold }
|
108
|
+
.CodeRay .ts { color:#D70; font-weight:bold }
|
109
|
+
.CodeRay .ty { color:#339; font-weight:bold }
|
110
|
+
.CodeRay .v { color:#036 }
|
111
|
+
.CodeRay .xt { color:#444 }
|
data/data/layouts/default.rhtml
CHANGED
@@ -15,6 +15,9 @@ filter: erb
|
|
15
15
|
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection" />
|
16
16
|
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print" />
|
17
17
|
|
18
|
+
<!-- CodeRay syntax highlighting CSS -->
|
19
|
+
<link rel="stylesheet" href="css/coderay.css" type="text/css" />
|
20
|
+
|
18
21
|
<!-- Homepage CSS -->
|
19
22
|
<link rel="stylesheet" href="css/site.css" type="text/css" media="screen, projection" />
|
20
23
|
</head>
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# $Id: coderay_filter.rb 24 2007-09-17 22:22:06Z tim_pease $
|
2
|
+
|
3
|
+
require 'enumerator'
|
4
|
+
require 'hpricot'
|
5
|
+
try_require 'coderay'
|
6
|
+
|
7
|
+
module Webby
|
8
|
+
|
9
|
+
# The CodeRayFilter applies syntax highlighting to source code embedded in a
|
10
|
+
# webpage. The CodeRay highlighting engine is used for the HTML markup of
|
11
|
+
# the source code. A set of <coderay>...</coderay> tags is used to denote
|
12
|
+
# which sections of the page should be highlighted.
|
13
|
+
#
|
14
|
+
# Options can be passed to the CodeRay engine via attributes in the
|
15
|
+
# <coderay> tag.
|
16
|
+
#
|
17
|
+
# <coderay lang="ruby" line_numbers="inline">
|
18
|
+
# # Initializer for the class.
|
19
|
+
# def initialize( string )
|
20
|
+
# @str = stirng
|
21
|
+
# end
|
22
|
+
# </coderay>
|
23
|
+
#
|
24
|
+
# The supported CodeRay options are the following:
|
25
|
+
#
|
26
|
+
# line_numbers : include line nubers in 'table', 'linline',
|
27
|
+
# or 'list'
|
28
|
+
# line_number_start : where to start with line number counting
|
29
|
+
# bold_every : make every n-th number appear bold
|
30
|
+
# tab_width : convert tab characters to n spaces
|
31
|
+
#
|
32
|
+
class CodeRayFilter
|
33
|
+
|
34
|
+
# call-seq:
|
35
|
+
# CodeRayFilter.new( string )
|
36
|
+
#
|
37
|
+
# Creates a new CodeRay filter that will operate on the given _string_.
|
38
|
+
#
|
39
|
+
def initialize( str )
|
40
|
+
@str = str
|
41
|
+
end
|
42
|
+
|
43
|
+
# call-seq:
|
44
|
+
# to_html => string
|
45
|
+
#
|
46
|
+
# Process the original text string passed to the filter when it was
|
47
|
+
# created and output HTML formatted text. Any text between
|
48
|
+
# <coderay>...</coderay> tags will have syntax highlighting applied to the
|
49
|
+
# text via the CodeRay gem.
|
50
|
+
#
|
51
|
+
def to_html
|
52
|
+
doc = Hpricot(@str)
|
53
|
+
doc.search('//coderay') do |cr|
|
54
|
+
text = cr.inner_html.strip
|
55
|
+
lang = (cr['lang'] || 'ruby').to_sym
|
56
|
+
|
57
|
+
opts = {}
|
58
|
+
%w(line_numbers to_sym
|
59
|
+
line_number_start to_i
|
60
|
+
bold_every to_i
|
61
|
+
tab_width to_i).each_slice(2) do |key,convert|
|
62
|
+
next if cr[key].nil?
|
63
|
+
opts[key.to_sym] = cr[key].send(convert)
|
64
|
+
end
|
65
|
+
|
66
|
+
#cr.swap(CodeRay.scan(text, lang).html(opts).div)
|
67
|
+
out = "<div class=\"CodeRay\"><pre>\n"
|
68
|
+
out << CodeRay.scan(text, lang).html(opts)
|
69
|
+
out << "\n</pre></div>"
|
70
|
+
cr.swap out
|
71
|
+
end
|
72
|
+
|
73
|
+
doc.to_html
|
74
|
+
end
|
75
|
+
|
76
|
+
end # class CodeRayFilter
|
77
|
+
end # module Webby
|
78
|
+
|
79
|
+
# EOF
|
data/lib/webby/renderer.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
# $Id: renderer.rb
|
1
|
+
# $Id: renderer.rb 22 2007-09-17 20:36:39Z tim_pease $
|
2
2
|
|
3
3
|
require 'erb'
|
4
|
-
|
5
4
|
try_require 'bluecloth'
|
6
5
|
try_require 'redcloth'
|
7
6
|
|
@@ -85,6 +84,15 @@ class Renderer
|
|
85
84
|
str
|
86
85
|
end
|
87
86
|
|
87
|
+
#
|
88
|
+
#
|
89
|
+
def coderay_filter( str )
|
90
|
+
CodeRayFilter.new(str).to_html
|
91
|
+
rescue NameError
|
92
|
+
$stderr.puts "ERROR: coderay filter failed (CodeRay not installed?)"
|
93
|
+
exit
|
94
|
+
end
|
95
|
+
|
88
96
|
# Render text via ERB using the built in ERB library.
|
89
97
|
#
|
90
98
|
def erb_filter( str )
|
data/lib/webby.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
# $Id: webby.rb
|
1
|
+
# $Id: webby.rb 25 2007-09-17 22:46:55Z tim_pease $
|
2
2
|
|
3
3
|
module Webby
|
4
4
|
|
5
|
-
VERSION = '0.
|
5
|
+
VERSION = '0.3.0' # :nodoc:
|
6
6
|
|
7
7
|
# Path to the Webby package
|
8
8
|
PATH = ::File.expand_path(::File.join(::File.dirname(__FILE__), '..'))
|
data/tasks/setup.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: setup.rb
|
1
|
+
# $Id: setup.rb 22 2007-09-17 20:36:39Z tim_pease $
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'ostruct'
|
@@ -106,4 +106,15 @@ def paragraphs_of(path, *paragraphs)
|
|
106
106
|
File.read(path).delete("\r").split(/\n\n+/).values_at(*paragraphs)
|
107
107
|
end
|
108
108
|
|
109
|
+
# Adds the given gem _name_ to the current project's dependency list. An
|
110
|
+
# optional gem _version_ can be given. If omitted, the newest gem version
|
111
|
+
# will be used.
|
112
|
+
#
|
113
|
+
def depend_on( name, version = nil )
|
114
|
+
spec = Gem.source_index.find_name(name).last
|
115
|
+
version = spec.version.to_s if version.nil? and !spec.nil?
|
116
|
+
|
117
|
+
PROJ.dependencies << (version.nil? ? [name] : [name, ">= #{version}"])
|
118
|
+
end
|
119
|
+
|
109
120
|
# EOF
|
@@ -0,0 +1,54 @@
|
|
1
|
+
---
|
2
|
+
title: Tips & Tricks
|
3
|
+
created_at: Wed Aug 29 08:57:11 -0600 2007
|
4
|
+
filter:
|
5
|
+
- erb
|
6
|
+
- coderay
|
7
|
+
- textile
|
8
|
+
---
|
9
|
+
h2. To-Do
|
10
|
+
|
11
|
+
The Webby tips & tricks page goes here.
|
12
|
+
|
13
|
+
<notextile>
|
14
|
+
<coderay line_numbers="inline">
|
15
|
+
# call-seq:
|
16
|
+
# render_page => string
|
17
|
+
#
|
18
|
+
# Apply the desired filters to the page. The filters to apply are
|
19
|
+
# determined from the page's meta-data.
|
20
|
+
#
|
21
|
+
def render_page
|
22
|
+
ary = []
|
23
|
+
str = ::Webby::File.read(@page.path)
|
24
|
+
|
25
|
+
str << "and some more text"
|
26
|
+
|
27
|
+
@page.filter.to_a.each do |filter|
|
28
|
+
str = self.send(filter + '_filter', str)
|
29
|
+
end
|
30
|
+
|
31
|
+
str
|
32
|
+
end
|
33
|
+
</coderay>
|
34
|
+
</notextile>
|
35
|
+
|
36
|
+
And some more text.
|
37
|
+
|
38
|
+
<pre class="code">
|
39
|
+
---
|
40
|
+
title: Home Page
|
41
|
+
filter:
|
42
|
+
- erb
|
43
|
+
- textile
|
44
|
+
---
|
45
|
+
h2. <%= @page.title %>
|
46
|
+
|
47
|
+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc congue ipsum
|
48
|
+
vestibulum libero. Aenean vitae justo. Nam eget tellus. Etiam convallis, est
|
49
|
+
eu lobortis mattis, lectus tellus tempus felis, a ultricies erat ipsum at
|
50
|
+
metus.
|
51
|
+
|
52
|
+
h3. Litora Sociis
|
53
|
+
...
|
54
|
+
</pre>
|
@@ -8,13 +8,16 @@ filter: erb
|
|
8
8
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us">
|
9
9
|
<head>
|
10
10
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
11
|
-
<title>Webby :: <%= @page.title %></title>
|
12
|
-
<meta name="author" content="<%= @page.author %>" />
|
11
|
+
<title>Webby :: <%= h(@page.title) %></title>
|
12
|
+
<meta name="author" content="<%= h(@page.author) %>" />
|
13
13
|
|
14
14
|
<!--- Blueprint CSS Framework -->
|
15
15
|
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection" />
|
16
16
|
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print" />
|
17
17
|
|
18
|
+
<!-- CodeRay text highlighting CSS -->
|
19
|
+
<link rel="stylesheet" href="css/coderay.css" type="text/css" media="all" />
|
20
|
+
|
18
21
|
<!-- Homepage CSS -->
|
19
22
|
<link rel="stylesheet" href="css/site.css" type="text/css" media="screen, projection" />
|
20
23
|
</head>
|
@@ -23,7 +26,7 @@ filter: erb
|
|
23
26
|
<div class="container">
|
24
27
|
|
25
28
|
<div class="column span-11 prepend-1 append-2 first last" id="header">
|
26
|
-
<h1>Webby ☯ <%= @page.title %></h1>
|
29
|
+
<h1>Webby ☯ <%= h(@page.title) %></h1>
|
27
30
|
<hr />
|
28
31
|
<ul id="navigation"
|
29
32
|
><li><a href="index.html">Home</a>∾</li
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: webby
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.3.0
|
7
|
+
date: 2007-09-17 00:00:00 -06:00
|
8
8
|
summary: static website creation and management
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -50,6 +50,7 @@ files:
|
|
50
50
|
- data/content/css/blueprint/lib/typography.css
|
51
51
|
- data/content/css/blueprint/print.css
|
52
52
|
- data/content/css/blueprint/screen.css
|
53
|
+
- data/content/css/coderay.css
|
53
54
|
- data/content/css/site.css
|
54
55
|
- data/content/index.txt
|
55
56
|
- data/layouts/default.rhtml
|
@@ -61,6 +62,7 @@ files:
|
|
61
62
|
- lib/webby.rb
|
62
63
|
- lib/webby/auto_builder.rb
|
63
64
|
- lib/webby/builder.rb
|
65
|
+
- lib/webby/coderay_filter.rb
|
64
66
|
- lib/webby/file.rb
|
65
67
|
- lib/webby/main.rb
|
66
68
|
- lib/webby/pages_db.rb
|
@@ -95,6 +97,8 @@ files:
|
|
95
97
|
- website/content/css/site.css
|
96
98
|
- website/content/download.txt
|
97
99
|
- website/content/index.txt
|
100
|
+
- website/content/manual.txt
|
101
|
+
- website/content/tips_and_tricks.txt
|
98
102
|
- website/content/tutorial.txt
|
99
103
|
- website/layouts/default.rhtml
|
100
104
|
- website/tasks/create.rake
|
@@ -119,22 +123,31 @@ requirements: []
|
|
119
123
|
|
120
124
|
dependencies:
|
121
125
|
- !ruby/object:Gem::Dependency
|
122
|
-
name:
|
126
|
+
name: directory_watcher
|
123
127
|
version_requirement:
|
124
128
|
version_requirements: !ruby/object:Gem::Version::Requirement
|
125
129
|
requirements:
|
126
130
|
- - ">="
|
127
131
|
- !ruby/object:Gem::Version
|
128
|
-
version: 1.0.
|
132
|
+
version: 1.0.0
|
129
133
|
version:
|
130
134
|
- !ruby/object:Gem::Dependency
|
131
|
-
name:
|
135
|
+
name: hpricot
|
132
136
|
version_requirement:
|
133
137
|
version_requirements: !ruby/object:Gem::Version::Requirement
|
134
138
|
requirements:
|
135
139
|
- - ">="
|
136
140
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
141
|
+
version: "0.6"
|
142
|
+
version:
|
143
|
+
- !ruby/object:Gem::Dependency
|
144
|
+
name: rspec
|
145
|
+
version_requirement:
|
146
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: 1.0.5
|
138
151
|
version:
|
139
152
|
- !ruby/object:Gem::Dependency
|
140
153
|
name: rake
|