LessCSS中的自定义属性名称

时间:2013-07-01 09:23:42

标签: tinymce less episerver dotless

我正在尝试在我的TinyMCE编辑器样式表中为EPiServer CMS项目实现自定义CSS属性。

根据EPiServer SDK,为了让我在TinyMCE样式下拉列表中添加自定义样式,我需要在我计划使用的样式类中使用EditMenuName属性。

这样的事情:

.h1 {
    font-size: 2.5em;
    EditMenuName: Heading 1;
}

将EditMenuName作为属性名称添加到Less文件会生成编译错误。

这甚至可能吗?

1 个答案:

答案 0 :(得分:2)

Update: This issue will be resolved in the release of LESS 1.4.2

您的问题是大写字母

由于似乎没有达成共识将此作为a duplicate of this question关闭,我将在此给出类似的答案。

LESS(无论是故意设计,无意中缺少某个功能,还是仅仅是一个错误,我不知道)目前(截至此帖子)不允许使用大写字母名称。即使是标准属性也是如此,因此Color:不起作用。所以你...

EditMenuName: Heading 1; 

......需要对这两者进行一些改变......

editmenuname: Heading 1; 
edit-menu-name: Heading 1;

......其中任何一个都不可能与您的TinyMCE接口。引用自己的另一个答案:

  

我没有在实际的LESS代码本身中确定某些孤立的地方   这可能是固定的(如果它可以修复为LESS处理的方式   财产规则)。我怀疑原因是parser.js file行   1578-1584(撰写本文时),这是:

property: function () {
  var name;

  if (name = $(/^(\*?-?[_a-z0-9-]+)\s*:/)) {
    return name[1];
  }
}
  

这似乎是过滤掉允许大写字母。我不   知道正则表达式会带来什么后果   改为允许他们。

因此,您可以根据需要设置界面的唯一机会是:

  1. 修复LESS以允许大写字母(可能通过调整上述代码)。
  2. 查看TinyMCE是否可以将属性值更改为没有CamelCasing作为属性名称。