All checks were successful
/ Build and Release Library (push) Successful in 1m17s
Reviewed-on: #2
48 lines
1.2 KiB
Markdown
48 lines
1.2 KiB
Markdown
# gs-slug
|
|
|
|
[GS Open Source](https://garrity.co/oss.html) |
|
|
[License (MIT)](./LICENSE)
|
|
|
|
Scala 3 Slugs. Slugs are URL-safe restricted string identifiers.
|
|
|
|
- [Usage](#usage)
|
|
- [Dependency](#dependency)
|
|
- [Slug Type](#slug-type)
|
|
- [Donate](#donate)
|
|
|
|
## Usage
|
|
|
|
This artifact is available in the Garrity Software Maven repository.
|
|
|
|
```scala
|
|
externalResolvers +=
|
|
"Garrity Software Releases" at "https://maven.garrity.co/gs"
|
|
|
|
val GsSlug: ModuleID =
|
|
"gs" %% "gs-slug-v0" % "0.1.0"
|
|
```
|
|
|
|
## Slug Type
|
|
|
|
`Slug` is the type exposed by this library. It is an extremely small,
|
|
restricted, opaque type (`String`) that adheres to the following regular
|
|
expression:
|
|
|
|
```
|
|
^[a-z0-9]+(?:\-[a-z0-9]+)*$
|
|
```
|
|
|
|
This type is intended for use in the following scenarios:
|
|
|
|
- Restricted ASCII is acceptable.
|
|
- URL safety is desired.
|
|
|
|
Additionally, `Slug` is usually intended to be unique within some _context_,
|
|
where the implementation defines the context. For example, if some organization
|
|
owns a number of repositories, each repository might have a `Slug` which is
|
|
unique within that organization.
|
|
|
|
## Donate
|
|
|
|
Enjoy this project or want to help me achieve my [goals](https://garrity.co)?
|
|
Consider [Donating to Pat on Ko-fi](https://ko-fi.com/gspfm).
|