Add solitude

This commit is contained in:
IF-chan
2024-07-05 21:01:19 +08:00
parent 26d71c4fbc
commit 71758b9fce
289 changed files with 23277 additions and 0 deletions
@@ -0,0 +1,23 @@
div.banners-title
div.banners-title-big!= theme.hometop.banner.title
div.banners-title-small= theme.hometop.banner.url
- var group = theme.hometop.group
if group
div.banners-links
each value,label in group
- var array = value.split('||')
a.banners-link-btn(href=url_for(trim(array[0])) style=`background-image: ${array[2]} `)
if array[1]
i.solitude(class=array[1])
.banners-link-title= label
div.tags-group-all
.tags-group-wrapper
each i in [1,2]
- var keys = Object.keys(theme.hometop.banner.icon)
- var pairs = keys.map((val, i) => i % 2 ? [keys[i - 1], val] : []).filter(x => x.length)
each pair in pairs
.tags-group-icon-pair
each key in pair
.tags-group-icon(style=`background: ${theme.hometop.banner.icon[key].color}`)
img.nolazyload(src=theme.hometop.banner.icon[key].img, title=key)
@@ -0,0 +1,18 @@
.bbTimeList.container#bbTimeList(class=is_home_first_page() ? '' : 'more-page')
i.bber-logo.solitude.st-bblogo(onclick=`pjax.loadUrl('/essay/')`)
.swiper-container.swiper-no-swiping.swiper-container-initialized.swiper-container-vertical.swiper-container-pointer-events#bbtalk(tabindex="-1" onclick=`pjax.loadUrl('/essay/')`)
.swiper-wrapper#bber-talk
each item, i in site.data.essay.essay_list.slice(0, 10)
.li-style.swiper-slide
| #{item.content}
if item.image
i.solitude.st-image-fill
else if item.aplayer
i.solitude.st-disc-fill
else if item.video
i.solitude.st-video-fill
else if item.bilibili
i.solitude.st-bilibili-line
else if item.link
i.solitude.st-links
i.bber-gotobb.solitude.st-right-btn-fill(title=_p('home.bbtime.text') onclick=`pjax.loadUrl('/essay/')`)
@@ -0,0 +1,72 @@
- 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()
}
)
}
@@ -0,0 +1,15 @@
.category-bar-items#category-bar-items(class=is_home() ? 'home' : '')
.category-bar-item(class=is_home() ? 'select' : '', id="category-bar-home")
a(href=url_for('/'))= __('home.home')
.category-bar-item
a(href=url_for('/archives/'))= __('home.archives')
each item in site.categories.find({ parent: { $exists: false } }).data
.category-bar-item(class=select ? (select === item.name ? 'select' : '') : '', id=item.name)
a(href=url_for(item.path))= item.name
div.category-bar-right
- let categories = site.categories.find({parent: {$exists: false}})
- let wordcount = categories.map(category => category.name).join('').length
if wordcount > 40 || categories.data.length > 10
.category-bar-next#category-bar-next(onclick="sco.scrollCategoryBarToRight()")
i.solitude.st-show-right-line
a.category-bar-more(href=url_for('/categories/'))= __('more')
@@ -0,0 +1,7 @@
.recent-top-post-group#recent-top-post-group
.recent-post-top#recent-post-top
#bannerGroup
#banners
include ./banner.pug
.topGroup
include ./topGroup.pug
@@ -0,0 +1,81 @@
mixin cover
a(href=url_for(post.path), title=post.title)
img.post_bg(src=url_for(post.cover), alt=post.title)
mixin info
div.recent-post-info-top
div.recent-post-info-top-tips
if post.sticky && is_home()
span.article-meta.sticky-warp
i.solitude.st-thumbtack-solid.sticky.orange
span.sticky.orange= _p('home.sticky')
each category in post.categories.data
span.original= category.name
if post.prev == null && is_home()
span.original= _p('home.new')
a.unvisited-post(href=url_for(post.path))= _p('home.read')
a.article-title(href=url_for(post.path), title=post.title)= post.title
case theme.index_post_list.content
when false
break
when 1
.content!= post.description
when 2
if post.description
.content!= post.description
else
- const content = strip_html(post.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 += ' ...' : ''
.content!= expert
default
- const content = strip_html(post.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 += ' ...' : ''
.content!= expert
div.article-meta-wrap
span.article-meta.tags
each tag in post.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(post.date))
- const { direction, cover } = theme.index_post_list
if direction === 'row'
- var position = cover === 'both' ? index % 2 === 0 ? 0 : 1 : cover === 'left' ? 0 : 1
div.recent-post-item(onclick="pjax.loadUrl('" + url_for(post.path) + "')")
if direction === 'column'
div.post_cover
+cover()
div.recent-post-info
+info()
else
case position
when 0
div.post_cover
+cover()
div.recent-post-info
+info()
when 1
div.recent-post-info
+info()
div.post_cover
+cover()
if theme.google_adsense && theme.google_adsense.enable && theme.google_adsense.auto_ads === false && theme.google_adsense.post_card
- var ads_height = theme.index_post_list.direction === 'column' ? '401px;' : '280px;'
if (index + 1) % 3 === 0
div.recent-post-item.google-ads-warp
ins.adsbygoogle(style="display:block; text-align:center; min-width: 100%; height:" + ads_height, data-ad-layout="in-article", data-ad-format="fluid", hide-unfilled="true", data-ad-client=theme.google_adsense.client, data-ad-slot=theme.google_adsense.slot)
script.
(adsbygoogle = window.adsbygoogle || []).push({});
@@ -0,0 +1,32 @@
- var filteredPosts = site.posts.data.filter(item => item.recommend === true).slice(0,6)
.recent-post-group
each post in filteredPosts
.recent-post-item
.post_cover
a(href=url_for(post.path), title=post.title)
span.recent-post-top-text= _p('home.recommend')
img.post_bg(alt=post.title, src=post.cover)
.recent-post-info
a.article-title(href=url_for(post.path), title=post.title)= post.title
mixin todayCardContent
.todayCard-info
.todayCard-tips= theme.hometop.recommendList.sup
.todayCard-title= theme.hometop.recommendList.title
.todayCard-cover.nolazyload(style=`background: url('${theme.hometop.recommendList.img}') no-repeat center /cover`)
.banner-button-group
a.banner-button(onclick="window.event.cancelBubble=true;sco.hideTodayCard();")
i.solitude.st-add-fill
span.banner-button-text= _p('home.recommendmore')
case theme.hometop.recommendList.url.startsWith('/')
when true
.todayCard#todayCard(onclick=`pjax.loadUrl('${theme.hometop.recommendList.url}')`)
+todayCardContent()
when false
script.
function GoTodayCard() {
window.open("#{theme.hometop.recommendList.url}", "_blank");
}
.todayCard#todayCard(onclick="GoTodayCard()")
+todayCardContent()