μ΄μ v1.5.5μ newline_between_rules
μ΅μ
μ CSSμμλ§ μ§μλ©λλ€. https://github.com/beautify-web/js-beautify/pull/574
λ°λΌμ Sass μμλ μ€μ²©μ μν΄ μλνμ§ μμ΅λλ€.
μ¬κΈ° λ΄ test.js
νμΌ:
var fs = require('fs');
var beautify_css = require('js-beautify').css;
fs.readFile('test.scss', 'utf8', function(err, data) {
if (err) {
throw err;
}
console.log(beautify_css(data, {
indent_size: 2,
newline_between_rules: true
}));
});
μ°μΆ:
$ node test.js
.icons {
padding: 0;
li {
display: inline-block;
}
a {
display: block;
color: #000;
}
a:hover {
color: #ccc;
}
}
Sassμ λν newline_between_rules
μ§μμ μΆκ°νκΈ°λ₯Ό λ°λλλ€.
λ¬Έμ μΈμ¬.
κ·Έλ¦¬κ³ μ΄λ€ λͺ¨μ΅μ μνμλμ?
CSS λ²μ κ³Ό μ μ¬ https://github.com/beautify-web/js-beautify/pull/574
μΌλ°μ μΌλ‘ νλμ μ€μ²© μμ€μ΄λ©΄ μΆ©λΆν©λλ€.
μλ₯Ό λ€λ©΄ λ€μκ³Ό κ°μ΅λλ€.
// Icons
.icons {
padding: 0;
li {
display: inline-block;
}
a {
display: block;
color: #000;
}
a:hover {
color: #ccc;
}
}
// Button
.button {
&.primary {
color: #4183c4;
}
&.primary:hover {
color: lighten(#4183c4, 15%);
}
}
μλ
,
μ΄κ²μ scs κ·μΉμ λν μμ
μ
λκΉ?
.old_price {
@include GibsonRegular();
@include κΈκΌ΄ ν¬κΈ°(14);
μμ: #646464;
μ¬λ°±-μΌμͺ½: 10px;
ν
μ€νΈ μ₯μ: λΌμΈ μ€λ£¨;
.promovalue {
<strong i="15">@include</strong> GibsonRegular();
}
}
+1
+1
+1
+1
newline_between_nested_rules: true
μ κ°μ μ΅μ
μ νΉν μ€μ²© λ¬Έμ μΈ κ² κ°μ΅λκΉ?
}
λ° ;
λ μ€μ²©λ μ μ€μ λν κ·μΉμ κ³ λ €ν΄μΌ ν©λλ€.
+1, λν λ μ μ λΉμ©μΌλ‘
+1
+1
μ΄κ²μ΄ μ€μ λ‘ μ€μ²©λ κ·μΉμλ§ λ¬Έμ κ° μμμ νμΈν μ μμ΅λλ€. νμ¬ newline_between_rules: true
:
body {
background-color: #FFF;
> div {
background-color: #AAA;
}
}
.container {
color: blue;
}
λ€μκ³Ό κ°μ΄ λ©λλ€.
body {
background-color: #FFF;
> div {
background-color: #AAA;
}
}
.container {
color: blue;
}
newline_between_rules: false
κ²°κ³Όλ λ€μκ³Ό κ°μ΅λλ€.
body {
background-color: #FFF;
> div {
background-color: #AAA;
}
}
.container {
color: blue;
}
λ°λΌμ μ€μ²© κ·μΉ μ¬μ΄μ κ°ν μ§μμ κ³ λ €ν΄μΌ ν©λλ€.
+1
μ΄κ²μ λν μ΄λ€ ETA?
+1
+1
+1 :(
+1
λ€λ₯Έ +1
μμ μ£μ‘ν©λλ€. λλ μ΄κ²μ μ°¬μ±νλ λ€λ₯Έ λ°©λ²μ΄ μλμ§ λͺ°λμ΅λλ€.
@zimmerboy λͺ¨λ λκΈμ μ€λ₯Έμͺ½ μλ¨μλ +1 λ°μ(:+1:)μ΄ ν¬ν¨λ "λ°μ μΆκ°" λ²νΌμ΄ μμ΅λλ€.
beautify-css.js
λ΄ ν΄κ²° λ°©λ²:
print.newLine = function(keepWhitespace, keepNewLine) {
if (output.length) {
if (!keepWhitespace && output[output.length - 1] !== '\n') {
print.trim();
if (keepNewLine) { output.push('\n'); }
}
output.push('\n');
if (basebaseIndentString) {
output.push(basebaseIndentString);
}
}
};
newline_between_rules
쑰건과 λͺ
λ Ήλ¬Έμ λͺ¨λ λ€μμΌλ‘ λ³κ²½ν©λλ€. if (newline_between_rules) {
print.newLine(false, true);
}
μ°Έκ³ : μ΄κ²μ μμ± λ€μ κ·μΉμ΄ μλλΌ κ·μΉ μ¬μ΄μ κ°νλ§ μ²λ¦¬ν©λλ€. λꡬλ μ§ κ·Έκ²μ λν μμ΄λμ΄κ° μμ΅λκΉ?
@sickboy - μΏ¨, ν 리νμ€νΈλ₯Ό μμνκ³ , λͺ κ°μ§ ν μ€νΈλ₯Ό μΆκ°νμΈμ. μ΄ μμ μ μ§νν΄ μ£ΌμκΈ° λ°λλλ€.
μ΄κ±° μΈμ κ° λμ€λμ? sassμ beautifyλ₯Ό μ¬μ©νλ μ μΌν μ°¨λ¨κΈ°μ λλ€.
@mrahhal - μ΄ λ¬Έμ λ κ±°μ 2λ μ΄ λμμ΅λλ€. @sickboy κ° μ΄μ λν΄ μΌλΆ μμ μ μννμ΅λλ€. λκ΅°κ°λ ν μ€νΈλ‘ ν 리νμ€νΈλ₯Ό νκΈ°λ§ νλ©΄ λ©λλ€.
μ΄μ©λ©΄ λΉμ μ μ΄κ²μνκ³ μΆμ΅λκΉ? CONTRIBUTING.mdλ₯Ό μ°Έμ‘°νμμμ€.
@bitwiseman λΆννλ λλ μ΄λ° μ’ λ₯μ νλ‘μ νΈλ μκ°μ λν κ²½νμ΄ μμ΅λλ€. κ·Έλ¬λ λ΄ μ§λ¬Έμ λͺ¨λ μ¬λλ€μ΄ μΌλ° CSSλ₯Ό μ¬μ©νκ±°λ νμ¬ νμμ΄ μλνλ λ°©μμ κ³ μνκ³ μλ€λ κ²μ λλ€. κ·Έκ²μ μμ£Ό μ€λλμμ§λ§ ν΄κ²°νκΈ° μ¬μ΄ λ¬Έμ μ λν΄ μ΄μν©λλ€.
@sickboy μ΄κ±° νκ³ μλ? μλ§ μ무λ μ΄κ²μ λν΄ νλνμ§ μλλ€λ©΄ κ²°κ΅ λ΄κ° κ·Έκ²μ λ€λ£° κ²μ λλ€. "max_preserve_newlines"μ λͺ κ°μ§ μ΄μν λμμ μ μΈνκ³ , μ΄κ²μ λ΄κ° λ―Έν μ¬μ©μ μμ ν λ°©ν΄νλ μ μΌν λλ½λ κ²μ λλ€.
pull request #1117( cssμ λν΄ reserved_newlines μΆκ° )μ΄ μ΄μ λμμ΄ λ μ§ κΆκΈν©λλ€.
@zimmerboy λ€, νμ¬ λ¬Έμ μ λν μμ μ¬νμΈ κ² κ°μ§λ§ μ μκ°μλ λ€λ₯Έ μ’ λ₯μ λλ€.
#1117μ΄ λ³ν©λλμ? μ΄ λ¬Έμ λ ν΄κ²°νλ κ² κ°μ΅λλ€.
@jorgeramirez - μ΄μ νΌλλ°±μ λν μμ μ¬νμ κΈ°λ€λ¦¬κ³ μμ΅λλ€.
@bitwiseman λλ¨ν©λλ€!
μ λ°μ΄νΈκ° μμ΅λκΉ?
@royduin - μ΅μ 릴리μ€λ‘ ν μ€νΈνμμμ€.
μ μλνλ κ² κ°μ§λ§ λκΈμ μ½κ°μ λ¬Έμ κ° μμ΅λλ€. Bootstrap SCSSκ° μ’μ μλ μλμ§λ§ μ¬μ ν κ·Έλ μ΅λλ€.
리ν¬μ§ν 리μμ μ½λ νμμ΄ λ€μκ³Ό κ°μ΅λλ€.
κ·Έλ¦¬κ³ μ΄κ²μ λ―Έν νμ
λλ€.
μμλλ‘ μλνμ§λ§ μ£Όμμ΄ μ΄μ μ μΈκ³Ό κ²ΉμΉμ§λ§ μ£Όμ νμμ΄ μ¬λ°λ₯΄κ² μ§μ λλ©΄ μ λλ‘ μλν©λλ€.
λ€μ λ§νμ§λ§ μ€μ λ‘ μ€μν κ²μ μλμ§λ§ Bootstrapμ λ리 μ¬μ©λ©λλ€.
@stgogm
μ λ¬Έμ λ₯Ό μ μΆνμμμ€.
λν μ΄λ―Έμ§κ° μλ ν
μ€νΈλ₯Ό ν¬ν¨νμμμ€.
@bitwiseman λ€, μ£μ‘ν©λλ€. SCSS λ¦°ν° κ·μΉμ μ‘΄μ€νλ€λ©΄ μ€μ λ‘ λ¬Έμ κ° λμ§ μλλ€λ μ μ μΈκΈνκ³ μΆμμ΅λλ€.
@stgogm - λ©μ§ μ 보 κ°μ¬ν©λλ€. π
@stgogm μ μ€μ νλ λμ μ€μ²©λ newline_between_rules
λ¬Έμ λ₯Ό ν
μ€νΈν μ μμ΅λκΉ? μ ν¨κ»
newline_between_rules: true
λΉμ μ
fieldset {
border: 0;
margin: 0;
min-width: 0;
padding: 0;
&+fieldset {
margin-top: $padding-large;
}
}
~μ΄λλ€
fieldset {
border: 0;
margin: 0;
min-width: 0;
padding: 0;
&+fieldset {
margin-top: $padding-large;
}
}
?
μ€μ λ‘ μ°¨μ΄κ° μμ΅λλ€.
μμ±λ μ½λ(μ¬μ΄μ μ μ€ μμ):
form {
display: block;
}
fieldset {
border: 0;
margin: 0;
min-width: 0;
padding: 0;
& + fieldset {
margin-top: $padding-large;
}
}
"newline_between_rules": false
κΎΈλ―ΈκΈ° ν:
form {
display: block;
}
fieldset {
border: 0;
margin: 0;
min-width: 0;
padding: 0;
&+fieldset {
margin-top: $padding-large;
}
}
"newline_between_rules": true
κΎΈλ―ΈκΈ° ν :
form {
display: block;
}
fieldset {
border: 0;
margin: 0;
min-width: 0;
padding: 0;
&+fieldset {
margin-top: $padding-large;
}
}
+
μ¬μ΄μ 곡백μ μ κ±°νμ΅λλ€.
js-beautify --version
1.6.12
@stgogm κ°μ¬ν©λλ€! μλ @bitwiseman #1146μ΄ μ΄ λ¬Έμ λ₯Ό μμ νμ§ μμμ΅λλ€.
"newline_between_rules"κ° SCSSμ μΆ©λΆνμ§ μμ λ λ€λ₯Έ μ:
$variable: #333;
div {
display: none;
}
μ΄ SCSSλ₯Ό ν¬λ§·νλ©΄ λ³μμ div μ νκΈ° μ¬μ΄μ μ μ€μ΄ μΆκ°λμ§ μμ΅λλ€.
μ΄ κΈ°λ₯μ μΈμ μ¬μ©ν μ μλμ§ λͺ νν©λκΉ?
μ΄λ€ μ§μ μ΄ μμ΅λκΉ?
@dhghani-mehdi @whxaxes
μ΄ κΈ°λ₯μ ν λΉλμ§ μμμ΅λλ€. μ΄λ₯Ό ꡬννκ³ ν
μ€νΈλ₯Ό μΆκ°ν μ¬λμ΄ νμν©λλ€.
+1
+1
+1
+1
+1
ꡬλ μμκ² μ€νΈμ μ μ‘νμ§ μλ +1 λ©μμ§κ° μλ μ΄κΈ° κ²μλ¬Όμ π λ°μμΌλ‘ ν¬ννμΈμ. κ°μ¬ ν΄μ!
κ°μ₯ μ μ©ν λκΈ
ꡬλ μμκ² μ€νΈμ μ μ‘νμ§ μλ +1 λ©μμ§κ° μλ μ΄κΈ° κ²μλ¬Όμ π λ°μμΌλ‘ ν¬ννμΈμ. κ°μ¬ ν΄μ!