├── examples └── basic_usage │ ├── .gitignore │ ├── index.html │ ├── README.md │ ├── src │ └── main.rs │ └── Cargo.toml ├── .gitignore ├── package.json ├── Cargo.toml ├── .github └── workflows │ └── main.yml └── README.md /examples/basic_usage/.gitignore: -------------------------------------------------------------------------------- 1 | /dist/ 2 | /target/ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /node_modules 3 | Cargo.lock 4 | pnpm-lock.yaml 5 | yarn.lock 6 | package-lock.json 7 | -------------------------------------------------------------------------------- /examples/basic_usage/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Yew-Feather example 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/basic_usage/README.md: -------------------------------------------------------------------------------- 1 | ## yew-feather basic usage 2 | 3 | This example can be built with [`trunk`](https://trunkrs.dev) and served by executing `trunk serve` from this directory. -------------------------------------------------------------------------------- /examples/basic_usage/src/main.rs: -------------------------------------------------------------------------------- 1 | use yew::{function_component, html, Html}; 2 | use yew_feather::Camera; 3 | 4 | #[function_component(App)] 5 | fn app() -> Html { 6 | html! { } 7 | } 8 | 9 | fn main() { 10 | yew::start_app::(); 11 | } 12 | -------------------------------------------------------------------------------- /examples/basic_usage/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "basic-usage" 3 | version = "0.1.0" 4 | authors = [ 5 | "Pedro Ferreira ", 6 | "Martin Molzer ", 7 | ] 8 | license = "MIT" 9 | edition = "2021" 10 | 11 | [dependencies] 12 | yew = "0.20.0" 13 | yew-feather = { path = "../../" } 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yew-feather", 3 | "version": "1.0.0", 4 | "description": "Yew components for Feather icons", 5 | "author": "pedrodesu ", 6 | "contributors": [ 7 | "Martin Molzer " 8 | ], 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/pedrodesu/yew-feather.git" 12 | }, 13 | "license": "MIT", 14 | "devDependencies": { 15 | "feather-icons": "^4.29.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "yew-feather" 3 | version = "1.0.0" 4 | authors = [ 5 | "Pedro Ferreira ", 6 | "Martin Molzer ", 7 | ] 8 | categories = ["wasm", "web-programming"] 9 | keywords = ["wasm", "yew", "feather"] 10 | description = "Yew components for Feather icons" 11 | license = "MIT" 12 | readme = "./README.md" 13 | repository = "https://github.com/pedrodesu/yew-feather.git" 14 | homepage = "https://github.com/pedrodesu/yew-feather" 15 | documentation = "https://github.com/pedrodesu/yew-feather" 16 | edition = "2021" 17 | include = ["/src"] 18 | 19 | [lib] 20 | path = "src/lib.rs" 21 | 22 | [dependencies] 23 | yew = "0.20.0" 24 | 25 | [build-dependencies] 26 | which = "4.3.0" 27 | serde_json = "1.0.91" 28 | convert_case = "0.6.0" 29 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Publish yew-feather 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | publish: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout sources 13 | uses: actions/checkout@v2 14 | 15 | - name: Install node 16 | uses: actions/setup-node@v2 17 | with: 18 | node-version: 16 19 | 20 | - name: Install rust 21 | uses: actions-rs/toolchain@v1.0.6 22 | with: 23 | toolchain: stable 24 | override: true 25 | profile: minimal 26 | 27 | - name: Build release 28 | run: cargo build --release 29 | 30 | - name: Publish 31 | uses: katyo/publish-crates@v1 32 | with: 33 | registry-token: ${{ secrets.cargo_token }} 34 | args: --allow-dirty 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## yew-feather 2 | 3 | [![crates.io version](https://img.shields.io/crates/v/yew-feather.svg?style=flat-square)](https://crates.io/crates/yew-feather) 4 | [![crates.io downloads](https://img.shields.io/crates/d/yew-feather.svg?style=flat-square)](https://crates.io/crates/yew-feather) 5 | 6 | #### What is yew-feather? 7 | 8 | yew-feather is a collection of simply beautiful open source icons for Yew. Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency and readability. 9 | 10 | #### Based on Feather Icons `v4.29.0` 11 | 12 | https://feathericons.com/ 13 | 14 | ### Usage 15 | 16 | ```rust 17 | use yew::{function_component, html, Html}; 18 | use yew_feather::Camera; 19 | 20 | #[function_component(App)] 21 | fn app() -> Html { 22 | html! { } 23 | } 24 | 25 | fn main() { 26 | yew::start_app::(); 27 | } 28 | ``` 29 | 30 | Icons can be configured with inline props: 31 | 32 | ```rust 33 | 34 | ``` 35 | --------------------------------------------------------------------------------