GitHub Flavored Markdown (GFM)
GitHub Flavored Markdown (GFM) सॉफ्टवेयर विकास और सहयोग के लिए विशेष रूप से डिज़ाइन की गई अतिरिक्त सुविधाओं के साथ GitHub का संवर्धित Markdown संस्करण है। यह गाइड GitHub पर उपलब्ध सभी विशेष सिंटैक्स एक्सटेंशन को कवर करता है।
GitHub Flavored Markdown (GFM) क्या है?
GitHub Flavored Markdown बुनियादी Markdown सिंटैक्स को उन सुविधाओं के साथ बढ़ाता है जो इसे निम्नलिखित के लिए अधिक उपयोगी बनाते हैं:
- दस्तावेज़ीकरण (READMEs, wikis)
- Issue ट्रैकिंग
- Pull requests
- कोड समीक्षा
- प्रोजेक्ट प्रबंधन
मुख्य GFM सुविधाएँ
1. Fenced Code Blocks
GFM भाषा-विशिष्ट सिंटैक्स हाइलाइटिंग के साथ fenced code blocks का समर्थन करता है:
```javascript
function calculateSum(numbers) {
return numbers.reduce((sum, num) => sum + num, 0);
}
const result = calculateSum([1, 2, 3, 4, 5]);
console.log(result); // Output: 15
```function calculateSum(numbers) {
return numbers.reduce((sum, num) => sum + num, 0);
}
const result = calculateSum([1, 2, 3, 4, 5]);
console.log(result); // Output: 152. सिंटैक्स हाइलाइटिंग
GitHub सैकड़ों भाषाओं के लिए सिंटैक्स हाइलाइटिंग का समर्थन करता है। कुछ सामान्य भाषाएँ शामिल हैं:
# Bash script
echo "Hello GitHub!"# Python script
def greet(name):
return f"Hello, {name}!"// Java code
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello GitHub!");
}
}3. Task Lists
चेकबॉक्स के साथ इंटरएक्टिव task lists बनाएँ:
- [x] उपयोगकर्ता प्रमाणीकरण पूरा करें
- [x] API endpoints लागू करें
- [ ] यूनिट टेस्ट लिखें
- [ ] Backend टेस्ट
- [ ] Frontend टेस्ट
- [ ] Production में deploy करें- [x] उपयोगकर्ता प्रमाणीकरण पूरा करें
- [x] API endpoints लागू करें
- [ ] यूनिट टेस्ट लिखें
- [ ] Backend टेस्ट
- [ ] Frontend टेस्ट
- [ ] Production में deploy करें
4. Tables
GFM tables बनाने के लिए एक सरल सिंटैक्स प्रदान करता है:
| Feature | Supported | Description |
|-----------------|-----------|---------------------------------|
| Fenced Code | ✅ | Language-specific highlighting |
| Task Lists | ✅ | Interactive checkboxes |
| Tables | ✅ | Structured data display |
| Mentions | ✅ | User and team notifications |
| Emoji | ✅ | Visual expressions || Feature | Supported | Description |
|---|---|---|
| Fenced Code | ✅ | Language-specific highlighting |
| Task Lists | ✅ | Interactive checkboxes |
| Tables | ✅ | Structured data display |
| Mentions | ✅ | User and team notifications |
| Emoji | ✅ | Visual expressions |
5. Mentions
उपयोगकर्ताओं या टीमों को सूचित करने के लिए उनका उल्लेख करें:
@username - किसी विशिष्ट उपयोगकर्ता का उल्लेख करें
@team-name - किसी टीम का उल्लेख करें6. Emoji
Shortcodes का उपयोग करके emoji जोड़ें:
:smile: - 😊
:thumbsup: - 👍
:heart: - ❤️
:rocket: - 🚀
:warning: - ⚠️😄 - 😊 👍 - 👍 ❤️ - ❤️ 🚀 - 🚀 ⚠️ - ⚠️
7. Automatic Linking
GFM स्वचालित रूप से कुछ प्रकार की सामग्री को लिंक करता है:
Issue और Pull Request Numbers
#123 - Issue 123 से लिंक करता है
PR #456 - Pull request 456 से लिंक करता हैSHA Hashes
a1b2c3d - इस SHA वाले commit से लिंक करता हैIssues/PRs में User Mentions
@username - स्वचालित रूप से उपयोगकर्ता की प्रोफ़ाइल से लिंक करता हैURLs
https://github.com - स्वचालित रूप से एक लिंक बन जाता है8. Strikethrough
GFM strikethrough text का समर्थन करता है:
~~यह टेक्स्ट काट दिया गया है~~यह टेक्स्ट काट दिया गया है
9. Autolink References
GFM स्वचालित रूप से निम्नलिखित के लिए लिंक बनाता है:
- HTTP/HTTPS URLs
- Email addresses
- GitHub issue/PR numbers
- Commit SHAs
https://github.com/markdownlang/markdownlang.com
user@example.com
#123
PR #456
a1b2c3d4e5f610. Code Block Line Highlighting
code blocks में विशिष्ट पंक्तियों को हाइलाइट करें:
```javascript{2,4}
function calculateSum(numbers) {
return numbers.reduce((sum, num) => sum + num, 0); // Highlighted
}
const result = calculateSum([1, 2, 3, 4, 5]); // Highlighted
console.log(result);
```function calculateSum(numbers) {
return numbers.reduce((sum, num) => sum + num, 0); // Highlighted
}
const result = calculateSum([1, 2, 3, 4, 5]); // Highlighted
console.log(result);11. Diff Syntax Highlighting
diff सिंटैक्स के साथ कोड में परिवर्तनों को हाइलाइट करें:
```diff
- const oldFunction = () => {
- return "old value";
- };
+
+ const newFunction = () => {
+ return "new value";
+ };
```- const oldFunction = () => {
- return "old value";
- };
+
+ const newFunction = () => {
+ return "new value";
+ };12. GitHub-Specific Markup
Alerts
GitHub docs में alerts के लिए विशेष सिंटैक्स का उपयोग करें:
> [!NOTE]
> यह एक note alert है।
> [!TIP]
> यह एक tip alert है।
> [!IMPORTANT]
> यह एक important alert है।
> [!WARNING]
> यह एक warning alert है।
> [!CAUTION]
> यह एक caution alert है।NOTE
यह एक note alert है।
TIP
यह एक tip alert है।
IMPORTANT
यह एक important alert है।
WARNING
यह एक warning alert है।
CAUTION
यह एक caution alert है।
Relative Links
एक ही repository में फ़ाइलों के बीच नेविगेट करने के लिए relative links का उपयोग करें:
[README](/hi/README.md)
[Contributing Guidelines](/hi/CONTRIBUTING.md)
[API Documentation](/hi/docs/api.md)Hover Text के साथ Image Links
उन्नत GFM उपयोग
1. Task Lists के साथ Nested Lists
nested lists को task lists के साथ संयोजित करें:
## Project Roadmap
### Phase 1: Planning
- [x] Project scope परिभाषित करें
- [x] Requirements पहचानें
- [x] Functional requirements
- [x] Non-functional requirements
- [x] Timeline बनाएं
### Phase 2: Development
- [x] Project structure सेट अप करें
- [ ] Core features लागू करें
- [x] Authentication
- [ ] Dashboard
- [ ] API integration2. Emoji और Links के साथ Tables
emoji और links के साथ tables को बेहतर बनाएं:
| Component | Status | Maintainer |
|-----------|--------|------------|
| Authentication | ✅ Stable | @johndoe |
| Database | ⚠️ Needs Update | @janedoe |
| API | 🚧 In Progress | @bobsmith |
| UI | ✅ Stable | @alicesmith || Component | Status | Maintainer |
|---|---|---|
| Authentication | ✅ Stable | @johndoe |
| Database | ⚠️ Needs Update | @janedoe |
| API | 🚧 In Progress | @bobsmith |
| UI | ✅ Stable | @alicesmith |
3. Lists में Code Blocks
lists के भीतर code blocks शामिल करें:
1. Dependencies इंस्टॉल करें:
```bash
npm installDevelopment server चलाएं:
bashnpm run devProduction के लिए build करें:
bashnpm run build
### 4. Code के साथ Quote Blocks
quotes को code blocks के साथ संयोजित करें:
```markdown
> **Pro Tip:** अपने Git status की जल्दी से जांच करने के लिए निम्नलिखित कमांड का उपयोग करें:
>
> ```bash
> git status
> ```Pro Tip: अपने Git status की जल्दी से जांच करने के लिए निम्नलिखित कमांड का उपयोग करें:
bashgit status
विभिन्न GitHub संदर्भों में GFM
README Files
README files सभी GFM सुविधाओं का समर्थन करते हैं और repository pages पर स्वचालित रूप से render होते हैं।
Issues और Pull Requests
- प्रगति ट्रैक करने के लिए task lists का उपयोग करें
- सहयोग के लिए टीम सदस्यों का उल्लेख करें
- सिंटैक्स हाइलाइटिंग के साथ code snippets शामिल करें
#123सिंटैक्स का उपयोग करके संबंधित issues/PRs का संदर्भ दें
Comments
- त्वरित प्रतिक्रियाओं के लिए emoji का उपयोग करें
- line comments के साथ कोड में पंक्तियों का संदर्भ दें
- विशिष्ट बिंदुओं का जवाब देने के लिए quote blocks का उपयोग करें
Wikis
- nested pages के साथ सामग्री व्यवस्थित करें
- संरचित डेटा के लिए tables का उपयोग करें
- सिंटैक्स हाइलाइटिंग के साथ code examples शामिल करें
Best Practices
1. Code Style
<!-- ✅ अच्छा -->
```javascript
// वर्णनात्मक फ़ंक्शन नामों का उपयोग करें
function calculateTotal(items) {
return items.reduce((sum, item) => sum + item.price, 0);
}function f(i){return i.reduce((a,b)=>a+b.p,0)}```2. Table Design
<!-- ✅ अच्छा -->
| Feature | Description | Status |
|---------|-------------|--------|
| Feature 1 | Brief description | ✅ |
| Feature 2 | Another description | 🚧 |
<!-- ❌ बचें -->
| Feature | Description | Status | | | |
|---------|-------------|--------|---|---|---|
| Feature 1 | यह विवरण बहुत लंबा है और table को mobile devices पर पढ़ना कठिन बनाता है | ✅ | | | |3. Task List Usage
<!-- ✅ अच्छा -->
## Sprint Backlog
- [x] User profile page पूरा करें
- [ ] Search functionality लागू करें
- [x] Backend API
- [ ] Frontend component
- [ ] Documentation लिखें
<!-- ❌ बचें -->
- [ ] Task 1
- [ ] Task 2
- [ ] Task 3
- [ ] Task 4
- [ ] Task 5
(बिना संगठन के बहुत सारे tasks)GFM vs Standard Markdown
| Feature | Standard Markdown | GitHub Flavored Markdown |
|---|---|---|
| Fenced Code Blocks | ❌ | ✅ |
| Syntax Highlighting | ❌ | ✅ |
| Task Lists | ❌ | ✅ |
| Tables | ❌ | ✅ |
| Strikethrough | ❌ | ✅ |
| Emoji | ❌ | ✅ |
| Mentions | ❌ | ✅ |
| Automatic Linking | Limited | Extensive |
GFM के साथ काम करने के लिए Tools
Local Editors
- Visual Studio Code - GFM preview और extensions
- Typora - Real-time GFM rendering
- Mark Text - GFM support
Online Tools
- GitHub Gist - GFM snippets बनाएं और साझा करें
- Dillinger - Online GFM editor
- StackEdit - Cloud sync के साथ GFM support
Command-Line Tools
- glow - Terminal GFM renderer
- pandoc - GFM को अन्य formats में convert करें
- marked - Node.js GFM parser
सामान्य समस्याएं और Fixes
1. Code Block Highlighting नहीं हो रही
समस्या: Code block सिंटैक्स हाइलाइटिंग नहीं दिखा रहा है
Fix: सुनिश्चित करें कि आप सही भाषा निर्दिष्ट कर रहे हैं:
<!-- ✅ सही -->
```javascript
console.log("Hello");console.log("Hello"); // Non-JSX code के लिए javascript के बजाय jsx का उपयोग
### 2. Task List Checkboxes काम नहीं कर रहे
**समस्या:** Task list checkboxes इंटरएक्टिव नहीं हैं
**Fix:** सुनिश्चित करें कि आप सही सिंटैक्स का उपयोग कर रहे हैं (`-` और `[ ]` के बीच space):
```markdown
<!-- ✅ सही -->
- [ ] Task
<!-- ❌ गलत -->
-[ ] Task (space नहीं)
-[x] Task (space नहीं)3. Table सही से Render नहीं हो रहा
समस्या: Table columns गलत aligned हैं
Fix: सुनिश्चित करें कि pipes सही से aligned हैं:
<!-- ✅ सही -->
| Column 1 | Column 2 |
|----------|----------|
| Data 1 | Data 2 |
<!-- ❌ गलत -->
|Column 1|Column 2|
|--|--|
|Data 1|Data 2|अगले कदम
- Basic Markdown सिंटैक्स सीखें
- Syntax cheatsheet देखें
- GitHub Gist के साथ अभ्यास करें
- आधिकारिक GitHub GFM documentation पढ़ें
GitHub Flavored Markdown सॉफ्टवेयर विकास में संचार और सहयोग के लिए एक शक्तिशाली उपकरण है। इन सुविधाओं में महारत हासिल करके, आप अधिक प्रभावी दस्तावेज़ीकरण बना सकते हैं, issues को बेहतर तरीके से ट्रैक कर सकते हैं, और अपनी टीम के साथ अधिक कुशलता से सहयोग कर सकते हैं।