“MediaWiki:Common.js”的版本间的差异
来自Whiteverse Library
跳到导航跳到搜索| 第25行: | 第25行: | ||
const convertToLink = function(text) { | const convertToLink = function(text) { | ||
// 处理文件链接 | |||
text = text.replace(/(\[\[文件:(.*?)\|)(\d+x\d+)(\]\])/g, function(match, p1, p2, p3, p4) { | |||
return p1 + p2 + p4 + ' style="width:' + p3.split('x')[0] + 'px; height:' + p3.split('x')[1] + 'px;"'; | |||
}); | |||
// 处理普通链接 | |||
return text.replace(/\[\[(.*?)\]\]/g, '<a href="/index.php?title=$1">$1</a>'); | |||
}; | |||
const items = new vis.DataSet(itemsArray.map(function(item, index) { | const items = new vis.DataSet(itemsArray.map(function(item, index) { | ||
2024年10月24日 (四) 15:12的版本
/* 这里的任何JavaScript将为所有档案员在每次页面载入时加载。 */
function appendCSS() {
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = '/extensions/Whiteverse/font/stylesheet.css';
document.head.appendChild(link);
}
appendCSS();
// 引入 Vis Timeline 库
function appendTimeline() {
var script = document.createElement('script');
script.src = 'https://unpkg.com/vis-timeline@7.7.3/standalone/umd/vis-timeline-graph2d.min.js';
document.head.appendChild(script);
}
appendTimeline();
$(document).ready(function() {
// 确保仅在有时间轴的页面中执行
if ($("#visualization").length) {
const container = document.getElementById("visualization");
// 解析项目和日期
const itemsArray = $(container).data("items").split(";");
const convertToLink = function(text) {
// 处理文件链接
text = text.replace(/(\[\[文件:(.*?)\|)(\d+x\d+)(\]\])/g, function(match, p1, p2, p3, p4) {
return p1 + p2 + p4 + ' style="width:' + p3.split('x')[0] + 'px; height:' + p3.split('x')[1] + 'px;"';
});
// 处理普通链接
return text.replace(/\[\[(.*?)\]\]/g, '<a href="/index.php?title=$1">$1</a>');
};
const items = new vis.DataSet(itemsArray.map(function(item, index) {
const parts = item.split(",");
const start = parts[0].trim();
const content = convertToLink(parts[1].trim()); // 使用转换函数
return { id: index + 1, content: content, start: start };
}));
// Configuration for the Timeline
const options = {
locale: 'en'
};
// Create a Timeline
const timeline = new vis.Timeline(container, items, options);
}
});