mirror of
https://github.com/danbulant/lucide
synced 2026-05-19 04:18:41 +00:00
Initial commit
This commit is contained in:
commit
719f62a655
20 changed files with 3683 additions and 0 deletions
166
.gitignore
vendored
Normal file
166
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,166 @@
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/rust,node
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=rust,node
|
||||||
|
|
||||||
|
### Node ###
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# Snowpack dependency directory (https://snowpack.dev/)
|
||||||
|
web_modules/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional stylelint cache
|
||||||
|
.stylelintcache
|
||||||
|
|
||||||
|
# Microbundle cache
|
||||||
|
.rpt2_cache/
|
||||||
|
.rts2_cache_cjs/
|
||||||
|
.rts2_cache_es/
|
||||||
|
.rts2_cache_umd/
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variable files
|
||||||
|
.env
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
.env.local
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
.parcel-cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
.next
|
||||||
|
out
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
.nuxt
|
||||||
|
dist
|
||||||
|
|
||||||
|
# Gatsby files
|
||||||
|
.cache/
|
||||||
|
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||||
|
# public
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# vuepress v2.x temp and cache directory
|
||||||
|
.temp
|
||||||
|
|
||||||
|
# Docusaurus cache and generated files
|
||||||
|
.docusaurus
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
|
|
||||||
|
# TernJS port file
|
||||||
|
.tern-port
|
||||||
|
|
||||||
|
# Stores VSCode versions used for testing VSCode extensions
|
||||||
|
.vscode-test
|
||||||
|
|
||||||
|
# yarn v2
|
||||||
|
.yarn/cache
|
||||||
|
.yarn/unplugged
|
||||||
|
.yarn/build-state.yml
|
||||||
|
.yarn/install-state.gz
|
||||||
|
.pnp.*
|
||||||
|
|
||||||
|
### Node Patch ###
|
||||||
|
# Serverless Webpack directories
|
||||||
|
.webpack/
|
||||||
|
|
||||||
|
# Optional stylelint cache
|
||||||
|
|
||||||
|
# SvelteKit build / generate output
|
||||||
|
.svelte-kit
|
||||||
|
|
||||||
|
### Rust ###
|
||||||
|
# Generated by Cargo
|
||||||
|
# will have compiled files and executables
|
||||||
|
debug/
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
||||||
|
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
||||||
|
# Cargo.lock
|
||||||
|
|
||||||
|
# These are backup files generated by rustfmt
|
||||||
|
**/*.rs.bk
|
||||||
|
|
||||||
|
# MSVC Windows builds of rustc generate these, which store debugging information
|
||||||
|
*.pdb
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/rust,node
|
||||||
|
|
||||||
|
# mdBook
|
||||||
|
book/book/
|
||||||
|
|
||||||
|
# Tailwind CSS ouput
|
||||||
|
tailwind.output.css
|
||||||
12
.pre-commit-config.yaml
Normal file
12
.pre-commit-config.yaml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||||
|
rev: v3.1.0
|
||||||
|
hooks:
|
||||||
|
- id: prettier
|
||||||
|
additional_dependencies:
|
||||||
|
- prettier@^3.3.3
|
||||||
|
- repo: https://github.com/doublify/pre-commit-rust
|
||||||
|
rev: v1.0
|
||||||
|
hooks:
|
||||||
|
- id: fmt
|
||||||
|
- id: clippy
|
||||||
7
.prettierrc.json
Normal file
7
.prettierrc.json
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"bracketSpacing": false,
|
||||||
|
"printWidth": 120,
|
||||||
|
"singleQuote": true,
|
||||||
|
"tabWidth": 4,
|
||||||
|
"trailingComma": "none"
|
||||||
|
}
|
||||||
3245
Cargo.lock
generated
Normal file
3245
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
15
Cargo.toml
Normal file
15
Cargo.toml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
[workspace]
|
||||||
|
members = ["packages/*", "scripts"]
|
||||||
|
resolver = "2"
|
||||||
|
|
||||||
|
[workspace.package]
|
||||||
|
authors = ["Rust For Web <info@rustforweb.org>"]
|
||||||
|
edition = "2021"
|
||||||
|
license = "MIT"
|
||||||
|
repository = "https://github.com/RustForWeb/lucide"
|
||||||
|
version = "0.0.1"
|
||||||
|
|
||||||
|
[workspace.dependencies]
|
||||||
|
dioxus = "0.5.6"
|
||||||
|
leptos = "0.7.0-rc2"
|
||||||
|
yew = "0.21.0"
|
||||||
21
LICENSE.md
Normal file
21
LICENSE.md
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2024 Rust For Web
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||||
|
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
||||||
|
OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
39
README.md
Normal file
39
README.md
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
<!-- <p align="center">
|
||||||
|
<a href="./logo.svg">
|
||||||
|
<img src="./logo.svg" width="300" height="200" alt="Rust Lucide Logo">
|
||||||
|
</a>
|
||||||
|
</p> -->
|
||||||
|
|
||||||
|
<h1 align="center">Rust Lucide</h1>
|
||||||
|
|
||||||
|
Rust port of [Lucide](https://lucide.dev/).
|
||||||
|
|
||||||
|
[Lucide](https://lucide.dev/) is a beautiful & consistent icon toolkit made by the community.
|
||||||
|
|
||||||
|
## Frameworks
|
||||||
|
|
||||||
|
Rust Lucide is available for these Rust frameworks:
|
||||||
|
|
||||||
|
- [Dioxus](https://dioxuslabs.com/)
|
||||||
|
- [Leptos](https://leptos.dev/)
|
||||||
|
- [Yew](https://yew.rs/)
|
||||||
|
|
||||||
|
See [the Rust Lucide book](https://lucide.rustforweb.org/introduction.html#frameworks) for more information.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
See [the Rust Lucide book](https://lucide.rustforweb.org).
|
||||||
|
|
||||||
|
<!-- ## Credits
|
||||||
|
|
||||||
|
The logo is a combination of the [Lucide logo](https://github.com/lucide-icons/lucide/blob/main/docs/public/logo-icon.svg) and [Ferris the Rustacean](https://rustacean.net/). -->
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is available under the [MIT license](LICENSE.md).
|
||||||
|
|
||||||
|
## Rust For Web
|
||||||
|
|
||||||
|
The Rust Lucide project is part of the [Rust For Web](https://github.com/RustForWeb).
|
||||||
|
|
||||||
|
[Rust For Web](https://github.com/RustForWeb) creates and ports web UI libraries for Rust. All projects are free and open source.
|
||||||
33
package-lock.json
generated
Normal file
33
package-lock.json
generated
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
"name": "@rustforweb/lucide",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "@rustforweb/lucide",
|
||||||
|
"license": "MIT",
|
||||||
|
"devDependencies": {
|
||||||
|
"prettier": "^3.3.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/prettier": {
|
||||||
|
"version": "3.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
|
||||||
|
"integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"bin": {
|
||||||
|
"prettier": "bin/prettier.cjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/prettier/prettier?sponsor=1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
15
package.json
Normal file
15
package.json
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"name": "@rustforweb/lucide",
|
||||||
|
"description": "Rust port of Lucide.",
|
||||||
|
"author": "Rust For Web <info@rustforweb.org>",
|
||||||
|
"repository": "github:RustForWeb/lucide",
|
||||||
|
"license": "MIT",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {},
|
||||||
|
"devDependencies": {
|
||||||
|
"prettier": "^3.3.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20"
|
||||||
|
}
|
||||||
|
}
|
||||||
13
packages/dioxus/Cargo.toml
Normal file
13
packages/dioxus/Cargo.toml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
[package]
|
||||||
|
name = "lucide-dioxus"
|
||||||
|
description = "Dioxus port of Lucide."
|
||||||
|
homepage = "https://lucide.rustforweb.org/dioxus.html"
|
||||||
|
|
||||||
|
authors.workspace = true
|
||||||
|
edition.workspace = true
|
||||||
|
license.workspace = true
|
||||||
|
repository.workspace = true
|
||||||
|
version.workspace = true
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
dioxus.workspace = true
|
||||||
21
packages/dioxus/README.md
Normal file
21
packages/dioxus/README.md
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
<!-- <p align="center">
|
||||||
|
<a href="../../../../logo.svg">
|
||||||
|
<img src="../../../../logo.svg" width="300" height="200" alt="Rust Lucide Logo">
|
||||||
|
</a>
|
||||||
|
</p> -->
|
||||||
|
|
||||||
|
<h1 align="center">Lucide Dioxus</h1>
|
||||||
|
|
||||||
|
Lucide is a beautiful & consistent icon toolkit made by the community.
|
||||||
|
|
||||||
|
[Rust Lucide](https://github.com/RustForWeb/lucide) is a Rust port of [Lucide](https://lucide.dev/).
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
See [the Rust Lucide book](https://lucide.rustforweb.org/) for documentation.
|
||||||
|
|
||||||
|
## Rust For Web
|
||||||
|
|
||||||
|
The Rust Lucide project is part of the [Rust For Web](https://github.com/RustForWeb).
|
||||||
|
|
||||||
|
[Rust For Web](https://github.com/RustForWeb) creates and ports web UI libraries for Rust. All projects are free and open source.
|
||||||
5
packages/dioxus/src/lib.rs
Normal file
5
packages/dioxus/src/lib.rs
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
//! Dioxus port of [Lucide](https://lucide.dev/).
|
||||||
|
//!
|
||||||
|
//! Lucide is a beautiful & consistent icon toolkit made by the community.
|
||||||
|
//!
|
||||||
|
//! See [the Rust Lucide book](https://lucide.rustforweb.org/dioxus.html) for more documenation.
|
||||||
13
packages/leptos/Cargo.toml
Normal file
13
packages/leptos/Cargo.toml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
[package]
|
||||||
|
name = "lucide-leptos"
|
||||||
|
description = "Leptos port of Lucide."
|
||||||
|
homepage = "https://lucide.rustforweb.org/leptos.html"
|
||||||
|
|
||||||
|
authors.workspace = true
|
||||||
|
edition.workspace = true
|
||||||
|
license.workspace = true
|
||||||
|
repository.workspace = true
|
||||||
|
version.workspace = true
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
leptos.workspace = true
|
||||||
21
packages/leptos/README.md
Normal file
21
packages/leptos/README.md
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
<!-- <p align="center">
|
||||||
|
<a href="../../../../logo.svg">
|
||||||
|
<img src="../../../../logo.svg" width="300" height="200" alt="Rust Lucide Logo">
|
||||||
|
</a>
|
||||||
|
</p> -->
|
||||||
|
|
||||||
|
<h1 align="center">Lucide Leptos</h1>
|
||||||
|
|
||||||
|
Lucide is a beautiful & consistent icon toolkit made by the community.
|
||||||
|
|
||||||
|
[Rust Lucide](https://github.com/RustForWeb/lucide) is a Rust port of [Lucide](https://lucide.dev/).
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
See [the Rust Lucide book](https://lucide.rustforweb.org/) for documentation.
|
||||||
|
|
||||||
|
## Rust For Web
|
||||||
|
|
||||||
|
The Rust Lucide project is part of the [Rust For Web](https://github.com/RustForWeb).
|
||||||
|
|
||||||
|
[Rust For Web](https://github.com/RustForWeb) creates and ports web UI libraries for Rust. All projects are free and open source.
|
||||||
5
packages/leptos/src/lib.rs
Normal file
5
packages/leptos/src/lib.rs
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
//! Leptos port of [Lucide](https://lucide.dev/).
|
||||||
|
//!
|
||||||
|
//! Lucide is a beautiful & consistent icon toolkit made by the community.
|
||||||
|
//!
|
||||||
|
//! See [the Rust Lucide book](https://lucide.rustforweb.org/leptos.html) for more documenation.
|
||||||
13
packages/yew/Cargo.toml
Normal file
13
packages/yew/Cargo.toml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
[package]
|
||||||
|
name = "lucide-yew"
|
||||||
|
description = "Yew port of Lucide."
|
||||||
|
homepage = "https://lucide.rustforweb.org/yew.html"
|
||||||
|
|
||||||
|
authors.workspace = true
|
||||||
|
edition.workspace = true
|
||||||
|
license.workspace = true
|
||||||
|
repository.workspace = true
|
||||||
|
version.workspace = true
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
yew.workspace = true
|
||||||
21
packages/yew/README.md
Normal file
21
packages/yew/README.md
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
<!-- <p align="center">
|
||||||
|
<a href="../../../../logo.svg">
|
||||||
|
<img src="../../../../logo.svg" width="300" height="200" alt="Rust Lucide Logo">
|
||||||
|
</a>
|
||||||
|
</p> -->
|
||||||
|
|
||||||
|
<h1 align="center">Lucide Yew</h1>
|
||||||
|
|
||||||
|
Lucide is a beautiful & consistent icon toolkit made by the community.
|
||||||
|
|
||||||
|
[Rust Lucide](https://github.com/RustForWeb/lucide) is a Rust port of [Lucide](https://lucide.dev/).
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
See [the Rust Lucide book](https://lucide.rustforweb.org/) for documentation.
|
||||||
|
|
||||||
|
## Rust For Web
|
||||||
|
|
||||||
|
The Rust Lucide project is part of the [Rust For Web](https://github.com/RustForWeb).
|
||||||
|
|
||||||
|
[Rust For Web](https://github.com/RustForWeb) creates and ports web UI libraries for Rust. All projects are free and open source.
|
||||||
5
packages/yew/src/lib.rs
Normal file
5
packages/yew/src/lib.rs
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
//! Yew port of [Lucide](https://lucide.dev/).
|
||||||
|
//!
|
||||||
|
//! Lucide is a beautiful & consistent icon toolkit made by the community.
|
||||||
|
//!
|
||||||
|
//! See [the Rust Lucide book](https://lucide.rustforweb.org/yew.html) for more documenation.
|
||||||
12
scripts/Cargo.toml
Normal file
12
scripts/Cargo.toml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
[package]
|
||||||
|
name = "scripts"
|
||||||
|
description = "Scripts for Rust Lucide."
|
||||||
|
publish = false
|
||||||
|
|
||||||
|
authors.workspace = true
|
||||||
|
edition.workspace = true
|
||||||
|
license.workspace = true
|
||||||
|
repository.workspace = true
|
||||||
|
version.workspace = true
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
1
scripts/src/lib.rs
Normal file
1
scripts/src/lib.rs
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
Loading…
Reference in a new issue