这不止是一篇测试

撒豆子驱鬼是一种他国的美妙新年习俗

这不止是一篇测试

添加点赞功能

嗯,一见钟情,遂装修

基本是照抄作业(参考文献

要memo的点:

1.最后pjax封装是要在kudos(或者reaction,总之引入本地的html文件叫啥就是啥)里

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!-- emoji 可为多个,但必须要在前面的可识别列表里出现 -->
<open-heart href="yourworker'slink/{{ .Permalink }}" emoji="❤️">❤️</open-heart>

<!-- load web component -->
<script src="https://unpkg.com/open-heart-element" type="module"></script>
<!-- when the webcomponent loads, fetch the current counts for that page -->
<script>
  // 封装 open-heart 组件初始化功能
  function initOpenHeart() {
    window.customElements.whenDefined('open-heart').then(() => {
      document.querySelectorAll('open-heart').forEach(oh => {
        oh.getCount();
      });
    });

    // 绑定 open-heart 组件的点击刷新事件
    window.addEventListener('open-heart', e => {
      e?.target?.getCount && e.target.getCount();
    });
  }

  // 在页面初次加载时调用
  initOpenHeart();

  // 监听 Pjax 完成事件并调用封装的函数
  document.addEventListener('pjax:complete', function () {
    initOpenHeart();
  });
</script>

2.友链和about里去掉点赞

懒得回忆过程了,总之结果是这样

layout-partial-article

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<article class="{{ if .Params.image }}has-image {{ end }}main-article">
    {{ partial "article/components/header" . }}

    {{ partial "article/components/content" . }}

    <!-- Add reaction -->
    {{ if and (ne .Params.showreaction false) }}
    {{ partial "article/components/reaction.html" . }}
    {{ end }}
    {{ partial "article/components/footer" . }}

    {{ if or .Params.math .Site.Params.article.math }}
        {{ partialCached "article/components/math.html" . }}
    {{ end }}
</article>

然后在页面的Front matter里加上showreaction: false就行了

一万年过去了我终于做了图片轮播

因为最近和朋友们的玩耍都为我带来了很多美丽好看的照片导致一篇博客里不带轮播可能会观感爆炸,遂装修

仍旧是照抄作业,是鹤辞老师的短代码百宝箱,very阿里嘎多desu。没了fedi我还怎么装修我的博客啊TT

同时安抚pjax情绪:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{{ if .Site.Params.enableimgloop }}
    <div class="swiper-container">
        <div class="swiper-wrapper">
            {{$itItems := split (.Get 0) ","}}
            {{range $itItems }}
            <div class="swiper-slide">
                <img src="{{.}}" alt="" data-fancybox>
            </div>
            {{end}}
        </div>
        <!-- Add Pagination -->
        <div class="swiper-pagination"></div>
    </div>

    <script>
        // 动态加载 CSS 文件
        function loadCSS(url) {
            var link = document.createElement("link");
            link.rel = "stylesheet";
            link.href = url;
            document.head.appendChild(link);
        }

        // 动态加载 JS 文件
        function loadJS(url, callback) {
            var script = document.createElement("script");
            script.src = url;
            script.onload = callback;
            document.body.appendChild(script);
        }

        // 封装 Swiper 初始化逻辑
        function initializeSwiper() {
            // 加载 Swiper 的 CSS
            loadCSS("https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.2/css/swiper.min.css");

            // 加载 Swiper JS 并在加载完成后初始化
            loadJS("https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.2/js/swiper.min.js", function() {
                var swiper = new Swiper('.swiper-container', {
                    pagination: '.swiper-pagination',
                    paginationClickable: true,
                    autoHeight: true,
                    keyboardControl: true,
                    mousewheelControl: true,
                    lazyLoading: true,
                    lazyLoadingInPrevNext: true,
                    loop: true,
                });

                swiper.on('init', function () {
                    var slides = document.querySelectorAll('.swiper-slide');
                    slides.forEach(function (slide) {
                        var images = slide.querySelectorAll('.img-zoomable');
                        images.forEach(function (image) {
                            mediumZoom(image, {
                                margin: 32,
                                background: '#00000054',
                                scrollOffset: 128,
                            });
                        });
                    });
                });
            });
        }

        // 页面初次加载时调用
        document.addEventListener('DOMContentLoaded', function () {
            initializeSwiper();
        });

        // PJAX 加载完成后调用
        document.addEventListener('pjax:complete', function () {
            initializeSwiper();
        });
    </script>
{{ end }}

效果如下:

这只是美丽大图片的万分之一,还有很多很仙的图会在下一篇旅游玩耍博客中放出。锐意制作中。

视频插入

其实stack有自带video.html,但是由于本人是代码盲所以还是选择了抄答案

备忘一下

layout\shortcodes下新建video.html:

1
<video id="video" controls="" controlslist="nodownload" preload="none" allowfullscreen="true" position="absolute" width="100%" loop="true" {{ if .Get "poster" }}poster="{{ .Get "poster" }}"{{ end }}><source id="mp4" src="{{ .Get "src" }}" type="video/mp4"></video>

视频文件需要线上图床

文章内引入:

1
2
{\{< video poster="封面链接(不填则默认无封面)" src="视频链接" >}\}

实际使用需去掉\

收录别人的博客到底有什么意思呢?

我百思不得其解所谓收录他人的博客究竟能带来什么好处?推广???谁要你推广了,who asked?

我相信包括我在内的其他博主有渠道推广自己的博客,对于自己的博客该被传播到什么地步心里也都有个基本的数,不需要他人大发慈悲地来代劳。存档也是,这是静态博客啊,静态博客。到底是哪里让诸位互联网大牛觉得这有必要让您各位“代为存档”了??

是,我的文章发出来就是给人看的,但也不需要您在我家门口支个摄像头实时直播吧。

最难绷的部分是他还觉得大家该谢谢他,“收到的也是感谢居多”。我觉得始作俑者后面破防背后骂人的一个主要原因就是大家居然骂他而不是感谢这位倾心竭力为我们存档保护博客内容的互联网大总统。我还能说什么?我只能说 welcome to reality。收收爹味,我相信您在互联网以外的地方也可以靠您的个性与能力收获到拥护和追随,如果没有收到的话,那请一定要怀疑一下您的个性与能力。

我不是一个会骂人的人我只会很老实地示弱:

这里是我的博客,写的是我普通的生活,我的生活不是你展示牛逼技术的素材,求放过。🙂

逮着咱升斗小民欺负怎么看都不算是一位互联网大牛应有的行为啊^^。哦不对,咱不是升斗小民,咱是极端女权。

如果要当一位极端女权才能让博客不被随意搬运收录的话,那当就当吧,极端女权也不是什么骂人话,能当上是我的荣幸。

(不过人极端女权愿不愿意把我算进去还不一定呢,笑死。)

已经从博客文件里暴力移除了rss.xml,也改了篇末的cc协议(这个早改了),懒得再弄更多了,别人的不礼貌和没教养休想增加我的劳动成本。到这里我自认为已经仁至义尽,下次再来那我真的就要用拖鞋底打出去了

哦,突然想起,说是不想被爬和被收录建议加 /robots.txt ,加 noarchive 标签,加WAF

所以我没加=默认所有人可以随便来爬?什么流氓逻辑。不如您诸位上网前先学会礼貌+管好自己的手。为了预防互联网上那帮没礼貌没教养的家伙我要去对我的博客施加各种限制与预防措施,这互联网精神可太互联网精神了,不是吗?

❤️
记录希望的影像
Built with Hugo
主题 StackJimmy 设计