- 
                Notifications
    
You must be signed in to change notification settings  - Fork 0
 
feat(posts): add ytx .NET global tool tutorial blog post #10
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
          
     Merged
      
      
    Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    Add comprehensive tutorial about building ytx, a YouTube transcript extractor as a .NET Global Tool. Covers architecture, implementation, CI/CD, and NuGet publishing following established blog style with emojis and code examples. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
      
        
      
      
  
    3 tasks
  
  This was referenced Sep 27, 2025 
      
          📝 SVG Source CodeFile:  <svg width="800" height="400" viewBox="0 0 800 400" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <linearGradient id="bgGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#7c3aed;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#a855f7;stop-opacity:1" />
    </linearGradient>
    <linearGradient id="terminalGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:#1f2937;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#111827;stop-opacity:1" />
    </linearGradient>
  </defs>
  <!-- Background -->
  <rect width="800" height="400" fill="url(#bgGradient)"/>
  <!-- Terminal Window -->
  <rect x="80" y="100" width="640" height="250" rx="10" fill="url(#terminalGradient)" stroke="#374151" stroke-width="2"/>
  <!-- Terminal Header -->
  <rect x="80" y="100" width="640" height="30" rx="10" fill="#374151"/>
  <rect x="80" y="120" width="640" height="2" fill="#4b5563"/>
  <!-- Terminal Controls -->
  <circle cx="100" cy="115" r="5" fill="#ef4444"/>
  <circle cx="115" cy="115" r="5" fill="#f59e0b"/>
  <circle cx="130" cy="115" r="5" fill="#10b981"/>
  <!-- Terminal Title -->
  <text x="360" y="120" font-family="monospace" font-size="12" fill="#d1d5db" text-anchor="middle">ytx - YouTube Transcript Extractor</text>
  <!-- Command Line -->
  <text x="100" y="155" font-family="monospace" font-size="14" fill="#10b981">$</text>
  <text x="115" y="155" font-family="monospace" font-size="14" fill="#f3f4f6">ytx "https://youtube.com/watch?v=..."</text>
  <!-- JSON Output -->
  <text x="100" y="185" font-family="monospace" font-size="12" fill="#60a5fa">{</text>
  <text x="115" y="205" font-family="monospace" font-size="11" fill="#fbbf24">  "title":</text>
  <text x="175" y="205" font-family="monospace" font-size="11" fill="#34d399">"Building Amazing Apps"</text>
  <text x="115" y="220" font-family="monospace" font-size="11" fill="#fbbf24">  "url":</text>
  <text x="155" y="220" font-family="monospace" font-size="11" fill="#34d399">"https://youtube.com/..."</text>
  <text x="115" y="235" font-family="monospace" font-size="11" fill="#fbbf24">  "transcript":</text>
  <text x="195" y="235" font-family="monospace" font-size="11" fill="#34d399">"Welcome to today's..."</text>
  <text x="115" y="250" font-family="monospace" font-size="11" fill="#fbbf24">  "transcriptRaw":</text>
  <text x="215" y="250" font-family="monospace" font-size="11" fill="#34d399">"[00:15] Welcome..."</text>
  <text x="100" y="270" font-family="monospace" font-size="12" fill="#60a5fa">}</text>
  <!-- .NET Logo -->
  <circle cx="650" cy="180" r="25" fill="#512bd4"/>
  <path d="M635 180 L665 180 M650 165 L650 195" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
  <circle cx="640" cy="170" r="3" fill="#ffffff"/>
  <circle cx="660" cy="190" r="3" fill="#ffffff"/>
  <!-- YouTube Logo -->
  <rect x="70" y="160" width="50" height="35" rx="8" fill="#ff0000"/>
  <polygon points="85,170 85,185 105,177.5" fill="#ffffff"/>
  <!-- Title -->
  <text x="400" y="60" font-family="Arial, sans-serif" font-size="36" font-weight="bold" fill="#ffffff" text-anchor="middle">ytx</text>
  <!-- Subtitle -->
  <text x="400" y="380" font-family="Arial, sans-serif" font-size="18" fill="#c4b5fd" text-anchor="middle">YouTube Transcript Extractor • .NET Global Tool</text>
  <!-- Decorative Elements -->
  <circle cx="750" cy="50" r="3" fill="#fbbf24" opacity="0.6"/>
  <circle cx="730" cy="70" r="2" fill="#34d399" opacity="0.8"/>
  <circle cx="770" cy="80" r="4" fill="#60a5fa" opacity="0.7"/>
  <circle cx="50" cy="50" r="2" fill="#f472b6" opacity="0.6"/>
  <circle cx="30" cy="80" r="3" fill="#fbbf24" opacity="0.8"/>
  <circle cx="70" cy="90" r="2" fill="#34d399" opacity="0.7"/>
</svg> | 
    
- Add ytx-dotnet-tool-cover.svg with terminal interface design - Include .NET and YouTube branding with purple gradient - Add cover_image front matter to blog post - Fix Liquid syntax errors in GitHub Actions YAML blocks 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace commit list with modern development velocity section - Highlight Claude Code, GitHub Copilot, and MCP collaboration - Add human-AI partnership perspective - Maintain idiomatic Success! 🎉 ending 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
📝 Revised the tutorial to enhance clarity and provide updated information on building the `ytx` tool. 📁 Modified: _posts/2025-08-31-building-ytx-a-youtube-transcript-extractor-as-a-dotnet-global-tool.md 🔧 Improved descriptions and summaries to better reflect the extraction of YouTube transcripts and metadata as JSON ⚙️ Expanded CI/CD pipeline details with GitHub Actions for production readiness and best practices 📦 Included insights on using AI tools to accelerate the development process and emphasized design-first and documentation-driven approaches
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Summary
Add a comprehensive tutorial blog post about building
ytx, a YouTube transcript extractor as a .NET Global Tool.Changes
2025-08-31-building-ytx-a-youtube-transcript-extractor-as-a-dotnet-global-tool.mdContent Overview
🖼️ Cover Image Enhancement Ready
This PR can be enhanced with a cover image once PR #15 (Blog Cover Images Feature) is merged to master.
Implementation Details
Add to blog post front matter:
Cover Image Created:
ytx-dotnet-tool-cover.svg(3.2KB)Cover Image Guidelines Applied
✅ Format: SVG (preferred for scalability and small file size)
✅ Dimensions: 800x400px (2:1 aspect ratio for optimal display)
✅ File Size: 3.2KB (well under 50KB recommendation)
✅ Content: Relevant to .NET global tool and YouTube transcript extraction
✅ Accessibility: Descriptive filename and will use post title as alt text
Visual Elements
Technical Representation
The cover image accurately represents the blog post content:
Integration Steps
cover_image: /images/ytx-dotnet-tool-cover.svgto post front matterTechnical Benefits
Test plan
🤖 Generated with Claude Code