From 9804d42e2fcf94fedd0c2d60dbc67711637dc5d5 Mon Sep 17 00:00:00 2001 From: Ben Kraft Date: Fri, 10 Sep 2021 17:33:01 -0700 Subject: [PATCH] Make README logo work in dark mode (#87) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary: Dark mode is, they say, the new thing, and the logo doesn't work super well with it, because it's black on dark grey. This is surprisingly hard to fix. There are a few options: - make the logo colored; sorry, but I like black - add a white border to the logo; this is what Apollo does but I think it's pretty ugly in dark mode - add svg with media queries; this works well but only if the github dark mode setting matches the browser(/OS) dark mode setting, since that's what the media queries look at I opted for option 3. This required converting the text in the SVG to paths, since it really matters that you have the exact same font. (I tested on Android Firefox, which empirically doesn't have the same fonts I have on desktop.) Fixes #17. Issue: https://github.com/Khan/genqlient/issues/17 ## Test plan: tested that it looks good on both mobile firefox in dark mode, and desktop firefox+chrome in light mode. Author: benjaminjkraft Reviewers: dangoor, dbraley, somewhatabstract, dnerdy, kevinbarabash Required Reviewers: Approved By: dangoor, dbraley, somewhatabstract Checks: ✅ Test (1.17), ✅ Test (1.16), ✅ Test (1.15), ✅ Test (1.14), ✅ Lint Pull Request URL: https://github.com/Khan/genqlient/pull/87 --- Makefile | 3 - README.md | 2 +- docs/images/README.md | 5 + docs/images/genqlient-orig.svg | 99 +++++++++++++++++++ docs/images/genqlient.png | Bin 23859 -> 0 bytes docs/images/genqlient.svg | 172 ++++++++++++++++++++++----------- 6 files changed, 221 insertions(+), 60 deletions(-) create mode 100644 docs/images/README.md create mode 100644 docs/images/genqlient-orig.svg delete mode 100644 docs/images/genqlient.png diff --git a/Makefile b/Makefile index 2444887..670efd0 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,4 @@ check: lint go test -cover ./... go mod tidy -docs/images/genqlient.png: docs/images/genqlient.svg - convert -density 600 -background transparent "$<" "$@" - .PHONY: example diff --git a/README.md b/README.md index b5392ea..68f43a6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![generated graphql client ⇒ genqlient](docs/images/genqlient.png) +generated graphql client ⇒ genqlient # genqlient: a truly type-safe Go GraphQL client diff --git a/docs/images/README.md b/docs/images/README.md new file mode 100644 index 0000000..9944cdc --- /dev/null +++ b/docs/images/README.md @@ -0,0 +1,5 @@ +# genqlient logo + +`genqlient-orig.svg` is the original logo. To create `genqlient.svg`, I: +- converted all text to paths +- added media queries to make the paths white if the user is in dark mode (see issue #17) diff --git a/docs/images/genqlient-orig.svg b/docs/images/genqlient-orig.svg new file mode 100644 index 0000000..4b3f0c6 --- /dev/null +++ b/docs/images/genqlient-orig.svg @@ -0,0 +1,99 @@ + + + + + + + image/svg+xml + + + + + + + GEN + ERATED + GRAPH + QL + CL + IENT + + diff --git a/docs/images/genqlient.png b/docs/images/genqlient.png deleted file mode 100644 index cd9960e8ee1b333046ead794ad7cca14d90b163c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23859 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 + viewBox="0 0 67.524338 27.714683" + version="1.1" + id="svg8"> + - + + GEN - + + + + + ERATED - + + + + + + + + GRAPH - + + + + + + + QL - + + + + CL - + + + + IENT + d="m 85.519763,77.74422 h 4.733561 v 1.178222 h -1.607137 v 4.614706 h 1.607137 V 84.71537 H 85.519763 V 83.537148 H 87.1269 v -4.614706 h -1.607137 z" /> + + + +