Files
website/themes/solitude/layout/includes/widgets/home/carousel.pug
T
2024-07-05 21:01:19 +08:00

72 lines
3.6 KiB
Plaintext

- let recommends = site.posts.data.filter(item => item.recommend === true).slice(0,6) || false
if recommends
.recent-post-item#swiperBox
div.blog-slider.swiper-container-fade.swiper-container-horizontal#swiper_container
.blog-slider__wrp.swiper-wrapper
each item,index in recommends
.blog-slider__item.swiper-slide(onclick="pjax.loadUrl('"+item.path+"')")
.blog-slider__img
img(src=item.cover, alt=item.title)
.blog-slider__content
span.blog-slider__title=item.title
case theme.index_post_list.content
when false
break
when 1
span.blog-slider__desc= item.description
when 2
if item.description
span.blog-slider__desc= item.description
else
- const content = strip_html(item.content)
- let expert = content.substring(0, theme.index_post_list.length).replace(/\d+/g, '').replace(/&#xF/g, '').replace(/&#x/g, '')
- content.length > theme.index_post_list.length ? expert += ' ...' : ''
.span.blog-slider__desc= expert
default
- const content = strip_html(item.content)
- let expert = content.substring(0, theme.index_post_list.length).replace(/\d+/g, '').replace(/&#xF/g, '').replace(/&#x/g, '')
- content.length > theme.index_post_list.length ? expert += ' ...' : ''
.span.blog-slider__desc= expert
div.article-meta-wrap
span.article-meta.tags
each tag in item.tags.data
a.article-meta__tags(href=url_for(tag.path), onclick="event.stopPropagation();")
span.tags-punctuation=tag.name
span.post-meta-date
time(datetime=moment(item.date))
.blog-slider__pagination.swiper-pagination-clickable.swiper-pagination-bullets
script.
function carousel_swiper() {
let e = new Swiper(".blog-slider", {
direction: "vertical",
passiveListeners: true,
loop: true,
autoplay: {
disableOnInteraction: true,
delay: 5e3
},
pagination: {
el: ".blog-slider__pagination",
clickable: true
},
effect: 'fade',
fadeEffect: {
crossFade: true
},
passiveListeners: true,
spaceBetween: 30,
watchSlidesProgress: true,
mousewheel: true
})
, t = document.getElementById("swiper_container");
null !== t && (t.onmouseenter = () => {
e.autoplay.stop()
}
,
t.onmouseleave = () => {
e.autoplay.start()
}
)
}