使用CSScomb插入注释(使用Sublime Text)

时间:2015-11-12 14:38:19

标签: css sublimetext prettify

我的客户要求在代码中有很多注释 - 包括css文件。

所以我考虑使用CSScomb重新组织css代码并自动添加注释。它没有意义,但为什么不是。

因此,我们的想法是更改配置文件:

[
    "font",
    "font-family"
],
[
    "padding",
    "margin"
]
...

但获得一个写入的输出:

/* FONT STYLE */
font: ....;
font-family: ....;

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

DIY小组评论

您可以通过编辑CSScomb包中的sort-order.js文件来自行添加此功能。

  1. 打开Sublime Text,从菜单中选择Preferences > Browse Packages…;这将打开Packages文件夹。
  2. 从Packages文件夹中,导航至CSScomb/node_modules/csscomb/lib/options/sort-order.js
  3. 如果要还原更改,请创建此文件的副本以供检索。我为我的副本命名为sort-order-original.js
    如果要还原更改,请在其他目录中创建此文件的副本以供检索。我将我的副本上移一个级别到一个新目录../originals/options/sort-order.js
    注意:如果您只是在现有目录中重命名该副本,它可能会被模块包含并运行;因此,将其移动到新位置是最安全的。
  4. 在Sublime Text中打开sort-order.js进行编辑。
  5. <德尔> Consult this diff for the necessary changes to be made
    Consult this diff for the necessary changes to be made(此最新版本添加了新逻辑,以防止在多次运行CSScomb时重复组注释。)
  6. 如果您对这些更改感到满意,请复制&amp;将它们全部粘贴以替换sort-order.js的内容。您可以选择进一步编辑以满足您的需求。保存。
    注意:基本上,这些更改是使用附加属性扩展每个已排序对象,该属性包含您在“用户设置”中可选择提供的CSS注释。我将在下一步中向您显示添加注释的位置。
  7. 现在,您已准备好按群组添加评论。从Sublime Text菜单中,选择Preferences > Package Settings > CSScomb > Settings – User。如果您尚未配置自己的设置,可以将Settings – Default的内容复制到Settings – User开始。
  8. 在用户设置文件中,找到"sort-order"属性。它是属性名称数组或属性名称数组的数组。默认情况下,CSScomb将在嵌套数组之间添加一个空行,但我们已经修改了执行此操作的文件。
  9. 您现在可以选择添加注释作为任何嵌套数组的第一个属性。 sort-order.js文件将检测到此信息并将其输出到组的顶部。如果未定义注释,则输出默认空行。
  10. 示例用户设置:

    "sort-order": [
        [
            "/* LAYOUT */",
            "position",
            "z-index",
            "top",
            "right",
            "bottom",
            "left"
        ],
        [
            "/* DISPLAY */",
            "display",
            …
            "flex-align"
        ],
        [
            "/* TYPOGRAPHY */",
            "font",
            …
            "line-height"
        ],
        [
            …
        ]
    ]
    

    在运行CSScomb之前:

    .selector {
        font-family: Arial;
        line-height: 1;
        position: relative;
        display: block;
        background-color: red;
    }
    

    运行CSScomb之后:

    .selector {
    
        /* LAYOUT */
        position: relative;
    
        /* DISPLAY */
        display: block;
    
        /* TYPOGRAPHY */
        font-family: Arial;
        line-height: 1;
    
        background-color: red;
    }