满心记 我在人间混日子

Heo版即刻短文

前一段时间就看到了即刻短文 | 张洪Heo,一直以来想要有这种可以发一句话的地方,配置过小康的,但是奈何总是卡在分支那一步,总是报错,问过其他人发现都是按照教程就可以配置好,由于这是静态,可能每次发一两句话就要重新部署,对于某些人来说可能不太方便,如果需要可以参照KK Api进行部署,按照文档走基本不会有任何问题。

当然这是一篇关于即刻短文的教程,不会就这么结束了,如果你也想拥有Heo版的即刻短文,可以参考如下教程,原教程来自Hexo的Butterfly魔改:即刻短文静态部署版 | 张洪Heo (zhheo.com),本教程基于原教程进行补充。

效果

具体效果可以查看即刻短文 |Jayhrn - 分享科技与热爱生活

魔改步骤

创建基本示例数据

创建source/_data/essay.yml,内容可以参考如下写法

- class_name: 即刻短文
  essay_list:
    - content: 用了Heo的即刻短文,很舒服
      date: 2022-08-13
    - content: Markdown教程推出
      date: 2022-08-12
      image: https://pic.rmb.bdstatic.com/bjh/965866510655a628f2c37b93846520a93213.png
    - content: 现在即刻短文已经纯本地化部署完成,不再依赖任何第三方服务了
      date: 2022-08-12
      link: https://qq.mba/
    - content: 好开心
      date: 2022-08-05 06:08:54
内容含义
content短文内容
date发表日期
image图片
link链接

新建页面

新建themes/butterfly/layout/includes/page/essay.pug

.title-and-tips
    h1.page-title(style='display: inline;')= page.title
    .page-tips 静态部署版
#bber
    section.timeline.page-1
        ul#waterfall.list.show
            each i in site.data.essay
                each item, index in i.essay_list
                    if index < 30
                        li.item
                            .bber-content
                                p.datacont= item.content
                                    if item.image
                                        a.bber-content-img(href=item.image, target="_blank")
                                            img(src=item.image)
                            .bber-bottom
                                .bber-info
                                    - var datedata = new Date(item.date).toISOString()

                                    time.datatime(datetime= item.date)= datedata
                                    if item.link
                                       a.bber-content-link(href=item.link, target="_blank", rel="external nofollow", title="跳转到短文指引的链接")
                                         i.fas.fa-link
                                         | 链接
                                a.bber-reply(onclick=`rightMenuCommentText('${item.content}')`)
                                  i.fa-solid.fa-message

#bber-tips(style='color: var(--jayhrn-secondtext);')
    | - 只展示最近30条短文 -

新建md页面,使用指令hexo new page essay

---
title: 即刻短文
date: 2022-09-15 14:21:00
comments: true
aside: false
type: essay
---

修改Page页面

修改themes/butterfly/layout/page.pug,注意对齐

case page.type
  when 'tags'
    include includes/page/tags.pug
  when 'link'
    include includes/page/flink.pug
  when 'categories'
    include includes/page/categories.pug
   when 'essay'
     include includes/page/essay.pug

创建首页轮播

1.新建themes/butterfly/layout/includes/bbTimeList.pug

#bbTimeList.bbTimeList.container
    i.bber-logo.iconfont.icon-heidong(onclick=`pjax.loadUrl("/essay/")` title="即刻短文")
    #bbtalk.swiper-container.swiper-no-swiping(tabindex="-1")
        #bber-talk.swiper-wrapper(onclick=`pjax.loadUrl("/essay/")`)
            each i in site.data.essay
                each item, index in i.essay_list
                    if index < 10
                        - var contentText = item.image ? item.content + ' [图片]' : item.content
                        .li-style.swiper-slide= contentText

    i.bber-gotobb.fas.fa-arrow-circle-right(onclick=`pjax.loadUrl("/essay/")` title="查看全文")
.js-pjax
    script(src='https://cdn1.tianli0.top/npm/swiper/swiper-bundle.min.js' data-pjax='')
    script.
        new Swiper('.swiper-container', {
            direction: 'vertical',
            loop: true,
            autoplay: {
                delay: 3000,
                disableOnInteraction: true,
                // pauseOnMouseEnter: !0 //鼠标放上去不轮播
            }
        })

其中pauseOnMouseEnter可以自己选择是否开启

2.引入到主页

block content
  include ./includes/mixins/post-ui.pug
  #recent-posts.recent-posts
    include includes/categoryList.pug
     include includes/bbTimeList.pug
    +postUI
    include includes/pagination.pug

可根据自己主题布局进行改变位置

3.引入样式文件

inject:
  head:
        - <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper/swiper-bundle.min.css">
        - <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/js-heo@1.0.11/bb/showbb_in_index.css">
        - <script src="https://cdn.jsdelivr.net/gh/Jayhrn/CDN/waterfall.min.js"></script> # 实现短文瀑布流需要使用

具体即刻短文页面样式可以自取,若部分图标没有出现,请自行更换或f12获取

还有部分Heo版本的即刻短文样式没有实现,例如引入音乐等,如果有需要可以自行前往参考。

发表评论

提交评论