-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Add BLOG_STYLE_GUIDE.md #2032
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: source
Are you sure you want to change the base?
Add BLOG_STYLE_GUIDE.md #2032
Changes from 3 commits
bc4ff38
092ed7e
a9c0a96
fe1a9ce
7f250d0
db4cd92
5c85aca
052acf7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# BLOG_STYLE_GUIDE.md | ||
|
||
## GraphQL Blog Content Style Guide | ||
|
||
Welcome to the GraphQL Blog Style Guide! This document outlines best practices and standards for writing engaging, informative, and technically accurate content for our audience. | ||
|
||
--- | ||
|
||
## ✍️ General Writing Principles | ||
|
||
- **Audience First**: Assume the reader has a technical background (developers, engineers) but may be new to GraphQL concepts. | ||
- **Clarity is Key**: Prioritize clear, concise explanations over jargon. Break down complex ideas with examples. | ||
- **Vendor neutral**: The GraphQL Blog is about GraphQL as a technology. Vendor specific content and personal promotion doesn't belong in the GraphQL blog. | ||
|
||
## ℹ️ Content | ||
|
||
The GraphQL blog welcomes contributions. Anyone may submit a blog post idea by [opening an issue](https://github.com/graphql/graphql.github.io/issues/new) or a draft by [opening a pull request](https://github.com/graphql/graphql.github.io/pulls). | ||
|
||
Maintainers are responsible for approving and merging the pull requests. | ||
martinbonnin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Example content: | ||
|
||
- Announcements: events, new versions of [GraphQL tools or specifications](https://github.com/orgs/graphql/repositories), updates about the GraphQL foundation, collaborations, etc... | ||
- Best practices: share learnings and make the best of GraphQL. | ||
- Case studies: explain how GraphQL helped solve a problem. | ||
- Technical updates: broadcast an update about discussions happening in a working group. | ||
- etc... | ||
|
||
This list is non-exhaustive. If there is something you would like to see on the GraphQL blog, [open an issue for discussion](https://github.com/graphql/graphql.github.io/issues/new). | ||
|
||
--- | ||
|
||
## 📚 Structure | ||
|
||
### Title | ||
|
||
- Clear, concise, and descriptive. | ||
- Avoid clickbait. Example: | ||
✅ "Understanding GraphQL Subscriptions" | ||
❌ "This One GraphQL Trick Will Blow Your Mind" | ||
|
||
### Introduction | ||
|
||
- Hook the reader in 1–2 sentences. | ||
- Set clear expectations about what the post covers and who it's for. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This sentence might be a better way of addressing the "audience first" bullet from the top. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I shuffled things a bit here |
||
|
||
### Body | ||
|
||
- Use clear headers (`##`, `###`) to organize sections. | ||
- Limit paragraphs to 3–5 sentences. | ||
- Use bullet points or numbered lists for step-by-step content. | ||
- Include **code samples** where relevant (see Code Style below). | ||
- Use callouts for **tips**, **warnings**, or **best practices**. | ||
|
||
### Conclusion | ||
|
||
- Summarize key takeaways. | ||
- Link to related resources, docs, or posts. | ||
- Include a call to action if applicable (e.g., "Try it out", "Join the discussion"). | ||
|
||
--- | ||
|
||
## 🧑💻 Code Style | ||
|
||
- Use fenced code blocks with language identifiers: | ||
<pre> | ||
\`\`\`graphql | ||
query GetUser { | ||
user(id: "1") { | ||
name | ||
} | ||
} | ||
\`\`\` | ||
</pre> | ||
|
||
- Avoid overly long code samples—focus on what supports the topic. | ||
- Explain what the code is doing either before or after the block. | ||
- Stick to consistent naming conventions (e.g., `getUser`, `createPostMutation`). | ||
martinbonnin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
--- | ||
|
||
## ✅ Do | ||
|
||
- Cite sources if you reference third-party tools or documentation. | ||
- Avoid assumptions: don’t assume the reader knows your stack. | ||
- Use inclusive language: prefer "you/the user" over gendered or assumptive terms. | ||
- Use present tense. | ||
|
||
## ❌ Don't | ||
|
||
- Overuse of metaphors. Use them sparingly to aid understanding. | ||
- Outdated examples or deprecated syntax. | ||
- Avoid passive voice when possible. | ||
- Avoid future tense. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The title makes this read as: "Don't... avoid future tense" Should rework this section a little. Or prefix every bullet with |
||
|
||
--- | ||
|
||
Thank you for contributing to the GraphQL Blog! 🎉 |
Uh oh!
There was an error while loading. Please reload this page.