YurtCMS 0.2.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/README +18 -0
- data/bin/yurt +282 -0
- data/lib/yurtcms.rb +175 -0
- data/site/content/index +14 -0
- data/site/htdocs/includes/content/index.html +11 -0
- data/site/htdocs/includes/content/index.metatags.html +1 -0
- data/site/htdocs/includes/template.html +22 -0
- data/site/htdocs/includes/template.metatags.html +4 -0
- data/site/htdocs/index.html +2 -0
- data/site/htdocs/media/css/styles.css +106 -0
- data/site/htdocs/media/images/admin_bg.gif +0 -0
- data/site/htdocs/media/images/admin_head.jpg +0 -0
- data/site/htdocs/media/images/directory.png +0 -0
- data/site/htdocs/media/images/file.png +0 -0
- data/site/htdocs/media/images/pane_bg.gif +0 -0
- data/site/htdocs/media/js/prototype.js +1781 -0
- data/site/log/access.log +0 -0
- data/site/log/error.log +0 -0
- data/site/yurt/index.html +135 -0
- data/site/yurt/media/css/styles.css +155 -0
- data/site/yurt/media/images/admin_bg.gif +0 -0
- data/site/yurt/media/images/admin_head.jpg +0 -0
- data/site/yurt/media/images/directory.png +0 -0
- data/site/yurt/media/images/file.png +0 -0
- data/site/yurt/media/images/pane_bg.gif +0 -0
- data/site/yurt/media/js/prototype.js +1781 -0
- data/site/yurt/yurt.cgi +250 -0
- data/site/yurt.conf +53 -0
- data/test/cms_filesystem.rb +111 -0
- data/test/cms_strings.rb +132 -0
- metadata +106 -0
data/site/log/access.log
ADDED
File without changes
|
data/site/log/error.log
ADDED
File without changes
|
@@ -0,0 +1,135 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<title>yurt management</title>
|
6
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
7
|
+
|
8
|
+
<link rel="stylesheet" type="text/css" href="/yurt/media/css/styles.css" />
|
9
|
+
<script type="text/javascript" language="javascript" src="/yurt/media/js/prototype.js"> </script>
|
10
|
+
<script type="text/javascript" language="javascript">
|
11
|
+
<!--
|
12
|
+
|
13
|
+
function toggleTabs() {
|
14
|
+
if (arguments.length == 0) return;
|
15
|
+
Element.show(arguments[0]);
|
16
|
+
for (var i=1; i < arguments.length; i++) {
|
17
|
+
Element.hide(arguments[i]);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
EventDispenser = Class.create();
|
22
|
+
EventDispenser.prototype = {
|
23
|
+
initialize: function(list) {
|
24
|
+
this.list = list;
|
25
|
+
this.showMenuObserver = this.showMenu.bindAsEventListener(this);
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
list.each(function(i) {
|
30
|
+
Event.observe(i, 'click', this.showMenuObserver);
|
31
|
+
}.bind(this));
|
32
|
+
|
33
|
+
|
34
|
+
},
|
35
|
+
|
36
|
+
showMenu: function (event) {
|
37
|
+
clearTimeout(menu_life);
|
38
|
+
Element.hide('directory_actions');
|
39
|
+
Element.hide('file_actions');
|
40
|
+
resource = Event.element(event).id;
|
41
|
+
$(Event.element(event).parentNode.className + '_actions').style.top= Event.pointerY(event) + "px";
|
42
|
+
$(Event.element(event).parentNode.className + '_actions').style.left= Event.pointerX(event) + 20 + "px";
|
43
|
+
Element.show($(Event.element(event).parentNode.className + '_actions'));
|
44
|
+
menu_life = setTimeout("hideMenus()", 8000);
|
45
|
+
},
|
46
|
+
|
47
|
+
hideMenu: function () {
|
48
|
+
hideMenus();
|
49
|
+
clearTimeout(menu_life);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
function dispatch(url) {
|
54
|
+
url = url + "/" + resource;
|
55
|
+
var pars = '';
|
56
|
+
var target = 'workspace';
|
57
|
+
var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
|
58
|
+
hideMenus();
|
59
|
+
}
|
60
|
+
|
61
|
+
function dispatch_post(url,formname) {
|
62
|
+
var pars = Form.serialize(formname);
|
63
|
+
var target = 'workspace';
|
64
|
+
var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars});
|
65
|
+
hideMenus();
|
66
|
+
}
|
67
|
+
|
68
|
+
function openFolder(url) {
|
69
|
+
url = url + "/" + resource;
|
70
|
+
var pars = '';
|
71
|
+
var target;
|
72
|
+
|
73
|
+
if (resource=="/") {
|
74
|
+
target = 'directory_home';
|
75
|
+
} else {
|
76
|
+
target = 'directory_'+ resource;
|
77
|
+
}
|
78
|
+
var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars, evalScripts: true});
|
79
|
+
hideMenus();
|
80
|
+
}
|
81
|
+
|
82
|
+
function preview(content) {
|
83
|
+
// use an argument looking like this: document.forms["newfile"].content.value
|
84
|
+
|
85
|
+
var url = "/yurt/yurt.cgi/preview/"
|
86
|
+
var pars = 'c=' + escape( content );
|
87
|
+
var target = 'nf_preview';
|
88
|
+
|
89
|
+
var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars});
|
90
|
+
}
|
91
|
+
|
92
|
+
function hideMenus() {
|
93
|
+
Element.hide('directory_actions');
|
94
|
+
Element.hide('file_actions');
|
95
|
+
}
|
96
|
+
|
97
|
+
function clicky(e) {
|
98
|
+
/* this function is disabled; left in for testing purposes */
|
99
|
+
x = Event.pointerX(e);
|
100
|
+
alert(x);
|
101
|
+
alert(Event.pointerX(e));
|
102
|
+
}
|
103
|
+
|
104
|
+
var resource, menu_life;
|
105
|
+
|
106
|
+
window.onload = function () {
|
107
|
+
listing = new Array('/');
|
108
|
+
new EventDispenser(listing);
|
109
|
+
}
|
110
|
+
|
111
|
+
//-->
|
112
|
+
</script>
|
113
|
+
</head>
|
114
|
+
<body>
|
115
|
+
<img src="/yurt/media/images/admin_head.jpg" width="481" height="79" border="0" alt="yurt: a content management system" id="header_img" />
|
116
|
+
|
117
|
+
<ul id="filelist" class="listing">
|
118
|
+
<li class="directory"><a href="#" id="/" onclick="return false;">home</a><div id="directory_home"></div></li>
|
119
|
+
</ul>
|
120
|
+
|
121
|
+
<div id="workspace">
|
122
|
+
</div>
|
123
|
+
<ul id="directory_actions" class="actions" style="display: none;">
|
124
|
+
<li><a href="/yurt/yurt.cgi/open" class="first" onclick="openFolder(this.href); return false;">Open</a></li>
|
125
|
+
<li><a href="/yurt/yurt.cgi/new_folder" onclick="dispatch(this.href); return false;">New folder...</a></li>
|
126
|
+
<li><a href="/yurt/yurt.cgi/new_file" onclick="dispatch(this.href); return false;">New file...</a></li>
|
127
|
+
<li><a href="/yurt/yurt.cgi/delete" onclick="dispatch(this.href); return false;">Delete</a></li>
|
128
|
+
</ul>
|
129
|
+
<ul id="file_actions" class="actions" style="display: none;">
|
130
|
+
<li><a href="/yurt/yurt.cgi/edit" class="first" onclick="dispatch(this.href); return false;">Edit file...</a></li>
|
131
|
+
<li><a href="/yurt/yurt.cgi/delete" onclick="dispatch(this.href); return false;">Delete</a></li>
|
132
|
+
</ul>
|
133
|
+
</body>
|
134
|
+
</html>
|
135
|
+
|
@@ -0,0 +1,155 @@
|
|
1
|
+
body {
|
2
|
+
margin: 0;
|
3
|
+
padding: 0;
|
4
|
+
background-color: #eeeeea;
|
5
|
+
background-image: url("/yurt/media/images/admin_bg.gif");
|
6
|
+
background-position: top left;
|
7
|
+
background-repeat: repeat-x;
|
8
|
+
font-size: 100%;
|
9
|
+
}
|
10
|
+
|
11
|
+
#header_img {
|
12
|
+
position: absolute;
|
13
|
+
margin: 0;
|
14
|
+
padding: 0;
|
15
|
+
}
|
16
|
+
|
17
|
+
#filelist {
|
18
|
+
padding: 0;
|
19
|
+
position: absolute;
|
20
|
+
margin-left: 90px;
|
21
|
+
margin-top: 100px;
|
22
|
+
width: 220px;
|
23
|
+
font-size: 0.8em;
|
24
|
+
}
|
25
|
+
|
26
|
+
.listing {
|
27
|
+
list-style: none;
|
28
|
+
font-family: Geneva;
|
29
|
+
}
|
30
|
+
|
31
|
+
#filelist li, #filelist ul {
|
32
|
+
margin: 0;
|
33
|
+
padding: 0;
|
34
|
+
}
|
35
|
+
|
36
|
+
#filelist ul {
|
37
|
+
margin-left: 30px;
|
38
|
+
}
|
39
|
+
|
40
|
+
#filelist a {
|
41
|
+
color: #000;
|
42
|
+
padding: 0.4em;
|
43
|
+
padding-left: 30px;
|
44
|
+
text-decoration: none;
|
45
|
+
display: block;
|
46
|
+
background-position: left center;
|
47
|
+
background-repeat: no-repeat;
|
48
|
+
border-top: 1px solid transparent;
|
49
|
+
}
|
50
|
+
|
51
|
+
#filelist a:hover {
|
52
|
+
text-decoration: underline;
|
53
|
+
}
|
54
|
+
|
55
|
+
li.directory a {
|
56
|
+
background-image: url("/yurt/media/images/directory.png");
|
57
|
+
}
|
58
|
+
|
59
|
+
li.file a {
|
60
|
+
background-image: url("/yurt/media/images/file.png");
|
61
|
+
}
|
62
|
+
|
63
|
+
.dialog_box {
|
64
|
+
margin: 0;
|
65
|
+
padding: 0;
|
66
|
+
width: 560px;
|
67
|
+
padding-left: 10px;
|
68
|
+
padding-right: 10px;
|
69
|
+
}
|
70
|
+
|
71
|
+
.contentarea {
|
72
|
+
display: block;
|
73
|
+
width: 510px;
|
74
|
+
height: 18em;
|
75
|
+
background-color: #eeeeec;
|
76
|
+
}
|
77
|
+
|
78
|
+
.dialog_box label {
|
79
|
+
font-style: italic;
|
80
|
+
color: #666043;
|
81
|
+
display: block;
|
82
|
+
}
|
83
|
+
|
84
|
+
.dialog_box label input.checkbox {
|
85
|
+
width: auto;
|
86
|
+
}
|
87
|
+
|
88
|
+
.dialog_box label input {
|
89
|
+
width: 420px;
|
90
|
+
background-color: #eeeeec;
|
91
|
+
}
|
92
|
+
|
93
|
+
.dialog_box fieldset {
|
94
|
+
background-image: url("/yurt/media/images/pane_bg.gif");
|
95
|
+
background-position: bottom;
|
96
|
+
background-repeat: repeat-x;
|
97
|
+
background-color: #ddddd8;
|
98
|
+
padding: 20px;
|
99
|
+
}
|
100
|
+
|
101
|
+
.dialog_box legend {
|
102
|
+
background-color: #ddddd8;
|
103
|
+
border-top: 1px solid #000;
|
104
|
+
padding: 0.3em;
|
105
|
+
}
|
106
|
+
|
107
|
+
.actions {
|
108
|
+
margin: 0;
|
109
|
+
padding: 0;
|
110
|
+
list-style: none;
|
111
|
+
font-family: chicago;
|
112
|
+
font-size: 0.9em;
|
113
|
+
width: 140px;
|
114
|
+
background-color: #eeeeec;
|
115
|
+
border: 1px solid #000 !important;
|
116
|
+
}
|
117
|
+
|
118
|
+
.actions li {
|
119
|
+
margin: 0;
|
120
|
+
padding: 0;
|
121
|
+
}
|
122
|
+
|
123
|
+
.actions a {
|
124
|
+
padding: 0.5em;
|
125
|
+
color: #000;
|
126
|
+
text-decoration: none;
|
127
|
+
display: block;
|
128
|
+
border: 1px solid transparent;
|
129
|
+
background-image: none;
|
130
|
+
}
|
131
|
+
|
132
|
+
.actions a:hover {
|
133
|
+
text-decoration: underline;
|
134
|
+
background-color: #cdc6b7;
|
135
|
+
}
|
136
|
+
|
137
|
+
.first {
|
138
|
+
}
|
139
|
+
|
140
|
+
#workspace {
|
141
|
+
padding: 0;
|
142
|
+
position: absolute;
|
143
|
+
margin-left: 330px;
|
144
|
+
margin-top: 100px;
|
145
|
+
width: 600px;
|
146
|
+
font-size: 0.8em;
|
147
|
+
}
|
148
|
+
|
149
|
+
#dispatch_pool {
|
150
|
+
margin: 0; padding: 0;
|
151
|
+
}
|
152
|
+
|
153
|
+
#directory_actions, #file_actions {
|
154
|
+
position: absolute;
|
155
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|