Skip to content

Commit 9d8427a

Browse files
contributing tutorials
1 parent 9911f61 commit 9d8427a

File tree

9 files changed

+1671
-0
lines changed

9 files changed

+1671
-0
lines changed

.CONTRIBUTING/.CONTRIBUTING.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ This guide covers how to contribute to the documentation, including serving a lo
2121
- [Adding Images](#adding-images)
2222
- [Image Annotations](#image-annotations)
2323
- [Search Engine Optimization (SEO)](#search-engine-optimization-seo)
24+
- [Contributing Tutorials](#contributing-tutorials)
25+
2426

2527
## Viewing Site Locally
2628

@@ -233,3 +235,30 @@ Here are some resources to help you create good titles and descriptions for SEO:
233235
- [Google's recommendation on good descriptions](https://developers.google.com/search/docs/advanced/appearance/snippet?hl=en)
234236

235237
In general, titles should be between 50 and 60 characters and descriptions should be between 120 and 160 characters.
238+
239+
## Contributing Tutorials
240+
241+
For step-by-step tutorials, we have a specialized workflow and dedicated guides. Start with the [**tutorials overview**](tutorials/README.md) to see all available options, or jump directly to:
242+
243+
### Quick Tutorial Contributing
244+
- **[Quick Guide](tutorials/QUICK_GUIDE.md)** - Essential requirements for experienced contributors
245+
- Focus on working code and clear instructions
246+
- Everything else is optional and can be refined during review
247+
248+
### Detailed Tutorial Guidelines
249+
- **[Style Guide](tutorials/STYLE_GUIDE.md)** - Comprehensive guide with detailed formatting rules
250+
- **[Templates](tutorials/templates/)** - Ready-to-use templates for different tutorial categories:
251+
- Polkadot SDK tutorials
252+
- Smart contracts tutorials
253+
- XCM/Interoperability tutorials
254+
- dApps tutorials
255+
- Governance tutorials
256+
257+
### Tutorial Categories
258+
- **polkadot-sdk/**: Parachains, pallets, runtime development
259+
- **smart-contracts/**: EVM contracts, ink! contracts, demo applications
260+
- **interoperability/**: XCM operations, cross-chain workflows
261+
- **dapps/**: Frontend development, API integrations
262+
- **onchain-governance/**: Proposals, voting, delegation
263+
264+
Tutorials follow a different structure than general documentation and have specific requirements for metadata, file organization, and navigation updates.
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
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

Comments
 (0)