私は LESS を使用して Bootstrap 2.0.3 を使用しています。これを広範囲にカスタマイズしたいのですが、ライブラリは頻繁に変更されるため、ソースの変更はできるだけ避けたいと思っています。私は LESS を初めて使用するので、コンパイルがどのように機能するのかまったくわかりません。LESS または LESS ベースのフレームワークを使用するためのベスト プラクティスにはどのようなものがありますか?
ベストアンサー1
私の解決策は jstam の解決策と似ていますが、可能な限りソース ファイルの変更は避けています。bootstrap の変更は頻繁に行われるため、最新のソースをダウンロードして、変更内容を別のファイルに保存することで変更を最小限に抑えられるようにしたいと考えています。もちろん、完全に安全というわけではありません。
bootstrap.less と variables.less を親ディレクトリにコピーします。bootstrap.less の名前を theme.less など任意の名前に変更します。ディレクトリ構造は次のようになります。
/Website theme.less variables.less /Bootstrap ...
theme.less 内のすべての参照を更新して、bootstrap サブディレクトリを指すようにします。variables.less が次のように bootstrap ディレクトリではなく親から参照されていることを確認します。
... // CSS Reset @import "bootstrap/reset.less"; // Core variables and mixins @import "variables.less"; // Modify this for custom colors, font-sizes, etc @import "bootstrap/mixins.less"; // Grid system and page structure @import "bootstrap/scaffolding.less"; @import "bootstrap/grid.less"; @import "bootstrap/layouts.less";
...
theme.less ファイルに CSS オーバーライドが含まれている場所の直後に追加します。
... // Components: Nav @import "bootstrap/navs.less"; @import "bootstrap/navbar.less"; // overrides .navbar-fixed-top .navbar-inner, .navbar-fixed-bottom .navbar-inner { border-radius: 0 0 0 0; padding: 10px; } .nav-tabs, .nav-pills { text-transform: uppercase; } .navbar .nav > li > a { text-shadow: none; } ...
HTML ページで bootstrap.less ではなく theme.less にリンクします。
新しいバージョンがリリースされるたびに、変更は安全になります。また、新しいバージョンがリリースされるたびに、カスタム ブートストラップ ファイル間の差分も取得する必要があります。変数とインポートは変更される可能性があります。