|
| 1 | +# BLOG_STYLE_GUIDE.md |
| 2 | + |
| 3 | +## GraphQL Blog Content Style Guide |
| 4 | + |
| 5 | +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. |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## ✍️ General Writing Principles |
| 10 | + |
| 11 | +- **Audience First**: Think about who the audience of your post is. |
| 12 | +- **Clarity is Key**: Prioritize clear, concise explanations over jargon. Break down complex ideas with examples. |
| 13 | +- **Vendor neutral**: The GraphQL Blog is about GraphQL as a technology. Vendor specific content and personal promotion doesn't belong in the GraphQL blog. |
| 14 | + |
| 15 | +## ℹ️ Content |
| 16 | + |
| 17 | +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). |
| 18 | + |
| 19 | +Maintainers are responsible for approving and merging the pull requests. |
| 20 | +When merging a blog post, they should also schedule an announcement on our social channels (at time of writing this is managed via [Typefully](https://typefully.com)). |
| 21 | + |
| 22 | +Example content: |
| 23 | + |
| 24 | +- Announcements: events, new versions of [GraphQL tools or specifications](https://github.com/orgs/graphql/repositories), updates about the GraphQL foundation, collaborations, etc... |
| 25 | +- Best practices: share learnings and make the best of GraphQL. |
| 26 | +- Case studies: explain how GraphQL helped solve a problem. |
| 27 | +- Technical updates: broadcast an update about discussions happening in a working group. |
| 28 | +- etc... |
| 29 | + |
| 30 | +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). |
| 31 | + |
| 32 | +--- |
| 33 | + |
| 34 | +## 📚 Structure |
| 35 | + |
| 36 | +### Title |
| 37 | + |
| 38 | +- Clear, concise, and descriptive. |
| 39 | +- Avoid clickbait. Example: |
| 40 | + ✅ "Understanding GraphQL Subscriptions" |
| 41 | + ❌ "This One GraphQL Trick Will Blow Your Mind" |
| 42 | + |
| 43 | +### Introduction |
| 44 | + |
| 45 | +- Hook the reader in 1–2 sentences. |
| 46 | +- Set clear expectations about what the post covers and who it's for: |
| 47 | + - open source users of a given project (release notes, updates,...) are probably already familiar with the tool. |
| 48 | + - technical users (best practices, working group updates) have a technical background but may be new to GraphQL concepts. |
| 49 | + - larger audience (case studies, events, grants, reports) may not necessarily have a technical background but still be interested in latest GraphQL content. |
| 50 | + |
| 51 | +### Body |
| 52 | + |
| 53 | +- Use clear headers (`##`, `###`) to organize sections. |
| 54 | +- Limit paragraphs to 3–5 sentences. |
| 55 | +- Use bullet points or numbered lists for step-by-step content. |
| 56 | +- Include **code samples** where relevant. |
| 57 | +- Use callouts for **tips**, **warnings**, or **best practices**. |
| 58 | + |
| 59 | +### Conclusion |
| 60 | + |
| 61 | +- Summarize key takeaways. |
| 62 | +- Link to related resources, docs, or posts. |
| 63 | +- Include a call to action if applicable (e.g., "Try it out", "Join the discussion"). |
| 64 | + |
| 65 | +--- |
| 66 | + |
| 67 | +## ✅ Do |
| 68 | + |
| 69 | +- Cite sources if you reference third-party tools or documentation. |
| 70 | +- Use inclusive language: prefer "you/the user" over gendered or assumptive terms. |
| 71 | +- Use present tense. |
| 72 | + |
| 73 | +## ❌ Don't |
| 74 | + |
| 75 | +- Don’t assume the reader knows your stack. |
| 76 | +- Don't overuse metaphors; use them sparingly to aid understanding. |
| 77 | +- Don't overuse passive voice. Active voice often brings more clarity. |
| 78 | +- Don't overuse future tense. The present tense often brings more clarity. |
| 79 | + |
| 80 | +--- |
| 81 | + |
| 82 | +Thank you for contributing to the GraphQL Blog! 🎉 |
0 commit comments