shoelace/README.md

87 wiersze
3.5 KiB
Markdown
Czysty Zwykły widok Historia

2020-07-15 21:30:37 +00:00
# Shoelace
A forward-thinking library of web components.
- Works with all frameworks 🧩
- Works with CDNs 🚛
- Fully customizable with CSS 🎨
2020-08-18 21:13:20 +00:00
- Includes an official dark theme 🌛
2020-07-29 12:11:54 +00:00
- Built with accessibility in mind ♿️
2020-07-15 21:30:37 +00:00
- Open source 😸
Designed in New Hampshire by [Cory LaViska](https://twitter.com/claviska).
---
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 🥾
2020-10-04 12:38:42 +00:00
Shoemakers, or "Shoelace developers," can use this documentation to learn how to build Shoelace from source. You will need Node >= 12.10.0 to build and run the project locally.
2020-07-15 21:30:37 +00: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 17:01:39 +00: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 21:30:37 +00: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 18:15:32 +00:00
```bash
2020-07-15 21:30:37 +00: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 18:15:32 +00:00
```bash
2021-02-26 14:09:13 +00:00
npm start
2020-07-15 21:30:37 +00:00
```
2021-02-26 14:09:13 +00:00
This will spin up the Shoelace dev server. After the initial build, a browser will open automatically.
2020-07-15 21:30:37 +00:00
2021-02-26 14:09:13 +00:00
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. The exception is component metadata used by the docs, which is generated by TypeDoc. This tool takes a few seconds to run so, to prevent long reload delays, it only runs once at startup.
2020-07-15 21:30:37 +00:00
2021-02-26 14:09:13 +00:00
The documentation is powered by Docsify, which uses raw markdown files to generate pages. As such, no static files are built for the docs.
2020-07-15 21:30:37 +00:00
### Building
To generate a production build, run the following command.
2020-07-24 18:15:32 +00:00
```bash
2020-07-15 21:30:37 +00:00
npm run build
```
### 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
Shoelace is designed in New Hampshire by [Cory LaViska](https://twitter.com/claviska). Its available under the terms of the MIT license.
Designing, developing, and supporting this library requires a lot of time, effort, and skill. Id like to keep it open source so everyone can use it, but that doesnt provide me with any income.
**Therefore, if youre using my software to make a profit,** I respectfully ask that you help [fund its development](https://github.com/sponsors/claviska) by becoming a sponsor. There are multiple tiers to choose from with benefits at every level, including prioritized support, bug fixes, feature requests, and advertising.
👇 Your support is very much appreciated! 👇
- [Become a sponsor](https://github.com/sponsors/claviska)
- [Star on GitHub](https://github.com/shoelace-style/shoelace/stargazers)
- [Follow on Twitter](https://twitter.com/shoelace_style)
Whether you're building Shoelace or building something _with_ Shoelace — have fun creating! 🥾