3

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

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

像这样的东西:

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

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

这甚至可能吗?

4

1 回答 1

2

更新:此问题将在 LESS 1.4.2 版本中解决

您的问题是大写字母

由于似乎没有共识将其作为此问题的副本关闭,因此我将在此处给出类似的答案。

LESS(无论是有意设计,无意缺少功能,还是只是一个错误,我不知道)目前(截至本文发布)不允许在属性名称中使用大写字母。即使是标准属性也是如此,这样Color:就行不通了。所以你的...

EditMenuName: Heading 1; 

......需要这两者的一些变化......

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

...它们都不可能与您的 TinyMCE 交互。在另一个答案中引用我自己的话:

我还没有确定在实际 LESS 代码本身中的哪个位置可以修复(如果它可以针对 LESS 处理属性规则的方式进行修复)。我怀疑原因在于parser.js 文件的第 1578-1584 行(在撰写本文时),它们是:

property: function () {
  var name;

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

这似乎过滤掉了允许大写字母。我不知道如果更改该正则表达式以允许它们会产生什么后果。

因此,按照您的意愿制作界面的唯一机会是:

  1. 修复 LESS 以允许大写字母(也许通过调整上面的代码)。
  2. 查看 TinyMCE 是否可以将属性值更改为属性名称没有 CamelCasing。
于 2013-07-02T01:34:36.143 回答