radiant 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of radiant might be problematic. Click here for more details.
- data/CHANGELOG +1 -0
- data/CONTRIBUTORS +12 -0
- data/LICENSE +9 -0
- data/README +91 -0
- data/Rakefile +10 -0
- data/app/behaviors/archive_behavior.rb +42 -0
- data/app/behaviors/archive_day_index_behavior.rb +30 -0
- data/app/behaviors/archive_month_index_behavior.rb +30 -0
- data/app/behaviors/archive_year_index_behavior.rb +30 -0
- data/app/behaviors/env_behavior.rb +18 -0
- data/app/behaviors/page_missing_behavior.rb +31 -0
- data/app/controllers/admin/export_controller.rb +8 -0
- data/app/controllers/admin/layout_controller.rb +23 -0
- data/app/controllers/admin/model_controller.rb +119 -0
- data/app/controllers/admin/page_controller.rb +119 -0
- data/app/controllers/admin/snippet_controller.rb +6 -0
- data/app/controllers/admin/user_controller.rb +45 -0
- data/app/controllers/admin/welcome_controller.rb +39 -0
- data/app/controllers/application.rb +32 -0
- data/app/controllers/site_controller.rb +54 -0
- data/app/filters/markdown_filter.rb +9 -0
- data/app/filters/textile_filter.rb +9 -0
- data/app/helpers/admin/export_helper.rb +2 -0
- data/app/helpers/admin/layout_helper.rb +2 -0
- data/app/helpers/admin/page_helper.rb +10 -0
- data/app/helpers/admin/snippet_helper.rb +2 -0
- data/app/helpers/admin/user_helper.rb +2 -0
- data/app/helpers/admin/welcome_helper.rb +2 -0
- data/app/helpers/application_helper.rb +141 -0
- data/app/helpers/site_helper.rb +2 -0
- data/app/models/archive_finder.rb +66 -0
- data/app/models/behavior.rb +194 -0
- data/app/models/layout.rb +13 -0
- data/app/models/page.rb +91 -0
- data/app/models/page_context.rb +526 -0
- data/app/models/page_part.rb +13 -0
- data/app/models/radiant/config.rb +53 -0
- data/app/models/radiant/exporter.rb +11 -0
- data/app/models/response_cache.rb +112 -0
- data/app/models/snippet.rb +16 -0
- data/app/models/status.rb +31 -0
- data/app/models/text_filter.rb +11 -0
- data/app/models/user.rb +70 -0
- data/app/models/user_action_observer.rb +13 -0
- data/app/views/admin/layout/index.rhtml +38 -0
- data/app/views/admin/layout/new.rhtml +37 -0
- data/app/views/admin/layout/remove.rhtml +17 -0
- data/app/views/admin/page/_node.rhtml +51 -0
- data/app/views/admin/page/_part.rhtml +17 -0
- data/app/views/admin/page/children.rhtml +4 -0
- data/app/views/admin/page/index.rhtml +172 -0
- data/app/views/admin/page/new.rhtml +164 -0
- data/app/views/admin/page/remove.rhtml +14 -0
- data/app/views/admin/snippet/index.rhtml +36 -0
- data/app/views/admin/snippet/new.rhtml +28 -0
- data/app/views/admin/snippet/remove.rhtml +16 -0
- data/app/views/admin/user/index.rhtml +43 -0
- data/app/views/admin/user/new.rhtml +48 -0
- data/app/views/admin/user/preferences.rhtml +29 -0
- data/app/views/admin/user/remove.rhtml +16 -0
- data/app/views/admin/welcome/login.rhtml +51 -0
- data/app/views/layouts/application.rhtml +75 -0
- data/app/views/site/not_found.rhtml +3 -0
- data/bin/radiant +305 -0
- data/config/boot.rb +80 -0
- data/config/database.mysql.yml +20 -0
- data/config/database.postgresql.yml +20 -0
- data/config/database.sqlite.yml +20 -0
- data/config/environment.rb +76 -0
- data/config/environments/development.rb +20 -0
- data/config/environments/production.rb +22 -0
- data/config/environments/test.rb +20 -0
- data/config/locomotive.yml +6 -0
- data/config/routes.rb +64 -0
- data/db/development_structure.sql +80 -0
- data/db/migrate/001_create_radiant_tables.rb +73 -0
- data/db/migrate/002_insert_initial_data.rb +45 -0
- data/db/migrate/003_rename_behavior_column.rb +9 -0
- data/db/migrate/004_rename_filter_column.rb +11 -0
- data/db/migrate/005_add_virtual_column_to_page.rb +9 -0
- data/db/migrate/006_integer_columns_to_boolean.rb +11 -0
- data/db/migrate/007_remove_virtual_column_from_page.rb +9 -0
- data/db/migrate/008_add_virtual_column_to_page_again.rb +9 -0
- data/db/migrate/009_add_content_type_field_to_layout.rb +9 -0
- data/db/schema.rb +74 -0
- data/db/templates/empty.yml +2 -0
- data/db/templates/simple-blog.yml +197 -0
- data/db/templates/styled-blog.yml +472 -0
- data/lib/advanced_delegation.rb +21 -0
- data/lib/archive_index_behavior_tags_and_methods.rb +48 -0
- data/lib/generators/behavior/USAGE +16 -0
- data/lib/generators/behavior/behavior_generator.rb +22 -0
- data/lib/generators/behavior/templates/model.rb.template +9 -0
- data/lib/generators/behavior/templates/unit_test.rb.template +16 -0
- data/lib/generators/filter/USAGE +16 -0
- data/lib/generators/filter/filter_generator.rb +22 -0
- data/lib/generators/filter/templates/model.rb.template +8 -0
- data/lib/generators/filter/templates/unit_test.rb.template +7 -0
- data/lib/inheritable_class_attributes.rb +65 -0
- data/lib/login_system.rb +80 -0
- data/lib/plugins/index_quoting_fix/init.rb +32 -0
- data/lib/plugins/string_io/init.rb +2 -0
- data/lib/radiant.rb +5 -0
- data/lib/registerable.rb +70 -0
- data/lib/tasks/release.rake +84 -0
- data/public/404.html +8 -0
- data/public/500.html +8 -0
- data/public/dispatch.cgi +10 -0
- data/public/dispatch.fcgi +24 -0
- data/public/dispatch.rb +10 -0
- data/public/favicon.ico +0 -0
- data/public/images/add-child.png +0 -0
- data/public/images/brown-bottom-line.gif +0 -0
- data/public/images/clear-page-cache.png +0 -0
- data/public/images/collapse.png +0 -0
- data/public/images/expand.png +0 -0
- data/public/images/minus.png +0 -0
- data/public/images/new-homepage.png +0 -0
- data/public/images/new-layout.png +0 -0
- data/public/images/new-snippet.png +0 -0
- data/public/images/new-user.png +0 -0
- data/public/images/page.png +0 -0
- data/public/images/plus.png +0 -0
- data/public/images/remove-disabled.png +0 -0
- data/public/images/remove.png +0 -0
- data/public/images/snippet.png +0 -0
- data/public/images/spinner.gif +0 -0
- data/public/images/view-site.gif +0 -0
- data/public/images/virtual-page.png +0 -0
- data/public/javascripts/application.js +2 -0
- data/public/javascripts/controls.js +815 -0
- data/public/javascripts/dragdrop.js +913 -0
- data/public/javascripts/effects.js +958 -0
- data/public/javascripts/pngfix.js +78 -0
- data/public/javascripts/prototype.js +2006 -0
- data/public/javascripts/ruledtable.js +28 -0
- data/public/javascripts/string.js +23 -0
- data/public/javascripts/tabcontrol.js +140 -0
- data/public/robots.txt +1 -0
- data/public/stylesheets/admin.css +464 -0
- data/script/about +3 -0
- data/script/breakpointer +3 -0
- data/script/console +3 -0
- data/script/destroy +3 -0
- data/script/generate +3 -0
- data/script/performance/benchmarker +3 -0
- data/script/performance/profiler +3 -0
- data/script/plugin +3 -0
- data/script/process/reaper +3 -0
- data/script/process/spawner +3 -0
- data/script/process/spinner +3 -0
- data/script/runner +3 -0
- data/script/server +3 -0
- data/script/setup_database +297 -0
- data/test/fixtures/layouts.yml +26 -0
- data/test/fixtures/page_parts.yml +99 -0
- data/test/fixtures/pages.yml +359 -0
- data/test/fixtures/pages.yml.rej +28 -0
- data/test/fixtures/snippets.yml +18 -0
- data/test/fixtures/users.yml +30 -0
- data/test/functional/admin/export_controller_test.rb +22 -0
- data/test/functional/admin/layout_controller_test.rb +40 -0
- data/test/functional/admin/model_controller_test.rb +152 -0
- data/test/functional/admin/page_controller_test.rb +179 -0
- data/test/functional/admin/snippet_controller_test.rb +11 -0
- data/test/functional/admin/user_controller_test.rb +71 -0
- data/test/functional/admin/welcome_controller_test.rb +48 -0
- data/test/functional/application_controller_test.rb +44 -0
- data/test/functional/login_system_test.rb +155 -0
- data/test/functional/site_controller_test.rb +172 -0
- data/test/helpers/archive_index_test_helper.rb +35 -0
- data/test/helpers/behavior_render_test_helper.rb +34 -0
- data/test/helpers/behavior_test_helper.rb +47 -0
- data/test/helpers/caching_test_helper.rb +41 -0
- data/test/helpers/layout_test_helper.rb +35 -0
- data/test/helpers/page_part_test_helper.rb +49 -0
- data/test/helpers/page_test_helper.rb +36 -0
- data/test/helpers/snippet_test_helper.rb +32 -0
- data/test/helpers/user_test_helper.rb +34 -0
- data/test/helpers/validation_test_helper.rb +42 -0
- data/test/test_helper.rb +54 -0
- data/test/unit/behavior_test.rb +196 -0
- data/test/unit/behaviors/archive_behavior_test.rb +33 -0
- data/test/unit/behaviors/archive_day_index_behavior_test.rb +21 -0
- data/test/unit/behaviors/archive_month_index_behavior_test.rb +21 -0
- data/test/unit/behaviors/archive_year_index_behavior_test.rb +21 -0
- data/test/unit/behaviors/page_missing_behavior_test.rb +27 -0
- data/test/unit/filters/markdown_filter_test.rb +14 -0
- data/test/unit/filters/textile_filter_test.rb +14 -0
- data/test/unit/inheritable_class_attributes_test.rb +47 -0
- data/test/unit/layout_test.rb +29 -0
- data/test/unit/page_context_test.rb +375 -0
- data/test/unit/page_context_test.rb.rej +26 -0
- data/test/unit/page_part_test.rb +44 -0
- data/test/unit/page_test.rb +224 -0
- data/test/unit/radiant/config_test.rb +46 -0
- data/test/unit/radiant/exporter_test.rb +26 -0
- data/test/unit/registerable_test.rb +68 -0
- data/test/unit/response_cache_test.rb +133 -0
- data/test/unit/snippet_test.rb +47 -0
- data/test/unit/status_test.rb +43 -0
- data/test/unit/text_filter_test.rb +14 -0
- data/test/unit/user_action_observer_test.rb +40 -0
- data/test/unit/user_test.rb +138 -0
- metadata +355 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
var RuledTable = Class.create();
|
2
|
+
RuledTable.prototype = {
|
3
|
+
|
4
|
+
initialize: function(element_id) {
|
5
|
+
var table = $(element_id);
|
6
|
+
var rows = table.getElementsByTagName('tr');
|
7
|
+
for (var i = 0; i < rows.length; i++) {
|
8
|
+
this.setupRow(rows[i]);
|
9
|
+
}
|
10
|
+
},
|
11
|
+
|
12
|
+
onMouseOverRow: function(event) {
|
13
|
+
// Element.addClassName(this, 'highlight');
|
14
|
+
this.className = this.className.replace(/\s*\bhighlight\b|$/, ' highlight'); // faster than the above
|
15
|
+
},
|
16
|
+
|
17
|
+
onMouseOutRow: function(event) {
|
18
|
+
// Element.removeClassName(this, 'highlight');
|
19
|
+
this.className = this.className.replace(/\s*\bhighlight\b\s*/, ' '); // faster than the above
|
20
|
+
},
|
21
|
+
|
22
|
+
setupRow: function(row) {
|
23
|
+
Event.observe(row, 'mouseover', this.onMouseOverRow.bindAsEventListener(row));
|
24
|
+
Event.observe(row, 'mouseout', this.onMouseOutRow.bindAsEventListener(row));
|
25
|
+
if (this.onRowSetup) this.onRowSetup(row);
|
26
|
+
}
|
27
|
+
|
28
|
+
};
|
@@ -0,0 +1,23 @@
|
|
1
|
+
Object.extend(String.prototype, {
|
2
|
+
|
3
|
+
upcase: function() {
|
4
|
+
return this.toUpperCase();
|
5
|
+
},
|
6
|
+
|
7
|
+
downcase: function() {
|
8
|
+
return this.toLowerCase();
|
9
|
+
},
|
10
|
+
|
11
|
+
strip: function() {
|
12
|
+
return this.replace(/^\s+/, '').replace(/\s+$/, '');
|
13
|
+
},
|
14
|
+
|
15
|
+
toInteger: function() {
|
16
|
+
return parseInt(this);
|
17
|
+
},
|
18
|
+
|
19
|
+
toSlug: function() {
|
20
|
+
return this.strip().downcase().replace(/[^-a-z0-9~\s\.:;+=_]/g, '').replace(/[\s\.:;=+]+/g, '-');
|
21
|
+
}
|
22
|
+
|
23
|
+
});
|
@@ -0,0 +1,140 @@
|
|
1
|
+
var TabControl = Class.create();
|
2
|
+
|
3
|
+
TabControl.controls = $H();
|
4
|
+
TabControl.BadTabError = new Error('TabControl: Invalid tab.');
|
5
|
+
|
6
|
+
TabControl.prototype = {
|
7
|
+
/*
|
8
|
+
Initializes a tab control. The variable +element_id+ must be the id of an HTML element
|
9
|
+
containing one element with it's class name set to 'tabs' and another element with it's
|
10
|
+
class name set to 'pages'.
|
11
|
+
*/
|
12
|
+
initialize: function(element_id) {
|
13
|
+
TabControl.controls[element_id] = this;
|
14
|
+
this.control_id = element_id;
|
15
|
+
this.element = $(element_id);
|
16
|
+
this.tab_container = document.getElementsByClassName('tabs', this.element).first();
|
17
|
+
this.tabs = $H();
|
18
|
+
},
|
19
|
+
|
20
|
+
/*
|
21
|
+
Creates a new tab. The variable +tab_id+ is a unique string used to identify the tab
|
22
|
+
when calling other methods. The variable +caption+ is a string containing the caption
|
23
|
+
of the tab. The variable +page+ is the ID of an HTML element, or the HTML element
|
24
|
+
itself. When a tab is initially added the page element is hidden.
|
25
|
+
*/
|
26
|
+
addTab: function(tab_id, caption, page) {
|
27
|
+
new Insertion.Bottom(
|
28
|
+
this.tab_container,
|
29
|
+
'<a class="tab" href="javascript:TabControl.controls[\''
|
30
|
+
+ this.control_id
|
31
|
+
+ '\'].select(\'' + tab_id + '\');">' + caption + '</a>'
|
32
|
+
);
|
33
|
+
var tab = this.tab_container.lastChild;
|
34
|
+
tab.tab_id = tab_id;
|
35
|
+
tab.caption = caption;
|
36
|
+
tab.page = $(page);
|
37
|
+
this.tabs[tab_id] = tab;
|
38
|
+
this._setNotHere(tab);
|
39
|
+
return tab;
|
40
|
+
},
|
41
|
+
|
42
|
+
/*
|
43
|
+
Removes +tab+. The variable +tab+ may be either a tab ID or a tab element.
|
44
|
+
*/
|
45
|
+
removeTab: function(tab) {
|
46
|
+
var t = this._tabify(tab);
|
47
|
+
var id = t.tab_id;
|
48
|
+
Element.remove(t.page);
|
49
|
+
Element.remove(t);
|
50
|
+
new_tabs = $H();
|
51
|
+
this.tabs.each(function(pair) {
|
52
|
+
if (pair.key != id) new_tabs[pair.key] = pair.value;
|
53
|
+
});
|
54
|
+
this.tabs = new_tabs;
|
55
|
+
if (this.selected.tab_id == id) {
|
56
|
+
var first = this.firstTab();
|
57
|
+
if (typeof first != 'undefined') this.select(first.tab_id);
|
58
|
+
}
|
59
|
+
},
|
60
|
+
|
61
|
+
/*
|
62
|
+
Selects +tab+ updating the control. The variable +tab+ may be either a tab ID or a
|
63
|
+
tab element.
|
64
|
+
*/
|
65
|
+
select: function(tab) {
|
66
|
+
var t = this._tabify(tab);
|
67
|
+
this.tabs.each(function(pair) {
|
68
|
+
if (pair.key == t.tab_id) {
|
69
|
+
if (this.selected) this.selected.selected = false;
|
70
|
+
this.selected = t;
|
71
|
+
t.selected = true;
|
72
|
+
this._setHere(pair.key);
|
73
|
+
} else {
|
74
|
+
this._setNotHere(pair.key);
|
75
|
+
}
|
76
|
+
}.bind(this));
|
77
|
+
false;
|
78
|
+
},
|
79
|
+
|
80
|
+
/*
|
81
|
+
Returns the first tab element that was added using #addTab().
|
82
|
+
*/
|
83
|
+
firstTab: function() {
|
84
|
+
return this.tabs[this.tabs.keys().first()];
|
85
|
+
},
|
86
|
+
|
87
|
+
/*
|
88
|
+
Returns the the last tab element that was added using #addTab().
|
89
|
+
*/
|
90
|
+
lastTab: function() {
|
91
|
+
return this.tabs[this.tabs.keys().last()];
|
92
|
+
},
|
93
|
+
|
94
|
+
/*
|
95
|
+
Returns the total number of tab elements managed by the control.
|
96
|
+
*/
|
97
|
+
tabCount: function() {
|
98
|
+
return this.tabs.keys().length;
|
99
|
+
},
|
100
|
+
|
101
|
+
/*
|
102
|
+
Private Methods
|
103
|
+
*/
|
104
|
+
|
105
|
+
/*
|
106
|
+
Shows the page for +tab+ and adds the class 'here' to tab. The variable +tab+ may
|
107
|
+
be either a tab ID or a tab element.
|
108
|
+
*/
|
109
|
+
_setHere: function(tab) {
|
110
|
+
var t = this._tabify(tab);
|
111
|
+
Element.show(t.page);
|
112
|
+
Element.addClassName(t, 'here');
|
113
|
+
},
|
114
|
+
|
115
|
+
/*
|
116
|
+
Hides the page for +tab+ and removes the class 'here' from tab. The variable +tab+
|
117
|
+
may be either a tab ID or a tab element.
|
118
|
+
*/
|
119
|
+
_setNotHere: function(tab) {
|
120
|
+
var t = this._tabify(tab);
|
121
|
+
Element.hide(t.page);
|
122
|
+
Element.removeClassName(t, 'here');
|
123
|
+
},
|
124
|
+
|
125
|
+
/*
|
126
|
+
Returns a tab when passed a string or tab element. Throws a BadTabError otherwise.
|
127
|
+
*/
|
128
|
+
_tabify: function(something) {
|
129
|
+
if (typeof something == 'string') {
|
130
|
+
var object = this.tabs[something];
|
131
|
+
} else {
|
132
|
+
var object = something;
|
133
|
+
}
|
134
|
+
if ((typeof object != 'undefined') && (object.tab_id)) {
|
135
|
+
return object;
|
136
|
+
} else {
|
137
|
+
throw TabControl.BadTabError;
|
138
|
+
}
|
139
|
+
}
|
140
|
+
};
|
data/public/robots.txt
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
|
@@ -0,0 +1,464 @@
|
|
1
|
+
body {
|
2
|
+
font-size: 95%;
|
3
|
+
font-family: "Lucida Grande", "Bitstream Vera Sans", Helvetica, Verdana, Arial, sans-serif;
|
4
|
+
margin: 0;
|
5
|
+
padding: 0;
|
6
|
+
}
|
7
|
+
img { border: 0; }
|
8
|
+
h3 {
|
9
|
+
font-size: 130%;
|
10
|
+
margin-top: 1.25em;
|
11
|
+
margin-bottom: .5em;
|
12
|
+
}
|
13
|
+
.hidden {
|
14
|
+
display: none;
|
15
|
+
}
|
16
|
+
.clear {
|
17
|
+
font-size: 1px;
|
18
|
+
clear: both;
|
19
|
+
}
|
20
|
+
.warning {
|
21
|
+
color: red;
|
22
|
+
}
|
23
|
+
|
24
|
+
/* main layout */
|
25
|
+
|
26
|
+
#header {
|
27
|
+
background-color: #c00;
|
28
|
+
color: white;
|
29
|
+
width: 100%;
|
30
|
+
padding-top: 1px;
|
31
|
+
padding-bottom: 20px;
|
32
|
+
}
|
33
|
+
#header a, #header a:visited {
|
34
|
+
color: white;
|
35
|
+
text-decoration: none;
|
36
|
+
}
|
37
|
+
#header a:hover, #header a:visited:hover {
|
38
|
+
text-decoration: underline;
|
39
|
+
}
|
40
|
+
#site-title {
|
41
|
+
font-size: 150%;
|
42
|
+
font-weight: bold;
|
43
|
+
margin-top: 19px;
|
44
|
+
margin-left: 20px;
|
45
|
+
}
|
46
|
+
#site-subtitle {
|
47
|
+
color: #fc6;
|
48
|
+
font-size: 90%;
|
49
|
+
font-style: italic;
|
50
|
+
margin-left: 20px;
|
51
|
+
}
|
52
|
+
#navigation {
|
53
|
+
font-size: 90%;
|
54
|
+
margin-top: -5px;
|
55
|
+
margin-bottom: -20px;
|
56
|
+
line-height: 100%;
|
57
|
+
padding: .5em;
|
58
|
+
padding-right: 20px;
|
59
|
+
border-bottom: 2px solid #c00;
|
60
|
+
_border-bottom: 0; /* IE only */
|
61
|
+
text-align: right;
|
62
|
+
}
|
63
|
+
#navigation a, #navigation a:visited {
|
64
|
+
background-color: #eae3c5;
|
65
|
+
color: black;
|
66
|
+
display: inline;
|
67
|
+
padding: .5em;
|
68
|
+
padding-left: .9em;
|
69
|
+
padding-right: .9em;
|
70
|
+
text-decoration: none;
|
71
|
+
}
|
72
|
+
#navigation a:hover, #navigation a:visited:hover {
|
73
|
+
text-decoration: underline;
|
74
|
+
}
|
75
|
+
#navigation strong a, #navigation strong a:visited {
|
76
|
+
background-color: white;
|
77
|
+
}
|
78
|
+
#navigation .separator {
|
79
|
+
display: none;
|
80
|
+
}
|
81
|
+
#main {
|
82
|
+
float: left;
|
83
|
+
width: 100%;
|
84
|
+
}
|
85
|
+
#content {
|
86
|
+
font-size: 95%;
|
87
|
+
padding: 20px;
|
88
|
+
}
|
89
|
+
#footer {
|
90
|
+
color: #999;
|
91
|
+
background-color: #f7f7f7;
|
92
|
+
border-top: 1px solid #eaeaea;
|
93
|
+
font-size: 80%;
|
94
|
+
float: left;
|
95
|
+
padding-top: 20px;
|
96
|
+
padding-bottom: 20px;
|
97
|
+
width: 100%;
|
98
|
+
}
|
99
|
+
#footer p {
|
100
|
+
padding-left: 20px;
|
101
|
+
padding-right: 20px;
|
102
|
+
}
|
103
|
+
#site-links {
|
104
|
+
color: #f5cbcb;
|
105
|
+
font-size: 90%;
|
106
|
+
margin: 0;
|
107
|
+
position: absolute;
|
108
|
+
right: 0;
|
109
|
+
top: 20px;
|
110
|
+
}
|
111
|
+
#site-links a, #site-links a:visited {
|
112
|
+
color: white;
|
113
|
+
}
|
114
|
+
#site-links a:hover, #site-links a:visited:hover {
|
115
|
+
text-decoration: none;
|
116
|
+
}
|
117
|
+
#site-links strong a, #site-links strong a:visited {
|
118
|
+
text-decoration: none;
|
119
|
+
}
|
120
|
+
|
121
|
+
|
122
|
+
/* messages */
|
123
|
+
|
124
|
+
#notice, #error {
|
125
|
+
color: white;
|
126
|
+
margin-top: 25px;
|
127
|
+
margin-left: 20px;
|
128
|
+
margin-right: 20px;
|
129
|
+
padding: .75em;
|
130
|
+
padding-top: 0;
|
131
|
+
padding-bottom: 0;
|
132
|
+
}
|
133
|
+
#notice {
|
134
|
+
background-color: #0c3;
|
135
|
+
border: 3px solid #7FE699;
|
136
|
+
}
|
137
|
+
#error {
|
138
|
+
background-color: #c00;
|
139
|
+
border: 3px solid #e67f00;
|
140
|
+
}
|
141
|
+
h1 {
|
142
|
+
margin-top: 0;
|
143
|
+
}
|
144
|
+
|
145
|
+
|
146
|
+
/* index table */
|
147
|
+
|
148
|
+
#content table.index {
|
149
|
+
font-size: 90%;
|
150
|
+
width: 100%;
|
151
|
+
margin-bottom: 2em;
|
152
|
+
border-bottom: 1px solid #eaeaea;
|
153
|
+
}
|
154
|
+
#content table.index td, table.index th {
|
155
|
+
text-align: left;
|
156
|
+
}
|
157
|
+
#content table.index th {
|
158
|
+
background-color: #f5f5f5;
|
159
|
+
font-size: 90%;
|
160
|
+
font-weight: normal;
|
161
|
+
padding: 4px;
|
162
|
+
padding-top: 2px;
|
163
|
+
padding-bottom: 2px;
|
164
|
+
}
|
165
|
+
#content table.index td {
|
166
|
+
border-top: 1px solid #eaeaea;
|
167
|
+
padding: 4px;
|
168
|
+
}
|
169
|
+
#content table.index .status {
|
170
|
+
width: 8em;
|
171
|
+
}
|
172
|
+
#content table.index td.status {
|
173
|
+
color: #9eb3bf;
|
174
|
+
}
|
175
|
+
#content table.index td.status.draft-status {
|
176
|
+
color: #c00;
|
177
|
+
}
|
178
|
+
#content table.index td.status.published-status {
|
179
|
+
color: black;
|
180
|
+
}
|
181
|
+
#content table.index td.status.hidden-stats {
|
182
|
+
color: #0c0;
|
183
|
+
}
|
184
|
+
#content table.index .add-child {
|
185
|
+
width: 100px;
|
186
|
+
padding-left: 0;
|
187
|
+
}
|
188
|
+
#content table.index .remove {
|
189
|
+
width: 100px;
|
190
|
+
padding-left: 0;
|
191
|
+
}
|
192
|
+
#content table.index .node .layout,
|
193
|
+
#content table.index .node .snippet,
|
194
|
+
#content table.index .node .user {
|
195
|
+
font-size: 115%;
|
196
|
+
font-weight: bold;
|
197
|
+
}
|
198
|
+
#content table.index .node .user small {
|
199
|
+
color: #666;
|
200
|
+
font-size: 90%;
|
201
|
+
font-style: italic;
|
202
|
+
font-weight: normal;
|
203
|
+
margin-left: .5em;
|
204
|
+
}
|
205
|
+
#content table.index .node.level-0 .page {
|
206
|
+
font-size: 120%;
|
207
|
+
font-weight: bold;
|
208
|
+
}
|
209
|
+
#content table.index .node.level-1 .page{
|
210
|
+
font-size: 115%;
|
211
|
+
font-weight: bold;
|
212
|
+
}
|
213
|
+
#content table.index .node.level-2 .page {
|
214
|
+
font-size: 115%;
|
215
|
+
}
|
216
|
+
#content table.index .node.level-3 .page{
|
217
|
+
font-size: 105%;
|
218
|
+
}
|
219
|
+
#content table.index .node .page a {
|
220
|
+
text-decoration: none;
|
221
|
+
}
|
222
|
+
#content table.index .node .page a .title, #content table.index .node .page a:visited .title,
|
223
|
+
#content table.index .node .snippet a, #content table.index .node .snippet a:visited,
|
224
|
+
#content table.index .node .layout a, #content table.index .node .layout a:visited,
|
225
|
+
#content table.index .node .user a, #content table.index .node .user a:visited {
|
226
|
+
color: black;
|
227
|
+
text-decoration: none;
|
228
|
+
}
|
229
|
+
|
230
|
+
#content table.index .node.virtual .page a .title, #content table.index .node.virtual .page a:visited .title {
|
231
|
+
color: #9eb3bf;
|
232
|
+
}
|
233
|
+
|
234
|
+
#content table.index .node .page a:hover .title, #content table.index .node .page a:visited:hover .title,
|
235
|
+
#content table.index .node .snippet a:hover, #content table.index .node .snippet a:visited:hover,
|
236
|
+
#content table.index .node .layout a:hover, #content table.index .node .layout a:visited:hover,
|
237
|
+
#content table.index .node .user a:hover, #content table.index .node .user a:visited:hover {
|
238
|
+
color: blue;
|
239
|
+
text-decoration: underline;
|
240
|
+
}
|
241
|
+
#content table.index td.note {
|
242
|
+
color: silver;
|
243
|
+
font-size: 85%;
|
244
|
+
font-style: italic;
|
245
|
+
padding: 3em;
|
246
|
+
text-align: center;
|
247
|
+
}
|
248
|
+
#content table.index .node .page .info {
|
249
|
+
color: #9eb3bf;
|
250
|
+
font-style: italic;
|
251
|
+
font-weight: normal;
|
252
|
+
}
|
253
|
+
#content table.index tr.highlight {
|
254
|
+
background-color: #ffffb3;
|
255
|
+
}
|
256
|
+
#content table.index .no-children .w1 {
|
257
|
+
padding-left: 23px;
|
258
|
+
}
|
259
|
+
#content table.index .page .title,
|
260
|
+
#content table.index .page .info {
|
261
|
+
position: relative;
|
262
|
+
top: 2px;
|
263
|
+
}
|
264
|
+
#content table.index .page img.expander {
|
265
|
+
padding: 3px;
|
266
|
+
padding-top: 6px;
|
267
|
+
padding-bottom: 6px;
|
268
|
+
}
|
269
|
+
|
270
|
+
/* form elements */
|
271
|
+
|
272
|
+
#content .form-area {
|
273
|
+
background-color: #f5f1e2;
|
274
|
+
margin-left: -20px;
|
275
|
+
margin-right: -20px;
|
276
|
+
padding: 20px;
|
277
|
+
padding-top: 15px;
|
278
|
+
padding-bottom: 10px;
|
279
|
+
}
|
280
|
+
#content .form-area h3 {
|
281
|
+
font-size: 100%;
|
282
|
+
margin-bottom: 0;
|
283
|
+
}
|
284
|
+
#content .form-area p {
|
285
|
+
margin-top: 0;
|
286
|
+
}
|
287
|
+
#content .form-area small {
|
288
|
+
font-size: 75%;
|
289
|
+
}
|
290
|
+
#content .form-area label {
|
291
|
+
font-weight: bold;
|
292
|
+
}
|
293
|
+
#content .form-area .textbox {
|
294
|
+
font-size: 100%;
|
295
|
+
}
|
296
|
+
#content .form-area .title {
|
297
|
+
margin-bottom: 0;
|
298
|
+
}
|
299
|
+
#content .form-area .title label {
|
300
|
+
display: block;
|
301
|
+
}
|
302
|
+
#content .form-area .title .textbox {
|
303
|
+
font-family: Georgia, Palatino, "Times New Roman", Times, serif;
|
304
|
+
font-size: 200%;
|
305
|
+
width: 100%;
|
306
|
+
}
|
307
|
+
#content .form-area .content {
|
308
|
+
margin-top: 1em;
|
309
|
+
margin-bottom: 1em;
|
310
|
+
}
|
311
|
+
#content .form-area .row {
|
312
|
+
clear: both;
|
313
|
+
margin-top: 1em;
|
314
|
+
}
|
315
|
+
#content .form-area .row p,
|
316
|
+
#content .form-area .row .fieldset {
|
317
|
+
float: left;
|
318
|
+
margin-right: 2em;
|
319
|
+
margin-bottom: 1em;
|
320
|
+
}
|
321
|
+
#content .form-area .more-or-less {
|
322
|
+
float: left;
|
323
|
+
margin-top: 0;
|
324
|
+
margin-bottom: 1em;
|
325
|
+
width: 100%;
|
326
|
+
}
|
327
|
+
#content .form-area .fieldset {
|
328
|
+
margin-right: .5em;
|
329
|
+
}
|
330
|
+
#content .form-area .fieldset td {
|
331
|
+
padding-right: .5em;
|
332
|
+
}
|
333
|
+
#content .form-area .error-with-field .error {
|
334
|
+
color: #f00;
|
335
|
+
display: block;
|
336
|
+
padding: 2px;
|
337
|
+
padding-top: 0;
|
338
|
+
}
|
339
|
+
#content .buttons {
|
340
|
+
font-size: 80%;
|
341
|
+
margin-top: 2.5em;
|
342
|
+
}
|
343
|
+
#content .button {
|
344
|
+
font-size: 150%;
|
345
|
+
}
|
346
|
+
#content table.fieldset {
|
347
|
+
border-bottom: 1px solid #DFD3C3;
|
348
|
+
margin-bottom: 1.5em;
|
349
|
+
width: 100%;
|
350
|
+
}
|
351
|
+
#content table.fieldset td {
|
352
|
+
background-color: white;
|
353
|
+
border-top: 1px solid #DFD3C3;
|
354
|
+
padding: 6px;
|
355
|
+
}
|
356
|
+
#content table.fieldset td.label {
|
357
|
+
padding-top: 10px;
|
358
|
+
vertical-align: top;
|
359
|
+
text-align: right;
|
360
|
+
width: 20%;
|
361
|
+
}
|
362
|
+
#content table.fieldset td.label .optional {
|
363
|
+
color: #929488;
|
364
|
+
}
|
365
|
+
#content table.fieldset td.field .textbox {
|
366
|
+
width: 100%;
|
367
|
+
}
|
368
|
+
#content table.fieldset td.help {
|
369
|
+
background-color: #F5F1E2;
|
370
|
+
font-size: 80%;
|
371
|
+
padding-left: 10px;
|
372
|
+
width: 40%;
|
373
|
+
}
|
374
|
+
#content table.fieldset input {
|
375
|
+
font-size: 100%;
|
376
|
+
}
|
377
|
+
#content table.fieldset .checkbox {
|
378
|
+
display: block;
|
379
|
+
float: left;
|
380
|
+
padding-top: 4px;
|
381
|
+
width: 10em;
|
382
|
+
}
|
383
|
+
#content table.fieldset .error-with-field small {
|
384
|
+
color: red;
|
385
|
+
}
|
386
|
+
|
387
|
+
/* tabs */
|
388
|
+
|
389
|
+
#content #tabs {
|
390
|
+
background-image: url(/images/brown-bottom-line.gif);
|
391
|
+
background-position: bottom;
|
392
|
+
background-repeat: repeat-x;
|
393
|
+
float: left;
|
394
|
+
width: 100%;
|
395
|
+
margin-right: -4px;
|
396
|
+
}
|
397
|
+
#content #tabs .tab {
|
398
|
+
background-color: #eae3c5;
|
399
|
+
border-bottom: 1px solid #cdc295;
|
400
|
+
color: black;
|
401
|
+
display: inline-block;
|
402
|
+
font-size: 100%;
|
403
|
+
text-align: left;
|
404
|
+
margin-right: 3px;
|
405
|
+
padding: 15px;
|
406
|
+
padding-top: 7px;
|
407
|
+
padding-bottom: 4px;
|
408
|
+
text-decoration: none;
|
409
|
+
text-transform: titlecase;
|
410
|
+
}
|
411
|
+
#content #tabs .tab.here {
|
412
|
+
background-color: white;
|
413
|
+
border: 1px solid #cdc295;
|
414
|
+
border-bottom: 1px solid white;
|
415
|
+
font-weight: bold;
|
416
|
+
padding-left: 13px;
|
417
|
+
padding-right: 13px;
|
418
|
+
padding-top: 6px;
|
419
|
+
}
|
420
|
+
#content #tab-toolbar {
|
421
|
+
float: right;
|
422
|
+
margin-top: .35em;
|
423
|
+
}
|
424
|
+
#content #pages {
|
425
|
+
background: white;
|
426
|
+
width: 100%;
|
427
|
+
clear: both;
|
428
|
+
}
|
429
|
+
#content #pages .page {
|
430
|
+
padding: 20px;
|
431
|
+
border: 1px solid #cdc295;
|
432
|
+
border-top-width: 0;
|
433
|
+
}
|
434
|
+
#content textarea {
|
435
|
+
height: 280px;
|
436
|
+
border: 1px solid #cdc295;
|
437
|
+
font-family: Monaco, "Courier New", Courier, monospace;
|
438
|
+
font-size: 85%;
|
439
|
+
}
|
440
|
+
#content #pages label {
|
441
|
+
font-size: 85%;
|
442
|
+
font-weight: normal !important;
|
443
|
+
}
|
444
|
+
|
445
|
+
|
446
|
+
/* popups */
|
447
|
+
|
448
|
+
#content .popup {
|
449
|
+
background-color: white;
|
450
|
+
border: 5px solid silver;
|
451
|
+
padding: 2em;
|
452
|
+
padding-top: 1em;
|
453
|
+
padding-bottom: .5em;
|
454
|
+
}
|
455
|
+
#content .popup .busy {
|
456
|
+
float: right;
|
457
|
+
}
|
458
|
+
#content .popup h3 {
|
459
|
+
margin-top: 0;
|
460
|
+
}
|
461
|
+
#content .popup .close-link {
|
462
|
+
font-size: 85%;
|
463
|
+
color: #999;
|
464
|
+
}
|