Initial lookbook implementation
Pinterest-style visual bookmarking app with: - URL metadata extraction (OG/Twitter meta, oEmbed fallback) - Image caching in Postgres with 480px thumbnails - Multi-tag filtering with Ctrl/Cmd for OR mode - Fuzzy tag suggestions and inline tag editing - Browser console auth() with first-use password setup - Brutalist UI with Commit Mono font and Pico CSS - Light/dark mode via browser preference
This commit is contained in:
commit
fc625fb9cf
486 changed files with 195373 additions and 0 deletions
85
vendor/github.com/mfridman/interpolate/README.md
generated
vendored
Normal file
85
vendor/github.com/mfridman/interpolate/README.md
generated
vendored
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
# Interpolate
|
||||
|
||||
[](https://github.com/mfridman/interpolate/actions/workflows/ci.yaml)
|
||||
[](https://pkg.go.dev/github.com/mfridman/interpolate)
|
||||
[](https://goreportcard.com/report/github.com/mfridman/interpolate)
|
||||
|
||||
A Go library for parameter expansion (like `${NAME}` or `$NAME`) in strings from environment
|
||||
variables. An implementation of [POSIX Parameter
|
||||
Expansion](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02),
|
||||
plus some other basic operations that you'd expect in a shell scripting environment [like
|
||||
bash](https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html).
|
||||
|
||||
## Installation
|
||||
|
||||
```
|
||||
go get github.com/mfridman/interpolate@latest
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/mfridman/interpolate"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func main() {
|
||||
env := interpolate.NewSliceEnv([]string{
|
||||
"NAME=James",
|
||||
})
|
||||
|
||||
output, _ := interpolate.Interpolate(env, "Hello... ${NAME} welcome to the ${ANOTHER_VAR:-🏖}")
|
||||
|
||||
fmt.Println(output)
|
||||
// Output: Hello... James welcome to the 🏖
|
||||
}
|
||||
```
|
||||
|
||||
## Supported Expansions
|
||||
|
||||
- `${parameter}` or `$parameter`
|
||||
|
||||
- **Use value.** If parameter is set, then it shall be substituted; otherwise, it will be blank
|
||||
|
||||
- `${parameter:-[word]}`
|
||||
|
||||
- **Use default values.** If parameter is unset or null, the expansion of word (or an empty string
|
||||
if word is omitted) shall be substituted; otherwise, the value of parameter shall be
|
||||
substituted.
|
||||
|
||||
- `${parameter-[word]}`
|
||||
|
||||
- **Use default values when not set.** If parameter is unset, the expansion of word (or an empty
|
||||
string if word is omitted) shall be substituted; otherwise, the value of parameter shall be
|
||||
substituted.
|
||||
|
||||
- `${parameter:[offset]}`
|
||||
|
||||
- **Use the substring of parameter after offset.** A negative offset must be separated from the
|
||||
colon with a space, and will select from the end of the string. If the value is out of bounds,
|
||||
an empty string will be substituted.
|
||||
|
||||
- `${parameter:[offset]:[length]}`
|
||||
|
||||
- **Use the substring of parameter after offset of given length.** A negative offset must be
|
||||
separated from the colon with a space, and will select from the end of the string. If the offset
|
||||
is out of bounds, an empty string will be substituted. If the length is greater than the length
|
||||
then the entire string will be returned.
|
||||
|
||||
- `${parameter:?[word]}`
|
||||
- **Indicate Error if Null or Unset.** If parameter is unset or null, the expansion of word (or a
|
||||
message indicating it is unset if word is omitted) shall be returned as an error.
|
||||
|
||||
## Prior work
|
||||
|
||||
This repository is a fork of [buildkite/interpolate](https://github.com/buildkite/interpolate). I'd
|
||||
like to thank the authors of that library for their work. I've forked it to make some changes that I
|
||||
needed for my own use cases, and to make it easier to maintain. I've also added some tests and
|
||||
documentation.
|
||||
|
||||
## License
|
||||
|
||||
Licensed under MIT license, in `LICENSE`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue