CSS to my HTML出处,html-to-css

atom html-to-css package

Generates CSS boilerplate based on the selected HTML.

Only cares about classes, ignores id's/other possible selectors

Supports CSS, SCSS, Sass, LESS and possibly other syntaxes

BEM support (actually, more like a BE support for now. Modifiers support will be added if needed)

Configurable nesting, grouping and formatting

"Supports" JSX (recognizes the className attribute)

Is forgiving (meaning it should work even with invalid HTML code)

demo

687474703a2f2f64726163756c2e6b696c6c2e706c2f7e6172642f68746d6c746f6373732e676966

settings

BEM grouping

key: html-to-css.bem-group, type: boolean, default: false

Should BEM-style declarations be grouped and nested in a SCSS-style?

When true:

.introduction {

&__header {

}

&__text {

}

}

When false, the same HTML code becomes:

.introduction {

}

.introduction__header {

}

.introduction__text {

}

BEM separator token

key: html-to-css.bem-separator, type: string, default: __

Character(s) used as a BLOCK*__*ELEMENT separator in BEM.

rulelist open token

key: html-to-css.rulelist-open, type: string, default: {\n\n

Character(s) to output when opening rulelists (including whitespaces)

rulelist close token

key: html-to-css.rulelist-close, type: string, default: }\n\n

Character(s) to output when opening rulelists (including whitespaces)

You can change them to fine-tune the output format to your own liking. Just remove { and } to support SASS-like indented syntax.

Grouping character

key: html-to-css.grouping-character, type: string, default: &

Character(s) to be used in output when referring to the parent element while nesting declarations SCSS-style.

key bindings

To avoid conflicts and promote peace, this package doesn't register any keys by default. Do it yourself, or just paste the following lines in ~/.atom/keymap.cson:

'atom-text-editor':

'alt-x': 'html-to-css:generate'

It'll try to register alt+x key shortcut.

indentation

\t is used to indent, but Atom seems to be clever enough to convert it to your default style when pasting. Let me know if it's not doing that.

parsing

due to the forgiving nature of the excellent htmlparser2 used under the hood, this plugin is able to deal with:

incomplete selections (wouldn't it be faster if you could select opening tags only? well, you can)

not-really-valid-HTML-code (JSX, anyone?)

general mess (really. you can hit cmd+a in this markdown file and it'll still parse the few HTML lines from the code sample)

TODO

extend it with different transformers/formatters as settings.

Contributions welcomed.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值