Line # Revision Author
1 8 ahitrov@rambler.ru <html>
2 <head>
3 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <style>
5 body {
6 background-color: #FFFFFF;
7 margin: 0px;
8 117 ahitrov font-family: Tahoma, Arial, sans-serif;
9 8 ahitrov@rambler.ru }
10 form {
11 margin: 0px;
12 padding: 0px;
13 }
14 input, select, textarea {
15 font-family: Tahoma, Arial, sans-serif;
16 font-size:9pt;
17 }
18 a {
19 color:#0000ee;
20 }
21 a:visited.v {
22 color:#0000ee;
23 }
24
25 fieldset {padding:6px;margin-bottom:10px;border:2px solid #8093B0;}
26 fieldset legend {font-size:8pt;font-weight:bold;font-family:Tahoma;padding:3px 6px 3px 6px;margin-bottom:6px;color:#ffffff;background-color:#8093B0;}
27 117 ahitrov
28 table { font-size:13px; }
29 input { font-size:12px; }
30 8 ahitrov@rambler.ru
31 117 ahitrov .tatop {font-size:11px;font-family:Tahoma;color:#ffffff;}
32 8 ahitrov@rambler.ru .tatop a {color:#ffffff;}
33 117 ahitrov .npath {font-size:11px;font-family:Tahoma;padding:8px;}
34 8 ahitrov@rambler.ru
35 117 ahitrov .textnorm { font-size:12px; font-family:Tahoma; }
36 8 ahitrov@rambler.ru .input_btn {background-color:#930300;color:#FFFFFF;height:2.4em;}
37
38 table.tlistdocs { margin-top:10px; margin-bottom:10px; border-right:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9; }
39 table.tlistdocs td, table.tlistdocs th { border:1px solid #d9d9d9; border-right:0px; border-bottom:0px; }
40 117 ahitrov table.tlistdocs td {font-size:12px;font-family:Arial;}
41 8 ahitrov@rambler.ru table.tlistdocs table td {border:0px;}
42
43 table.tform th, table.tform td {
44 117 ahitrov font-size: 11px;
45 8 ahitrov@rambler.ru font-family: Tahoma;
46 text-align: left;
47 }
48
49 117 ahitrov th {font-size:11px;font-family:Tahoma;text-align:left;}
50 8 ahitrov@rambler.ru
51 117 ahitrov h5, .hdr5 {font-size:11px;font-family:Tahoma;font-weight:bold;padding-top:10px;padding-bottom:5px;}
52 8 ahitrov@rambler.ru
53 483 ahitrov .rem { color:gray; font-size:85%; padding:4px }
54 8 ahitrov@rambler.ru .hiddensect { color:#909090; }
55 .hiddensect a { color:#909090; }
56
57 .btn {font-size:9pt;}
58
59 .bb {
60 border: solid 1px #000000;
61 }
62 .gb {
63 background-color: #D8D8D8;
64 }
65 .undo {
66 font-family: Tahoma;
67 font-size: 9pt;
68 background-color: #FFD8D8;
69 }
70 .link_string { font: 12px Tahoma; padding:5px 10px; border-bottom:1px solid gray; }
71 .link_string p { margin:0; padding:0; }
72 117 ahitrov
73 .mm_act { background:#d0d0d0; border-top:1px solid gray; border-right:1px solid gray; text-decoration:none; }
74 8 ahitrov@rambler.ru
75 </style>
76 <title>Редакторский интерфейс<% (length($title) > 0) ? " | $title" : "" %></title>
77 481 ahitrov <link rel="stylesheet" type="text/css" href="/contenido/i/js/jquery-ui-1.10.3.custom/css/flick/jquery-ui-1.10.3.custom.css" media="all" />
78 <script language="javascript" type="text/javascript" src="/contenido/i/js/jquery-1.9.1.min.js"></script>
79 8 ahitrov@rambler.ru <% $m->comp_exists('/contenido/components/custom_head.msn') ? $m->comp('/contenido/components/custom_head.msn') : '' %>
80 <script language="javascript" type="text/javascript" src="/contenido/i/js/links.js"></script>
81 481 ahitrov <script language="javascript" type="text/javascript" src="/contenido/i/js/tinymce-3.5.11/jquery.tinymce.js"></script>
82 <script language="javascript" type="text/javascript" src="/contenido/i/js/jquery-ui-1.10.3.custom/jquery-ui-1.10.3.custom.min.js"></script>
83 % if ( @plugins ) {
84 % foreach my $plugin ( @plugins ) {
85 % my ($include_dir, $include_comp);
86 % if ( $plugin eq $state->project ) {
87 % $include_dir = $state->{mason_comp}.'/contenido/'.$plugin.'/components/';
88 % } else {
89 % $include_dir = $state->{plug_src}.'/'.$plugin.'/comps/contenido/'.$plugin.'/components/';
90 % }
91 % $include_comp = '/contenido/'.$plugin.'/components/title_inc.msn';
92 % if ( -e $include_dir && $m->comp_exists($include_comp) ) {
93 <& $include_comp &>
94 % }
95 % }
96 % }
97 8 ahitrov@rambler.ru <script language="javascript" type="text/javascript">
98 481 ahitrov <!--
99 8 ahitrov@rambler.ru var WYSIWYGControls = new Array();
100 var sDocumentClass;
101 var nDocumentID;
102 481 ahitrov $(document).ready(function() {
103 22 ahitrov@rambler.ru $('textarea.tinymce').tinymce({
104 // Location of TinyMCE script
105 481 ahitrov script_url : '/contenido/i/js/tinymce-3.5.11/tiny_mce.js',
106 22 ahitrov@rambler.ru
107 // General options
108 theme : "advanced",
109 plugins : "style,layer,table,advhr,advimage,advlink,inlinepopups,preview,media,contextmenu,paste,noneditable,visualchars,nonbreaking,template,advlist",
110 481 ahitrov // TinyMCE 4.x
111 //theme : "modern",
112 //plugins : "style,layer,table,hr,image,link,code,textcolor,preview,media,contextmenu,paste,noneditable,visualchars,nonbreaking,template,advlist",
113 22 ahitrov@rambler.ru
114 // Theme options
115 theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect,|,forecolor,backcolor,|,undo,redo,|,preview,help,code",
116 theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,anchor,image,|,tablecontrols",
117 theme_advanced_buttons3 : "cleanup,removeformat,visualaid,|,sub,sup,|,charmap,media,hr,advhr,|,insertlayer,moveforward,movebackward,absolute,|,styleprops,|,visualchars,nonbreaking",
118 theme_advanced_toolbar_location : "top",
119 theme_advanced_toolbar_align : "left",
120 theme_advanced_statusbar_location : "bottom",
121 theme_advanced_resizing : true,
122
123 convert_urls : false,
124
125 269 ahitrov extended_valid_elements : "iframe[src|width|height|name|align|noresize|scrolling|frameBorder|marginWidth|marginHeight],form[action|method|target|enctype|name|id|onSubmit]",
126 23 ahitrov@rambler.ru
127 22 ahitrov@rambler.ru paste_create_paragraphs : false,
128 paste_create_linebreaks : false,
129 paste_auto_cleanup_on_paste : true,
130 paste_convert_middot_lists : false,
131
132 // Example content CSS (should be your site CSS)
133 //content_css : "css/content.css",
134
135 // Drop lists for link/image/media/template dialogs
136 //template_external_list_url : "lists/template_list.js",
137 //external_link_list_url : "lists/link_list.js",
138 //external_image_list_url : "lists/image_list.js",
139 //media_external_list_url : "lists/media_list.js"
140 external_image_list_url : "/contenido/image_list.js?class=" + sDocumentClass + "&id=" + nDocumentID
141
142 });
143 });
144 <%doc>
145 8 ahitrov@rambler.ru function convertWord(type, content) {
146 switch (type) {
147 // Gets executed before the built in logic performes it's cleanups
148 case "before":
149 //content = content.toLowerCase(); // Some dummy logic
150 break;
151
152 // Gets executed after the built in logic performes it's cleanups
153 case "after":
154 //content = content.toLowerCase(); // Some dummy logic
155 break;
156 }
157
158 return content;
159 }
160 22 ahitrov@rambler.ru </%doc>
161 481 ahitrov //-->
162 8 ahitrov@rambler.ru </script>
163 </head>
164 <body>
165
166 <%args>
167
168 $style => undef
169 $title => undef
170
171 </%args>
172 <%init>
173 481 ahitrov
174 8 ahitrov@rambler.ru my $pn = $state->project_name();
175 my ($pn_name, $pn_domen) = split(/\./, $pn);
176 481 ahitrov
177 my @plugins = ($state->project, split(/\s+/, $state->plugins));
178
179 8 ahitrov@rambler.ru </%init>

Небольшая справка по веткам

cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.

koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.

utf8 – актуальная ветка, заточенная под UTF-8.

Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.