This commit is contained in:
ken 2026-08-07 17:45:21 +08:00
parent 4c7c7ba404
commit 93f6d0e7fc
29 changed files with 249 additions and 392 deletions

View File

@ -1194,56 +1194,59 @@ $(function() {
}
}
// E. 重新計算標題 (關鍵邏輯:若 hasOriginalTitle 為真,則不進入此區塊)
if (!hasOriginalTitle) {
if (linkText === "" && $img.length > 0) {
var rawAlt = ($img.attr('alt') || '').trim();
var forbidden = ['這是一張圖片', '圖片', 'image', 'photo', '圖', ''];
var imgAlt = forbidden.some(function(txt) { return rawAlt.toLowerCase() === txt; })
? ($a.attr('aria-label') || i18n.link) : rawAlt;
var fileInfo = fileExt ? '[' + fileExt.toUpperCase() + '] ' : '';
$a.attr('title', (fileInfo + imgAlt + " " + windowTask).trim());
$img.attr('alt', imgAlt);
}
else if (linkText !== "") {
if (fileExt !== "" || hasBadSymbol || currentTitle === "" || currentTitle.includes('/uploads/')) {
if (fileExt !== "") {
$a.attr('title', linkText + " ." + fileExt + " " + windowTask);
} else {
$a.attr('title', windowTask);
}
// E. 重新計算標題 (關鍵邏輯:若 hasOriginalTitle 為真,則不進入此區塊)
if (!hasOriginalTitle) {
if (linkText === "" && $img.length > 0) {
var rawAlt = ($img.attr('alt') || '').trim();
var forbidden = ['這是一張圖片', '圖片', 'image', 'photo', '圖', ''];
var imgAlt = forbidden.some(function(txt) { return rawAlt.toLowerCase() === txt; })
? ($a.attr('aria-label') || i18n.link) : rawAlt;
var fileInfo = fileExt ? '[' + fileExt.toUpperCase() + '] ' : '';
$a.attr('title', (fileInfo + imgAlt + " " + windowTask).trim());
$img.attr('alt', imgAlt);
}
else if (linkText !== "") {
if (fileExt !== "" || hasBadSymbol || currentTitle === "" || currentTitle.includes('/uploads/')) {
if (fileExt !== "") {
$a.attr('title', linkText + " ." + fileExt + " " + windowTask);
} else {
$a.attr('title', windowTask);
}
}
}
}
// ✅ 符合 HM1240404E:title 不應與連結文字或圖片 alt 重複
if (hasOriginalTitle && currentTitle !== "") {
var titleWithoutWindow = currentTitle
.replace('(在本視窗開啟)', '')
.replace('(在新視窗開啟)', '')
.replace('Open in this window', '')
.replace('Open in new window', '')
.replace('另開新視窗前往', '')
.replace('另開新視窗', '')
.trim();
// ✅ 符合 HM1240404E:title 不應與連結文字或圖片 alt 重複
if (hasOriginalTitle && currentTitle !== "") {
var titleWithoutWindow = currentTitle
.replace('(在本視窗開啟)', '')
.replace('(在新視窗開啟)', '')
.replace('Open in this window', '')
.replace('Open in new window', '')
.replace('另開新視窗前往', '')
.replace('另開新視窗', '')
.trim();
// ✅ title 去掉開窗字串後,若與連結文字或圖片原始 alt 相同,則只保留開窗提示
if (
(titleWithoutWindow === linkText && linkText !== i18n.link) ||
(imgAltOriginal !== '' && titleWithoutWindow === imgAltOriginal)
) {
$a.attr('title', windowTask);
}
// ✅ 最終清理:若 title 出現空括號 () 則移除並補上正確開窗提示
var finalTitle = ($a.attr('title') || '').trim();
if (finalTitle.includes('()')) {
finalTitle = finalTitle.replace(/\(\)/g, '').trim();
$a.attr('title', finalTitle + ' ' + windowTask);
}
// ✅ title 去掉開窗字串後,若與連結文字或圖片原始 alt 相同,則只保留開窗提示
// ✅ 新增:若 linkText 包含副檔名且 title 也是同樣檔名,也只保留開窗提示
if (
(titleWithoutWindow === linkText && linkText !== i18n.link) ||
(imgAltOriginal !== '' && titleWithoutWindow === imgAltOriginal) ||
(fileExt !== '' && linkText.toLowerCase().endsWith('.' + fileExt) && titleWithoutWindow === linkText)
) {
$a.attr('title', windowTask);
return; // ✅ 加上 return,避免繼續執行後面的清理邏輯造成二次污染
}
// ✅ 最終清理:若 title 出現空括號 () 則移除並補上正確開窗提示
var finalTitle = ($a.attr('title') || '').trim();
if (finalTitle.includes('()')) {
finalTitle = finalTitle.replace(/\(\)/g, '').trim();
$a.attr('title', finalTitle + ' ' + windowTask);
}
}
// F. 最終清理:移除冗餘 label,避免螢幕閱讀器唸兩次
$a.removeAttr('aria-label');
});
@ -2981,17 +2984,17 @@ $(function() {
$("iframe[src*='google']").attr('title','googleOauth');
});
//tabtitle位置
$(document).ready(function() {
$('.w-annc .w-annc__widget-title').each(function() {
var $title = $(this);
var $tabs = $title.find('.nav-tabs, .tab_nav, .nav_tabs_filter');
// //tabtitle位置
// $(document).ready(function() {
// $('.w-annc .w-annc__widget-title').each(function() {
// var $title = $(this);
// var $tabs = $title.find('.nav-tabs, .tab_nav, .nav_tabs_filter');
if ($tabs.length) {
$tabs.insertAfter($title);
}
});
});
// if ($tabs.length) {
// $tabs.insertAfter($title);
// }
// });
// });
//會員信箱a
$(document).ready(function() {
$('.member-data-value-6 a[href^="mailto:"]').each(function() {
@ -3478,7 +3481,8 @@ $(document).ready(function () {
function removeHiddenContentLinks() {
// 若網址含有 editmode=on 則不執行
if (window.location.href.indexOf('editmode=on') !== -1) return;
// 排除 gallery view 連結,由 fixGalleryViewLinkA11y 處理
if ($link.hasClass('view')) return;
$('a').each(function () {
var $link = $(this);
@ -3551,6 +3555,130 @@ setTimeout(function() {
}
}, 600);
$(document).ready(function () {
$('.widget-breadcrumb .breadcrumb li:last-child a').attr('aria-current', 'page');
// 若尚未有 nav 包住,自動加上
$('.widget-breadcrumb .breadcrumb').each(function () {
if (!$(this).closest('nav').length) {
$(this).wrap('<nav aria-label="麵包屑導覽"></nav>');
}
});
});
//會員tab邏輯
$(document).ready(function () {
setTimeout(function () {
$('.dtr-control').removeAttr('tabindex');
}, 500);
});
function fixTabKeyboardNav() {
setTimeout(function () {
var $tablist = $('.member-plugins[role="tablist"]');
var $tabs = $tablist.find('a[role="tab"]');
// 初始化 roving tabindex 和 aria-selected
$tabs.each(function (i) {
var $tab = $(this);
var isActive = $tab.closest('li').hasClass('active');
$tab.attr({
'tabindex': isActive ? '0' : '-1',
'aria-selected': isActive ? 'true' : 'false'
});
});
// 方向鍵切換頁籤
$tabs.on('keydown', function (e) {
var $current = $(this);
var currentIndex = $tabs.index($current);
var $target;
if (e.keyCode === 39 || e.keyCode === 40) {
// 右鍵或下鍵:下一個
e.preventDefault();
$target = $tabs.eq((currentIndex + 1) % $tabs.length);
} else if (e.keyCode === 37 || e.keyCode === 38) {
// 左鍵或上鍵:上一個
e.preventDefault();
$target = $tabs.eq((currentIndex - 1 + $tabs.length) % $tabs.length);
} else if (e.keyCode === 36) {
// Home:第一個
e.preventDefault();
$target = $tabs.first();
} else if (e.keyCode === 35) {
// End:最後一個
e.preventDefault();
$target = $tabs.last();
} else {
return;
}
// 更新 roving tabindex 和 aria-selected
$tabs.attr({ 'tabindex': '-1', 'aria-selected': 'false' });
$target.attr({ 'tabindex': '0', 'aria-selected': 'true' });
$target.focus().trigger('click');
});
// 點擊頁籤時同步更新狀態
$tabs.on('click', function () {
$tabs.attr({ 'tabindex': '-1', 'aria-selected': 'false' });
$(this).attr({ 'tabindex': '0', 'aria-selected': 'true' });
});
}, 500);
}
$(document).ready(function () {
fixTabKeyboardNav();
});
function removeBareUrlLinks() {
setTimeout(function() {
$('.dataTables_wrapper a').each(function() {
var $a = $(this);
var text = $a.text().trim();
if (/^https?:\/\//i.test(text)) {
$a.replaceWith(text);
}
});
}, 500);
}
$(document).ready(function() {
removeBareUrlLinks();
});
//麵包屑無障礙
$(document).ready(function () {
$('.widget-breadcrumb .breadcrumb li:last-child a').attr('aria-current', 'page');
// 若尚未有 nav 包住,自動加上
$('.widget-breadcrumb .breadcrumb').each(function () {
if (!$(this).closest('nav').length) {
$(this).wrap('<nav aria-label="麵包屑導覽"></nav>');
}
});
});
//gallery view
function fixGalleryViewLinkA11y() {
$('a.btn.view').each(function () {
var $a = $(this);
$a.find('span').each(function () {
var $span = $(this);
// 避免重複處理
if ($span.hasClass('sr-only')) return;
var style = $span.attr('style') || '';
if (style.indexOf('display: none') !== -1 || style.indexOf('display:none') !== -1) {
$span.removeAttr('style').addClass('sr-only');
}
});
$a.find('i, svg').attr('aria-hidden', 'true');
});
}
$(document).ready(function () {
// 比 fixAccessibilityAll 的 800ms 晚,確保最後執行
setTimeout(fixGalleryViewLinkA11y, 2000);
});
}(jQuery, window));

View File

@ -254,11 +254,11 @@ a[href="/en/sitemap"]{
.site-logo {
margin-right: 0.5em;
float: left;
height: 70px;
height: 50px;
padding-right: 0.5em;
width: auto!important;
@media(min-width: 1024px){
height: 70px;
height: 50px;
}
@media(max-width: $screen-xs){
height: 45px;

View File

@ -2282,9 +2282,6 @@
.w-annc__title{
white-space: normal;
}
.cycle-carousel-wrap{
display: flex;
}
.w-annc__th{
white-space: nowrap;
@media(max-width: $screen-xs){
@ -2302,8 +2299,6 @@
}
.w-annc__list {
justify-content: center;
display: flex;
@media(max-width: 768px){
align-items: baseline;
}
@ -2317,6 +2312,8 @@
overflow: hidden;
}
.w-annc__item{
vertical-align: top;
.w-annc__content-wrap{
padding: 30px 40px!important;
margin-bottom: 1em;
margin-top: 1em;
@ -2326,21 +2323,9 @@
margin-right: 0.5em;
margin-left: 0.5em;
height: 14em;
@media(min-width: $screen-lg){
width:582px !important;
}
@media(max-width: 1025px)and(min-width: 821px){
width: 30.5vw !important;
}
@media(max-width: 820px)and(min-width: $screen-xs){
width: 356px!important;
}
@media (max-width: $screen-xs) {
width: 89vw !important;
margin-left: 0.5em !important;
margin-right: 0.5em !important;
}
}
}
}
// widget-23

View File

@ -206,13 +206,13 @@
width: 100%;
padding: 0;
align-items: center;
@media (min-width:769px)and(max-width: 1024px){
@media (min-width:769px)and(max-width: 1200px){
display: flex;
flex-wrap: wrap;
padding: 0;
width: 100%;
}
@media (min-width:1025px) {
@media (min-width:1201px) {
margin: 0;
list-style: none;
display: flex;
@ -281,7 +281,7 @@
display: block;
padding: 1em 0.8em;
font-family: $main-font;
font-size: 1.1em;
font-size: 1em;
&:after{
content:'';
position:absolute;
@ -380,7 +380,7 @@
}
& > a {
font-size:1.1em;
font-size:1em;
color:#686868;
font-weight: bold;
position: relative;
@ -430,7 +430,7 @@
font-family: $main-font;
font-weight: 600;
color: #686868;
font-size: 1.1em;
font-size: 1em;
@media(max-width: 768px){
color: #686868;
}

View File

@ -552,6 +552,8 @@
position: absolute;
right: 1em;
bottom: 1em;
z-index: 100;
width: auto;
.prev-btn,.next-btn{
color: #909090;
background: #fff;

View File

@ -66,49 +66,7 @@
overflow: hidden;
}
</style>
<script>
$(document).ready(function(){
var $widget = $('[data-subpart-id=\"{{subpart-id}}\"]');
// nav_tabs_filter 切換後,對當前顯示的 ul 初始化 cycle2
function initCycle_{{subpart-id}}($ul){
if(!$ul || $ul.length === 0) return;
if($ul.data('cycle.opts')) return; // 已初始化過就跳過
$ul.addClass('cycle-slideshow')
.attr('data-cycle-fx', 'carousel')
.attr('data-cycle-timeout', '0')
.attr('data-cycle-carousel-visible', '3')
.attr('data-cycle-carousel-fluid', 'true')
.attr('data-cycle-next', '#next-{{subpart-id}}')
.attr('data-cycle-prev', '#prev-{{subpart-id}}')
.attr('data-cycle-slides', '.w-annc__item')
.cycle();
}
// 偵測是否有 nav_tabs_filter
var hasNavTabsFilter = $widget.find('.nav_tabs_filter').length > 0;
if(hasNavTabsFilter){
// 初始化第一個顯示的 ul
var $activeUl = $widget.find('[data-category]:not([style*="display: none"]) ul.w-annc__list').first();
initCycle_{{subpart-id}}($activeUl);
// 頁籤切換時重新初始化對應的 ul
$widget.find('.filter_tab').on('click', function(){
var category = $(this).data('category');
setTimeout(function(){
var $ul = $widget.find('[data-category="' + category + '"] ul.w-annc__list').first();
initCycle_{{subpart-id}}($ul);
}, 100);
});
} else {
// 沒有 nav_tabs_filter,直接初始化
var $ul = $widget.find('ul.w-annc__list').first();
initCycle_{{subpart-id}}($ul);
}
});
</script>

View File

@ -49,127 +49,3 @@
</li>
</ul>
</div>
<!-- <script src="//code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
<script>
function combineul_{{subpart-id}}(){
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
parents.each(function(i,v){
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
var ullength = $(v).find('ul.w-annc__list').length;
for(var i = 1;i < ullength;i++)
$(v).find('ul.w-annc__list').eq(-1).remove();
})
};
var num;
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
function reorganize_{{subpart-id}}(num){
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').toArray();
var currentul = uls.findIndex(function(v){
return $(v).hasClass("active") && !$(v).hasClass("hidden_item");
})
if(currentul == -1)
currentul = 0;
var li_active_idx = 0;
if(currentul != 0)
li_active_idx = $(uls[currentul]).find("li.w-annc__item").eq(0).index("li.w-annc__item");
combineul_{{subpart-id}}();
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
parents.each(function(i,v){
var lilength = $(v).find('li.w-annc__item').length;
var ul_length = Math.ceil(lilength/num);
for(var ii=1;ii< ul_length;ii++){
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
clone_ul.empty();
clone_ul.removeClass("active");
clone_ul.css("display","");
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
var lihtml="";
if(ii != (ul_length-1)){
for(var j=0;j<num;j++){
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
};
}else{
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
};
};
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
}
if(ul_length != 1 )
for(var i=0;i< lilength -num ; i++)
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
})
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css("display","none");
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('padding','0');
$('[data-subpart-id=\"{{subpart-id}}\"] button').css('z-index','10');
// $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+100/10+'em)'); //20px=>li的margin
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('float','left');
var active_ul = $("[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item").eq(li_active_idx).parents("ul.w-annc__list");
active_ul.addClass("active");
active_ul.removeClass("hidden_item");
active_ul.css("display","");
};
$(window).resize(function(){
if($(window).width()>1024){
reorganize_{{subpart-id}}(2);
num=2;
}else if($(window).width()>576){
reorganize_{{subpart-id}}(2);
num=2;
}else{
reorganize_{{subpart-id}}(1);
num=1;
}
})
$(document).ready(function(){
if($(window).width()>1024){
reorganize_{{subpart-id}}(2);
num=2;
}else if($(window).width()>576){
reorganize_{{subpart-id}}(2);
num=2;
}else{
reorganize_{{subpart-id}}(1);
num=1;
}
var flag=false;
$('.btn-left').click(function(){
if(!flag){
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
var ul_length = uls.length;
var currentul = uls.findIndex(function(v){
return $(v).hasClass("active");
})
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
if(currentul - 1 < 0)
currentul += ul_length;
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
var active_item = $(uls[currentul-1]);
active_item.addClass("active");
active_item.find("li").css("display","block");
flag=true;
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "right", mode: 'show', duration: 500},function(){flag=false;});
};
});
$('.btn-right').click(function(){
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
if(!flag){
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
var ul_length = uls.length;
var currentul = uls.findIndex(function(v){
return $(v).hasClass("active");
})
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
if(currentul + 1 > ul_length - 1)
currentul -= ul_length;
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
var active_item = $(uls[currentul+1]);
active_item.addClass("active");
active_item.find("li").css("display","block");
flag=true;
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){flag=false;});
};
});
});
</script> -->

View File

@ -56,53 +56,8 @@
}
</style>
<script>
function combineul_{{subpart-id}}(){
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
parents.each(function(i,v){
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
var ullength = $(v).find('ul.w-annc__list').length;
for(var i = 1;i < ullength;i++)
$(v).find('ul.w-annc__list').eq(-1).remove();
})
};
var num;
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
function reorganize_{{subpart-id}}(num){
combineul_{{subpart-id}}();
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
parents.each(function(i,v){
var lilength = $(v).find('li.w-annc__item').length;
var ul_length = Math.ceil(lilength/num);
for(var ii=1;ii< ul_length;ii++){
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
clone_ul.empty();
clone_ul.removeClass("active");
clone_ul.css("display","");
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
var lihtml="";
if(ii != (ul_length-1)){
for(var j=0;j<num;j++){
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
};
}else{
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
};
};
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
}
if(ul_length != 1 )
for(var i=0;i< lilength -num ; i++)
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
})
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/20+'em)'); //20px=>li的margin
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css("float","left");
};
function clearNavTabsFilterStyle_{{subpart-id}}(){
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list > li').each(function(){
// 只移除不該有的 style,保留 display(由 nav_tabs_filter 控制)
var $li = $(this);
$li[0].style.removeProperty('width');
$li[0].style.removeProperty('position');
@ -130,46 +85,8 @@
$(window).resize(function(){
if(hasNavTabsFilter_{{subpart-id}}){
clearNavTabsFilterStyle_{{subpart-id}}();
return;
}
if($(window).width()>1024){
reorganize_{{subpart-id}}(4);
num=3;
}else if($(window).width()>576){
reorganize_{{subpart-id}}(2);
num=2;
}else{
reorganize_{{subpart-id}}(1);
num=1;
}
})
$(document).ready(function(){
if(hasNavTabsFilter_{{subpart-id}}){
setTimeout(clearNavTabsFilterStyle_{{subpart-id}}, 300);
// MutationObserver 持續監聽,防止外部 JS 重複加上 style
var targetUl = document.querySelector('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list');
if(targetUl){
var observer = new MutationObserver(function(mutations){
mutations.forEach(function(mutation){
if(mutation.type === 'attributes' && mutation.attributeName === 'style'){
clearNavTabsFilterStyle_{{subpart-id}}();
}
});
});
observer.observe(targetUl, { attributes: true, subtree: true, attributeFilter: ['style'] });
}
return;
}
if($(window).width()>1024){
reorganize_{{subpart-id}}(4);
num=3;
}else if($(window).width()>576){
reorganize_{{subpart-id}}(2);
num=2;
}else{
reorganize_{{subpart-id}}(1);
num=1;
}
})
</script>

View File

@ -17,8 +17,7 @@
<dl class="i-archive__file-list" data-list="files" data-level="2">
<dd class="i-archive__file-wrap">
<i class="fa-solid fa-file"></i>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</dl>
</div>

View File

@ -26,8 +26,7 @@
</div>
<div class="i-archive-files-list col-sm-12" data-list="files" data-level="2">
<dd>
<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="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</div>
</div>

View File

@ -17,8 +17,7 @@
<dl class="i-archive__file-list" data-list="files" data-level="2">
<dd class="i-archive__file-wrap">
<i class="fa-solid fa-file"></i>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</dl>
</div>

View File

@ -26,8 +26,7 @@
</div>
<div class="i-archive-files-list col-sm-9" data-list="files" data-level="2">
<dd>
<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="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a href="{{file-url}}" class="i-archive-files-item" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</div>
</div>

View File

@ -15,8 +15,7 @@
</dt>
<dl class="i-archive__file-list" data-list="files" data-level="2">
<dd class="i-archive__file-wrap">
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</dl>
</div>

View File

@ -23,8 +23,7 @@
</span>
<span class="description" style="clear: both;widivh: 100%;position: relative;display: block;">{{description}}</span>
<dd>
<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="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</div>
</div>

View File

@ -18,8 +18,7 @@
<dl class="i-archive__file-list" data-list="files" data-level="2">
<dd class="i-archive__file-wrap">
<i class="fa-solid fa-file"></i>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</dl>
</div>

View File

@ -31,6 +31,9 @@
</div>
{{pagination_goes_here}}
<style>
img.i-annc__img {
height: auto;
}
.i-annc__img-wrap{
}
@ -48,13 +51,5 @@
transition: all .3s ease;
}
}
.i-annc__content-wrap{
margin-top: 1em;
display: -webkit-box;
-webkit-line-clamp: 10;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
</style>

View File

@ -30,6 +30,9 @@
</div>
{{pagination_goes_here}}
<style>
img.i-annc__img {
height: auto;
}
.i-annc__item{
overflow: hidden;
margin-bottom: 1.875em;

View File

@ -9,7 +9,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">

View File

@ -8,7 +8,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -27,21 +27,21 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
</a>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
<div data-list="video_tags" data-level="1" class="video_tag"><div class="video_tags2">{{video_tag}}</div></div>
<div class="video_keyword">{{video_keyword}}</div>
<div class="video_group_time">{{video_postdate}}</div>
<div class="video_title"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}"><h4>{{video_title}}</h4></a></div>
<div class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
<div class="video_title"><div class="video_link"><h4>{{video_title}}</h4></div></div>
<div class="video_desc"><div class="video_link">{{video_desc}}</div></div>
</div>
</a>
</li>
</ul>
<div class="clearfix"></div>

View File

@ -1,28 +1,27 @@
<div class="w-video_data video_data-widget-4" style=" background: #f0f0f0;">
<div class="w-video_data video_data-widget-4">
<h3 class="widget-title"><span>{{widget-title}}</span></h3>
<ul class="video_data_wrap row container" data-list="videos" data-level="0">
<li class="video_data col-xs-12 col-sm-3" data-video-url="{{video_url}}" data-video-webm-url="{{video_webm_url}}" data-type="{{video_type}}">
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="view_info">
<span>{{view_count}}</span>
<div class="video_linkwrapper">
<div class="videohover">
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="videoduration"></div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
</a>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
<div data-list="video_tags" data-level="1" class="video_tag"><div class="video_tags2">{{video_tag}}</div></div>
<div class="video_keyword">{{video_keyword}}</div>
<div class="video_group_time">{{video_postdate}}</div>
<div class="video_title"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}"><h4>{{video_title}}</h4></a></div>
<div class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
<div class="video_title"><div class="video_link"><h4>{{video_title}}</h4></div></div>
<div class="video_desc"><div class="video_link">{{video_desc}}</div></div>
</div>
</a>
</li>
</ul>
<div class="clearfix"></div>

View File

@ -17,7 +17,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -52,21 +52,21 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
</a>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
<div data-list="video_tags" data-level="1" class="video_tag"><div class="video_tags2">{{video_tag}}</div></div>
<div class="video_keyword">{{video_keyword}}</div>
<div class="video_group_time">{{video_postdate}}</div>
<div class="video_title"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}"><h4>{{video_title}}</h4></a></div>
<div class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
<div class="video_title"><div class="video_link"><h4>{{video_title}}</h4></div></div>
<div class="video_desc"><div class="video_link">{{video_desc}}</div></div>
</div>
</a>
</li>
</ul>
<div class="clearfix"></div>

View File

@ -2,14 +2,16 @@
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
<ul class="video_data_wrap col-sm-12" data-list="videos" data-level="0">
<li class="video_data col-sm-12 row" data-video-url="{{video_url}}" data-video-webm-url="{{video_webm_url}}" data-type="{{video_type}}">
<a class=" video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper col-sm-4">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="videoduration"></div>
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="col-sm-4">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
<div class="col-sm-8 video_info">
<div class="video_group_time">{{video_post_agency}} | {{video_postdate}}</div>
<div data-list="video_tags" data-level="1" class="video_tag"><div>{{video_tag}}</div></div>
@ -46,7 +48,6 @@
padding:0;
display: flex;
flex-wrap: wrap;
overflow:hidden;
}
.video_group_time{
color: #4487cb;

View File

@ -26,7 +26,7 @@
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
@ -124,7 +124,7 @@
padding: 10px 0;
text-align: center;
background-color: #8d681e;
color: #fff;
color: #333;
text-decoration: none;
font-size: 120%;
}

View File

@ -26,7 +26,7 @@
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -18,7 +18,7 @@
<a class="video_link" href="javascript:void(0)" title="{{video_title_escape}}" data-api-url="{{api_url}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -5,7 +5,7 @@
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
@ -104,7 +104,7 @@
padding: 10px 0;
text-align: center;
background-color: #8d681e;
color: #fff;
color: #333;
text-decoration: none;
font-size: 120%;
}

View File

@ -14,7 +14,7 @@
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>