This commit is contained in:
ken 2026-09-03 13:53:52 +08:00
parent 70a202fc58
commit 238699ec30
65 changed files with 660 additions and 267 deletions

View File

@ -271,69 +271,103 @@
} }
}, },
ClickMenuHandler: function() { ClickMenuHandler: function() {
// 處理主選單切換(漢堡 icon // 處理主選單切換(漢堡 icon
$(document).on('click', '.navbar-toggle', function (e) { $(document).on('click', '.navbar-toggle', function (e) {
e.preventDefault(); e.preventDefault();
// 確保 .navbar-toggle 放到 .modules-menu 後面 // 確保 .navbar-toggle 放到 .modules-menu 後面
$('.mobile-menu').each(function () { $('.mobile-menu').each(function () {
var $menu = $(this); var $menu = $(this);
if ($menu.find('.modules-menu').length && !$menu.find('.modules-menu + .navbar-toggle').length) { if ($menu.find('.modules-menu').length && !$menu.find('.modules-menu + .navbar-toggle').length) {
$menu.find('.modules-menu').after($menu.find('.navbar-toggle')); $menu.find('.modules-menu').after($menu.find('.navbar-toggle'));
}
});
$('.mobile-menu').toggleClass('active');
$('body').toggleClass('noscroll');
// ★ 修正:依據 active 狀態決定 collapsed 的加/移除
if ($('.mobile-menu').hasClass('active')) {
$('.mobile-menu .navbar-toggle').removeClass('collapsed'); // 打開 → 叉叉
} else {
$('.mobile-menu .navbar-toggle').addClass('collapsed'); // 關閉 → 三條橫線
}
// 關閉所有下拉選單
$('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500);
$('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened');
// 無障礙:聚焦第一個互動元素
if ($('.mobile-menu').hasClass('active')) {
setTimeout(function () {
$('.modules-menu').find('input, button, select, textarea, a').first().focus();
}, 100);
} }
}); });
$('.mobile-menu').toggleClass('active'); // ✅ Tab 鍵跳過 .mobile-menu 時,觸發收合邏輯
$('body').toggleClass('noscroll'); $(document).on('focusout', '.mobile-menu', function(e) {
$('.mobile-menu .navbar-toggle').removeClass('collapsed'); setTimeout(function() {
var $newFocus = $(document.activeElement);
// 關閉所有下拉選單 // 焦點在 body 時代表滑鼠正在點擊中,不處理
$('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500); if ($newFocus.is('body')) return;
$('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened');
// 無障礙:聚焦第一個互動元素 if ($('.mobile-menu').hasClass('active') && $newFocus.closest('.mobile-menu').length === 0) {
if ($('.mobile-menu').hasClass('active')) {
setTimeout(function () {
$('.modules-menu').find('input, button, select, textarea, a').first().focus();
}, 100);
}
});
$('.mobile-menu1 > .menu-drop').click(function(){ var $btn = $('.navbar-toggle').first();
var $that = $(this);
var opencheck1 = $that.hasClass('opened');
if ( opencheck1 == 0 ) {
$('.mobile-menu1 > ul').not($that.siblings('ul')).slideUp(500);
$('.mobile-menu1 > .menu-drop').not($that).removeClass('opened');
$('.mobile-menu2 > ul').slideUp(500);
$('.mobile-menu2 > .menu-drop').removeClass('opened');
$that.siblings('ul').slideDown(500);
$that.addClass('opened');
} else if (opencheck1 == 1) { if ($btn.attr('data-bs-toggle')) {
$that.siblings('ul').slideUp(500); var target = $btn.attr('data-bs-target');
$('.mobile-menu2 > ul').slideUp(500); var bsCollapse = window.bootstrap && bootstrap.Collapse.getInstance($(target)[0]);
$('.mobile-menu2 > .menu-drop').removeClass('opened'); if (bsCollapse) bsCollapse.hide();
$that.removeClass('opened'); $('.mobile-menu').removeClass('active');
$('body').removeClass('noscroll');
$('.mobile-menu .navbar-toggle').addClass('collapsed');
$('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500);
$('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened');
} else {
$btn.trigger('click');
}
}
}, 50);
});
} $('.mobile-menu1 > .menu-drop').click(function(){
}) var $that = $(this);
var opencheck1 = $that.hasClass('opened');
if ( opencheck1 == 0 ) {
$('.mobile-menu1 > ul').not($that.siblings('ul')).slideUp(500);
$('.mobile-menu1 > .menu-drop').not($that).removeClass('opened');
$('.mobile-menu2 > ul').slideUp(500);
$('.mobile-menu2 > .menu-drop').removeClass('opened');
$that.siblings('ul').slideDown(500);
$that.addClass('opened');
$('.mobile-menu2 > .menu-drop').click(function(){ } else if (opencheck1 == 1) {
var $that = $(this); $that.siblings('ul').slideUp(500);
var opencheck2 = $that.hasClass('opened'); $('.mobile-menu2 > ul').slideUp(500);
if ( opencheck2 == 0 ) { $('.mobile-menu2 > .menu-drop').removeClass('opened');
$('.mobile-menu2 > ul').not($that.siblings('ul')).slideUp(500); $that.removeClass('opened');
$('.mobile-menu2 > .menu-drop').not($that).removeClass('opened');
$that.siblings('ul').slideDown(500); }
$that.addClass('opened'); })
} else if (opencheck2 == 1) {
$that.siblings('ul').slideUp(500); $('.mobile-menu2 > .menu-drop').click(function(){
$that.removeClass('opened'); var $that = $(this);
} var opencheck2 = $that.hasClass('opened');
}) if ( opencheck2 == 0 ) {
} $('.mobile-menu2 > ul').not($that.siblings('ul')).slideUp(500);
$('.mobile-menu2 > .menu-drop').not($that).removeClass('opened');
$that.siblings('ul').slideDown(500);
$that.addClass('opened');
} else if (opencheck2 == 1) {
$that.siblings('ul').slideUp(500);
$that.removeClass('opened');
}
})
}
}; };
// 把orbit物件加到window物件裡面並改名為ORBITFRONT來減少名稱衝突的機會 // 把orbit物件加到window物件裡面並改名為ORBITFRONT來減少名稱衝突的機會
@ -460,20 +494,28 @@
}); });
//播放驗證碼語音 //播放驗證碼語音
$(function () { $(function () {
$('.ask-question') var pageLang = ($('html').attr('lang') || 'zh-Hant').toLowerCase();
.find('.controls button.fas.fa-volume-up') var isEn = pageLang.startsWith('en');
.each(function () { var label = isEn ? 'Play Captcha Voice' : '播放驗證碼語音';
const $btn = $(this);
// 已經補過就不重複處理 $('.ask-question')
if ($btn.attr('aria-label')) return; .find('.controls button.fas.fa-volume-up')
.each(function () {
var $btn = $(this);
$btn.attr({ $btn.attr({
'aria-label': '播放驗證碼語音', 'aria-label': label,
'aria-controls': 'captcha_audio', 'title': label,
'role': 'button' 'aria-controls': 'captcha_audio',
}); 'role': 'button'
}); });
// ✅ 同步更新 sr-only 文字(若有)
var $sr = $btn.find('.sr-only');
if ($sr.length > 0) {
$sr.text(label);
}
});
}); });
//刪除td的id //刪除td的id
@ -598,7 +640,7 @@
} }
}); });
if (document.documentElement.lang === 'zh_tw') { if (document.documentElement.lang === 'zh_tw') {
document.documentElement.lang = 'zh-Hant'; document.documentElement.lang = 'zh-Hant-TW';
} }
//tab鍵按下 //tab鍵按下
$(document).on('keydown', function(e) { $(document).on('keydown', function(e) {
@ -711,20 +753,20 @@
$(this).attr("style", newStyle); $(this).attr("style", newStyle);
} }
}); });
//表格scope // //表格scope
$("table").each(function() { // $("table").each(function() {
$(this).find("tr").each(function(rowIndex) { // $(this).find("tr").each(function(rowIndex) {
$(this).find("th").each(function(colIndex) { // $(this).find("th").each(function(colIndex) {
if (rowIndex === 0) { // if (rowIndex === 0) {
// 第一列的 th適用於該欄 // // 第一列的 th適用於該欄
$(this).attr("scope", "col"); // $(this).attr("scope", "col");
} else if (colIndex === 0) { // } else if (colIndex === 0) {
// 其他列的第一個 th適用於該行 // // 其他列的第一個 th適用於該行
$(this).attr("scope", "row"); // $(this).attr("scope", "row");
} // }
}); // });
}); // });
}); // });
$(".banner-pager button").addClass('banner-pagerbtn'); $(".banner-pager button").addClass('banner-pagerbtn');
$(".banner-pager button").attr("type","button"); $(".banner-pager button").attr("type","button");
$(".banner-pager button").append('<span style="display: none;">下一張</span>'); $(".banner-pager button").append('<span style="display: none;">下一張</span>');
@ -844,7 +886,7 @@
var isLinkImage = $parentA.length > 0 && $parentA.text().replace(/\u00a0/g, '').trim() === ""; var isLinkImage = $parentA.length > 0 && $parentA.text().replace(/\u00a0/g, '').trim() === "";
// --- 1. 處理「裝飾性圖片」標註 --- // --- 1. 處理「裝飾性圖片」標註 ---
if (currentAlt === "announcement image" || currentAlt === "裝飾圖片" || currentTitle === "裝飾圖片" || currentAlt === "這是一張圖片" || currentTitle === "這是一張圖片") { if (currentAlt === "announcement image" || currentAlt === "裝飾圖片" || currentTitle === "裝飾圖片" || currentAlt === "這是一張圖片" || currentTitle === "這是一張圖片"||currentAlt === "This is a image" ||currentTitle === "This is a image"){
$img.attr('alt', ''); $img.attr('alt', '');
$img.removeAttr('title'); $img.removeAttr('title');
return; return;
@ -920,7 +962,7 @@ $(function() {
var urlParams = new URLSearchParams(window.location.search); var urlParams = new URLSearchParams(window.location.search);
var isEditMode = urlParams.get('editmode') === 'on'; var isEditMode = urlParams.get('editmode') === 'on';
var pageLang = $('html').attr('lang') || 'zh-Hant'; var pageLang = $('html').attr('lang') || 'zh-Hant-TW';
var isEn = pageLang.toLowerCase().startsWith('en'); var isEn = pageLang.toLowerCase().startsWith('en');
var i18n = { var i18n = {
@ -1009,8 +1051,7 @@ $(function() {
currentTitle.includes('Open in new window') || currentTitle.includes('Open in new window') ||
currentTitle.includes('/uploads/'); currentTitle.includes('/uploads/');
// 修正後:只有在沒有原始 title 時才清空 if (currentTitle.startsWith('/') || currentTitle.includes('?')) {
if (!hasOriginalTitle && (currentTitle.startsWith('/') || currentTitle.includes('?'))) {
currentTitle = ""; currentTitle = "";
} }
@ -1047,56 +1088,59 @@ $(function() {
} }
} }
// E. 重新計算標題 (關鍵邏輯:若 hasOriginalTitle 為真,則不進入此區塊) // E. 重新計算標題 (關鍵邏輯:若 hasOriginalTitle 為真,則不進入此區塊)
if (!hasOriginalTitle) { if (!hasOriginalTitle) {
if (linkText === "" && $img.length > 0) { if (linkText === "" && $img.length > 0) {
var rawAlt = ($img.attr('alt') || '').trim(); var rawAlt = ($img.attr('alt') || '').trim();
var forbidden = ['這是一張圖片', '圖片', 'image', 'photo', '圖', '']; var forbidden = ['這是一張圖片', '圖片', 'image', 'photo', '圖', ''];
var imgAlt = forbidden.some(function(txt) { return rawAlt.toLowerCase() === txt; }) var imgAlt = forbidden.some(function(txt) { return rawAlt.toLowerCase() === txt; })
? ($a.attr('aria-label') || i18n.link) : rawAlt; ? ($a.attr('aria-label') || i18n.link) : rawAlt;
var fileInfo = fileExt ? '[' + fileExt.toUpperCase() + '] ' : ''; var fileInfo = fileExt ? '[' + fileExt.toUpperCase() + '] ' : '';
$a.attr('title', (fileInfo + imgAlt + " " + windowTask).trim()); $a.attr('title', (fileInfo + imgAlt + " " + windowTask).trim());
$img.attr('alt', imgAlt); $img.attr('alt', imgAlt);
} }
else if (linkText !== "") { else if (linkText !== "") {
if (fileExt !== "" || hasBadSymbol || currentTitle === "" || currentTitle.includes('/uploads/')) { if (fileExt !== "" || hasBadSymbol || currentTitle === "" || currentTitle.includes('/uploads/')) {
if (fileExt !== "") { if (fileExt !== "") {
$a.attr('title', linkText + " ." + fileExt + " " + windowTask); $a.attr('title', linkText + " ." + fileExt + " " + windowTask);
} else { } else {
$a.attr('title', windowTask); $a.attr('title', windowTask);
}
} }
} }
} }
}
// ✅ 符合 HM1240404Etitle 不應與連結文字或圖片 alt 重複 // ✅ 符合 HM1240404Etitle 不應與連結文字或圖片 alt 重複
if (hasOriginalTitle && currentTitle !== "") { if (hasOriginalTitle && currentTitle !== "") {
var titleWithoutWindow = currentTitle var titleWithoutWindow = currentTitle
.replace('(在本視窗開啟)', '') .replace('(在本視窗開啟)', '')
.replace('(在新視窗開啟)', '') .replace('(在新視窗開啟)', '')
.replace('Open in this window', '') .replace('Open in this window', '')
.replace('Open in new window', '') .replace('Open in new window', '')
.replace('另開新視窗前往', '') .replace('另開新視窗前往', '')
.replace('另開新視窗', '') .replace('另開新視窗', '')
.trim(); .trim();
// ✅ title 去掉開窗字串後,若與連結文字或圖片原始 alt 相同,則只保留開窗提示 // ✅ title 去掉開窗字串後,若與連結文字或圖片原始 alt 相同,則只保留開窗提示
if ( // ✅ 新增:若 linkText 包含副檔名且 title 也是同樣檔名,也只保留開窗提示
(titleWithoutWindow === linkText && linkText !== i18n.link) || if (
(imgAltOriginal !== '' && titleWithoutWindow === imgAltOriginal) (titleWithoutWindow === linkText && linkText !== i18n.link) ||
) { (imgAltOriginal !== '' && titleWithoutWindow === imgAltOriginal) ||
$a.attr('title', windowTask); (fileExt !== '' && linkText.toLowerCase().endsWith('.' + fileExt) && titleWithoutWindow === linkText)
} ) {
$a.attr('title', windowTask);
// ✅ 最終清理:若 title 出現空括號 () 則移除並補上正確開窗提示 return; // ✅ 加上 return避免繼續執行後面的清理邏輯造成二次污染
var finalTitle = ($a.attr('title') || '').trim();
if (finalTitle.includes('()')) {
finalTitle = finalTitle.replace(/\(\)/g, '').trim();
$a.attr('title', finalTitle + ' ' + windowTask);
}
} }
// ✅ 最終清理:若 title 出現空括號 () 則移除並補上正確開窗提示
var finalTitle = ($a.attr('title') || '').trim();
if (finalTitle.includes('()')) {
finalTitle = finalTitle.replace(/\(\)/g, '').trim();
$a.attr('title', finalTitle + ' ' + windowTask);
}
}
// F. 最終清理:移除冗餘 label避免螢幕閱讀器唸兩次 // F. 最終清理:移除冗餘 label避免螢幕閱讀器唸兩次
$a.removeAttr('aria-label'); $a.removeAttr('aria-label');
}); });
@ -1130,6 +1174,47 @@ $(function() {
fixAccessibilityAll(); fixAccessibilityAll();
}, 800); }, 800);
}); });
// 修正漢堡選單按鈕無障礙
$(function() {
function fixNavbarToggleA11y() {
var isEn = $('html').attr('lang') === 'en';
var label = isEn ? '開啟或關閉導覽選單' : '開啟或關閉導覽選單';
$('.navbar-toggle').each(function() {
var $btn = $(this);
// 修正 title
$btn.attr('title', label);
// 修正 sr-only 文字(原本是 "Toggle navigation"
var $sr = $btn.find('.sr-only');
if ($sr.length) {
$sr.text(label);
} else {
$btn.prepend('<span class="sr-only">' + label + '</span>');
}
// 補上 aria-label
$btn.attr('aria-label', label);
// 補上 aria-expanded依據目前是否展開
if (!$btn.attr('aria-expanded')) {
var isExpanded = !$btn.hasClass('collapsed');
$btn.attr('aria-expanded', isExpanded ? 'true' : 'false');
}
// 點擊時同步更新 aria-expanded
$btn.off('click.navA11y').on('click.navA11y', function() {
setTimeout(function() {
var isExpanded = !$('.navbar-toggle').hasClass('collapsed');
$('.navbar-toggle').attr('aria-expanded', isExpanded ? 'true' : 'false');
}, 50);
});
});
}
setTimeout(fixNavbarToggleA11y, 500);
});
$(function() { $(function() {
@ -1651,17 +1736,32 @@ $(function() {
var key = getTabKey($currentTab); var key = getTabKey($currentTab);
var $visibleItems = getVisibleItems($scope, key); var $visibleItems = getVisibleItems($scope, key);
// Shift+Tab若是第一個連結跳回對應頁籤 // 找出當前類別的 .w-annc__more
var $more = $scope.find('.w-annc__more-wrap a, .w-annc__more').filter(':visible').first();
// Shift+Tab若在第一個連結跳回對應頁籤
if (e.which === 9 && e.shiftKey) { if (e.which === 9 && e.shiftKey) {
if ($currentLink.is($visibleItems.find('a').first())) { if ($currentLink.is($visibleItems.find('a').first())) {
e.preventDefault(); e.preventDefault();
$currentTab.focus(); $currentTab.focus();
} }
// Shift+Tab若在 .w-annc__more跳回最後一個公告連結
if ($more.length && $currentLink.is($more)) {
e.preventDefault();
$visibleItems.find('a').last().focus();
}
} }
// Tab若是最後一個連結跳到下一個頁籤並切換 // Tab在最後一個連結,跳到 .w-annc__more
if (e.which === 9 && !e.shiftKey) { if (e.which === 9 && !e.shiftKey) {
if ($currentLink.is($visibleItems.find('a').last())) { if ($currentLink.is($visibleItems.find('a').last())) {
if ($more.length) {
e.preventDefault();
$more.focus();
}
}
// Tab若在 .w-annc__more才跳到下一個頁籤
if ($more.length && $currentLink.is($more)) {
var $nextTab = $currentTab.next('.filter_tab'); var $nextTab = $currentTab.next('.filter_tab');
if ($nextTab.length > 0) { if ($nextTab.length > 0) {
e.preventDefault(); e.preventDefault();
@ -2019,29 +2119,31 @@ $(document).ready(function () {
}); });
$(document).ready(function () { //rucaptcha-image
$('.rucaptcha-image').removeAttr('onload'); $(document).ready(function () {
// >>> 修正:先確認頁面上真的有驗證碼圖片,再往下執行,避免沒有驗證碼的頁面也發出多餘的 wav 請求
// 檢查是否已插入過 if ($('.rucaptcha-image').length) {
if (!$('#captcha_audio').length) { $('.rucaptcha-image').removeAttr('onload');
const audioButton = $(` // 檢查是否已插入過
<button if (!$('#captcha_audio').length) {
title="播放驗證碼語音" const audioButton = $(`
type="button" <button
onclick="document.getElementById('captcha_audio').play();" title="播放驗證碼語音"
class="fas fa-volume-up" type="button"
aria-label="播放驗證碼語音" onclick="document.getElementById('captcha_audio').play();"
role="button" class="fas fa-volume-up"
style="font-size: 1.5em; color: #333; cursor: pointer; border: 2px solid #333; padding: 0.2em;"> aria-label="播放驗證碼語音"
<span class="sr-only">播放驗證碼語音</span> role="button"
</button> style="font-size: 1.5em; color: #333; cursor: pointer; border: 2px solid #333; padding: 0.2em;">
`); <span class="sr-only">播放驗證碼語音</span>
</button>
const audio = $('<audio id="captcha_audio" src="/rucaptcha/?format=wav&amp;locale=zh_tw"></audio>'); `);
const audio = $('<audio id="captcha_audio" src="/rucaptcha/?format=wav&amp;locale=zh_tw"></audio>');
$('.rucaptcha-image').after(audioButton, audio); $('.rucaptcha-image').after(audioButton, audio);
} }
}); }
// <<< 修正結束
});
//萬用表格searchbtn2 //萬用表格searchbtn2
$(document).ready(function () { $(document).ready(function () {
@ -2810,12 +2912,188 @@ $(document).ready(function () {
} }
}); });
}); });
$(document).ready(function () { //cycle2無障礙
setTimeout(function () { $(document).ready(function() {
$('iframe.twitter-share-button, iframe.twitter-tweet-button').each(function () { // 取得頁面上所有的 Cycle2 輪播圖
$(this).attr('title', '分享至 X 在新視窗開啟'); var $allSlideshows = $('.cycle-slideshow');
/**
* 核心無障礙狀態刷新函式
*/
function refreshCycleA11y($el) {
var $items = $el.find('.w-annc__item, .widget-link__item, [class*="cycle-slide"], .widget-pic');
$items.each(function() {
var $slide = $(this);
var isActive = $slide.hasClass('cycle-slide-active');
if (isActive) {
// ✅ li 只設 aria-hidden不加 tabindex
$slide.attr('aria-hidden', 'false');
$slide.removeAttr('tabindex'); // ← 確保 li 本身沒有 tabindex
$slide.find('a, button, input, [tabindex]').attr('tabindex', '0');
} else {
// 隱藏中的投影片:徹底隔離
$slide.attr('aria-hidden', 'true');
$slide.removeAttr('tabindex');
$slide.find('a, button, input, [tabindex]').attr('tabindex', '-1');
}
});
// --- 防鎖死邊界處理 (Shift + Tab) ---
var $container = $el.closest('.w-annc, .widget-link_wrapper, .widget-link');
var $prevBtn = $container.find('.btn-left, .prev-button');
$el.find('.cycle-slide-active a, .cycle-slide-active button').first()
.off('keydown.a11y').on('keydown.a11y', function(e) {
if (e.keyCode === 9 && e.shiftKey) {
if ($prevBtn.length) {
e.preventDefault();
$prevBtn.focus();
}
}
});
}
/**
* 針對 widget-link 非語意化標籤 ( i 標籤當按鈕) 的無障礙補強
*/
function refreshCycleA11y($el) {
var $items = $el.find('.w-annc__item, .widget-link__item, [class*="cycle-slide"]');
$items.each(function() {
var $slide = $(this);
var isActive = $slide.hasClass('cycle-slide-active');
if (isActive) {
// ✅ li 只設 aria-hidden不加 tabindex
$slide.attr('aria-hidden', 'false');
$slide.removeAttr('tabindex'); // ← 確保 li 本身沒有 tabindex
$slide.find('a, button, input, [tabindex]').attr('tabindex', '0');
} else {
// 隱藏中的投影片:徹底隔離
$slide.attr('aria-hidden', 'true');
$slide.removeAttr('tabindex');
$slide.find('a, button, input, [tabindex]').attr('tabindex', '-1');
}
});
// --- 防鎖死邊界處理 (Shift + Tab) ---
var $container = $el.closest('.w-annc, .widget-link_wrapper, .widget-link');
var $prevBtn = $container.find('.btn-left, .prev-button');
$el.find('.cycle-slide-active a, .cycle-slide-active button').first()
.off('keydown.a11y').on('keydown.a11y', function(e) {
if (e.keyCode === 9 && e.shiftKey) {
if ($prevBtn.length) {
e.preventDefault();
$prevBtn.focus();
}
}
});
}
// 輔助函式:切換後更新 A11y 狀態並鎖定焦點
function triggerPostUpdate($el, $activeBtn) {
$el.one('cycle-after', function() {
setTimeout(function() {
refreshCycleA11y($el);
$activeBtn.focus();
}, 300);
});
}
/**
* 舊有按鈕事件相容與整合
*/
$(document).on('keydown', '.btn-right, .btn-left', function(e) {
if (e.keyCode === 13) {
var $btn = $(this);
var $el = $btn.closest('.w-annc').find('.cycle-slideshow');
triggerPostUpdate($el, $btn);
}
}); });
}, 1500);
/**
* 綁定 Cycle2 核心事件
*/
$allSlideshows.on('cycle-initialized cycle-after', function() {
var $this = $(this);
setTimeout(function() {
refreshCycleA11y($this);
}, 300);
});
// 初始化執行
patchWidgetLinkElements();
$allSlideshows.each(function() {
var $this = $(this);
setTimeout(function() {
refreshCycleA11y($this);
}, 500);
});
});
//post
$(document).ready(function () {
setTimeout(function () {
var pageLang = ($('html').attr('lang') || 'zh-Hant').toLowerCase();
var isEn = pageLang.startsWith('en');
var title = isEn ? 'Share to X Open in new window' : '分享至 X 在新視窗開啟';
$('iframe.twitter-share-button, iframe.twitter-tweet-button').each(function () {
$(this).attr('title', title);
});
}, 1500);
});
$(function() {
function bindIframeFocus() {
var $iframe = $('.twitter-share-button');
if ($iframe.length === 0) return;
$iframe.each(function() {
var $wrap = $(this).closest('.tw-share-button');
// 讓外層可以被 tab 到並顯示焦點框
$wrap.attr('tabindex', '-1');
$(window).on('blur.twitterFocus', function() {
setTimeout(function() {
if (document.activeElement &&
$(document.activeElement).hasClass('twitter-share-button')) {
$wrap.css({
'outline': '3px solid #005fcc',
'outline-offset': '2px',
'border-radius': '2px'
});
}
}, 100);
});
$(window).on('focus.twitterFocus', function() {
$wrap.css({
'outline': '',
'outline-offset': ''
});
});
});
}
// 用 MutationObserver 等 iframe 被 Twitter script 插入後才綁定
var observer = new MutationObserver(function(mutations) {
if ($('.twitter-share-button').length > 0) {
bindIframeFocus();
observer.disconnect(); // 綁定成功後停止監聽
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
// 保險2秒後強制執行一次
setTimeout(bindIframeFocus, 1000);
}); });
//orbitbarlogo無障礙 //orbitbarlogo無障礙
$(function() { $(function() {
@ -2862,6 +3140,9 @@ $(function() {
var target = document.getElementById('gallery-theater-stage'); var target = document.getElementById('gallery-theater-stage');
if (!target) return; if (!target) return;
// 頁面載入時若已存在 #gallery-theater-stage則還原 z-index
$('.verticalhome').css('z-index', 'auto');
var observer = new MutationObserver(function() { var observer = new MutationObserver(function() {
var display = target.style.display; var display = target.style.display;
if (display === 'block') { if (display === 'block') {
@ -3004,4 +3285,82 @@ $(document).ready(function () {
// } // }
// }); // });
//banner英文
$(function() {
function fixBannerA11yByLang() {
setTimeout(function() {
var pageLang = ($('html').attr('lang') || 'zh-Hant').toLowerCase();
var isEn = pageLang.startsWith('en');
var i18n = {
playControls: isEn ? 'Playback Controls' : '播放控制選項',
resume: isEn ? 'Play' : '繼續播放',
pause: isEn ? 'Pause' : '暫停播放',
prev: isEn ? 'Previous' : '上一張',
next: isEn ? 'Next' : '下一張',
slide: isEn ? 'Slide' : '第',
slideUnit: isEn ? '' : ' 張投影片'
};
$('.w-ba-banner').each(function() {
var $banner = $(this);
// ✅ 播放控制選項 radiogroup label
$banner.find('.controlplay').attr('aria-label', i18n.playControls);
// ✅ 繼續播放按鈕
$banner.find('.resume-slide').attr({
'aria-label': i18n.resume,
'title': i18n.resume
});
$banner.find('.resume-slide p').text(i18n.resume);
// ✅ 暫停播放按鈕
$banner.find('.pause-slide').attr({
'aria-label': i18n.pause,
'title': i18n.pause
});
$banner.find('.pause-slide p').text(i18n.pause);
// ✅ 上一張按鈕
$banner.find('.prev-button').attr('aria-label', i18n.prev);
// ✅ 下一張按鈕
$banner.find('.next-button').attr('aria-label', i18n.next);
// ✅ Pager 按鈕
var $slides = $banner.find('.w-ba-banner__slide');
$banner.find('.banner-pager button').each(function(index) {
var slideTitle = $slides.eq(index).data('cycle-title') || '';
var ariaLabel = isEn
? i18n.slide + ' ' + (index + 1) + (slideTitle ? ' ' + slideTitle : '')
: i18n.slide + (index + 1) + i18n.slideUnit + (slideTitle ? ' ' + slideTitle : '');
$(this).attr({
'aria-label': ariaLabel,
'title': ariaLabel
});
});
});
// ✅ Cycle2 初始化後也重新處理 Pager因為 pager 是動態產生的)
$('.w-ba-banner .cycle-slideshow').on('cycle-post-initialize cycle-after', function() {
var $banner = $(this).closest('.w-ba-banner');
var $slides = $banner.find('.w-ba-banner__slide');
$banner.find('.banner-pager button').each(function(index) {
var slideTitle = $slides.eq(index).data('cycle-title') || '';
var ariaLabel = isEn
? i18n.slide + ' ' + (index + 1) + (slideTitle ? ' ' + slideTitle : '')
: i18n.slide + (index + 1) + i18n.slideUnit + (slideTitle ? ' ' + slideTitle : '');
$(this).attr({
'aria-label': ariaLabel,
'title': ariaLabel
});
});
});
}, 800);
}
fixBannerA11yByLang();
});
}(jQuery, window)); }(jQuery, window));

View File

@ -4,13 +4,21 @@
@import "variables"; @import "variables";
.fa-classic, .fa-regular, .fa-solid, .far, .fas ,.fa{ .fa-classic, .fa-regular, .fa-solid, .far, .fas ,.fa{
font-family: var(--fa-style-family, "FontAwesome"); font-family: "FontAwesome";
}
li#language-li {
@media(max-width:767px){
display: none !important;
}
} }
#orbit-bar .orbit-bar-inner > label:focus, #orbit-bar .orbit-bar-inner > label.focus{ #orbit-bar .orbit-bar-inner > label:focus, #orbit-bar .orbit-bar-inner > label.focus{
.orbit-bar-search-sign-language{ .orbit-bar-search-sign-language{
display: block display: block
} }
} }
#orbit-bar .orbit-bar-menu .orbit-bar-logo{
cursor: unset!important;
}
.login-btn:focus { .login-btn:focus {
outline: 0.3125em auto -webkit-focus-ring-color !important; outline: 0.3125em auto -webkit-focus-ring-color !important;
@ -23,16 +31,16 @@
} }
} }
} }
label[for="open-orbit-login"] { // label[for="open-orbit-login"] {
@media(max-width:768px){ // @media(max-width:768px){
display: none!important; // display: none!important;
} // }
} // }
[accesskey="U"],[accesskey="W"]{ // [accesskey="U"],[accesskey="W"]{
@media(max-width:768px){ // @media(max-width:768px){
color: #666!important; // color: #666!important;
} // }
} // }
.orbit-bar-inner{ .orbit-bar-inner{
[accesskey="U"]{ [accesskey="U"]{
height: 40px; height: 40px;
@ -211,6 +219,6 @@ img{
// overflow-x: auto; // overflow-x: auto;
// } // }
// } // }
*[data-pp]>.editmode-ps>a, .admin-subpart-area .content>.editmode-ps>a{ input[type=checkbox]:focus {
position: !important; outline: 0.3125em auto -webkit-focus-ring-color;
} }

View File

@ -1,6 +1,11 @@
@charset "utf-8"; @charset "utf-8";
@import "../initial"; @import "../initial";
.line-it-button{
.label{
color: #333!important;
}
}
.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9{ .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9{
@media(max-width: $screen-xs){ @media(max-width: $screen-xs){
padding: 0; padding: 0;

View File

@ -9,9 +9,11 @@
// Widget // Widget
// ## gerenral styles // ## gerenral styles
ul.button-mid{ .button-mid {
margin:0; position: absolute;
z-index: 201; width: 100%;
height: 0;
top: 50%;
} }
.banner-pager .active-slide button{ .banner-pager .active-slide button{
background: $theme-color-second!important; background: $theme-color-second!important;

View File

@ -2582,12 +2582,6 @@
.i-annc__entry-title { .i-annc__entry-title {
margin-bottom: 0; margin-bottom: 0;
margin-top: 0; margin-top: 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
// clear: both;
} }
.i-annc__title { .i-annc__title {
@ -2595,6 +2589,11 @@
color: $theme-color-main; color: $theme-color-main;
text-decoration: none; text-decoration: none;
@extend .i-title; @extend .i-title;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
overflow: hidden;
&:hover { &:hover {
color: $theme-color-second; color: $theme-color-second;
} }

View File

@ -147,18 +147,18 @@
.i-archive-title { .i-archive-title {
@extend .unity-title; @extend .unity-title;
} }
.link { background-color: #1368d4 !important; } /* 對比 4.6:1 */ .link { background-color: #1368d4 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.txt { background-color: #3a8a40 !important; } /* 對比 4.6:1 */ .txt { background-color: #2a7e31 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.xlsx { background-color: #9e3050 !important; } /* 對比 4.6:1 */ .xlsx { background-color: #9e3050 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.pdf { background-color: #2a7d36 !important; } /* 對比 4.6:1 */ .pdf { background-color: #2a7d36 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.docx { background-color: #5e46a0 !important; } /* 對比 4.6:1 */ .docx { background-color: #5e46a0 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.doc { background-color: #1368d4 !important; } /* 對比 4.6:1 */ .doc { background-color: #1368d4 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.pptx { background-color: #3d4aa0 !important; } /* 對比 4.6:1 */ .pptx { background-color: #3d4aa0 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.jpg { background-color: #8f3333 !important; } /* 對比 4.6:1 */ .jpg { background-color: #8f3333 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.zip { background-color: #8a6400 !important; } /* 對比 4.6:1 */ .zip { background-color: #8a6400 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.rar { background-color: #9e5000 !important; } /* 對比 4.6:1 */ .rar { background-color: #9e5000 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.xls { background-color: #3a8a40 !important; } /* 對比 4.6:1 */ .xls { background-color: #2a7e31 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.odt { background-color: #767676 !important; } /* 對比 4.6:1 */ .odt { background-color: #767676 !important; margin-left: 0.5em; } /* 對比 4.6:1 */
.table>caption+thead>tr:first-child>td, .table>caption+thead>tr:first-child>th, .table>colgroup+thead>tr:first-child>td, .table>colgroup+thead>tr:first-child>th, .table>thead:first-child>tr:first-child>td, .table>thead:first-child>tr:first-child>th{ .table>caption+thead>tr:first-child>td, .table>caption+thead>tr:first-child>th, .table>colgroup+thead>tr:first-child>td, .table>colgroup+thead>tr:first-child>th, .table>thead:first-child>tr:first-child>td, .table>thead:first-child>tr:first-child>th{
// border-top: 0.0625em solid #ddd; // border-top: 0.0625em solid #ddd;
} }

View File

@ -77,3 +77,23 @@
}); });
}); });
</script> </script>
<style type="text/css">
.w-ba-banner .controlplay .resume-slide.active i{
color: #32D9C3;
}
.w-ba-banner .controlplay .pause-slide.active i{
color: #ff4500;
}
.w-ba-banner .controlplay{
width: auto;
}
.w-ba-banner .button-mid{
position: absolute;
width: 100%;
height: 0;
top: 50%;
}
.next-button,.prev-button{
cursor: pointer;
}
</style>

View File

@ -7,7 +7,7 @@
<div class="w-annc__img-wrap "> <div class="w-annc__img-wrap ">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__meta"> <div class="w-annc__meta">

View File

@ -27,7 +27,7 @@
<li class="w-annc__item " > <li class="w-annc__item " >
<div class="w-annc__img-wrap bullseye" style="position:relative"> <div class="w-annc__img-wrap bullseye" style="position:relative">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -22,7 +22,7 @@
<div class="w-annc__item"> <div class="w-annc__item">
<div class="w-annc__img-wrap"> <div class="w-annc__img-wrap">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="w-annc__content-wrap"> <div class="w-annc__content-wrap">
<div class="w-annc__meta"> <div class="w-annc__meta">

View File

@ -9,7 +9,7 @@
<li class="w-annc__item col-sm-4"> <li class="w-annc__item col-sm-4">
<div class="w-annc__img-wrap"> <div class="w-annc__img-wrap">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__content-wrap"> <div class="w-annc__content-wrap">

View File

@ -6,7 +6,7 @@
<li class="w-annc__item row"> <li class="w-annc__item row">
<div class="w-annc__img-wrap col-sm-4 bullseye"> <div class="w-annc__img-wrap col-sm-4 bullseye">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__content-wrap col-sm-8"> <div class="w-annc__content-wrap col-sm-8">

View File

@ -9,7 +9,7 @@
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye" > <div class="w-annc__img-wrap bullseye" >
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -27,7 +27,7 @@
<li class="w-annc__item"> <li class="w-annc__item">
<div class="w-annc__img-wrap bullseye" > <div class="w-annc__img-wrap bullseye" >
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -7,7 +7,7 @@
<div class="w-annc__img-wrap "> <div class="w-annc__img-wrap ">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__meta"> <div class="w-annc__meta">

View File

@ -9,7 +9,7 @@
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye" > <div class="w-annc__img-wrap bullseye" >
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -29,7 +29,7 @@
<li class="w-annc__item"> <li class="w-annc__item">
<div class="w-annc__img-wrap bullseye" > <div class="w-annc__img-wrap bullseye" >
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -7,7 +7,7 @@
<div class="w-annc__img-wrap "> <div class="w-annc__img-wrap ">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__content-wrap card"> <div class="w-annc__content-wrap card">

View File

@ -24,7 +24,7 @@
<p class="w-annc__subtitle">{{subtitle}}</p> <p class="w-annc__subtitle">{{subtitle}}</p>
</div> </div>
<div class="w-annc__img-wrap col-sm-4 bullseye"> <div class="w-annc__img-wrap col-sm-4 bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
</li> </li>
</ul> </ul>

View File

@ -9,7 +9,7 @@
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye" style="position:relative"> <div class="w-annc__img-wrap bullseye" style="position:relative">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -3,7 +3,7 @@
<ul class="i-annc__list row" data-level="0" data-list="announcements"> <ul class="i-annc__list row" data-level="0" data-list="announcements">
<li class="i-annc__item rotate0"> <li class="i-annc__item rotate0">
<div class="i-annc__img-wrap bullseye"> <div class="i-annc__img-wrap bullseye">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}"> <a href="{{link_to_show}}" title="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</a> </a>
</div> </div>

View File

@ -2,9 +2,9 @@
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3> <h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
<ul class="i-annc__list row" data-level="0" data-list="announcements"> <ul class="i-annc__list row" data-level="0" data-list="announcements">
<li class="i-annc__item col-md-3 col-sm-3"> <li class="i-annc__item col-md-3 col-sm-3">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}"> <a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap bullseye"> <div class="i-annc__img-wrap bullseye">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}"> <img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="i-annc__content-wrap"> <div class="i-annc__content-wrap">
<div class="i-annc__meta"> <div class="i-annc__meta">

View File

@ -2,10 +2,10 @@
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3> <h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
<ul class="i-annc__list" data-level="0" data-list="announcements"> <ul class="i-annc__list" data-level="0" data-list="announcements">
<li class="i-annc__item row"> <li class="i-annc__item row">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}"> <a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap col-sm-4"> <div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}"> <img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="i-annc__content-wrap col-sm-8"> <div class="i-annc__content-wrap col-sm-8">

View File

@ -2,7 +2,7 @@
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3> <h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
<ul class="i-annc__list" data-level="0" data-list="announcements"> <ul class="i-annc__list" data-level="0" data-list="announcements">
<li class="i-annc__item row"> <li class="i-annc__item row">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}"> <a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__content-wrap col-sm-8"> <div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta"> <div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1"> <span class="i-annc__status-wrap" data-list="statuses" data-level="1">
@ -23,7 +23,7 @@
<p class="i-annc__subtitle">{{subtitle}}</p> <p class="i-annc__subtitle">{{subtitle}}</p>
</div> </div>
<div class="i-annc__img-wrap col-sm-4"> <div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}"> <img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
</a> </a>
</li> </li>

View File

@ -18,8 +18,7 @@
<div class="panel-body"> <div class="panel-body">
<ul class="i-archive-files-list" data-list="files" data-level="2"> <ul class="i-archive-files-list" data-list="files" data-level="2">
<li> <li>
<a href="{{file-url}}" class="i-archive-files-item" target="{{target}}" title="{{file-name}}">{{file-name}}</a> <a href="{{file-url}}" class="i-archive-files-item" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary {{file-type}}">{{file-type}}</span></a>
<span class="label label-primary {{file-type}}">{{file-type}}</span>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -5,7 +5,7 @@
<ul class="w-annc__list" data-level="0" data-list="custom_announcements"> <ul class="w-annc__list" data-level="0" data-list="custom_announcements">
<li class="w-annc__item"> <li class="w-annc__item">
<div class="w-annc__img-wrap bullseye"> <div class="w-annc__img-wrap bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="w-annc__meta"> <div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1"> <span class="w-annc__status-wrap" data-list="statuses" data-level="1">

View File

@ -12,7 +12,7 @@
<ul class="w-annc__list row" data-level="0" data-list="custom_announcements"> <ul class="w-annc__list row" data-level="0" data-list="custom_announcements">
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye"> <div class="w-annc__img-wrap bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="w-annc__content-wrap"> <div class="w-annc__content-wrap">
<div class="w-annc__meta"> <div class="w-annc__meta">

View File

@ -27,7 +27,7 @@
<div class="w-annc__item"> <div class="w-annc__item">
<div class="w-annc__img-wrap"> <div class="w-annc__img-wrap">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="w-annc__content-wrap"> <div class="w-annc__content-wrap">
<div class="w-annc__meta"> <div class="w-annc__meta">

View File

@ -9,7 +9,7 @@
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap"> <div class="w-annc__img-wrap">
<a href="{{link_to_show}}" title="{{title}}"> <a href="{{link_to_show}}" title="{{title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__content-wrap"> <div class="w-annc__content-wrap">

View File

@ -5,7 +5,7 @@
<ul class="w-annc__list" data-level="0" data-list="custom_announcements"> <ul class="w-annc__list" data-level="0" data-list="custom_announcements">
<li class="w-annc__item row"> <li class="w-annc__item row">
<div class="w-annc__img-wrap col-sm-4 bullseye"> <div class="w-annc__img-wrap col-sm-4 bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="w-annc__content-wrap col-sm-8"> <div class="w-annc__content-wrap col-sm-8">
<div class="w-annc__meta"> <div class="w-annc__meta">

View File

@ -24,7 +24,7 @@
<p class="w-annc__subtitle">{{subtitle}}</p> <p class="w-annc__subtitle">{{subtitle}}</p>
</div> </div>
<div class="w-annc__img-wrap col-sm-4 bullseye"> <div class="w-annc__img-wrap col-sm-4 bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
</li> </li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<ul class="w-annc__list row" data-level="0" data-list="custom_announcements"> <ul class="w-annc__list row" data-level="0" data-list="custom_announcements">
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye"> <div class="w-annc__img-wrap bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="w-annc__content-wrap"> <div class="w-annc__content-wrap">
<div class="w-annc__meta"> <div class="w-annc__meta">

View File

@ -6,7 +6,7 @@
<div class="index-content col-xs-4 col-sm-3"> <div class="index-content col-xs-4 col-sm-3">
<div class="index-content-inner"> <div class="index-content-inner">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
<section class="index-part"> <section class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">

View File

@ -6,7 +6,7 @@
<div class="index-content col-xs-4 col-sm-3"> <div class="index-content col-xs-4 col-sm-3">
<div class="index-content-inner"> <div class="index-content-inner">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
<section class="index-part"> <section class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">

View File

@ -6,7 +6,7 @@
<li class="w-annc__item"> <li class="w-annc__item">
<div class="w-annc__img-wrap bullseye"> <div class="w-annc__img-wrap bullseye">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__meta"> <div class="w-annc__meta">

View File

@ -24,7 +24,7 @@
<li class="w-annc__item"> <li class="w-annc__item">
<div class="w-annc__img-wrap bullseye" style="position:relative"> <div class="w-annc__img-wrap bullseye" style="position:relative">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -6,7 +6,7 @@
<li class="w-annc__item row"> <li class="w-annc__item row">
<div class="w-annc__img-wrap col-sm-4 bullseye"> <div class="w-annc__img-wrap col-sm-4 bullseye">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__content-wrap col-sm-8"> <div class="w-annc__content-wrap col-sm-8">

View File

@ -6,7 +6,7 @@
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye" > <div class="w-annc__img-wrap bullseye" >
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -24,7 +24,7 @@
<li class="w-annc__item"> <li class="w-annc__item">
<div class="w-annc__img-wrap bullseye" > <div class="w-annc__img-wrap bullseye" >
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -21,7 +21,7 @@
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye"> <div class="w-annc__img-wrap bullseye">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a> </a>
</div> </div>
<div class="w-annc__content-wrap"> <div class="w-annc__content-wrap">

View File

@ -24,7 +24,7 @@
<p class="w-annc__subtitle">{{subtitle}}</p> <p class="w-annc__subtitle">{{subtitle}}</p>
</div> </div>
<div class="w-annc__img-wrap col-sm-4 bullseye"> <div class="w-annc__img-wrap col-sm-4 bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
</li> </li>
</ul> </ul>

View File

@ -9,7 +9,7 @@
<li class="w-annc__item col-md-4"> <li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye" style="position:relative"> <div class="w-annc__img-wrap bullseye" style="position:relative">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}"> <a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
<div class="transitionfade"></div> <div class="transitionfade"></div>
</a> </a>
</div> </div>

View File

@ -4,7 +4,7 @@
<li class="i-annc__item row"> <li class="i-annc__item row">
<a href="{{link_to_show}}" title="{{img_description}}"> <a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap col-sm-4"> <div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}"> <img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="i-annc__content-wrap col-sm-8"> <div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta"> <div class="i-annc__meta">

View File

@ -23,7 +23,7 @@
<p class="i-annc__subtitle">{{subtitle}}</p> <p class="i-annc__subtitle">{{subtitle}}</p>
</div> </div>
<div class="i-annc__img-wrap col-sm-4"> <div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}"> <img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
</a> </a>
</li> </li>

View File

@ -4,7 +4,7 @@
<li class="i-annc__item col-md-4"> <li class="i-annc__item col-md-4">
<a href="{{link_to_show}}" title="{{img_description}}"> <a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap bullseye" style="position:relative"> <div class="i-annc__img-wrap bullseye" style="position:relative">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}"> <img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="i-annc__content-wrap"> <div class="i-annc__content-wrap">
<div class="i-annc__meta"> <div class="i-annc__meta">

View File

@ -4,15 +4,16 @@
</h3> </h3>
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;"> <div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content col-sm-3"> <div class="index-content col-sm-3">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">
<div class="index-content-inner"> <div class="index-content-inner">
<a href="{{link_to_show}}" title="{{album-name}}">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
</a> </a>
<div class="index-part"> <div class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
<div class="index-img-description">{{album-description}}</div> <div class="index-img-description">{{album-description}}</div>
</div> </div>

View File

@ -5,14 +5,14 @@
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;"> <div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content"> <div class="index-content">
<div class="index-content-inner clearfix row"> <div class="index-content-inner clearfix row">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<div class="index-pic col-xs-5 col-sm-2"> <div class="index-pic col-xs-5 col-sm-2">
<img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}">
</div> </div>
</a> </a>
<div class="index-part col-xs-7 col-sm-10"> <div class="index-part col-xs-7 col-sm-10">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
<div class="index-img-description">{{album-description}}</div> <div class="index-img-description">{{album-description}}</div>
</div> </div>

View File

@ -4,15 +4,15 @@
</h3> </h3>
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;"> <div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content col-sm-3"> <div class="index-content col-sm-3">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<div class="index-content-inner"> <div class="index-content-inner">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
</a> </a>
<div class="index-part"> <div class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
</div> </div>
</div> </div>

View File

@ -5,14 +5,14 @@
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;"> <div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content"> <div class="index-content">
<div class="index-content-inner clearfix row"> <div class="index-content-inner clearfix row">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<div class="index-pic col-xs-5 col-sm-2"> <div class="index-pic col-xs-5 col-sm-2">
<img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}">
</div> </div>
</a> </a>
<div class="index-part col-xs-7 col-sm-10"> <div class="index-part col-xs-7 col-sm-10">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
</div> </div>

View File

@ -8,11 +8,11 @@
<div class="card-front"> <div class="card-front">
<div class="card-body" style="padding:0;"> <div class="card-body" style="padding:0;">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<img src="{{thumb-src}}"alt="{{alt_title}}"> <img src="{{thumb-src}}"alt="{{alt_title}}">
</a> </a>
<div class="card-footer"> <div class="card-footer">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<h3 class="card-title">{{album-name}}</h3> <h3 class="card-title">{{album-name}}</h3>
</a> </a>
</div> </div>

View File

@ -6,14 +6,14 @@
<div class="index-content col-sm-3"> <div class="index-content col-sm-3">
<div class="index-content-inner"> <div class="index-content-inner">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}"> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">
<div class="index-pic"> <div class="index-pic">
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}"> <img class="img-thumbnail" src="{{thumb-src}}" alt="{{album-name}}">
</div> </div>
</a> </a>
<section class="index-part"> <section class="index-part">
<h4 class="index-content-title"> <h4 class="index-content-title">
<a href="{{link_to_show}}" aria-label="前往{{page-title}}" title="{{page-title}}">{{album-name}}</a> <a href="{{link_to_show}}" aria-label="前往{{album-name}}" title="{{album-name}}">{{album-name}}</a>
</h4> </h4>
</section> </section>
</div> </div>

View File

@ -8,7 +8,7 @@
<div class="i-member-item-inner clearfix"> <div class="i-member-item-inner clearfix">
<div class="i-member-pic-wrap col-sm-3"> <div class="i-member-pic-wrap col-sm-3">
<a href="{{link_to_show}}" title="{{name}}"> <a href="{{link_to_show}}" title="{{name}}">
<img class="i-member-pic img-thumbnail" src="{{image}}" title="{{name}}"> <img class="i-member-pic img-thumbnail" src="{{image}}" alt="{{name}}">
</a> </a>
</div> </div>
<div class="i-member-profile-data-wrap col-sm-9"> <div class="i-member-profile-data-wrap col-sm-9">

View File

@ -8,7 +8,7 @@
<div class="i-member-item-inner clearfix"> <div class="i-member-item-inner clearfix">
<div class="i-member-pic-wrap col-sm-4 col-xs-4"> <div class="i-member-pic-wrap col-sm-4 col-xs-4">
<a href="{{link_to_show}}" title="{{name}}"> <a href="{{link_to_show}}" title="{{name}}">
<img class="i-member-pic" src="{{image}}" title="{{name}}"> <img class="i-member-pic" src="{{image}}" alt="{{name}}">
</a> </a>
</div> </div>
<div class="i-member-profile-data-wrap col-sm-8 col-xs-8"> <div class="i-member-profile-data-wrap col-sm-8 col-xs-8">

View File

@ -8,7 +8,7 @@
<div class="i-member-item-inner clearfix"> <div class="i-member-item-inner clearfix">
<div class="i-member-pic-wrap"> <div class="i-member-pic-wrap">
<a href="{{link_to_show}}" title="{{name}}"> <a href="{{link_to_show}}" title="{{name}}">
<img class="i-member-pic" src="{{image}}" title="{{name}}"> <img class="i-member-pic" src="{{image}}" alt="{{name}}">
</a> </a>
</div> </div>
<div class="i-member-profile-data-wrap"> <div class="i-member-profile-data-wrap">

View File

@ -8,7 +8,7 @@
<div class="i-member-item-inner clearfix"> <div class="i-member-item-inner clearfix">
<div class="i-member-pic-wrap"> <div class="i-member-pic-wrap">
<a href="{{link_to_show}}" title="{{name}}"> <a href="{{link_to_show}}" title="{{name}}">
<img class="i-member-pic" src="{{image}}" title="{{name}}"> <img class="i-member-pic" src="{{image}}" alt="{{name}}">
</a> </a>
</div> </div>
<div class="i-member-profile-data-wrap"> <div class="i-member-profile-data-wrap">

View File

@ -10,7 +10,7 @@
<div class="i-member-item-inner clearfix"> <div class="i-member-item-inner clearfix">
<div class="i-member-pic-wrap"> <div class="i-member-pic-wrap">
<a href="{{link_to_show}}" title="{{name}}"> <a href="{{link_to_show}}" title="{{name}}">
<img class="i-member-pic" src="{{image}}" title="{{name}}"> <img class="i-member-pic" src="{{image}}" alt="{{name}}">
</a> </a>
</div> </div>

View File

@ -13,12 +13,11 @@
white-space: nowrap; white-space: nowrap;
} }
.universal-th-text{ .universal-th-text{
overflow: hidden; overflow: hidden;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
white-space: normal; white-space: pre !important;
} }
.universal-dropdown-menu { .universal-dropdown-menu {
padding: 15px 18px; padding: 15px 18px;
white-space: nowrap; white-space: nowrap;

View File

@ -6,7 +6,7 @@
<li class="widget-content"> <li class="widget-content">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a> <a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1"> <span data-list="statuses" data-level="1">

View File

@ -6,7 +6,7 @@
<li class="widget-content"> <li class="widget-content">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}">
</div> </div>
</a> </a>
</li> </li>

View File

@ -6,7 +6,7 @@
<li class="widget-content widget-content-horizontal col-sm-3"> <li class="widget-content widget-content-horizontal col-sm-3">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="widget-content-title"> <div class="widget-content-title">
<span class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</span> <span class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</span>

View File

@ -6,7 +6,7 @@
<li class="widget-content widget-content-horizontal "> <li class="widget-content widget-content-horizontal ">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}">
</div> </div>
</a> </a>
<div class="widget-content-title"> <div class="widget-content-title">

View File

@ -6,14 +6,15 @@
<li class="widget-content widget-content-horizontal col-sm-6"> <li class="widget-content widget-content-horizontal col-sm-6">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<div class="widget-content-title"> <div class="widget-content-title">
<a class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a> <span>{{title}}</span>
<span data-list="statuses" data-level="1"> <span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span> <span class="label status {{status-class}}">{{status}}</span>
</span> </span>
</div> </div>
</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -7,9 +7,9 @@
<div class="hex-border"> <div class="hex-border">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a> <a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}" onclick="{{onclick}}">{{title}}</a>
<span data-list="statuses" data-level="1"> <span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span> <span class="label status {{status-class}}">{{status}}</span>
</span> </span>

View File

@ -6,7 +6,7 @@
<li class="index-content"> <li class="index-content">
<a class="index-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a class="index-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<h4> <h4>
{{title}} {{title}}

View File

@ -6,7 +6,7 @@
<li class="index-content col-md-4 col-sm-4"> <li class="index-content col-md-4 col-sm-4">
<a class="index-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a class="index-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}">
</div> </div>
<h4> <h4>
<span class="link-title"> <span class="link-title">