“MediaWiki:Common.js”的版本间的差异
来自Whiteverse Library
跳到导航跳到搜索| 第16行: | 第16行: | ||
} | } | ||
appendTimeline(); | appendTimeline(); | ||
$(document).ready(function() { | $(document).ready(function() { | ||
// 确保仅在有时间轴的页面中执行 | // 确保仅在有时间轴的页面中执行 | ||
if ($(" | if ($(".visualization").length) { | ||
const | const containers = document.getElementsByClassName("visualization"); | ||
// 解析项目和日期 | Array.from(containers).forEach(container => { | ||
// 解析项目和日期 | |||
const itemsArray = $(container).data("items").split(";"); | |||
const items = new vis.DataSet(itemsArray.map(function(item, index) { | |||
const parts = item.split(","); | |||
const start = parts[0].trim(); | |||
let content = parts[1].trim(); | |||
// 处理文件链接和大小参数 | |||
content = content.replace(/(\[\[文件:(.*?)\|)(\d+x\d+)(\]\])/g, (match, p1, p2, p3, p4) => { | |||
return `${p1}${p2}${p4} style="width:${p3.split('x')[0]}px; height:${p3.split('x')[1]}px;"`; | |||
}); | |||
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); | |||
}); | |||
} | } | ||
}); | }); | ||
2024年10月24日 (四) 14:59的版本
/* 这里的任何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 containers = document.getElementsByClassName("visualization");
Array.from(containers).forEach(container => {
// 解析项目和日期
const itemsArray = $(container).data("items").split(";");
const items = new vis.DataSet(itemsArray.map(function(item, index) {
const parts = item.split(",");
const start = parts[0].trim();
let content = parts[1].trim();
// 处理文件链接和大小参数
content = content.replace(/(\[\[文件:(.*?)\|)(\d+x\d+)(\]\])/g, (match, p1, p2, p3, p4) => {
return `${p1}${p2}${p4} style="width:${p3.split('x')[0]}px; height:${p3.split('x')[1]}px;"`;
});
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);
});
}
});