mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 17:21:39 +09:00
에디터 스타일과 기본 스타일의 합병
* 기본 에디터 스타일과 기본 스타일 설정이 충돌하는 경우가 많았습니다. - 기본 스타일을 지정했는데, 기본 에디터 스타일 내의 스타일 지정이 있는 경우 반영이 안되는 경우, 또는 기본 에디터 스타일을 변경했는데 기본 스타일 설정 때문에 반영이 적절하게 되지 않는 경우 등. * 기본 에디터 스타일에서도 less 또는 sass를 사용하도록 하고 싶었지만, 위지윅 에디터에서 본문에 나타날 스타일을 그대로 보여주는데 한계가 있었습니다. - 기본 에디터 스타일을 위지윅 에디터 내에서 나타내기 위해서 변칙적인 방법이 많이 활용되었습니다. 때문에 실제 본문에서 적용되는 스타일 시트의 우선순위와 위지윅 에디터 내에서 적용되는 스타일 시트의 우선순위에 차이가 있었습니다. 이 차이는 실제 보여지는 스타일과 작성하는 에디터 내의 스타일 차이를 크게 만들 가능성이 있었습니다. * 기능의 의미가 많이 퇴색되었고, 의미 전달이 명확하지 않은 기능이었습니다. - 기능상 기본 에디터 스타일과 기본 스타일은 서로 겹치는 영역의 기능입니다. 기본으로 포함된 두 에디터 스타일 간에 차이가 크지 않기도 해서 어떤 기능인지 사용자가 알아채기도 어려웠습니다. 자료실에 배포되고 있는 에디터 스타일도 대단히 적었습니다. * 게시판이나 각 글의 모듈 스킨에서 지정하는 스타일과 충돌할 가능성도 있습니다. 따라서, 에디터 스타일이 의도한 것 처럼 글의 스타일에 대한 관리자 통제 기능은 유지하면서, 다른 기능과 중복되거나 충돌할 수 있는 기능을 정리합니다. 가능한 많은 환경에서 테스트 하였으나, 추가로 이와 관련한 의견이 있을 경우 merge 후에도 계속 반영 해나가겠습니다.
This commit is contained in:
parent
9b95ae0134
commit
e7cb5ede82
31 changed files with 212 additions and 339 deletions
|
|
@ -42,6 +42,51 @@ a img {
|
|||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
blockquote {
|
||||
padding: 2px 0;
|
||||
border-style: solid;
|
||||
border-color: #ccc;
|
||||
border-width: 0;
|
||||
border-left-width: 5px;
|
||||
padding-left: 20px;
|
||||
padding-right: 8px;
|
||||
|
||||
&:lang(ar), &:lang(arc), &:lang(dv), &:lang(ha), &:lang(he), &:lang(khw), &:lang(ks), &:lang(ku), &:lang(ps), &:lang(fa), &:lang(ur), &:lang(yi) {
|
||||
border-left-width: 0px;
|
||||
border-right-width: 5px;
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* lists */
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
display: block;
|
||||
margin-left: 1em;
|
||||
margin-right: 0;
|
||||
padding-left: 25px;
|
||||
padding-right: 0;
|
||||
&:lang(ar), &:lang(arc), &:lang(dv), &:lang(ha), &:lang(he), &:lang(khw), &:lang(ks), &:lang(ku), &:lang(ps), &:lang(fa), &:lang(ur), &:lang(yi) {
|
||||
padding-left: 0px;
|
||||
padding-right: 25px;
|
||||
margin-left: 0;
|
||||
margin-right: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
li {
|
||||
display: list-item;
|
||||
}
|
||||
}
|
||||
@media screen {
|
||||
img, video {
|
||||
|
|
@ -317,7 +362,7 @@ a img {
|
|||
}
|
||||
}
|
||||
|
||||
/* Button (for XE compatibility */
|
||||
/* Button (for XE compatibility) */
|
||||
.btnArea_mixin(@enabled) when (@enabled = true) {
|
||||
clear: both;
|
||||
margin: 10px 0;
|
||||
|
|
|
|||
|
|
@ -160,8 +160,6 @@ class editorAdminController extends editor
|
|||
$config->comment_editor_toolbar_hide = $configVars->comment_editor_toolbar_hide === 'Y' ? 'Y' : 'N';
|
||||
$config->mobile_comment_editor_toolbar = $configVars->mobile_comment_editor_toolbar;
|
||||
$config->mobile_comment_editor_toolbar_hide = $configVars->mobile_comment_editor_toolbar_hide === 'Y' ? 'Y' : 'N';
|
||||
$config->content_style = $configVars->content_style;
|
||||
$config->comment_content_style = $configVars->comment_content_style;
|
||||
$config->sel_editor_colorset = $configVars->sel_editor_colorset;
|
||||
$config->sel_comment_editor_colorset = $configVars->sel_comment_editor_colorset;
|
||||
|
||||
|
|
|
|||
|
|
@ -50,16 +50,6 @@ class editorAdminView extends editor
|
|||
$skin_info = $oModuleModel->loadSkinInfo($this->module_path,$editor_config->editor_skin);
|
||||
$comment_skin_info = $oModuleModel->loadSkinInfo($this->module_path,$editor_config->comment_editor_skin);
|
||||
|
||||
$contents = FileHandler::readDir(_XE_PATH_.'modules/editor/styles');
|
||||
$content_style_list = array();
|
||||
for($i=0,$c=count($contents);$i<$c;$i++)
|
||||
{
|
||||
$style = $contents[$i];
|
||||
$info = $oModuleModel->loadSkinInfo($this->module_path,$style,'styles');
|
||||
$content_style_list[$style] = new stdClass();
|
||||
$content_style_list[$style]->title = $info->title;
|
||||
}
|
||||
|
||||
// Get install info, update info, count
|
||||
$oAutoinstallModel = getModel('autoinstall');
|
||||
foreach($component_list as $component_name => $xml_info)
|
||||
|
|
@ -82,7 +72,6 @@ class editorAdminView extends editor
|
|||
Context::set('editor_skin_list', $editor_skin_list);
|
||||
Context::set('editor_colorset_list', $skin_info->colorset);
|
||||
Context::set('comment_editor_colorset_list', $comment_skin_info->colorset);
|
||||
Context::set('content_style_list', $content_style_list);
|
||||
Context::set('component_list', $component_list);
|
||||
Context::set('component_count', $component_count);
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ class editor extends ModuleObject
|
|||
'mobile_editor_toolbar' => 'simple',
|
||||
'mobile_editor_toolbar_hide' => 'Y',
|
||||
'sel_editor_colorset' => 'moono-lisa',
|
||||
'content_style' => 'ckeditor_light',
|
||||
'comment_editor_skin' => 'ckeditor',
|
||||
'comment_editor_height' => 100,
|
||||
'comment_editor_toolbar' => 'simple',
|
||||
|
|
@ -39,7 +38,6 @@ class editor extends ModuleObject
|
|||
'mobile_comment_editor_toolbar' => 'simple',
|
||||
'mobile_comment_editor_toolbar_hide' => 'Y',
|
||||
'sel_comment_editor_colorset' => 'moono-lisa',
|
||||
'comment_content_style' => 'ckeditor_light',
|
||||
'content_font' => '',
|
||||
'content_font_size' => '13px',
|
||||
'content_line_height' => '160%',
|
||||
|
|
|
|||
|
|
@ -115,8 +115,6 @@ class editorController extends editor
|
|||
if($editor_config->default_editor_settings !== 'Y') $editor_config->default_editor_settings = 'N';
|
||||
$editor_config->editor_skin = Context::get('editor_skin');
|
||||
$editor_config->comment_editor_skin = Context::get('comment_editor_skin');
|
||||
$editor_config->content_style = Context::get('content_style');
|
||||
$editor_config->comment_content_style = Context::get('comment_content_style');
|
||||
$editor_config->content_font = Context::get('content_font');
|
||||
if($editor_config->content_font)
|
||||
{
|
||||
|
|
@ -171,13 +169,12 @@ class editorController extends editor
|
|||
$this->setRedirectUrl($returnUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief convert editor component codes to be returned and specify content style.
|
||||
*/
|
||||
function triggerEditorComponentCompile(&$content)
|
||||
{
|
||||
if(Context::getResponseMethod() !== 'HTML') return;
|
||||
|
||||
/**
|
||||
* @brief Load editor style
|
||||
*/
|
||||
function procLoadEditorStyle()
|
||||
{
|
||||
$module_info = Context::get('module_info');
|
||||
$module_srl = $module_info->module_srl;
|
||||
if($module_srl)
|
||||
|
|
@ -188,7 +185,7 @@ class editorController extends editor
|
|||
{
|
||||
$editor_config = getModel('module')->getModuleConfig('editor');
|
||||
}
|
||||
|
||||
|
||||
if ($editor_config)
|
||||
{
|
||||
$default_font_config = $this->default_font_config;
|
||||
|
|
@ -198,58 +195,22 @@ class editorController extends editor
|
|||
if ($editor_config->content_paragraph_spacing) $default_font_config['default_paragraph_spacing'] = $editor_config->content_paragraph_spacing;
|
||||
if ($editor_config->content_word_break) $default_font_config['default_word_break'] = $editor_config->content_word_break;
|
||||
Context::set('default_font_config', $default_font_config);
|
||||
|
||||
$content_style = $editor_config->content_style;
|
||||
if($content_style)
|
||||
{
|
||||
$path = _XE_PATH_ . 'modules/editor/styles/'.$content_style.'/';
|
||||
if(is_dir($path) && file_exists($path . 'style.ini'))
|
||||
{
|
||||
$ini = file($path.'style.ini');
|
||||
foreach($ini as $file)
|
||||
{
|
||||
$file = trim($file);
|
||||
if(!$file) continue;
|
||||
|
||||
$args = array('./modules/editor/styles/'.$content_style.'/'.$file);
|
||||
Context::loadFile($args);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
$buff = array();
|
||||
$buff[] = '<style> .xe_content {';
|
||||
if ($content_font)
|
||||
{
|
||||
$buff[] = "font-family: $content_font;";
|
||||
}
|
||||
if ($content_font_size)
|
||||
{
|
||||
$buff[] = "font-size: $content_font_size;";
|
||||
}
|
||||
if ($content_line_height)
|
||||
{
|
||||
$buff[] = "line-height: $content_line_height;";
|
||||
}
|
||||
if ($content_word_break === 'none')
|
||||
{
|
||||
$buff[] = 'white-space: nowrap;';
|
||||
}
|
||||
else
|
||||
{
|
||||
$buff[] = 'word-break: ' . ($content_word_break ?: 'normal') . '; word-wrap: break-word;';
|
||||
}
|
||||
$buff[] = '}';
|
||||
$buff[] = '.xe_content p { margin: 0 0 ' . ($content_paragraph_spacing ?: 0) . ' 0; }';
|
||||
$buff[] = '</style>';
|
||||
Context::addHtmlHeader(implode(' ', $buff));
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
Context::set('default_font_config', $this->default_font_config);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief convert editor component codes to be returned and specify content style.
|
||||
*/
|
||||
function triggerEditorComponentCompile(&$content)
|
||||
{
|
||||
if(Context::getResponseMethod() !== 'HTML') return;
|
||||
|
||||
$this->procLoadEditorStyle();
|
||||
|
||||
$content = $this->transComponent($content);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class editorModel extends editor
|
|||
Context::set('upload_target_srl', $upload_target_srl);
|
||||
Context::set('editor_sequence', $option->editor_sequence);
|
||||
|
||||
// Check that the skin and content style exist.
|
||||
// Check that the skin exist.
|
||||
if (!$option->editor_skin)
|
||||
{
|
||||
$option->editor_skin = $option->skin;
|
||||
|
|
@ -122,10 +122,6 @@ class editorModel extends editor
|
|||
{
|
||||
$option->editor_skin = $this->default_editor_config['editor_skin'];
|
||||
}
|
||||
if (!$option->content_style || !file_exists($this->module_path . 'styles/' . $option->content_style))
|
||||
{
|
||||
$option->content_style = $this->default_editor_config['content_style'];
|
||||
}
|
||||
if (!$option->sel_editor_colorset)
|
||||
{
|
||||
$option->sel_editor_colorset = $option->colorset ?: $this->default_editor_config['sel_editor_colorset'];
|
||||
|
|
@ -140,8 +136,6 @@ class editorModel extends editor
|
|||
}
|
||||
Context::set('skin', $option->editor_skin);
|
||||
Context::set('editor_path', $this->module_path . 'skins/' . $option->editor_skin . '/');
|
||||
Context::set('content_style', $option->content_style);
|
||||
Context::set('content_style_path', $this->module_path . 'styles/' . $option->content_style);
|
||||
Context::set('colorset', $option->sel_editor_colorset);
|
||||
Context::set('editor_height', $option->editor_height);
|
||||
Context::set('editor_toolbar', $option->editor_toolbar);
|
||||
|
|
@ -250,6 +244,7 @@ class editorModel extends editor
|
|||
// Compile and return the editor skin template.
|
||||
$tpl_path = Context::get('editor_path');
|
||||
Context::loadLang($tpl_path.'lang');
|
||||
|
||||
$oTemplate = TemplateHandler::getInstance();
|
||||
return $oTemplate->compile($tpl_path, 'editor.html');
|
||||
}
|
||||
|
|
@ -295,7 +290,6 @@ class editorModel extends editor
|
|||
$option->$key = $val;
|
||||
}
|
||||
$option->editor_skin = $option->comment_editor_skin;
|
||||
$option->content_style = $option->comment_content_style;
|
||||
$option->sel_editor_colorset = $option->sel_comment_editor_colorset;
|
||||
$option->upload_file_grant = $option->comment_upload_file_grant;
|
||||
$option->enable_default_component_grant = $option->enable_comment_default_component_grant;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@ class editorView extends editor
|
|||
$oEditorModel = getModel('editor');
|
||||
$option = $oEditorModel->getEditorConfig();
|
||||
$option->editor_skin = 'ckeditor';
|
||||
$option->content_style = 'ckeditor_light';
|
||||
$option->sel_editor_colorset = 'moono-lisa';
|
||||
$option->primary_key_name = 'primary_key';
|
||||
$option->content_key_name = 'content';
|
||||
|
|
@ -141,16 +140,6 @@ class editorView extends editor
|
|||
$skin_info = $oModuleModel->loadSkinInfo($this->module_path,$editor_config->comment_editor_skin);
|
||||
Context::set('editor_comment_colorset_list', $skin_info->colorset);
|
||||
|
||||
$contents = FileHandler::readDir(_XE_PATH_.'modules/editor/styles');
|
||||
$content_style_list = array();
|
||||
for($i=0,$c=count($contents);$i<$c;$i++)
|
||||
{
|
||||
$style = $contents[$i];
|
||||
$info = $oModuleModel->loadSkinInfo($this->module_path,$style,'styles');
|
||||
$content_style_list[$style] = new stdClass();
|
||||
$content_style_list[$style]->title = $info->title;
|
||||
}
|
||||
Context::set('content_style_list', $content_style_list);
|
||||
// Get a group list
|
||||
$oMemberModel = getModel('member');
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
|
|
@ -161,7 +150,6 @@ class editorView extends editor
|
|||
$security = new Security();
|
||||
$security->encodeHTML('group_list..title');
|
||||
$security->encodeHTML('group_list..description');
|
||||
$security->encodeHTML('content_style_list..');
|
||||
$security->encodeHTML('editor_comment_colorset_list..title');
|
||||
|
||||
// Set a template file
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@ $lang->component_history = 'Updates';
|
|||
$lang->component_description = 'Description';
|
||||
$lang->component_extra_vars = 'Option Variable';
|
||||
$lang->component_grant = 'Permission Setting';
|
||||
$lang->content_style = 'Content Style';
|
||||
$lang->content_font = 'Content Font';
|
||||
$lang->content_font_size = 'Content Font Size';
|
||||
$lang->about_component = 'About component';
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ $lang->component_history = '更新履歴';
|
|||
$lang->component_description = '説明';
|
||||
$lang->component_extra_vars = '設定変数';
|
||||
$lang->component_grant = '権限設定';
|
||||
$lang->content_style = 'コンテンツスタイル';
|
||||
$lang->content_font = 'コンテンツフォント';
|
||||
$lang->content_font_size = 'コンテンツフォントサイズ';
|
||||
$lang->about_component = 'コンポーネント情報';
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ $lang->component_history = '변경 이력';
|
|||
$lang->component_description = '설명';
|
||||
$lang->component_extra_vars = '설정 변수';
|
||||
$lang->component_grant = '권한설정';
|
||||
$lang->content_style = '문서 서식';
|
||||
$lang->content_font = '문서 폰트';
|
||||
$lang->content_font_size = '문서 폰트 크기';
|
||||
$lang->about_component = '컴포넌트 소개';
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ $lang->component_history = 'Güncelleştirmeler';
|
|||
$lang->component_description = 'Açıklama';
|
||||
$lang->component_extra_vars = 'Değişken Seçenek';
|
||||
$lang->component_grant = 'Yetki Ayarı';
|
||||
$lang->content_style = 'İçerik Tarzı';
|
||||
$lang->content_font = 'İçerik Yazı Tipi';
|
||||
$lang->content_font_size = 'İçerik Yazı Boyutu';
|
||||
$lang->about_component = 'Bileşen hakkında';
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ $lang->component_history = 'Cập nhật';
|
|||
$lang->component_description = 'Mô tả';
|
||||
$lang->component_extra_vars = 'Thông tin bổ xung';
|
||||
$lang->component_grant = 'Thiết lập quyền';
|
||||
$lang->content_style = 'Kiểu dáng của nội dung';
|
||||
$lang->content_font = 'Font chữ của nội dung';
|
||||
$lang->content_font_size = 'Cỡ chữ của nội dung';
|
||||
$lang->about_component = 'Thông tin Thành phần';
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ $lang->component_history = '更新日志';
|
|||
$lang->component_description = '说明';
|
||||
$lang->component_extra_vars = '变数设置';
|
||||
$lang->component_grant = '权限设置';
|
||||
$lang->content_style = '文档样式';
|
||||
$lang->content_font = '文档字体';
|
||||
$lang->content_font_size = '字体大小';
|
||||
$lang->about_component = '组件简介';
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ $lang->component_history = '更新紀錄';
|
|||
$lang->component_description = '說明';
|
||||
$lang->component_extra_vars = '變數設置';
|
||||
$lang->component_grant = '權限設置';
|
||||
$lang->content_style = '內容樣式';
|
||||
$lang->content_font = '內容字體';
|
||||
$lang->content_font_size = '字體大小';
|
||||
$lang->about_component = '組件簡介';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
body.cke_editable { padding: 5px; background-color: #fff; }
|
||||
html.cke_panel_container, html.cke_panel_container body {
|
||||
background-color: #fff
|
||||
}
|
||||
p.editor_autosaved_message.autosave_message {display:none;background: #f6ffdb;padding:6px 10px;margin:0;line-height:1;}
|
||||
span.cke_combo__fontsize .cke_combo_button { width: 64px; }
|
||||
span.cke_combo__fontsize .cke_combo_text { width: 30px; }
|
||||
span.cke_combo__fontsize .cke_combo_button { width: 64px;}
|
||||
span.cke_combo__fontsize .cke_combo_text { width: 30px; }
|
||||
122
modules/editor/skins/ckeditor/css/default.less
Normal file
122
modules/editor/skins/ckeditor/css/default.less
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
@charset "UTF-8";
|
||||
/* Content Default Styles */
|
||||
.word_break(@wb) when (@wb = normal), (@wb = keep-all), (@wb = break-all) {
|
||||
word-break: @wb;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.word_break(@wb) when (@wb = none) {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cont_font(@ft) when (@ft = none) {
|
||||
}
|
||||
.cont_font(@ft) when not (@ft = none) {
|
||||
font-family: @content_font;
|
||||
}
|
||||
|
||||
.cont_fontsize(@fs) when (@fs = none) {
|
||||
}
|
||||
.cont_fontsize(@fs) when not (@fs = none) {
|
||||
font-size: @content_font_size;
|
||||
}
|
||||
|
||||
.cont_lineheight(@lh) when (@lh = none) {
|
||||
}
|
||||
.cont_lineheight(@lh) when not (@lh = none) {
|
||||
line-height: @content_line_height;
|
||||
}
|
||||
|
||||
.cont_linespacing(@ls) when (@ls = none) {
|
||||
}
|
||||
.cont_linespacing(@ls) when not (@ls = none) {
|
||||
margin: 0 0 @content_paragraph_spacing 0;
|
||||
}
|
||||
|
||||
.light_dark(@cs) when (@cs = moono-dark) {
|
||||
background-color: #494949;
|
||||
color: #fff;
|
||||
}
|
||||
.light_dark(@cs) when not (@cs = moono-dark) {
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.light_dark_top(@cs) when (@cs = moono-dark) {
|
||||
border-bottom-color: #1b1b1b;
|
||||
}
|
||||
.light_dark_top(@cs) when not (@cs = moono-dark) {
|
||||
}
|
||||
|
||||
html {
|
||||
&.cke_panel_container, &.cke_panel_container body {
|
||||
background-color: #fff;
|
||||
}
|
||||
body.cke_editable {
|
||||
padding: 10px;
|
||||
.light_dark(@colorset);
|
||||
}
|
||||
}
|
||||
|
||||
p.editor_autosaved_message.autosave_message {
|
||||
display:none;
|
||||
background: #e0e0e0;
|
||||
padding: 10px;
|
||||
margin:0;
|
||||
line-height:1.2;
|
||||
}
|
||||
.cke_reset {
|
||||
span {
|
||||
&.cke_top {
|
||||
.light_dark_top(@colorset);
|
||||
a {
|
||||
&:hover, &:focus {
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.cke_combo__fontsize {
|
||||
.cke_combo_button {
|
||||
width: 64px;
|
||||
}
|
||||
.cke_combo_text {
|
||||
width: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.xe_content.editable, .rhymix_content.editable {
|
||||
.cont_font(@content_font);
|
||||
.cont_fontsize(@content_font_size);
|
||||
.cont_lineheight(@content_line_height);
|
||||
.word_break(@content_word_break);
|
||||
p {
|
||||
.cont_linespacing(@content_paragraph_spacing);
|
||||
.cont_lineheight(@content_line_height);
|
||||
span {
|
||||
.cont_lineheight(@content_line_height);
|
||||
}
|
||||
}
|
||||
img, video {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
blockquote {
|
||||
padding: 2px 0;
|
||||
border-style: solid;
|
||||
border-color: #ccc;
|
||||
border-width: 0;
|
||||
border-left-width: 5px;
|
||||
padding-left: 20px;
|
||||
padding-right: 8px;
|
||||
|
||||
&:lang(ar), &:lang(arc), &:lang(dv), &:lang(ha), &:lang(he), &:lang(khw), &:lang(ks), &:lang(ku), &:lang(ps), &:lang(fa), &:lang(ur), &:lang(yi) {
|
||||
border-left-width: 0px;
|
||||
border-right-width: 5px;
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,14 @@
|
|||
<!-- css -->
|
||||
<load target="css/default.css" />
|
||||
{@ $css_var = new stdClass; }
|
||||
{@ $css_var->colorset = $colorset; }
|
||||
{@ $css_var->content_font = $content_font ? $content_font : 'none'; }
|
||||
{@ $css_var->content_font_size = $content_font_size ? $content_font_size : 'none';}
|
||||
{@ $css_var->content_line_height = $content_line_height ? $content_line_height: 'none';}
|
||||
{@ $css_var->content_word_break = $content_word_break ? $content_word_break : 'none';}
|
||||
{@ $css_var->content_paragraph_spacing = $content_paragraph_spacing ? $content_paragraph_spacing : 'none';}
|
||||
|
||||
{@ Context::set('css_var',$css_var);}
|
||||
<load target="css/default.less" vars="$css_var" />
|
||||
<load target="../../../../common/xeicon/xeicon.min.css" />
|
||||
|
||||
<!-- JS -->
|
||||
|
|
@ -12,22 +21,12 @@
|
|||
var auto_saved_msg = "{$lang->msg_auto_saved}";
|
||||
</script>
|
||||
|
||||
{@ $css_file_list = array(Context::getRequestUri() . $content_style_path . '/editor.css?' . date("YmdHis", @filemtime($content_style_path."/editor.css")))}
|
||||
{@ $css_file_list = array()}
|
||||
<!--@foreach($editor_additional_css as $additional_css_url)-->
|
||||
{@ $css_file_list[] = $additional_css_url}
|
||||
<!--@endforeach-->
|
||||
|
||||
{@ $css_content = null }
|
||||
<!--@if($content_font || $content_font_size)-->
|
||||
{@ $css_content .= ' .xe_content.editable { '}
|
||||
<block cond="$content_font">{@ $css_content .= 'font-family:' . $content_font . ';';}</block>
|
||||
<block cond="$content_font_size">{@ $css_content .= 'font-size:' . $content_font_size . ';';}</block>
|
||||
<block cond="$content_line_height">{@ $css_content .= 'line-height:' . $content_line_height . ';';}</block>
|
||||
<block cond="$content_word_break === 'none'">{@ $css_content .= 'white-space: nowrap;';}</block>
|
||||
<block cond="$content_word_break !== 'none'">{@ $css_content .= 'word-break:' . ($content_word_break ?: 'normal') . '; word-wrap: break-word;';}</block>
|
||||
{@ $css_content .= chr(125);}
|
||||
{@ $css_content .= '.xe_content.editable p { margin: 0 0 ' . ($content_paragraph_spacing ?: 0) . ' 0;' . chr(125);}
|
||||
<!--@endif-->
|
||||
|
||||
<!--@if($enable_autosave)-->
|
||||
<input type="hidden" name="_saved_doc_title" value="{escape($saved_doc->title)}" />
|
||||
|
|
@ -112,6 +111,14 @@ var auto_saved_msg = "{$lang->msg_auto_saved}";
|
|||
content_field: jQuery('[name={$editor_content_key_name}]')
|
||||
};
|
||||
|
||||
// Add style-sheet for the WYSIWYG
|
||||
$(document.getElementsByTagName('link')).each(function() {
|
||||
if ($(this).attr('rel') == 'stylesheet') {
|
||||
settings.ckeconfig.contentsCss.push($(this).attr('href'));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Prevent removal of icon fonts and Google code.
|
||||
CKEDITOR.dtd.$removeEmpty.i = 0;
|
||||
CKEDITOR.dtd.$removeEmpty.ins = 0;
|
||||
|
|
|
|||
|
|
@ -1,41 +0,0 @@
|
|||
@charset "utf-8";
|
||||
/* NAVER (developers@xpressengine.com) */
|
||||
.xe_content.editable img{border:0;max-width:100%;}
|
||||
.xe_content.editable video{max-width:100%;}
|
||||
.xe_content.editable blockquote.q1,
|
||||
.xe_content.editable blockquote.q2,
|
||||
.xe_content.editable blockquote.q3,
|
||||
.xe_content.editable blockquote.q4,
|
||||
.xe_content.editable blockquote.q5,
|
||||
.xe_content.editable blockquote.q6,
|
||||
.xe_content.editable blockquote.q7{padding:10px;margin:0 15px;border:0;}
|
||||
.xe_content.editable blockquote.q1{padding:0 10px;border-left:2px solid #ccc}
|
||||
.xe_content.editable blockquote.q2{padding:0 10px;background:url(./img/bg_qmark.gif) no-repeat left top}
|
||||
.xe_content.editable blockquote.q3{border:1px solid #d9d9d9}
|
||||
.xe_content.editable blockquote.q4{border:1px solid #d9d9d9;background:#fbfbfb}
|
||||
.xe_content.editable blockquote.q5{border:2px solid #707070}
|
||||
.xe_content.editable blockquote.q6{border:1px dashed #707070}
|
||||
.xe_content.editable blockquote.q7{border:1px dashed #707070;background:#fbfbfb}
|
||||
.xe_content.editable table .xe_selected_cell{background-color:#d6e9ff}
|
||||
.xe_content.editable img.cke_iframe{background-color:#444}
|
||||
.xe_content.editable blockquote
|
||||
{
|
||||
padding: 2px 0;
|
||||
border-style: solid;
|
||||
border-color: #ccc;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.xe_content.editable.cke_contents_ltr blockquote
|
||||
{
|
||||
padding-left: 20px;
|
||||
padding-right: 8px;
|
||||
border-left-width: 5px;
|
||||
}
|
||||
|
||||
.xe_content.editable.cke_contents_rtl blockquote
|
||||
{
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
border-right-width: 5px;
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="editor.css" />
|
||||
<title>Rhymix</title>
|
||||
</head>
|
||||
<body class="xe_content editable">
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 59 B |
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<skin version="0.2">
|
||||
<title xml:lang="ko">Rhymix 기본 서식</title>
|
||||
<title xml:lang="en">Rhymix Default</title>
|
||||
<version>1.9</version>
|
||||
<date>2016-04-27</date>
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
<name xml:lang="ko">NAVER</name>
|
||||
</author>
|
||||
</skin>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
@charset "utf-8";
|
||||
/* NAVER (developers@xpressengine.com) */
|
||||
html { height: 100%; }
|
||||
body { min-height: 100%; }
|
||||
.xe_content blockquote.q1,
|
||||
.xe_content blockquote.q2,
|
||||
.xe_content blockquote.q3,
|
||||
.xe_content blockquote.q4,
|
||||
.xe_content blockquote.q5,
|
||||
.xe_content blockquote.q6,
|
||||
.xe_content blockquote.q7{padding:10px;margin:0 15px;border:0;}
|
||||
.xe_content blockquote.q1{padding:0 10px;border-left:2px solid #ccc}
|
||||
.xe_content blockquote.q2{padding:0 10px;background:url(./img/bg_qmark.gif) no-repeat left top}
|
||||
.xe_content blockquote.q3{border:1px solid #d9d9d9}
|
||||
.xe_content blockquote.q4{border:1px solid #d9d9d9;background:#fbfbfb}
|
||||
.xe_content blockquote.q5{border:2px solid #707070}
|
||||
.xe_content blockquote.q6{border:1px dashed #707070}
|
||||
.xe_content blockquote.q7{border:1px dashed #707070;background:#fbfbfb}
|
||||
.xe_content p{margin:0}
|
||||
|
||||
.xe_content blockquote
|
||||
{
|
||||
padding: 2px 0;
|
||||
border-style: solid;
|
||||
border-color: #ccc;
|
||||
border-width: 0;
|
||||
padding-left: 20px;
|
||||
padding-right: 8px;
|
||||
border-left-width: 5px;
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
style.css
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
@charset "utf-8";
|
||||
/* NAVER (developers@xpressengine.com) */
|
||||
html,body{height:100%}
|
||||
body{margin:0;padding:0}
|
||||
.xe_content{color:#000;}
|
||||
.xe_content img{border:0;max-width:100%;width:auto;height:auto}
|
||||
.xe_content blockquote.q1,
|
||||
.xe_content blockquote.q2,
|
||||
.xe_content blockquote.q3,
|
||||
.xe_content blockquote.q4,
|
||||
.xe_content blockquote.q5,
|
||||
.xe_content blockquote.q6,
|
||||
.xe_content blockquote.q7{padding:10px;margin:0 15px}
|
||||
.xe_content blockquote.q1{padding:0 10px;border-left:2px solid #ccc}
|
||||
.xe_content blockquote.q2{padding:0 10px;background:url(./img/bg_qmark.gif) no-repeat left top}
|
||||
.xe_content blockquote.q3{border:1px solid #d9d9d9}
|
||||
.xe_content blockquote.q4{border:1px solid #d9d9d9;background:#fbfbfb}
|
||||
.xe_content blockquote.q5{border:2px solid #707070}
|
||||
.xe_content blockquote.q6{border:1px dashed #707070}
|
||||
.xe_content blockquote.q7{border:1px dashed #707070;background:#fbfbfb}
|
||||
.xe_content table .xe_selected_cell{background-color:#d6e9ff}
|
||||
.xe_content p{margin:0}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="stylesheet" href="editor.css" />
|
||||
<title>Rhymix</title>
|
||||
</head>
|
||||
<body class="xe_content editable">
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 59 B |
|
|
@ -1,49 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<skin version="0.2">
|
||||
<title xml:lang="ko">XE 기본 서식</title>
|
||||
<title xml:lang="en">XE Default Form</title>
|
||||
<title xml:lang="zh-CN">XE默认样式</title>
|
||||
<title xml:lang="vi">XE Mặc định</title>
|
||||
<title xml:lang="jp">XEデフォルトスタイル</title>
|
||||
<title xml:lang="zh-TW">XE預設樣式</title>
|
||||
<title xml:lang="tr">XE Varsayılan Form</title>
|
||||
<description xml:lang="ko">
|
||||
XE 기본 문서 서식입니다.
|
||||
있는 그대로 표시가 될 뿐 편집/ 출력시 아무런 영향을 끼치지 않습니다.
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
XE's default document style.
|
||||
It displays as it is, and does not affect during editing/printing.
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
XE默认样式。
|
||||
主题显示及编辑不会受到任何影响,即原样输出。
|
||||
</description>
|
||||
<description xml:lang="zh-TW">
|
||||
XE預設樣式。
|
||||
主題顯示和編輯不會受到影響。
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
XEの基本ドキュメント書式です。
|
||||
そのまま表示されるだけで、編集・出力には影響しません。
|
||||
</description>
|
||||
<description xml:lang="tr">
|
||||
XE varsayılan belge tarzı.
|
||||
Olduğu gibi gösterir, düzenlemeye / yazdırmaya etki etmez.
|
||||
</description>
|
||||
<description xml:lang="vi">
|
||||
Trang mẫu mặc định của XE.
|
||||
Nó sẽ hiển thị trong phần sửa đổi bài viết và không ảnh hưởng đến bất cứ chức năng nào cả.
|
||||
</description>
|
||||
<version>1.7</version>
|
||||
<date>2013-11-27</date>
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
<name xml:lang="ko">NAVER</name>
|
||||
<name xml:lang="zh-CN">NAVER</name>
|
||||
<name xml:lang="zh-TW">NAVER</name>
|
||||
<name xml:lang="jp">NAVER</name>
|
||||
<name xml:lang="en">NAVER</name>
|
||||
<name xml:lang="vi">NAVER</name>
|
||||
<name xml:lang="tr">NAVER</name>
|
||||
</author>
|
||||
</skin>
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
@charset "utf-8";
|
||||
/* NAVER (developers@xpressengine.com) */
|
||||
.xe_content{color:#000;}
|
||||
.xe_content blockquote.q1,
|
||||
.xe_content blockquote.q2,
|
||||
.xe_content blockquote.q3,
|
||||
.xe_content blockquote.q4,
|
||||
.xe_content blockquote.q5,
|
||||
.xe_content blockquote.q6,
|
||||
.xe_content blockquote.q7{padding:10px;margin:0 15px}
|
||||
.xe_content blockquote.q1{padding:0 10px;border-left:2px solid #ccc}
|
||||
.xe_content blockquote.q2{padding:0 10px;background:url(./img/bg_qmark.gif) no-repeat left top}
|
||||
.xe_content blockquote.q3{border:1px solid #d9d9d9}
|
||||
.xe_content blockquote.q4{border:1px solid #d9d9d9;background:#fbfbfb}
|
||||
.xe_content blockquote.q5{border:2px solid #707070}
|
||||
.xe_content blockquote.q6{border:1px dashed #707070}
|
||||
.xe_content blockquote.q7{border:1px dashed #707070;background:#fbfbfb}
|
||||
.xe_content p{margin:0}
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
style.css
|
||||
|
|
@ -72,16 +72,6 @@
|
|||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->guide_choose_text_formatting}</label>
|
||||
<div class="x_controls">
|
||||
<!--@foreach($content_style_list as $key => $val)-->
|
||||
<label class="x_inline">
|
||||
<input type="radio" name="content_style" value="{$key}" id="content_style_{$key}" checked="checked"|cond="$key==$editor_config->content_style||!$editor_config->content_style && $key=='ckeditor_light'"> {$val->title}
|
||||
</label>
|
||||
<!--@end-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>{$lang->comment_editor}</h1>
|
||||
|
||||
|
|
@ -124,16 +114,6 @@
|
|||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->guide_choose_comment_text_formatting}</label>
|
||||
<div class="x_controls">
|
||||
<!--@foreach($content_style_list as $key => $val)-->
|
||||
<label class="x_inline">
|
||||
<input type="radio" name="comment_content_style" value="{$key}" id="comment_content_style_{$key}" checked="checked"|cond="$key==$editor_config->comment_content_style||!$editor_config->comment_content_style && $key=='ckeditor_light'"> {$val->title}
|
||||
</label>
|
||||
<!--@end-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>{$lang->editor_common_settings}</h1>
|
||||
|
||||
|
|
|
|||
|
|
@ -47,19 +47,6 @@
|
|||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="editor_skin">
|
||||
<th scope="row" style="text-align:right">{$lang->content_style}</th>
|
||||
<td>
|
||||
<select name="content_style">
|
||||
<option loop="$content_style_list => $key, $val" value="{$key}" selected="selected"|cond="$key==$editor_config->content_style||!$editor_config->content_style&&$key=='default'">{$val->title}</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<select name="comment_content_style">
|
||||
<option loop="$content_style_list => $key, $val" value="{$key}" selected="selected"|cond="$key==$editor_config->comment_content_style||!$editor_config->comment_content_style&&$key=='default'">{$val->title}</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="editor_skin">
|
||||
<th scope="row" style="text-align:right">{$lang->editor_height}</th>
|
||||
<td>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue