Create [Iced] style sheets from configuration files.
Add this to your Cargo.toml
:
toml
[dependencies]
iced = "0.4"
iced_style_config = "0.1"
To disable hot reloading support:
toml
[dependencies]
iced = "0.4"
iced_style_config = { version = "0.1", default-features = false }
Compiler support: requires the latest stable rustc
On native targets:
sh
cargo run --example hot_reloading
On WebAssembly:
sh
cargo build --target wasm32-unknown-unknown --example hot_reloading
wasm-bindgen target/wasm32-unknown-unknown/debug/examples/hot_reloading.wasm --out-dir hot_reloading --web
echo '<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Tour - Iced</title>
</head>
<body>
<script type="module">
import init from "./hot_reloading/hot_reloading.js";
init("./hot_reloading/hot_reloading_bg.wasm");
</script>
</body>
</html>' > index.html
cargo run --example server
Note: Hot reloading on WebAssembly is not yet supported.
The schema.json
is the JSON schemas for the configuration files, and when combined with an extension of the editor that supports completion using the JSON schema, completion can be enabled.
In VS Code, you can enable completion and validation by installing the [Even Better TOML] extension and using the evenBetterToml.schema.associations
configuration object in settings.json
.
For example:
json
{
"evenBetterToml.schema.associations": {
".*_theme\\.toml": "https://raw.githubusercontent.com/taiki-e/iced_style_config/main/schema.json",
}
}
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.