feat(wiki): restructure BL and JC deployment pages to Wikipedia standard

- Merged overview h2 into lead paragraphs
- Converted timeline tables to chronological narrative h3 with date ranges
- Added task achievements section to all unmanned mission pages
- Unified infobox format with label/data columns

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-07-17 14:47:56 +08:00
co-authored by Claude
parent fb39488d3a
commit ba59186d7f
10 changed files with 1784 additions and 0 deletions
+92
View File
@@ -0,0 +1,92 @@
<style>
.wiki-article { max-width: 1180px; margin: 0 auto; padding: 24px 32px 48px; color: #202122; background: #fff; font-family: sans-serif; font-size: 14px; line-height: 1.65; }
.wiki-article h1 { font-family: "Linux Libertine", Georgia, serif; font-weight: normal; border-bottom: 1px solid #a2a9b1; margin: 0 0 8px; font-size: 2.15em; }
.wiki-article h2 { font-family: "Linux Libertine", Georgia, serif; font-weight: normal; border-bottom: 1px solid #a2a9b1; clear: both; margin: 1.35em 0 0.6em; padding-bottom: 0.18em; font-size: 1.55em; }
.wiki-article p { margin: 0.45em 0 0.85em; }
.wiki-article a { color: #0645ad; text-decoration: none; }
.wiki-article a:hover { text-decoration: underline; }
.wiki-article img { max-width: 100%; height: auto; }
.wiki-article .gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin: 1em 0; }
.wiki-article .gallery-item { border: 1px solid #c8ccd1; background: #f8f9fa; padding: 4px; font-size: 88%; line-height: 1.4; }
.wiki-article .gallery-item img { display: block; width: 100%; cursor: zoom-in; }
.wiki-article .gallery-item .thumbcaption { padding: 4px 2px 2px; }
@media (max-width: 820px) { .wiki-article { padding: 18px 16px 36px; } .gallery-grid { grid-template-columns: 1fr; } }
.wiki-article img[data-wiki-asset] { cursor: zoom-in; }
.wiki-image-lightbox { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(32,33,34,0.84); z-index: 10000; box-sizing: border-box; }
.wiki-image-lightbox[hidden] { display: none; }
.wiki-image-lightbox-panel { position: relative; width: min(1120px, 96vw); max-height: 92vh; overflow: auto; margin: 0; padding: 10px; border: 1px solid #a2a9b1; background: #fff; box-shadow: 0 12px 38px rgba(0,0,0,0.35); box-sizing: border-box; }
.wiki-image-lightbox-panel img { display: block; width: 100%; height: auto; max-height: 82vh; object-fit: contain; background: #000; }
.wiki-image-lightbox-close { position: sticky; top: 0; float: right; width: 30px; height: 30px; margin: -2px -2px 8px 10px; border: 1px solid #a2a9b1; background: #eaecf0; color: #202122; font-weight: bold; line-height: 26px; cursor: pointer; }
.wiki-image-lightbox-close:hover, .wiki-image-lightbox-close:focus { background: #fff; }
body.wiki-image-lightbox-open { overflow: hidden; }
@media (max-width: 820px) { .wiki-image-lightbox { padding: 12px; } .wiki-image-lightbox-panel { width: 98vw; max-height: 94vh; } }
</style>
<article class="mw-parser-output wiki-article">
<h1 id="top">冰轮部署任务-03 任务图集</h1>
<p style="margin-bottom:1.5em;"><a href="/home/mission/Guanghan_Program/BL-03">← 返回任务页</a> 共 6 张影像,按任务阶段排列</p>
<p style="margin-bottom:1.5em;"><b>任务图集导航</b><a href="/home/mission/Guanghan_Program/BL-02/Gallery">← BL-02 图集</a></p>
<p>BL-03 是冰轮着陆器 Block 2 的首航——燃料箱延长至 36.7 m 全高,内部燃料容量从 96.6 吨提升至 121.6 吨,取消顶部保温箱改以 32 层 MLI 增强层替代。以下影像记录了冰轮三号从发射到加入东方海编队的全过程。</p>
<h2>发射</h2>
<div class="gallery-grid">
<div class="gallery-item"><img src="/guanghan-bl-03/bl3_launch.png" alt="冰轮3号发射" data-wiki-asset="/guanghan-bl-03/bl3_launch.png"><div class="thumbcaption">CZ-16 运载火箭搭载冰轮三号(Block 2 货运型)从文昌发射场升空。冰轮三号全高 36.7 m——比 Block 1 高出 6.5 m——肉眼可见箭体长细比更大。</div></div>
<div class="gallery-item"><img src="/guanghan-bl-03/bl3_launch2.png" alt="冰轮3号发射" data-wiki-asset="/guanghan-bl-03/bl3_launch2.png"><div class="thumbcaption">同一发射的另一视角。15 台 YF-215X 发动机的淡蓝色甲烷尾焰在上升段清晰可辨——全流量补燃循环几乎不产生碳烟沉积。</div></div>
</div>
<h2>地月转移与着陆</h2>
<div class="gallery-grid">
<div class="gallery-item"><img src="/guanghan-bl-03/bl3_loi.png" alt="冰轮3号近月制动" data-wiki-asset="/guanghan-bl-03/bl3_loi.png"><div class="thumbcaption">冰轮三号执行近月制动进入 LLO——此时正值 GHC-03 任务期间,嫦娥 4 号乘组正在广寒基地执行电力模块安装。冰轮三号将在 LLO 等待着陆窗口。</div></div>
<div class="gallery-item"><img src="/guanghan-bl-03/bl3_descent_burn.png" alt="月面主减速段" data-wiki-asset="/guanghan-bl-03/bl3_descent_burn.png"><div class="thumbcaption">冰轮三号从 LLO 开始动力下降。Hecate 主发动机以全推力进行主减速——Block 2 增加的燃料容量使着陆段拥有更充裕的 Δv 裕度。下方为月球东方海盆地的玄武岩月面。</div></div>
<div class="gallery-item"><img src="/guanghan-bl-03/bl3_landing.png" alt="月面着陆" data-wiki-asset="/guanghan-bl-03/bl3_landing.png"><div class="thumbcaption">冰轮三号成功着陆于东方海广寒基地附近。着陆后冰轮编队增至三艘——冰轮一号(Block 1, ISRU)、冰轮二号(Block 1, 货运)和冰轮三号(Block 2, 大运力货运)。三艘冰轮的总燃料上行能力(单次 LLO 交付)超过 250 吨液氢液氧。</div></div>
</div>
<h2>冰轮编队</h2>
<div class="gallery-grid">
<div class="gallery-item"><img src="/guanghan-bl-03/bl_fleet_three.png" alt="三艘冰轮编队" data-wiki-asset="/guanghan-bl-03/bl_fleet_three.png"><div class="thumbcaption">广寒基地冰轮编队全景——从左往右依次为:冰轮三号(Block 2,最高/最宽)、冰轮二号(Block 1,左侧)、冰轮一号(Block 1,最右侧,ISRU 设备可见)。三艘冰轮围绕广寒核心舱呈弧形分布,构成广寒基地物流体系的月面支撑节点。冰轮一号将在后续任务中拆除 ISRU 模块、转为货运型,届时整个编队将实现单一物流职能。</div></div>
</div>
<p style="margin-top:1.5em;"><b>任务图集导航</b><a href="/home/mission/Guanghan_Program/BL-02/Gallery">← BL-02 图集</a></p>
<p style="margin-top:1.5em;"><a href="/home/mission/Guanghan_Program/BL-03">← 返回任务页</a></p>
</article>
<script>
(function () {
function ready(fn) {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', fn, { once: true });
} else {
fn();
}
}
function captionFor(image) {
var container = image.closest('figure, td, tr, .infobox-image, .gallery-item');
if (!container) { return image.alt || ''; }
var caption = container.querySelector('.thumbcaption');
return caption ? caption.textContent.trim() : (image.alt || '');
}
function install(article) {
if (!article || article.dataset.lightboxReady === '1') { return; }
article.dataset.lightboxReady = '1';
var overlay = document.createElement('div');
overlay.className = 'wiki-image-lightbox';
overlay.hidden = true;
overlay.innerHTML = '<figure class="wiki-image-lightbox-panel" role="dialog" aria-modal="true"><button class="wiki-image-lightbox-close" type="button" aria-label="Close image preview">x</button><img alt=""><figcaption class="thumbcaption"></figcaption></figure>';
document.body.appendChild(overlay);
var previewImage = overlay.querySelector('img');
var previewCaption = overlay.querySelector('figcaption');
var closeButton = overlay.querySelector('.wiki-image-lightbox-close');
function closePreview() { overlay.hidden = true; previewImage.removeAttribute('src'); previewCaption.textContent = ''; document.body.classList.remove('wiki-image-lightbox-open'); }
function openPreview(image, event) { event.preventDefault(); event.stopPropagation(); if (event.stopImmediatePropagation) { event.stopImmediatePropagation(); } previewImage.src = image.currentSrc || image.src; previewImage.alt = image.alt || ''; previewCaption.textContent = captionFor(image); overlay.hidden = false; document.body.classList.add('wiki-image-lightbox-open'); closeButton.focus(); }
article.querySelectorAll('img[data-wiki-asset]').forEach(function (image) { if (image.dataset.lightboxBound === '1') { return; } image.dataset.lightboxBound = '1'; image.addEventListener('click', function (event) { openPreview(image, event); }, true); });
article.addEventListener('click', function (event) { var image = event.target.closest && event.target.closest('img[data-wiki-asset]'); if (!image || !article.contains(image) || image.closest('.wiki-image-lightbox')) { return; } openPreview(image, event); });
closeButton.addEventListener('click', closePreview);
overlay.addEventListener('click', function (event) { if (event.target === overlay) { closePreview(); } });
document.addEventListener('keydown', function (event) { if (event.key === 'Escape' && !overlay.hidden) { closePreview(); } });
}
function installAll() { document.querySelectorAll('.wiki-article, .vulture-article').forEach(install); }
ready(function () { installAll(); if (window.MutationObserver) { var observer = new MutationObserver(installAll); observer.observe(document.body, { childList: true, subtree: true }); } window.setTimeout(installAll, 500); window.setTimeout(installAll, 1500); window.setTimeout(installAll, 3000); });
}());
</script>