首页 > 解决方案 > MediaWiki 的 PHP 脚注机制的 JavaScript 替代方案

问题描述

我有一个 MediaWiki 1.32.0 Right-To-Left (RTL;Hebrew) 网站,我希望这个网站没有外部扩展;那是; 没有核心未附带的扩展——因此也没有用于在 RTL MediaWiki 站点中由 PHP 创建脚注的Scribunto 。
因此,我希望有一种使用 JavaScript 的替代方法。

为了实现这一点,我创建了两个模板:

1) : template:footnote:

<p>
    <span class="footnote"><sup></sup></span>
</p>

2) : template:footnotes_list:

<ol id="footnotes_list">
</ol>

在模板调用中添加的脚注文本(as {{footnote|FOOTNOTE_TEXT}})应该出现在上面<sup></sup>,然后被传输到<ol></ol>应该单独出现在的其中{{footnotes_list}}

const list = document.querySelector("#footnotes_list");
document.querySelectorAll(".footnote>sup").forEach((footnote, i) => {
    const li = document.createElement("li");
    li.append(...footnote.childNodes);
    list.appendChild(li);
    footnote.textContent = i+1;
});

如何确保在脚注模板调用中添加的文本将出现在<sup></sup>

标签: javascripthtmlfunctiontemplatesmediawiki

解决方案


推荐阅读