diff --git a/FuturamaHitAndRunBridge.php b/FuturamaHitAndRunBridge.php index 82ddf53..bf5f296 100644 --- a/FuturamaHitAndRunBridge.php +++ b/FuturamaHitAndRunBridge.php @@ -23,17 +23,19 @@ class FuturamaHitAndRunBridge extends BridgeAbstract { $versionText = trim($versionHeader->find('div.text', 0)->plaintext ?? ''); if (empty($versionText)) continue; - // Skip branch names - only process actual version numbers (e.g., 0.1.0, 1.2.3) - // Version numbers typically contain dots or start with numbers - if (!preg_match('/^\d+\./', $versionText)) continue; + // Skip branch names - only process actual version numbers (e.g., Version 0.1.0, Version 1.2.3) + if (!preg_match('/^Version\s+\d+\./', $versionText)) continue; + + // Remove "Version " prefix to get clean version number + $versionNumber = preg_replace('/^Version\s+/', '', $versionText); // Get the parent block containing all version information $versionBlock = $versionHeader->parent(); if (!$versionBlock) continue; $item = []; - $item['title'] = 'Futurama: Hit & Run - Version ' . $versionText; - $item['uid'] = 'futurama-har-' . $versionText; + $item['title'] = 'Futurama: Hit & Run - Version ' . $versionNumber; + $item['uid'] = 'futurama-har-' . $versionNumber; // Find version ID from badges $badges = $versionBlock->find('div.component-badge'); @@ -73,28 +75,20 @@ class FuturamaHitAndRunBridge extends BridgeAbstract { $content .= 'Futurama: Hit & Run Banner'; $content .= '
'; - $content .= '

Version ' . htmlspecialchars($versionText) . '

'; - // Add changelog if available $changelogDetails = $versionBlock->find('details.component-details', 0); if ($changelogDetails) { - $changelogContent = $changelogDetails->find('p.component-paragraph', 0); - if ($changelogContent) { - $content .= '

Changelog:

'; - $content .= '

' . $changelogContent->innertext . '

'; + // Get the entire changelog content (includes h2, h3, ul, p elements) + $changelogHTML = $changelogDetails->innertext; + // Remove the tag from the output + $changelogHTML = preg_replace('/.*?<\/summary>/is', '', $changelogHTML); + // Remove redundant version header from changelog (e.g.,

Version 0.1.2

) + $changelogHTML = preg_replace('/]*>Version\s+' . preg_quote($versionNumber, '/') . '<\/h2>/is', '', $changelogHTML); + if (!empty(trim(strip_tags($changelogHTML)))) { + $content .= $changelogHTML; } } - // Add download button - if ($downloadLink) { - $content .= '

Download Version ' . htmlspecialchars($versionText) . '

'; - } - - // Add project info - $content .= '

'; - $content .= '

Futurama: Hit & Run is a total conversion mod for The Simpsons: Hit & Run aiming to replicate the gameplay of Hit & Run in the world of Futurama.

'; - $content .= '

Developer: Slurm Team

'; - $item['content'] = $content; $item['author'] = 'Slurm Team';