javascript - 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>
?
解决方案
推荐阅读
- sql - 在 SQL 表中查找 nvarchar 类型的重复值
- css - CSS Grid - 在这个网格中,为什么是一行。项目太大?
- shell - 后部署脚本读取已部署 pod 内的环境变量
- excel - 在excel中禁用烦人的提示
- google-sheets - 表格公式:这个公式可以简化吗?
- css - 如何同时允许容器上的垂直滚动和子级上的水平溢出?
- python - 与 bertopic 一起使用的 hdbscan 出现问题:OSError: [Errno 22] Invalid argument
- r - R - 使用时间进行分类
- ios - 还有其他人在 iOS 14 上看到奇怪的 UIImage 行为,特别是在生产/TestFlight 中吗?
- c++ - 我怎样才能简化这个程序?