YBC は、Bulma CSS フレームワークのすべての構造、スタイル、機能を Yew コンポーネントのセットとしてカプセル化します。 YBC には Yew Router のサポートも同梱されており、Yew Router コンポーネントをラップしてクリーンな統合を実現する Bulma スタイルのコンポーネントが追加されています。
指針として、YBC は、多くの有効なスタイルの組み合わせはもちろん、Bulma スタイルをすべて Rust タイプとしてカプセル化しようとはしません。それは非常に複雑すぎるため、おそらく多くの点でユーザーが制限されることになります。代わりに、YBC は構造、必要なクラス、機能、適切なデフォルトを処理し、すべてのコンポーネントを追加のクラスでカスタマイズして、正確な外観と操作性を実現できます。
YBCを使用するとどうなりますか?以下は、ナビゲーションバー、流体コンテナ、およびいくつかのタイルをレンダリングするコンポーネントのview
メソッドのスニペットです。
use ybc :: NavbarFixed :: Top ;
use ybc :: TileCtx :: { Ancestor , Child , Parent } ;
use ybc :: TileSize :: Four ;
use yew :: prelude :: * ;
struct App ; // An application component.
impl Component for App {
/* .. snip .. */
fn view ( & self ) -> Html {
html ! {
<>
<ybc:: Navbar fixed= Top /* .. your navbar content here .. */ />
<ybc:: Container fluid= true >
<ybc:: Tile ctx= Ancestor >
<ybc:: Tile ctx= Parent vertical= true size= Four >
<ybc:: Tile ctx= Child classes=classes! ( "box" ) >
<p> { "Lorem ipsum dolor sit amet ..." } </p>
</ybc:: Tile >
/* .. snip .. more tiles here .. */
</ybc:: Tile >
</ybc:: Tile >
</ybc:: Container >
</>
}
}
}
まず、このライブラリをCargo.toml
依存関係に追加します。
[ dependencies ]
ybc = " * "
このプロジェクトは、ここで説明されているように、HTML に Bulma CSS を含めるだけで完全に機能します。 HTML ヘッド内の次のリンクでうまくいくはずです: <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css"/>
。
ただし、スタイル ガイドラインに合わせて Bulma をカスタマイズしたい場合は、Bulma SASS のコピーをローカルに用意し、ここで説明するようにカスタマイズを定義した後に Bulma をインポートする必要があります。
// index.scss
// Set your brand colors
$purple : #8A4D76 ;
$pink : #FA7C91 ;
$brown : #757763 ;
$beige-light : #D0D1CD ;
$beige-lighter : #EFF0EB ;
// Import the rest of Bulma
@import " path/to/bulma " ;
Trunk を使用してアプリケーションを構築し、そのアセットをバンドルしている場合は、 index.html
ファイルからindex.scss
をポイントするだけで、Trunk がアプリケーションと Sass のコンパイルを処理し、 dist
ディレクトリですべてを利用できるようにします。
<!DOCTYPE html >
< html >
< head >
< meta charset =" utf-8 "/>
< meta name =" viewport " content =" width=device-width, initial-scale=1 "/>
< link rel =" stylesheet " href =" index.sass "/>
</ head >
< body >
<!-- ... snip ... -->
</ body >
</ html >
ここで、 trunk serve --open
実行するだけで、アプリケーションが構築され、ブラウザで開かれます。
Trunk を使用していない場合は、Rust WASM アプリケーションとそのアセットを構築するために別のメカニズムを使用する必要があります。
現在、このライブラリは web-sys バックエンドのみをサポートしています。 stdweb のサポートは現時点では計画されていません。それが問題である場合は、その理由を説明する問題を開いてください。乾杯!