|
| 1 | +# Contributing Tutorials - Quick Guide |
| 2 | + |
| 3 | +Fast-track guide for experienced contributors. For detailed explanations, see [STYLE_GUIDE.md](STYLE_GUIDE.md). |
| 4 | + |
| 5 | +## Essential Requirements |
| 6 | + |
| 7 | +### 1. Metadata (Required) |
| 8 | +```yaml |
| 9 | +--- |
| 10 | +title: Tutorial Title (max 45 chars) |
| 11 | +description: Description 120-160 chars |
| 12 | +tutorial_badge: Beginner | Intermediate | Advanced |
| 13 | +categories: Category1, Category2 |
| 14 | +--- |
| 15 | +``` |
| 16 | + |
| 17 | +### 2. File Structure (Required) |
| 18 | +``` |
| 19 | +tutorials/[category]/[subcategory]/[tutorial-name].md |
| 20 | +images/tutorials/[category]/[subcategory]/[tutorial-name]/ |
| 21 | +.snippets/code/tutorials/[category]/[subcategory]/[tutorial-name]/ |
| 22 | +``` |
| 23 | + |
| 24 | +### 3. Navigation Update (Critical) |
| 25 | +**Must update `.nav.yml` files** or your tutorial won't appear: |
| 26 | +```yaml |
| 27 | +# In appropriate .nav.yml file |
| 28 | +- 'Display Title': tutorial-filename.md |
| 29 | +``` |
| 30 | +
|
| 31 | +### 4. Working Code & Tests (Required) |
| 32 | +- All code examples must be tested and functional |
| 33 | +- **Always specify dependency versions** (e.g., `npm install [email protected]`) |
| 34 | +- Include verification steps |
| 35 | +- Test on clean environment before submitting |
| 36 | + |
| 37 | +## Tutorial Categories |
| 38 | + |
| 39 | +- **polkadot-sdk/**: Parachains, pallets, runtime development |
| 40 | +- **smart-contracts/**: EVM, ink!, demo applications |
| 41 | +- **interoperability/**: XCM operations, channel management |
| 42 | +- **dapps/**: Frontend integration, API usage |
| 43 | +- **onchain-governance/**: Proposals, OpenGov operations |
| 44 | + |
| 45 | +## Basic Template |
| 46 | + |
| 47 | +```markdown |
| 48 | +# Tutorial Title |
| 49 | +
|
| 50 | +## Introduction |
| 51 | +[Brief explanation of what users will learn/build] |
| 52 | +
|
| 53 | +## Prerequisites |
| 54 | +- [Required knowledge/tools] |
| 55 | +
|
| 56 | +## Step 1: [Action] |
| 57 | +[Instructions with commands] |
| 58 | +
|
| 59 | +## Verification |
| 60 | +[How to confirm it worked] |
| 61 | +
|
| 62 | +## Where to Go Next |
| 63 | +[Related tutorials] |
| 64 | +``` |
| 65 | + |
| 66 | +## Image Requirements |
| 67 | + |
| 68 | +- **Format**: `.webp` only |
| 69 | +- **Location**: `images/tutorials/[path]/` |
| 70 | +- **Naming**: `tutorial-name-01.webp`, `tutorial-name-02.webp`, etc. |
| 71 | +- **Dimensions**: |
| 72 | + - Desktop screenshots: 1512px width, variable height |
| 73 | + - Browser extensions: 400x600px |
| 74 | +- **Alt text**: Always required |
| 75 | + |
| 76 | +## Submission Checklist |
| 77 | + |
| 78 | +- [ ] Metadata complete |
| 79 | +- [ ] Working code tested |
| 80 | +- [ ] Images in `.webp` format |
| 81 | +- [ ] Navigation updated (`.nav.yml`) |
| 82 | +- [ ] Files follow naming conventions |
| 83 | +- [ ] Verification steps included |
| 84 | + |
| 85 | +## Quick Links |
| 86 | + |
| 87 | +- **Templates**: [templates/](templates/) folder |
| 88 | +- **Style Guide**: [STYLE_GUIDE.md](STYLE_GUIDE.md) |
| 89 | +- **Examples**: Browse existing tutorials for reference |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +Need help? Check the [detailed style guide](STYLE_GUIDE.md) or existing tutorials for examples. |
0 commit comments