|
| 1 | +# Stage 1: Content Fixes |
| 2 | + |
| 3 | +**Objective**: Remove undefined shortcodes from documentation content |
| 4 | +**Duration**: 0.5 days (4 hours) |
| 5 | +**Branch**: Direct commits to main (no feature branch) |
| 6 | +**Dependencies**: None |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## Overview |
| 11 | + |
| 12 | +Fix content in two repositories by replacing undefined Hugo shortcodes with compatible alternatives. Test each fix locally before committing. |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +## Detailed Steps |
| 17 | + |
| 18 | +### Step 1.1: Fix hugo-templates documentation |
| 19 | + |
| 20 | +**Action**: Replace undefined quiz shortcode with code example |
| 21 | + |
| 22 | +**File**: `hugo-templates/docs/content/developer-docs/components.md:1025` |
| 23 | + |
| 24 | +**Current Line** (approximate): |
| 25 | +```markdown |
| 26 | +# JavaScript Fundamentals |
| 27 | + |
| 28 | +Before we begin, let's test your current JavaScript knowledge: |
| 29 | + |
| 30 | +{{< quiz id="js-fundamentals" file="javascript-basics" >}} |
| 31 | + |
| 32 | +This quiz covers basic JavaScript concepts including: |
| 33 | +``` |
| 34 | + |
| 35 | +**Proposed Change**: |
| 36 | +```markdown |
| 37 | +# JavaScript Fundamentals |
| 38 | + |
| 39 | +Before we begin, let's test your current JavaScript knowledge with a quiz. |
| 40 | + |
| 41 | +**Quiz component example:** |
| 42 | +```html |
| 43 | +{{</* quiz id="js-fundamentals" file="javascript-basics" */>}} |
| 44 | +``` |
| 45 | + |
| 46 | +This quiz shortcode demonstrates how to embed interactive quizzes. |
| 47 | +It covers basic JavaScript concepts including: |
| 48 | +``` |
| 49 | + |
| 50 | +**Implementation Steps**: |
| 51 | +```bash |
| 52 | +cd /root/info-tech-io/hugo-templates |
| 53 | + |
| 54 | +# Edit the file |
| 55 | +vim docs/content/developer-docs/components.md |
| 56 | +# Navigate to line ~1025 |
| 57 | +# Replace the shortcode as shown above |
| 58 | +``` |
| 59 | + |
| 60 | +**Local Test**: |
| 61 | +```bash |
| 62 | +# Test build locally |
| 63 | +./scripts/build.sh \ |
| 64 | + --config docs/module.json \ |
| 65 | + --output /tmp/test-hugo-templates \ |
| 66 | + --content docs/content \ |
| 67 | + --verbose 2>&1 | tee /tmp/build-hugo-templates.log |
| 68 | + |
| 69 | +# Verify output |
| 70 | +echo "=== Checking build results ===" |
| 71 | +ls -lh /tmp/test-hugo-templates/index.html |
| 72 | +ls -lh /tmp/test-hugo-templates/404.html |
| 73 | + |
| 74 | +# Check for errors |
| 75 | +echo "=== Checking for Hugo errors ===" |
| 76 | +grep -i "error" /tmp/build-hugo-templates.log | grep -v "error_count" || echo "No errors found" |
| 77 | + |
| 78 | +# Verify index.html size (should be ~40-50 KB) |
| 79 | +stat -c%s /tmp/test-hugo-templates/index.html |
| 80 | +``` |
| 81 | + |
| 82 | +**Verification Criteria**: |
| 83 | +- [ ] Build completes without errors |
| 84 | +- [ ] index.html exists (~40-50 KB) |
| 85 | +- [ ] 404.html exists (~37-40 KB) |
| 86 | +- [ ] No "shortcode not found" errors in logs |
| 87 | +- [ ] No "failed to extract shortcode" errors |
| 88 | + |
| 89 | +**Commit**: |
| 90 | +```bash |
| 91 | +cd /root/info-tech-io/hugo-templates |
| 92 | + |
| 93 | +git add docs/content/developer-docs/components.md |
| 94 | +git commit -m "fix(docs): replace undefined quiz shortcode with code example |
| 95 | +
|
| 96 | +The quiz shortcode is not defined in the documentation theme, |
| 97 | +causing Hugo build to fail silently in verbose mode. The build |
| 98 | +reports success but no HTML files are generated. |
| 99 | +
|
| 100 | +Replace shortcode invocation with code example to demonstrate |
| 101 | +usage without executing it. This is more appropriate for |
| 102 | +component documentation that shows how to use the component. |
| 103 | +
|
| 104 | +Root cause analysis: |
| 105 | +- Hugo error: 'template for shortcode \"quiz\" not found' |
| 106 | +- build.sh in verbose mode doesn't check exit codes (line 832) |
| 107 | +- Results in deployment of source files instead of HTML |
| 108 | +
|
| 109 | +This fix resolves the build failure. Recommendations for |
| 110 | +build.sh improvements will be provided separately. |
| 111 | +
|
| 112 | +Fixes: info-tech-io/info-tech-io.github.io#9 |
| 113 | +Related: Epic #2, Child #5" |
| 114 | + |
| 115 | +git push origin main |
| 116 | +``` |
| 117 | + |
| 118 | +--- |
| 119 | + |
| 120 | +### Step 1.2: Fix info-tech-cli documentation |
| 121 | + |
| 122 | +**Action**: Replace undefined video shortcode with markdown link |
| 123 | + |
| 124 | +**File**: `info-tech-cli/docs/content/getting-started.md:288` |
| 125 | + |
| 126 | +**Current Lines** (approximate): |
| 127 | +```markdown |
| 128 | + |
| 129 | + |
| 130 | +Watch this introduction video: |
| 131 | +{{< video src="../static/videos/intro-python.mp4" >}} |
| 132 | +``` |
| 133 | + |
| 134 | +**Proposed Change**: |
| 135 | +```markdown |
| 136 | + |
| 137 | + |
| 138 | +Watch this introduction video: |
| 139 | + |
| 140 | +[📹 Introduction to InfoTech CLI](../static/videos/intro-python.mp4) |
| 141 | +``` |
| 142 | + |
| 143 | +**Implementation Steps**: |
| 144 | +```bash |
| 145 | +cd /root/info-tech-io/info-tech-cli |
| 146 | + |
| 147 | +# Edit the file |
| 148 | +vim docs/content/getting-started.md |
| 149 | +# Navigate to line ~288 |
| 150 | +# Replace the shortcode as shown above |
| 151 | +``` |
| 152 | + |
| 153 | +**Local Test**: |
| 154 | +```bash |
| 155 | +cd /root/info-tech-io/hugo-templates |
| 156 | + |
| 157 | +# Test build locally |
| 158 | +./scripts/build.sh \ |
| 159 | + --config /root/info-tech-io/info-tech-cli/docs/module.json \ |
| 160 | + --output /tmp/test-info-tech-cli \ |
| 161 | + --content /root/info-tech-io/info-tech-cli/docs/content \ |
| 162 | + --verbose 2>&1 | tee /tmp/build-info-tech-cli.log |
| 163 | + |
| 164 | +# Verify output |
| 165 | +echo "=== Checking build results ===" |
| 166 | +ls -lh /tmp/test-info-tech-cli/index.html |
| 167 | +ls -lh /tmp/test-info-tech-cli/404.html |
| 168 | + |
| 169 | +# Check for errors |
| 170 | +echo "=== Checking for Hugo errors ===" |
| 171 | +grep -i "error" /tmp/build-info-tech-cli.log | grep -v "error_count" || echo "No errors found" |
| 172 | + |
| 173 | +# Verify index.html size (should be ~40-50 KB) |
| 174 | +stat -c%s /tmp/test-info-tech-cli/index.html |
| 175 | +``` |
| 176 | + |
| 177 | +**Verification Criteria**: |
| 178 | +- [ ] Build completes without errors |
| 179 | +- [ ] index.html exists (~40-50 KB) |
| 180 | +- [ ] 404.html exists (~37-40 KB) |
| 181 | +- [ ] No "shortcode not found" errors in logs |
| 182 | +- [ ] No "failed to extract shortcode" errors |
| 183 | + |
| 184 | +**Commit**: |
| 185 | +```bash |
| 186 | +cd /root/info-tech-io/info-tech-cli |
| 187 | + |
| 188 | +git add docs/content/getting-started.md |
| 189 | +git commit -m "fix(docs): replace undefined video shortcode with markdown link |
| 190 | +
|
| 191 | +The video shortcode is not defined in the documentation theme, |
| 192 | +causing Hugo build to fail silently in verbose mode. The build |
| 193 | +reports success but no HTML files are generated. |
| 194 | +
|
| 195 | +Replace shortcode with standard markdown link that provides the |
| 196 | +same functionality. Users can still access the video by clicking |
| 197 | +the link. |
| 198 | +
|
| 199 | +Root cause analysis: |
| 200 | +- Hugo error: 'template for shortcode \"video\" not found' |
| 201 | +- build.sh in verbose mode doesn't check exit codes |
| 202 | +- Results in deployment of source files instead of HTML |
| 203 | +
|
| 204 | +This fix resolves the build failure. Recommendations for |
| 205 | +build.sh improvements will be provided separately. |
| 206 | +
|
| 207 | +Fixes: info-tech-io/info-tech-io.github.io#9 |
| 208 | +Related: Epic #2, Child #5" |
| 209 | + |
| 210 | +git push origin main |
| 211 | +``` |
| 212 | + |
| 213 | +--- |
| 214 | + |
| 215 | +## Success Criteria |
| 216 | + |
| 217 | +**All must be true to proceed to Stage 2:** |
| 218 | + |
| 219 | +### hugo-templates |
| 220 | +- [x] Build completes without Hugo errors |
| 221 | +- [x] index.html exists in /tmp/test-hugo-templates/ |
| 222 | +- [x] 404.html exists in /tmp/test-hugo-templates/ |
| 223 | +- [x] No "shortcode not found" in logs |
| 224 | +- [x] Changes committed and pushed to main |
| 225 | + |
| 226 | +### info-tech-cli |
| 227 | +- [x] Build completes without Hugo errors |
| 228 | +- [x] index.html exists in /tmp/test-info-tech-cli/ |
| 229 | +- [x] 404.html exists in /tmp/test-info-tech-cli/ |
| 230 | +- [x] No "shortcode not found" in logs |
| 231 | +- [x] Changes committed and pushed to main |
| 232 | + |
| 233 | +--- |
| 234 | + |
| 235 | +## Rollback Plan |
| 236 | + |
| 237 | +If issues discovered after commit: |
| 238 | + |
| 239 | +```bash |
| 240 | +# hugo-templates rollback |
| 241 | +cd /root/info-tech-io/hugo-templates |
| 242 | +git revert HEAD |
| 243 | +git push origin main |
| 244 | + |
| 245 | +# info-tech-cli rollback |
| 246 | +cd /root/info-tech-io/info-tech-cli |
| 247 | +git revert HEAD |
| 248 | +git push origin main |
| 249 | +``` |
| 250 | + |
| 251 | +--- |
| 252 | + |
| 253 | +## Expected Output |
| 254 | + |
| 255 | +### Before Fixes |
| 256 | +``` |
| 257 | +hugo-templates build: |
| 258 | + Error: template for shortcode "quiz" not found |
| 259 | + ✅ Build completed successfully! (FALSE POSITIVE) |
| 260 | + Files: source files only, no index.html |
| 261 | +
|
| 262 | +info-tech-cli build: |
| 263 | + Error: template for shortcode "video" not found |
| 264 | + ✅ Build completed successfully! (FALSE POSITIVE) |
| 265 | + Files: source files only, no index.html |
| 266 | +``` |
| 267 | + |
| 268 | +### After Fixes |
| 269 | +``` |
| 270 | +hugo-templates build: |
| 271 | + ✅ Hugo build completed (NO ERRORS) |
| 272 | + ✅ Build completed successfully! |
| 273 | + Files: index.html (43 KB), 404.html (38 KB), + pages |
| 274 | +
|
| 275 | +info-tech-cli build: |
| 276 | + ✅ Hugo build completed (NO ERRORS) |
| 277 | + ✅ Build completed successfully! |
| 278 | + Files: index.html (42 KB), 404.html (37 KB), + pages |
| 279 | +``` |
| 280 | + |
| 281 | +--- |
| 282 | + |
| 283 | +## Notes |
| 284 | + |
| 285 | +- **No PRs needed**: Direct commits to main (small, safe changes) |
| 286 | +- **Test locally first**: Verify build before push |
| 287 | +- **Temporary directories**: All tests in /tmp/ (will be cleaned up) |
| 288 | +- **Commit messages**: Follow conventional commits format |
| 289 | +- **Cross-reference**: Link to Issue #9 in all commits |
| 290 | + |
| 291 | +--- |
| 292 | + |
| 293 | +## Timeline |
| 294 | + |
| 295 | +| Step | Duration | Cumulative | |
| 296 | +|------|----------|------------| |
| 297 | +| 1.1: hugo-templates fix + test | 2 hours | 2 hours | |
| 298 | +| 1.2: info-tech-cli fix + test | 2 hours | 4 hours | |
| 299 | + |
| 300 | +**Total Stage 1 Duration**: 4 hours (0.5 days) |
| 301 | + |
| 302 | +--- |
| 303 | + |
| 304 | +**Stage Status**: ⏳ Ready to Start |
| 305 | +**Dependencies**: None |
| 306 | +**Blockers**: None |
0 commit comments