Files
leonapp/test_markdown.php

158 lines
6.8 KiB
PHP
Raw Permalink Normal View History

2025-09-20 22:20:08 +08:00
<?php
// 引用配置文件
require_once 'config.php';
// 模拟一个应用数据
$testApp = [
'name' => 'Markdown测试应用',
'description' => "# Markdown测试应用描述\n\n这是一个**Markdown格式**的应用描述示例。\n\n## 功能特性\n- 支持**粗体**和*斜体*文本\n- 支持列表和表格\n- 支持代码块\n\n## 代码示例\n```php\necho 'Hello, Markdown!';\n```\n\n## 表格示例\n| 功能 | 描述 |\n|------|------|\n| 粗体 | 使用**双星号**包裹文本 |\n| 斜体 | 使用*星号*包裹文本 |\n| 标题 | 使用#号开头 |"
];
// 模拟版本历史
$testVersions = [
[
'version' => '1.0.0',
'changelog' => "# 版本 1.0.0\n\n**新功能:**\n- 添加Markdown支持\n- 优化用户界面\n- 修复已知bug\n\n**技术细节:**\n使用[marked.js](https://marked.js.org/)库实现Markdown解析。\n\n```javascript\n// 示例代码\ndocument.addEventListener('DOMContentLoaded', function() {\n const markdown = element.textContent;\n element.innerHTML = marked.parse(markdown);\n});\n```"
]
];
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Markdown支持测试 - <?php echo APP_STORE_NAME; ?></title>
<!-- Bootstrap CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/all.min.css">
<!-- SweetAlert2 -->
<link rel="stylesheet" href="/js/sweetalert.js/dist/sweetalert2.min.css">
<script src="/js/sweetalert.js/dist/sweetalert2.all.min.js"></script>
<!-- Marked.js -->
<script src="js/marked.js"></script>
<!-- 自定义CSS -->
<link rel="stylesheet" href="styles.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light blur-bg">
<div class="container">
<a href="index.php"><img src="/favicon.jpeg" alt="Logo" style="height: 30px; margin-right: 10px; border-radius: var(--border-radius);"></a>
<a class="navbar-brand" href="index.php">返回首页</a>
</div>
</nav>
<div class="container mt-4">
<h1 class="text-center">Markdown支持测试</h1>
<p class="text-center">此页面用于测试应用描述和版本变更日志的Markdown支持功能。</p>
<div class="row mt-4">
<div class="col-md-12">
<button class="btn btn-primary mb-4" onclick="showMarkdownInfo()">
<i class="fas fa-info-circle"></i> 了解Markdown
</button>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h2>测试结果:</h2>
</div>
</div>
<!-- 模拟app.php中的应用描述显示 -->
<div class="row mt-4">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<h3>应用描述 (Markdown解析)</h3>
<div class="lead"><i class="fas fa-info-circle"></i> <div id="app-description"><?php echo htmlspecialchars($testApp['description']); ?></div></div>
</div>
</div>
</div>
</div>
<!-- 模拟app.php中的版本历史显示 -->
<div class="row mt-4">
<div class="col-md-12">
<h2>版本历史</h2>
<?php foreach ($testVersions as $version): ?>
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title"><i class="fas fa-code-branch"></i> 版本 <?php echo $version['version']; ?></h5>
<div class="card-text markdown-content"><?php echo htmlspecialchars($version['changelog']); ?></div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
<!-- 原始Markdown文本显示 -->
<div class="row mt-4">
<div class="col-md-6">
<div class="card">
<div class="card-body">
<h3>原始Markdown文本 (应用描述)</h3>
<pre class="bg-light p-3 rounded"><code><?php echo htmlspecialchars($testApp['description']); ?></code></pre>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-body">
<h3>原始Markdown文本 (版本变更日志)</h3>
<pre class="bg-light p-3 rounded"><code><?php echo htmlspecialchars($testVersions[0]['changelog']); ?></code></pre>
</div>
</div>
</div>
</div>
</div>
<!-- 解析Markdown的脚本 -->
<script>
// 解析Markdown内容
document.addEventListener('DOMContentLoaded', function() {
// 解析应用描述
const descriptionElement = document.getElementById('app-description');
if (descriptionElement) {
const markdown = descriptionElement.textContent;
descriptionElement.innerHTML = marked.parse(markdown);
}
// 解析所有版本变更日志
const changelogElements = document.querySelectorAll('.markdown-content');
changelogElements.forEach(function(element) {
const markdown = element.textContent;
element.innerHTML = marked.parse(markdown);
});
});
// 显示Markdown信息弹窗
function showMarkdownInfo() {
Swal.fire({
title: '<strong>Markdown支持说明</strong>',
icon: 'info',
html: `
<p>应用描述和版本变更日志现已支持Markdown语法。</p>
<h5 class="mt-3">支持的Markdown语法:</h5>
<ul style="text-align: left;">
<li><strong>粗体文本</strong>: 使用**双星号**包裹</li>
<li><em>斜体文本</em>: 使用*星号*包裹</li>
<li><h1>标题</h1>: 使用#号开头</li>
<li>列表: 使用-*开头</li>
<li>代码块: 使用```包裹代码</li>
<li>链接: [链接文本](链接地址)</li>
<li>表格: 使用|分隔单元格</li>
</ul>
`,
showCloseButton: true,
focusConfirm: false,
confirmButtonText: '我明白了',
confirmButtonAriaLabel: '关闭对话框'
});
}
</script>
<!-- Bootstrap JS Bundle with Popper -->
<script src="/js/bootstrap.bundle.js"></script>
</body>
</html>