Files
webawesome/README.md

81 lines
2.6 KiB
Markdown
Raw Normal View History

2020-07-15 17:30:37 -04:00
# Shoelace
A forward-thinking library of web components.
- Works with all frameworks 🧩
- Works with CDNs 🚛
- Fully customizable with CSS 🎨
2020-08-18 17:13:20 -04:00
- Includes an official dark theme 🌛
2020-07-29 08:11:54 -04:00
- Built with accessibility in mind ♿️
2020-07-15 17:30:37 -04:00
- Open source 😸
2023-09-05 12:01:19 -04:00
Built by the folks behind [Font Awesome](https://fontawesome.com/).
2020-07-15 17:30:37 -04:00
---
Documentation: [shoelace.style](https://shoelace.style)
Source: [github.com/shoelace-style/shoelace](https://github.com/shoelace-style/shoelace)
Twitter: [@shoelace_style](https://twitter.com/shoelace_style)
---
## Shoemakers 🥾
2022-01-18 09:23:48 -05:00
Shoemakers, or "Shoelace developers," can use this documentation to learn how to build Shoelace from source. You will need Node >= 14.17 to build and run the project locally.
2020-07-15 17:30:37 -04:00
**You don't need to do any of this to use Shoelace!** This page is for people who want to contribute to the project, tinker with the source, or create a custom build of Shoelace.
If that's not what you're trying to do, the [documentation website](https://shoelace.style) is where you want to be.
### What are you using to build Shoelace?
2021-03-06 12:01:39 -05:00
Components are built with [LitElement](https://lit-element.polymer-project.org/), a custom elements base class that provides an intuitive API and reactive data binding. The build is a custom script with bundling powered by [esbuild](https://esbuild.github.io/).
2020-07-15 17:30:37 -04:00
### Forking the Repo
Start by [forking the repo](https://github.com/shoelace-style/shoelace/fork) on GitHub, then clone it locally and install dependencies.
2020-07-24 14:15:32 -04:00
```bash
2020-07-15 17:30:37 -04:00
git clone https://github.com/YOUR_GITHUB_USERNAME/shoelace
cd shoelace
npm install
```
### Developing
Once you've cloned the repo, run the following command.
2020-07-24 14:15:32 -04:00
```bash
2021-02-26 09:09:13 -05:00
npm start
2020-07-15 17:30:37 -04:00
```
2023-06-06 08:22:18 -04:00
This will spin up the dev server. After the initial build, a browser will open automatically. There is currently no hot module reloading (HMR), as browser's don't provide a way to reregister custom elements, but most changes to the source will reload the browser automatically.
2020-07-15 17:30:37 -04:00
### Building
To generate a production build, run the following command.
2020-07-24 14:15:32 -04:00
```bash
2020-07-15 17:30:37 -04:00
npm run build
```
2021-04-07 17:03:24 -04:00
### Creating New Components
To scaffold a new component, run the following command, replacing `sl-tag-name` with the desired tag name.
```bash
npm run create sl-tag-name
```
This will generate a source file, a stylesheet, and a docs page for you. When you start the dev server, you'll find the new component in the "Components" section of the sidebar.
2020-07-15 17:30:37 -04:00
### Contributing
Shoelace is an open source project and contributions are encouraged! If you're interesting in contributing, please review the [contribution guidelines](CONTRIBUTING.md) first.
## License
2023-09-05 12:01:19 -04:00
Shoelace is available under the terms of the MIT license.