this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Reformat readme to kick GHA (#580)

authored by

Jaz and committed by
GitHub
c8787dd8 aabe0b09

+26 -23
+15 -21
README.md
··· 1 - 2 1 ![photo](https://static.bnewbold.net/tmp/indigo_serac.jpeg) 3 2 4 - indigo: atproto libraries and services in golang 5 - ================================================ 3 + # indigo: atproto libraries and services in golang 6 4 7 5 Some Bluesky software is developed in Typescript, and lives in the [bluesky-social/atproto](https://github.com/bluesky-social/atproto) repository. Some is developed in Go, and lives here. 8 6 ··· 10 8 11 9 **Go Services:** 12 10 13 - * **bigsky** ([README](./cmd/bigsky/README.md)): "Big Graph Service" (BGS) reference implementation, running at `bsky.network` 14 - * **palomar** ([README](./cmd/palomar/README.md)): fulltext search service for <https://bsky.app> 11 + - **bigsky** ([README](./cmd/bigsky/README.md)): "Big Graph Service" (BGS) reference implementation, running at `bsky.network` 12 + - **palomar** ([README](./cmd/palomar/README.md)): fulltext search service for <https://bsky.app> 15 13 16 14 **Go Packages:** 17 15 18 - > ⚠️ All the packages in this repository are under active development. Features and software interfaces have not stabilized and may break or be removed. 16 + > ⚠️ All the packages in this repository are under active development. Features and software interfaces have not stabilized and may break or be removed. 19 17 20 - | Package | Docs | 21 - | -------- | ---- | 22 - | `api/atproto`: generated types for `com.atproto.*` Lexicons | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/api/atproto)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/api/atproto) | 23 - | `api/bsky`: generated types for `app.bsky.*` Lexicons | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/api/bsky)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/api/bsky) | 24 - | `atproto/crypto`: crytographic signing and key serialization | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/atproto/crypto)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/atproto/crypto) | 25 - | `atproto/identity`: DID and handle resolution | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/atproto/identity)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/atproto/identity) | 26 - | `atproto/syntax`: string types and parsers for identifiers | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/atproto/syntax)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/atproto/syntax) | 27 - | `mst`: Merkle Search Tree implementation | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/mst)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/mst) | 28 - | `repo`: account data storage | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/repo)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/repo) | 29 - | `xrpc`: HTTP API client | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/xrpc)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/xrpc) | 18 + | Package | Docs | 19 + | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 20 + | `api/atproto`: generated types for `com.atproto.*` Lexicons | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/api/atproto)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/api/atproto) | 21 + | `api/bsky`: generated types for `app.bsky.*` Lexicons | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/api/bsky)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/api/bsky) | 22 + | `atproto/crypto`: crytographic signing and key serialization | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/atproto/crypto)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/atproto/crypto) | 23 + | `atproto/identity`: DID and handle resolution | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/atproto/identity)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/atproto/identity) | 24 + | `atproto/syntax`: string types and parsers for identifiers | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/atproto/syntax)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/atproto/syntax) | 25 + | `mst`: Merkle Search Tree implementation | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/mst)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/mst) | 26 + | `repo`: account data storage | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/repo)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/repo) | 27 + | `xrpc`: HTTP API client | [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/bluesky-social/indigo/xrpc)](https://pkg.go.dev/mod/github.com/bluesky-social/indigo/xrpc) | 30 28 31 29 The TypeScript reference implementation, including PDS and bsky AppView services, is at [bluesky-social/atproto](https://github.com/bluesky-social/atproto). Source code for the Bluesky Social client app (for web and mobile) can be found at [bluesky-social/social-app](https://github.com/bluesky-social/social-app). 32 - 33 30 34 31 ## Development Quickstart 35 32 ··· 47 44 go run ./cmd/bigsky 48 45 49 46 The [HACKING](./HACKING.md) file has a list of commands and packages in this repository and some other development tips. 50 - 51 47 52 48 ## What is atproto? 53 49 54 - *not to be confused with the [AT command set](https://en.wikipedia.org/wiki/Hayes_command_set) or [Adenosine triphosphate](https://en.wikipedia.org/wiki/Adenosine_triphosphate)* 50 + _not to be confused with the [AT command set](https://en.wikipedia.org/wiki/Hayes_command_set) or [Adenosine triphosphate](https://en.wikipedia.org/wiki/Adenosine_triphosphate)_ 55 51 56 52 The Authenticated Transfer Protocol ("ATP" or "atproto") is a decentralized social media protocol, developed by [Bluesky PBC](https://bsky.social). Learn more at: 57 53 ··· 61 57 - [Blogpost on self-authenticating data structures](https://bsky.social/about/blog/3-6-2022-a-self-authenticating-social-protocol) 62 58 63 59 The Bluesky Social application encompasses a set of schemas and APIs built in the overall AT Protocol framework. The namespace for these "Lexicons" is `app.bsky.*`. 64 - 65 60 66 61 ## Contributions 67 62 ··· 88 83 - Introduce new unnecessary dependencies 89 84 90 85 Remember, we serve a wide community of users. Our day-to-day involves us constantly asking "which top priority is our top priority." If you submit well-written PRs that solve problems concisely, that's an awesome contribution. Otherwise, as much as we'd love to accept your ideas and contributions, we really don't have the bandwidth. 91 - 92 86 93 87 ## Are you a developer interested in building on atproto? 94 88
+6 -2
search/parse_query.go
··· 21 21 return r == ' ' && !quoted 22 22 }) 23 23 24 - keep := make([]string, len(parts)) 24 + keep := make([]string, 0, len(parts)) 25 25 for _, p := range parts { 26 26 p = strings.Trim(p, "\"") 27 27 ··· 60 60 out := "" 61 61 for _, p := range keep { 62 62 if strings.ContainsRune(p, ' ') { 63 - out += fmt.Sprintf(" \"%s\"", p) 63 + if out == "" { 64 + out = fmt.Sprintf(`"%s"`, p) 65 + } else { 66 + out += " " + fmt.Sprintf(`"%s"`, p) 67 + } 64 68 } else { 65 69 if out == "" { 66 70 out = p
+5
search/parse_query_test.go
··· 45 45 q, f = ParseQuery(ctx, &dir, p4) 46 46 assert.Equal("*", q) 47 47 assert.Equal(1, len(f)) 48 + 49 + p5 := `from:known.example.com "multi word phrase" coolio blorg` 50 + q, f = ParseQuery(ctx, &dir, p5) 51 + assert.Equal(`"multi word phrase" coolio blorg`, q) 52 + assert.Equal(1, len(f)) 48 53 }