158 lines
6.8 KiB
PHP
158 lines
6.8 KiB
PHP
|
|
<?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>
|