私は現在、プロジェクトで Twitter Bootstrap を使用しています。これには、LESS ファイルが含まれており、作成した追加の LESS コードでコンパイルしています。
最新のリリースでは、Bootstrap LESS 変数の一部をオーバーライドする必要があります。ここでの 1 つのオプションは、リリースごとにパッチを適用する Bootstrap の変更されたコピーを維持することでした。
ただし、インポートステートメントの後@import
に変数を再宣言することにより、LESS ファイルで定義された変数をオーバーライドできることに注意してください。
例えば:
@import "twitter-bootstrap/bootstrap.less";
// Restore base font size to pre 2.1.1 defaults
@baseFontSize: 13px;
// Add some custom LESS code here
これは悪い習慣ですか?それは LESS コンパイラーの動作方法のアーティファクトですか、それとも意図された部分ですか? 次の 2 つの参考文献を見つけましたが、これに関する多くの情報を見つけることができませんでした。
Less コンパイラのバグにより、最初に宣言された後に変数を変更することで、変数の「定数」値をオーバーライドできます。
http://rubysource.com/how-to-customize-twitter-bootstrap%E2%80%99s-design-in-a-rails-app
と
これら 3 つの変数をオーバーライドして、列とガターをカスタマイズします (grid.less インポートが宣言された後)。
LESS サイト自体は、変数は「定数」であると述べています。
LESS の変数は、一度しか定義できないという点で、実際には「定数」であることに注意してください。
しかし、その後、このアプローチを使用している他のサイトを目にします。ベンダー ブランチを維持するよりも確かに簡単で、less.js で問題なく動作するようです。
これが悪いことかどうかについての考えをいただければ幸いです。