\n"; $inCode = false; } else { if ($inList) { $html .= "\n"; $inList = false; } $html .= "
";
                $inCode = true;
            }
            continue;
        }
        if ($inCode) {
            $html .= htmlspecialchars($line, ENT_QUOTES, 'UTF-8') . "\n";
            continue;
        }
        if ($trim === '___') {
            if ($inList) {
                $html .= "\n";
                $inList = false;
            }
            $html .= "
\n"; continue; } if (preg_match('/^(#{2,6})\s+(.*)$/', $line, $m)) { if ($inList) { $html .= "\n"; $inList = false; } $level = strlen($m[1]); $text = htmlspecialchars($m[2], ENT_QUOTES, 'UTF-8'); $html .= "{$text}\n"; continue; } if (strpos($trim, '- ') === 0) { if (!$inList) { $html .= "\n"; $inList = false; } $html .= "

\n"; continue; } if ($inList) { $html .= "\n"; $inList = false; } $lineHtml = htmlspecialchars($line, ENT_QUOTES, 'UTF-8'); $lineHtml = preg_replace('/`([^`]+)`/', '$1', $lineHtml); $html .= "

{$lineHtml}

\n"; } if ($inList) { $html .= "\n"; } if ($inCode) { $html .= "
\n"; } return $html; } $docHtml = billing_render_markdown($markdown); ?> XML Configuration Notes

Game Config XML Reference

This page mirrors the OGP XML Notes so we can edit and review configuration expectations directly inside the repo. Update modules/billing/docs/XML-Notes.md whenever the upstream wiki changes.