strawberry-graphql / strawberry.rocks Goto Github PK
View Code? Open in Web Editor NEWWebsite for Strawberry GraphQL
Home Page: https://strawberry.rocks
License: MIT License
Website for Strawberry GraphQL
Home Page: https://strawberry.rocks
License: MIT License
There are testing/fuzzing tools named hypothesis-graphql (and the higher level schemathesis) available.
By fuzzing through the schema they can speed up testing and find corner cases.
It would be nice if there would some documentation how to integrate them (they work on asgi/stringified graphl schema)
https://tailwindcss.com/docs/installation
We should have a top level "sidebar":
I was thinking this day to move away from Gatsby, I love the idea of statically building the site, but as we will introduce the following features:
the build would take a lot of time, unless we start caching thigns heavily, but even now the generation of the site seem to take a bit of time. As we have docs previews from the main repo, maybe switching from to a SSR approach might be better :)
The workshop page from PyCon is really good and also really hard to find. It would be great if there were links to this page and to the video as well somewhere easy to find. Or at least integrate that info into the docs.
The "Share" button on https://play.strawberry.rocks/ is currently broken:
There's two network requests and both fail:
OPTIONS: response is a 500.
curl 'https://api.strawberry.rocks/graphql' -X OPTIONS -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0' -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Access-Control-Request-Method: POST' -H 'Access-Control-Request-Headers: content-type' -H 'Referer: https://play.strawberry.rocks/' -H 'Origin: https://play.strawberry.rocks' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-site'
POST: doesn't seem to run, likely because the OPTIONs fails.
curl 'https://api.strawberry.rocks/graphql' -X POST -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0' -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'content-type: application/json' -H 'Content-Length: 463' -H 'Origin: https://play.strawberry.rocks' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Referer: https://play.strawberry.rocks/' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-site'
The playground is awesome! 🍓
Add table of contents to each docs page.
I think we should take inspiration from https://docusaurus.io/docs
Private fields not private in Python 3.12. I reproduced with the following code:
import strawberry
@strawberry.type
class User:
name: str
age: int
secret: str = strawberry.Private[str]
@strawberry.type
class Query:
@strawberry.field
def user(self) -> User:
return User(name="Patrick", age=100, secret="can't tell")
schema = strawberry.Schema(query=Query)
and I see the following at http://0.0.0.0:8000/graphql
:
Different versions of strawberry might need different documentation. It would be great to have strawberry documentation for backwards compatibility. Example issue:
strawberry-graphql/strawberry#3444 (comment)
As noted in the readme, this is currently broken after the switch to next.js
Right now we use fetchTableOfContentsPaths
but that doesn't fetch the nested pages, we should fetch them so we statically render also pages like the extensions pages
I am listing this issue to ask for a little alteration on the README.md
file to explain how the translations could be added here.
Also, I do not see a place where it is possible to see the progress of the implementation of the translation support feature.
@patrick91 if you have time, do you mind?
I'm trying to follow the documentation, but when I run the code from Testing
section I get the error GraphQLError("Unknown argument 'title' on field 'Query.books'.", ...
.
It's said that we should use the schema from the Getting Started tutorial. The code is:
import typing
import strawberry
@strawberry.type
class Book:
title: str
author: str
def get_books():
return [
Book(
title="The Great Gatsby",
author="F. Scott Fitzgerald",
),
]
@strawberry.type
class Query:
books: typing.List[Book] = strawberry.field(resolver=get_books)
schema = strawberry.Schema(query=Query)
I think we have to either add title
parameter to get_books
or remove title
parameter from TestQuery
.
Ready to send a PR if it's needed
It would be nice to have our strawbwerry-django docs (https://strawberry-graphql.github.io/strawberry-django/) inside a subpath of the main docs
Hi there,
It seems that this official integration section for django is not right (or has outdated information)?
So in this repo https://github.com/strawberry-graphql/strawberry-graphql-django/blob/97cdea29867d33b2bfd75b67a4310dd6cc147ddc/examples/django/app/schema.py#L5
you can see we are importing from strawberry_django
but in the official docs we are importing from strawberry.django
Is this intentional? or is the website outdated?
I'm using SSR with Astro, but the content is pretty much static, we just need a way to update the content when pushing on the main Strawberry repo.
I have only noticed this on the pydantic page https://strawberry.rocks/docs/integrations/pydantic
It is probably the only page where the inline code is one string that is long enough
It looks especially bad in dark mode
Proposed solution:
I think a break-words
in the inline code class here should fix it but wanted to check in before doing the PR in case anyone has a better idea
There probably are other ways like text-ellipsis
or text-clip
but I would say we want to display the whole string
We had this kinda working for the previous setup. We can improve this now since we have SSR, we can allow PRs with a specific label (ie. preview-docs) or by core devs to be previewed using a link like this:
https://strawberry.rocks/docs/pr/123/general/schema-basics
where 123 is the id of the PR. We could use a subdomain too, but I think it is easier to use one :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.