* feat: added fallback background to svg preview for browsers without prefers-color-scheme support
* feat: added fallback background to svg stroke-width preview for browsers without prefers-color-scheme support
* [packages][lucide] Switch to the HTML attribute data-lucide instead of icon-name
* fix tests
* Update lucide.ts
Add BC for `icon-name`.
* Update packages/lucide/src/lucide.ts
Co-authored-by: Karsa <contact@karsa.org>
---------
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Not sure what happened, but `sidebar.json` should have been deleted when replaced with
`panel-left.json` in #1003… This is currently breaking the `pre-commit` hook!
* Refactors sort icons to cover all use cases
* increases arrow head size
* Apply suggestions from code review
---------
Co-authored-by: Karsa <karsa@karsa.org>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* add scale Stroke width
* Added scaleStrokeWidth prop to all packages
* Add scaleStrokeWidth to types
* Rename scaleStrokeWidth to absoluteStrokeWidth
* Adds common API elements to the Angular package (#949)
* Almost complete rewrite of the Angular package
* Update tsconfig.spec.json
* fixes icon build export file name
* Updates Angular documentation with the new properties + provider injection
* Update lucide-angular.md
* refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages
* removed codelyzer from devDeps + added flexible angular core dependencies
* Deprecates createElement helper in favour of Renderer2 to support SSR
---------
Co-authored-by: Karsa <karsa@karsa.org>
* Add absoluteStrokeWidth in docs
* update snapshots
* Manual merge of main
* Fixed incorrectly merged pnpm-lock.yaml
* Fixes lucide-angular build
* [lucide-angular] Global configuration for properties + bugfix for legacy icon provider (#1012)
* Almost complete rewrite of the Angular package
* Update tsconfig.spec.json
* fixes icon build export file name
* Updates Angular documentation with the new properties + provider injection
* Update lucide-angular.md
* refactored scaleStrokeWidth to be absoluteStrokeWidth to match other packages
* removed codelyzer from devDeps + added flexible angular core dependencies
* Deprecates createElement helper in favour of Renderer2 to support SSR
* Added global configuration and fixed undefined bug in legacy icon provider. Also updated README.md
* Replaces removed line in README.md
* Fixes merge error
* Updates export template to use the non-deprecated type
* downgrade building to ng-cli@13
* downgrade to es2020
---------
Co-authored-by: Karsa <karsa@karsa.org>
* rename scaleStrokeWidth to absoluteStrokeWidth in readme
---------
Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
Co-authored-by: Eric Fennis <eric@dreamteam.nl>
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@nac41112.nedap.local>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* adds brain icons
* adds extra AI tags
* Update icons/brain-circuit.svg
Co-authored-by: Jakob Guddas <github@jguddas.de>
* Update brain.svg
* Update brain-circuit.svg
---------
Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com>
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Jakob Guddas <github@jguddas.de>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* adds tablets & pill icons
* adds some extra tags
---------
Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com>
Co-authored-by: Karsa <karsa@karsa.org>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* adds tower-control icon
* Update icons/tower-control.json
---------
Co-authored-by: it-is-not <72697755+it-is-not@users.noreply.github.com>
Co-authored-by: Karsa <karsa@karsa.org>
* testing
* Fixes pre-commit hook
* Removing checkIcons from pre commit hook because it might result in false positives and negatives on an unclean local repository
* Added checkIcons Github action
---------
Co-authored-by: Karsa <karsa@karsa.org>
* Deprecates tags.json and icons.json
* Removed tags.json dependency from Figma plugin
* Add JSON descriptor information to readme
* Restore packages/index.tsx
* Update packages/lucide-figma/src/api/fetchIcons.ts
Add multiple fetches to `Promise.all`
* Added caching to API endpoints
* Updates pnpm-lock.yaml
* Add tags to static
* Trigger site build
* Added prebuild script to generate api caches at build time
* Migrated NextCache function from arrow to regular to simplify markup
* test if contents are read from cache
* Add cache clear to prebuild
* removes debug object
---------
Co-authored-by: Karsa <karsa@karsa.org>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Add grip and make all grip tags consistent
* Update icons/grip.svg
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Update icons/grip.json
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Add more music icons and another mic icon (#746)
* Revert "Add more music icons and another mic icon (#746)" (#750)
This reverts commit 57cba6ae0e.
* add subtitles icon
Co-authored-by: Karsa <contact@karsa.org>
* Add dockerfile
* Make the dockerfile work
* try docker container for font building
* remove workflow dep
* add docker compose file
* test docker image
* update build font flow
* update to v3
* cleanup
* add filter options for installs
* test
* revert filter on install
* optimize font building
* Rename workflow
* test and compare workflows
* test workflow
* test
* try with filter
* test old script github actions
* Fix old script
* this works?
* test script
* finialize font script
* remove workspace packages
* add pnpm-lock.yaml in workflows
* Update `svgo` and `svgson` version and fix some tests
* Update eslint-related packages and fix all linter errors
* Update all rollup-related packages version
* Update all rollup-related packages (part 2)
* Update the rest of package which need to be updated
* Fix unwanted comment
* Fix unwanted comment (again)
Authored by: @locness3
- Updated the obsolete number of added icons (congratulations to everyone btw, this is impressive).
- Added mention official packages.
- Expanded on "Active community".
* DEL: laravel from homepage packages
* ADD: more options link
This makes it more clear there are more options than just the ones shown on the homepage
GitHub adds Copy to clipboard button to all code snippets. By splitting npm and yarn specific snippets into two separate snippets we make it possible to copy the command dev is interested in in one click instead of manually selecting it and copying with Ctrl+C.
Reduces __NEXT_DATA__ size on main page by 127610 bytes by calculating `content` from `src` property and removing `commit` data altogether.
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* docs: fix and extend the vue3 icon component example
* docs: refactor the usage example to utilize script setup
* fix: correct dashcase in property names
* Update tags.json
Add "logo" tag to the trello logo
* Update tags.json
Add "maths" tag
* Update tags.json
Add tag "logo" to chrome
* Update tags.json
Add the tag "shape" to "octogon", "triangle", "square" and "circle"
* Update tags.json
Add tag "shape" to diamond
* Update tags.json
Add tag "maths" to function
* Update tags.json
* Update tags.json
Add "maths" to "circle slashed"
* Update tags.json
Remove the comma after the tag logo from trello
Before submitting an icon request check if it has already been requested. If there is an open request, please add a 👍.
**Important note**: No new brand logos are allowed, see https://github.com/lucide-icons/lucide/issues/670.
Existing brand icons will also be phased out. For brand icons, consider using https://simpleicons.org, which offers purpose-built SVGs that are also on a 24×24px grid.
- type:input
id:name
attributes:
label:Icon name
description:What should this icon depict? For multiple icons, provide a comma-separated list.
validations:
required:true
- type:textarea
id:use-cases
attributes:
label:Use cases
description:Why do you need this icon? Include at least two real-life use cases per requested icon, avoiding generic descriptions like "it's a car icon".
placeholder:e.g. I need a star icon to use in my rating system.
validations:
required:true
- type:textarea
id:design-ideas
attributes:
label:Design ideas
description:What should this icon look like? Provide simple, minimalistic icon examples from other sets or your own drafts to help us visualize your request.
validations:
required:true
- type:checkboxes
id:checklist
attributes:
label:Checklist
description:Please review the following checklist before submitting your request.
options:
- label:I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
required:true
- label:I have searched existing icons to make sure it does not already exist and I didn't find any.
required:true
- label:I am not requesting a brand logo and the art is not protected by copyright.
required:true
- label:I am not requesting an icon that includes religious, political imagery or hate symbols.
required:true
- label:I have provided appropriate use cases for the icon(s) requested.
Before reporting an issue, please search to see if someone has filed a similar issue before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
- type:checkboxes
id:packages
attributes:
label:Package
description:Which Lucide packages are affected? You may select more than one.
options:
- label:lucide
- label:lucide-angular
- label:lucide-flutter
- label:lucide-preact
- label:lucide-react
- label:lucide-react-native
- label:lucide-solid
- label:lucide-svelte
- label:lucide-vue
- label:lucide-vue-next
- label:Figma plugin
- label:source/main
- label:other/not relevant
validations:
required:true
- type:input
id:version
attributes:
label:Version
description:What version of Lucide are you running?
placeholder:e.g. 0.289.1
validations:
required:true
- type:checkboxes
id:browsers
attributes:
label:Browser
description:In which browser(s) are you experiencing the issue? You may select more than one.
options:
- label:Chrome/Chromium
- label:Firefox
- label:Safari
- label:Edge
- label:iOS Safari
- label:Opera
- label:Other/not relevant
validations:
required:false
- type:checkboxes
id:operating-systems
attributes:
label:Operating system
description:In which operating systems a you experiencing the issue? You may select more than one.
options:
- label:Windows
- label:Linux
- label:macOS
- label:Other/not relevant
- type:textarea
id:description
attributes:
label:Description
description:Try to describe in detail the problem you're running into and provide additional context about your working environment if necessary.
placeholder:e.g. When I do X, Y happens instead of Z
validations:
required:true
- type:textarea
id:steps-to-reproduce
attributes:
label:Steps to reproduce
description:Please provide a detailed guide on how this issue can be reproduced or a live example with a working reproduction on Codesandbox, JSFiddle or similar.
placeholder:|
1. Import `check` icon
2. Add to a React component/view
3. Run the react app
4. Notice that the `check` isn't rendering correctly which seems a encoding problem
validations:
required:true
- type:checkboxes
id:checklist
attributes:
label:Checklist
description:Please review the following checklist before submitting your issue.
options:
- label:I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
Before reporting an issue, please search to see if someone has filed a similar issue before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
- type:checkboxes
id:browsers
attributes:
label:Browser
description:In which browser(s) are you experiencing the issue? You may select more than one.
options:
- label:Chrome/Chromium
- label:Firefox
- label:Safari
- label:Edge
- label:iOS Safari
- label:Opera
- label:Other/not relevant
validations:
required:false
- type:checkboxes
id:operating-systems
attributes:
label:Operating system
description:In which operating systems are you experiencing the issue? You may select more than one.
options:
- label:Windows
- label:Linux
- label:macOS
- label:Other/not relevant
- type:textarea
id:description
attributes:
label:Description
description:Try to describe in detail the problem you're running into and provide additional context about your working environment if necessary.
placeholder:e.g. When I do X, Y happens instead of Z
validations:
required:true
- type:textarea
id:stepsToReproduce
attributes:
label:Steps to reproduce
description:Please provide a detailed guide on how this issue can be reproduced.
placeholder:|
1. I click on an icon
2. I click on `Copy SVG` in the drawer
3. I paste from the clipboard
4. A base64 encoded data URI is inserted.
...
validations:
required:true
- type:checkboxes
id:checklist
attributes:
label:Checklist
description:Please review the following checklist before submitting your issue.
options:
- label:I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
description:Share with us your ideas on how Lucide could be improved upon.
labels:['💡 idea']
body:
- type:markdown
attributes:
value:|
Before submitting a new feature request, please search to see if someone has filed a similar request before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
- type:checkboxes
id:packages
attributes:
label:Package
description:Which Lucide project do you wish this feature were added to? You may select more than one.
options:
- label:lucide
- label:lucide-angular
- label:lucide-flutter
- label:lucide-preact
- label:lucide-react
- label:lucide-react-native
- label:lucide-solid
- label:lucide-svelte
- label:lucide-vue
- label:lucide-vue-next
- label:Figma plugin
- label:all JS packages
- label:site
validations:
required:true
- type:textarea
id:description
attributes:
label:Description
description:Try to describe in detail the feature you wish existed.
placeholder:e.g. I want to be able to set extra CSS classes on icon components.
validations:
required:true
- type:textarea
id:use-cases
attributes:
label:Use cases
description:Why do you need this feature? Provide real-life use cases as to why this feature will be useful for others.
placeholder:e.g. I could use the extra classes to add animation or global custom styling to some icons.
validations:
required:true
- type:checkboxes
id:checklist
attributes:
label:Checklist
description:Please check the following items before submitting your issue.
options:
- label:I have searched the existing issues to make sure this bug has not already been reported.
Before reporting an issue, please search to see if someone has filed a similar issue before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
-->
## Prerequisites
* Version:
* Are you running from source/main:
* Are you using a released build:
* Operating system:
* Bits:
## Step to reproduce
*(Type here)*
### Actual behavior
## Any message or error
*(Type here)*
## Resources
* Links
* Screenshots
Here is what a great bug report would look like:
```
## Prerequisites
Version: Release v3.1.0
Running from: Import using webpack
Operating system: Mac OSX
Bits: 64 bits
## Step to reproduce
- Import `check` icon
- Add to a React component/view
- Run the react app
- Notice that the `check` isn't rendering correctly which seems a encoding problem
### Actual behavior:
- Import `check` icon
- Add to a React component/view
- Run the react app
- Check is displayed with correct encoding (e.g UTF-8)
Before creating an icon request, please search to see if someone has requested the icon already. If there is an open request, please add a 👍.
A note about brand logos and related material : We follow the decision from Feather Icons (https://github.com/feathericons/feather/issues/763) to deprecate icons relating to brands.
You will find some in the set, but we won't add any new ones. https://simpleicons.org has 24x24 SVG icons for this purpose.
<!-- Insert `closes #issueNumber` here if merging this PR will resolve an existing issue -->
## What is the purpose of this pull request?
<!-- Please choose one of the following, and put an "x" next to it. -->
- [ ] New Icon
- [ ] Bug fix
- [ ] New Feature
- [ ] Documentation update
- [ ] Other:
### Description
<!-- Please insert your description here and provide info about the "what" this PR is contribution -->
### Icon use case <!-- ONLY for new icons, remove this part if not icon PR -->
<!-- What is the purpose of this icon? For each icon added, please insert at least two real life use cases (the more the better). Text like "it's a car icon" is not accepted. -->
### Alternative icon designs <!-- ONLY for new icons, remove this part if not icon PR -->
<!-- If you have any alternative icon designs, please attach them here. -->
## Icon Design Checklist <!-- ONLY for new icons, remove this part if not icon PR -->
### Concept <!-- ONLY for new icons -->
<!-- All of these requirements must be fulfilled. -->
- [ ] I have provided valid use cases for each icon.
- [ ] I have not added any a brand or logo icon.
- [ ] I have not used any hate symbols.
- [ ] I have not included any religious or political imagery.
### Author, credits & license<!-- ONLY for new icons. -->
<!-- Please choose one of the following, and put an "x" next to it. -->
- [ ] The icons are solely my own creation.
- [ ] The icons were originally created in #<issueNumber> by @<githubUser>
- [ ] I've based them on the following Lucide icons: <!-- provide the list of icons -->
- [ ] I've based them on the following design: <!-- provide source URL and license permitting use -->
### Naming <!-- ONLY for new icons -->
<!-- All of these requirements must be fulfilled. -->
- [ ] I've read and followed the [naming conventions](https://lucide.dev/guide/design/icon-design-guide#naming-conventions)
- [ ] I've named icons by what they are rather than their use case.
- [ ] I've provided meta JSON files in `icons/[iconName].json`.
### Design <!-- ONLY for new icons -->
<!-- All of these requirements must be fulfilled. -->
- [ ] I've read and followed the [icon design guidelines](https://lucide.dev/guide/design/icon-design-guide)
- [ ] I've made sure that the icons look sharp on low DPI displays.
- [ ] I've made sure that the icons look consistent with the icon set in size, optical volume and density.
- [ ] I've made sure that the icons are visually centered.
- [ ] I've correctly optimized all icons to two points of precision.
## Before Submitting <!-- For every PR! -->
<!-- All of these requirements must be fulfilled. -->
- [ ] I've read the [Contribution Guidelines](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md).
- [ ] I've checked if there was an existing PR that solves the same issue.
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/dpi/24/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate cohesion check random
id:generate-cohesion-check-random
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in $(printf "%s\\n" icons/*.svg | shuf | head -n$(awk -F' ' '{print NF}' <<< '${{ steps.changed-files.outputs.all_changed_files }}')); do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate cohesion check squares
id:generate-cohesion-check-squares
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in $(printf "%s\\n" icons/*square*.svg | shuf | head -n$(awk -F' ' '{print NF}' <<< '${{ steps.changed-files.outputs.all_changed_files }}')); do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate 1px stroke-width
id:generate-1px-stroke-width
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/1/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate 2px stroke-width
id:generate-2px-stroke-width
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate 3px stroke-width
id:generate-3px-stroke-width
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/3/&.svg\"/> |"
done | tr '\n' ' ' >> $GITHUB_OUTPUT
echo >> $GITHUB_OUTPUT
echo "$delimiter" >> $GITHUB_OUTPUT
- name:Generate X-rays
id:generate-x-rays
run:|
delimiter="$(openssl rand -hex 8)"
echo "body<<$delimiter" >> $GITHUB_OUTPUT
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
cat "$file" | # get file content
tr '\n' ' ' | # remove line breaks
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
base64 -w 0 | # encode svg
sed "s|.*|<img width=\"400\" title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/$(basename ${file//\.svg/})/&.svg\"/> |"
`Instructions`: You can find the [Figma Guide](/docs/FIGMA_GUIDE.md) and how to set up Figma under `/docs/FIGMA_GUIDE.md`.
#### Submitting Multiple Icons
### Submitting Multiple Icons
If you want submit multiple icons, please separate the icons and group them. That makes reviewing the icons easier and keep the thread clean and scoped.
So don't submit multiple icons in one PR that have noting to do with each other.
@@ -66,20 +59,21 @@ If you are a designer who wants to contribute to Lucide but you don't know what
## Development
You will need minimum version of [Nodejs 16.4+](https://nodejs.org)
For packagemanagement you will need [yarn v1](https://yarnpkg.com/getting-started/install).
For packagemanagement you will need [PNPM](https://pnpm.io/installation).
For flutter package development, you need [Flutter 1.17+](https://docs.flutter.dev/get-started/install).
After cloning the project you need to run:
```sh
yarn# Install dependencies, including the workspace packages
pnpm install# Install dependencies, including the workspace packages
```
### Packages -> PNPM Workspaces
To distribute different packages we use PNPM workspaces. Before you start make sure you are familiar with this concept. The concept of working in workspaces is created by Yarn, they have a well written introduction: [yarn workspaces](https://classic.yarnpkg.com/lang/en/docs/workspaces).
To distribute different packages we use PNPM workspaces. Before you start make sure you are familiar with this concept. The concept of working in workspaces is created by Yarn, they have a well written introduction: [yarn workspaces](https://classic.yarnpkg.com/lang/enhttps://lucide.dev/docs/workspaces).
The configured directory for workspaces is the [packages](./packages) directory, located in the root directory. There you will find all the current packages from lucide.
There are more workspaces defined, see [`pnpm-workspace.yaml`](./pnpm-workspace.yaml).
> Note: One package is not managed by pnpm: **lucide-flutter**, this package is written in Dart and used pub for publishing.
@@ -178,11 +172,11 @@ Includes usefully scripts to automate certain jobs. Big part of the scripts is t
### site
The lucide.dev website using [Nextjs](https://nextjs.org).
The lucide.dev website is using [vitepress](https://vitepress.dev/) to generate the static website. The markdown files are located in the docs directory.
## Documentation
The documentation files are located in the [docs](./docs) directory. All these markdown files will be loaded in the build of the lucide.dev website.
The documentation files are located in the [docs](https://github.com/lucide-icons/lucide/tree/main/docs) directory. All these markdown files will be loaded in the build of the lucide.dev website.
Feel free to write, adjust or add new markdown files to improve our documentation.
Lucide is a community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
Community-run fork of [Feather Icons](https://github.com/feathericons/feather), open for anyone to contribute icons.
It began after growing disaffection with the [Feather Icons](https://github.com/feathericons/feather) project moderation. With over 300+ open issues and over 100+ open PRs, the Feather Icons project has been abandoned. This unfortunately means that hundreds of developers and designers wasted their time contributing to Feather Icons with no chance of PRs being accepted.
@@ -17,16 +17,13 @@ Lucide is trying to expand the icon set as much as possible while staying faithf
### Why choose Lucide over Feather Icons
- Lucide already expanded the icon set by 130+ in less than a year, so more icons to work with.
- More icons to work with: Lucide already has hundreds of icons more than Feather does.
- Official librairies and integrations with popular frameworks and design tools.
- Well maintained code base.
- Active community.
- Active community, regularly growing and improving the set.
## Table of Contents
- [Lucide](#lucide)
- [What is Lucide?](#what-is-lucide)
- [Why choose Lucide over Feather Icons](#why-choose-lucide-over-feather-icons)
- [Table of Contents](#table-of-contents)
- [Usage](#usage)
- [Web](#web)
- [React](#react)
@@ -41,6 +38,8 @@ Lucide is trying to expand the icon set as much as possible while staying faithf
- [Flutter](#flutter)
- [Svelte](#svelte)
- [Solid](#solid)
- [Hyva](#hyva)
- [Eleventy](#eleventy)
- [Contributing](#contributing)
- [Community](#community)
- [License](#license)
@@ -60,9 +59,11 @@ Implementation of the lucide icon library for web applications.
```sh
npm install lucide
```
#or
or
```sh
yarn add lucide
```
@@ -74,9 +75,11 @@ Implementation of the lucide icon library for react applications.
```sh
yarn add lucide-react
```
# or
or
```sh
npm install lucide-react
```
@@ -88,13 +91,15 @@ Implementation of the lucide icon library for React Native applications.
```sh
yarn add lucide-react-native
```
# or
or
```sh
npm install lucide-react-native
```
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/master/packages/lucide-react-native#lucide-react-native).
For more details, see the [documentation](https://github.com/lucide-icons/lucide/tree/main/packages/lucide-react-native#lucide-react-native).
### Vue 2
@@ -102,9 +107,11 @@ Implementation of the lucide icon library for vue applications.
```sh
yarn add lucide-vue
```
# or
or
```sh
npm install lucide-vue
```
@@ -116,9 +123,11 @@ Implementation of the lucide icon library for vue applications.
```sh
yarn add lucide-vue-next
```
# or
or
```sh
npm install lucide-vue-next
```
@@ -128,9 +137,11 @@ For more details, see the [documentation](https://github.com/lucide-icons/lucide
```sh
yarn add lucide-angular
```
# or
or
```sh
npm install lucide-angular
```
@@ -142,9 +153,11 @@ Implementation of the lucide icon library for preact applications.
```sh
yarn add lucide-preact
```
# or
or
```sh
npm install lucide-preact
```
@@ -153,17 +166,19 @@ For more details, see the [documentation](https://github.com/lucide-icons/lucide
For more details, see the [documentation](https://github.com/Siteation/magento2-hyva-icons-lucide/blob/main/README.md).
### Eleventy
Using this plugin, Eleventy projects can incorporate Lucide icons. it makes it simple to use Lucide icons into your themes via shortcodes, improving your website's overall usability and visual appeal.
"description":"Using this plugin, Eleventy projects can incorporate Lucide icons. it makes it simple to use Lucide icons into your themes via shortcodes, improving your website's overall usability and visual appeal.",
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.