Revision 23 (by ahitrov@rambler.ru, 2010/05/26 14:56:40)
Еще пара настроек в РИ
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
body {
background-color: #FFFFFF;
margin: 0px;
}
form {
margin: 0px;
padding: 0px;
}
input, select, textarea {
font-family: Tahoma, Arial, sans-serif;
font-size:9pt;
}
a {
color:#0000ee;
}
a:visited.v {
color:#0000ee;
}
fieldset {padding:6px;margin-bottom:10px;border:2px solid #8093B0;}
fieldset legend {font-size:8pt;font-weight:bold;font-family:Tahoma;padding:3px 6px 3px 6px;margin-bottom:6px;color:#ffffff;background-color:#8093B0;}
.tatop {font-size:70%;font-family:Tahoma;color:#ffffff;}
.tatop a {color:#ffffff;}
.npath {font-size:70%;font-family:Tahoma;padding:8px;}
.textnorm { font-size:70%; font-family:Tahoma; }
.input_btn {background-color:#930300;color:#FFFFFF;height:2.4em;}
table.tlistdocs { margin-top:10px; margin-bottom:10px; border-right:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9; }
table.tlistdocs td, table.tlistdocs th { border:1px solid #d9d9d9; border-right:0px; border-bottom:0px; }
table.tlistdocs td {font-size:70%;font-family:Tahoma;}
table.tlistdocs table td {border:0px;}
table.tform th, table.tform td {
font-size: 70%;
font-family: Tahoma;
text-align: left;
}
th {font-size:70%;font-family:Tahoma;text-align:left;}
h5, .hdr5 {font-size:70%;font-family:Tahoma;font-weight:bold;padding-top:10px;padding-bottom:5px;}
.hiddensect { color:#909090; }
.hiddensect a { color:#909090; }
.btn {font-size:9pt;}
.bb {
border: solid 1px #000000;
}
.gb {
background-color: #D8D8D8;
}
.undo {
font-family: Tahoma;
font-size: 9pt;
background-color: #FFD8D8;
}
.link_string { font: 12px Tahoma; padding:5px 10px; border-bottom:1px solid gray; }
.link_string p { margin:0; padding:0; }
</style>
<title>Редакторский интерфейс<% (length($title) > 0) ? " | $title" : "" %></title>
<script language="javascript" type="text/javascript" src="/contenido/i/js/jquery-1.3.2.min.js"></script>
<% $m->comp_exists('/contenido/components/custom_head.msn') ? $m->comp('/contenido/components/custom_head.msn') : '' %>
<script language="javascript" type="text/javascript" src="/contenido/i/js/links.js"></script>
<script language="javascript" type="text/javascript" src="/contenido/i/js/tiny_mce/jquery.tinymce.js"></script>
<script language="javascript" type="text/javascript">
var WYSIWYGControls = new Array();
var sDocumentClass;
var nDocumentID;
$().ready(function() {
var sControls;
$('textarea.tinymce').tinymce({
// Location of TinyMCE script
script_url : '/contenido/i/js/tiny_mce/tiny_mce.js',
// General options
theme : "advanced",
plugins : "style,layer,table,advhr,advimage,advlink,inlinepopups,preview,media,contextmenu,paste,noneditable,visualchars,nonbreaking,template,advlist",
// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect,|,forecolor,backcolor,|,undo,redo,|,preview,help,code",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,anchor,image,|,tablecontrols",
theme_advanced_buttons3 : "cleanup,removeformat,visualaid,|,sub,sup,|,charmap,media,hr,advhr,|,insertlayer,moveforward,movebackward,absolute,|,styleprops,|,visualchars,nonbreaking",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
convert_urls : false,
extended_valid_elements : "iframe[src|width|height|name|align|noresize|scrolling|frameBorder|marginWidth|marginHeight]",
paste_create_paragraphs : false,
paste_create_linebreaks : false,
paste_auto_cleanup_on_paste : true,
paste_convert_middot_lists : false,
// Example content CSS (should be your site CSS)
//content_css : "css/content.css",
// Drop lists for link/image/media/template dialogs
//template_external_list_url : "lists/template_list.js",
//external_link_list_url : "lists/link_list.js",
//external_image_list_url : "lists/image_list.js",
//media_external_list_url : "lists/media_list.js"
external_image_list_url : "/contenido/image_list.js?class=" + sDocumentClass + "&id=" + nDocumentID
});
<%doc>
if ( WYSIWYGControls.length ) {
sControls = WYSIWYGControls.join(',');
$('textarea.tinymce').tinymce({
// Location of TinyMCE script
script_url : '/contenido/i/js/tiny_mce/tiny_mce.js',
theme : "advanced",
plugins : "safari,paste,advimage,table",
paste_create_paragraphs : false,
paste_create_linebreaks : false,
paste_use_dialog : true,
paste_auto_cleanup_on_paste : true,
paste_convert_middot_lists : false,
paste_unindented_list_class : "unindentedList",
paste_convert_headers_to_strong : true,
paste_insert_word_content_callback : "convertWord",
theme_advanced_buttons3_add : "pastetext,pasteword,selectall,|,forecolor,backcolor,|,tablecontrols",
convert_urls : false,
external_image_list_url : "/contenido/image_list.js?class=" + sDocumentClass + "&id=" + nDocumentID
});
}
</%doc>
});
<%doc>
function convertWord(type, content) {
switch (type) {
// Gets executed before the built in logic performes it's cleanups
case "before":
//content = content.toLowerCase(); // Some dummy logic
break;
// Gets executed after the built in logic performes it's cleanups
case "after":
//content = content.toLowerCase(); // Some dummy logic
break;
}
return content;
}
</%doc>
</script>
</head>
<body>
<%args>
$style => undef
$title => undef
</%args>
<%init>
my $pn = $state->project_name();
my ($pn_name, $pn_domen) = split(/\./, $pn);
</%init>
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.