博客

ShortCode

Spotify

shortcodes目录下下创建spotify.html

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!--
Parameters:
    type - (Required) album / track / playlist / artist
    id - (Required) Target ID
    width - (Optional) width
    height - (Optional) height
-->

{{ if .IsNamedParams }}
<iframe src="https://open.spotify.com/embed/{{ .Get "type" }}/{{ .Get "id" }}"
    width="{{ default "100%" (.Get "width") }}"
    height="{{ default "380" (.Get "height") }}"
    frameborder="0"
    allowtransparency="true"
    allow="encrypted-media"></iframe>
{{ else }}
<iframe src="https://open.spotify.com/embed/{{ .Get 0 }}/{{ .Get 1 }}"
    width="{{ default "100%" (.Get 2) }}"
    height="{{ default "380" (.Get 3) }}"
    frameborder="0"
    allowtransparency="true"
    allow="encrypted-media"></iframe>
{{ end }}

Aplayer

shortcodes目录下下创建aplayer.html

1
<meting-js server="{{ .Get "server" }}"  url="{{ .Get "url" }}" name="{{ .Get "name" }}" cover="{{ .Get "cover" }}" type="{{ .Get "type" }}" id="{{ .Get "id" }}"></meting-js>

在custom.html中添加js引用

1
2
3
4
5
6
7
8
<!-- require APlayer -->
<script>
    var meting_api='https://meting-api.malinkang.com/api?server=:server&type=:type&id=:id&auth=:auth&r=:r';
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css">
<script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script>
<!-- require MetingJS -->
<script src="https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js"></script>

Mermaid

参考官方文档

sequenceDiagram
    participant Alice
    participant Bob
    Alice->>John: Hello John, how are you?
    loop Healthcheck
        John->>John: Fight against hypochondria
    end
    Note right of John: Rational thoughts 
prevail! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good!

Neodb

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{{ $dbUrl := .Get 0 }}
{{ $dbApiUrl := "https://neodb.social/api/catalog/fetch?url=" }}
{{ $dbFetch := getJSON $dbApiUrl $dbUrl }}

{{ if $dbFetch }}
    {{ $itemRating := 0 }}{{ with $dbFetch.rating }}{{ $itemRating = . }}{{ end }}
    <div class="db-card">
        <div class="db-card-subject">
            <div class="db-card-post"><img loading="lazy" decoding="async" referrerpolicy="no-referrer" src="{{ $dbFetch.cover_image_url }}"></div>
            <div class="db-card-content">
                <div class="db-card-title"><a href="{{ $dbUrl }}" class="cute" target="_blank" rel="noreferrer">{{ $dbFetch.title }}</a></div>
                <div class="rating"><span class="allstardark"><span class="allstarlight" style="width:{{ mul 10 $itemRating }}%"></span></span><span class="rating_nums">{{ $itemRating }}</span></div>
                <div class="db-card-abstract">{{ $dbFetch.brief }}</div>
            </div>
            <div class="db-card-cate">{{ $dbFetch.category }}</div>
        </div>
    </div>
{{else}}
    <p style="text-align: center;"><small>远程获取内容失败,请检查 API 有效性。</small></p>
{{end}}

css样式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/* db-card -------- start*/
.db-card{margin:2.5rem 3rem;background:var(--card-background);border-radius: 7px;box-shadow: 0 6px 10px 0 #00000053;}
.db-card-subject{display: flex;align-items:flex-start;line-height:1.6;padding:12px;position:relative;}
.dark .db-card{background:var(--card-background);}
.db-card-content {flex:1 1 auto;}
.db-card-post {width: 96px;margin-right: 15px;display: flex;flex: 0 0 auto;}
.db-card-title {margin-bottom: 3px;font-size: 14px;color: var(--card-text-color-main);;}
.db-card-title a{text-decoration: none!important}
.db-card-abstract,.db-card-comment{font-size:13px;overflow: scroll;max-height:5rem;color: var(--card-text-color-main);;}
.db-card-cate{position: absolute;top:0;right:0;background:#f99b01;padding:1px 8px;font-size:small;font-style:italic;border-radius:0 8px 0 8px;text-transform:capitalize;}
.db-card-post img{width: 96px!important;height: 96px!important;border-radius: 4px;-o-object-fit: cover;object-fit: cover;}
.rating{margin: 0 0 5px;font-size:13px;line-height: 1;display: flex;align-items: center;}
.rating .allstardark{position:relative;color: #f99b01;height: 16px;width: 80px;background-size: auto 100%;margin-right: 8px;background-repeat: repeat;background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik05MDguMSAzNTMuMWwtMjUzLjktMzYuOUw1NDAuNyA4Ni4xYy0zLjEtNi4zLTguMi0xMS40LTE0LjUtMTQuNS0xNS44LTcuOC0zNS0xLjMtNDIuOSAxNC41TDM2OS44IDMxNi4ybC0yNTMuOSAzNi45Yy03IDEtMTMuNCA0LjMtMTguMyA5LjMtMTIuMyAxMi43LTEyLjEgMzIuOS42IDQ1LjNsMTgzLjcgMTc5LjEtNDMuNCAyNTIuOWMtMS4yIDYuOS0uMSAxNC4xIDMuMiAyMC4zIDguMiAxNS42IDI3LjYgMjEuNyA0My4yIDEzLjRMNTEyIDc1NGwyMjcuMSAxMTkuNGM2LjIgMy4zIDEzLjQgNC40IDIwLjMgMy4yIDE3LjQtMyAyOS4xLTE5LjUgMjYuMS0zNi45bC00My40LTI1Mi45IDE4My43LTE3OS4xYzUtNC45IDguMy0xMS4zIDkuMy0xOC4zIDIuNy0xNy41LTkuNS0zMy43LTI3LTM2LjN6TTY2NC44IDU2MS42bDM2LjEgMjEwLjNMNTEyIDY3Mi43IDMyMy4xIDc3MmwzNi4xLTIxMC4zLTE1Mi44LTE0OUw0MTcuNiAzODIgNTEyIDE5MC43IDYwNi40IDM4MmwyMTEuMiAzMC43LTE1Mi44IDE0OC45eiIgZmlsbD0iI2Y5OWIwMSIvPjwvc3ZnPg==);
}
.rating .allstarlight{position: absolute;left: 0;color: #f99b01;height:16px;overflow: hidden;background-size: auto 100%;background-repeat: repeat;background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik05MDguMSAzNTMuMWwtMjUzLjktMzYuOUw1NDAuNyA4Ni4xYy0zLjEtNi4zLTguMi0xMS40LTE0LjUtMTQuNS0xNS44LTcuOC0zNS0xLjMtNDIuOSAxNC41TDM2OS44IDMxNi4ybC0yNTMuOSAzNi45Yy03IDEtMTMuNCA0LjMtMTguMyA5LjMtMTIuMyAxMi43LTEyLjEgMzIuOS42IDQ1LjNsMTgzLjcgMTc5LjEtNDMuNCAyNTIuOWMtMS4yIDYuOS0uMSAxNC4xIDMuMiAyMC4zIDguMiAxNS42IDI3LjYgMjEuNyA0My4yIDEzLjRMNTEyIDc1NGwyMjcuMSAxMTkuNGM2LjIgMy4zIDEzLjQgNC40IDIwLjMgMy4yIDE3LjQtMyAyOS4xLTE5LjUgMjYuMS0zNi45bC00My40LTI1Mi45IDE4My43LTE3OS4xYzUtNC45IDguMy0xMS4zIDkuMy0xOC4zIDIuNy0xNy41LTkuNS0zMy43LTI3LTM2LjN6IiBmaWxsPSIjZjk5YjAxIi8+PC9zdmc+);}
@media (max-width:550px) {
	.db-card{margin:0.8rem 1rem;}
	.db-card-comment{display: none;}
}
/* db-card -------- end */
0
《喧哗与骚动》是福克纳的经典作品,也是福克纳心血花得最多、自己最喜爱的一部作品。书名出自莎士比亚悲剧《麦克白》:“人生如痴人说梦,充满着喧哗与骚动,却没有任何意义。” 小说讲述的是杰弗生镇上没落的康普生家族的悲剧。老康普生是一个愤世嫉俗的律师,康普生太太则自私冷酷,念念 不忘自己大家闺秀的身份。他们育有三子一女,长子昆丁敏感孱弱,次子杰生冷酷贪婪,三子班吉则是个白痴,三十三岁时只有三岁小儿的智力。女儿凯蒂是小说的中心人物,她从“南方淑女”的规约下冲出来,却走过了头,成了一个轻佻的女子…… 【编辑推荐】 ▲马尔克斯、帕慕克、莫言、余华的文学导师。 ▲诺贝尔文学奖得主福克纳代表作,李文俊经典译本。 ▲世界意识流小说的经典之作,“约克纳帕塔法世系”重要小说之一。 ▲为了推荐《喧哗与骚动》,萨特写了整整一本书。 ▲兰登书屋“20世纪百大英文小说”之一。 ▲美国《牛津美国人》评选的“有史以来最佳美国南方小说”中排名第三。 ▲西班牙《国家报》评选的“100位西班牙作家最喜爱的书”中排名第八。 ▲这个世界犹如四个乐章的交响乐,由痴傻的、敏感的、冷酷的和温暖的人共同演奏。 ▲人生如痴人说梦,充满着喧哗与骚动,却没有任何意义。 ▲书后附有福克纳年表,帮你五分钟了解文学大师的一生。 【名人推荐】 影响过我的作家很多……可是成为我师傅的,我想只有威廉·福克纳。——余华 读了福克纳之后,我感到如梦初醒,原来小说可以这样地胡说八道,原来农村里发生的那些鸡毛蒜皮的小事也可以堂而皇之地写成小说。——莫言 在法国青年人的心目中,福克纳是神。——萨特 在我心目中,他是这个真正悲剧时代的唯一剧作家。——加缪 这位作家(福克纳)的某些作品就好像大海或清晨一样触动我们,福克纳并不试图去解释他的人物。他只是描述他们的感觉,记录他们的行为。他们做出的那些事情是超乎常规的,但福克纳对于人物的刻画是如此真实而细腻,以至于你几乎不能想象他们不去做那样的事情。——博尔赫斯 只有福克纳的那种技巧才有可能把我所看见的写下来。——马尔克斯 我贪婪地阅读福克纳,已经读了许多年了,我几乎喜欢他写的所有作品。他是那么具有创新性,那么与众不同。——格雷厄姆·格林 一九七七年,在伊斯坦布尔,我第一次在《巴黎评论》上读到福克纳的访谈。我就像无意中发现了宗教典籍一样高兴。——帕慕克 福克纳从乔伊斯那里学到了很多,然而他最精彩的小说《喧哗与骚动》和《我弥留之际》最有力的方面不再是展示人物的思考和他们的内在意识。取而代之的是,我们看到,人物的内心独白被密切编织在一起,赋予我们一个世界和生活的清新图景。——帕慕克 每当我重读他的作品,我都愈加相信,他的作品是“小说写作技巧大全”,足以媲美伟大的古典作品。——略萨 在意大利,每个人都激情地、贪婪地阅读福克纳。他让我们看到了那么多东西,扩大了我们的视野,让我们知道了小说的多种可能性。——莫拉维亚 福克纳的风格主要是哥特式和维多利亚式的修辞手段。他的句子回旋往复,表现的是他家乡迷人的风景;他华丽的方言,不停地敲打着我们的感觉。他的语词经常像起了癌变,疯狂地繁殖。有时候,感觉像在沼泽地里的瘴气一样被稀释。但这种独特的维多利亚式夜谈总是一种风格。即使语词湮没他,福克纳也不害怕。在他能够控制语词的地方,福克纳有一种强大的感觉推动力,将一切都带到语词面前。——乔治·斯坦纳 在那些日子,法国的知识分子不是支持海明威,就是支持福克纳。渐渐地,更多的人表现出对福克纳的忠诚。他是最被尊敬、最受爱戴的美国作家。——艾伦·阿德勒 在这以前我写了三部小说,轻松与愉悦的程度越来越小,报酬与收入也越来越少。那第三部我足足推荐了三年,在此期间我把它往一家又一家的出版社投寄,怀着一种执拗与不断破灭的希望,只想至少要把用掉的纸张与耗掉的时间的价值挣回来。这个希望最终也必定幻灭了,因为有一天突然像是一扇门悄悄地咔哒一声永远关上,把我跟一切出版社的地址与书目隔 绝了,于是我对自己说,此刻我可以写了。此刻我可以不顾别的只管放开写了。于是……就开始写起一个小姑娘(凯蒂)的故事来了。——福克纳谈《喧哗与骚动》 开始,只是我脑海里有个画面。当时我并不懂得这个画面是很有些象征意味的。画面上是梨树枝叶中一个小姑娘的裤子,屁股上尽是泥,小姑娘是爬在树上,在从窗子里偷看她奶奶的丧礼,把看到的情形讲给树下的几个弟弟听。我先交代明白他们是些什么人,在那里做些什么事,小姑娘的裤子又是怎么会沾上泥的,等到把这些交代清楚,我一看,一个短篇可绝对容不下那么许多内容,要写非写成一部书不可。 ——福克纳答《巴黎评论》(关于《喧哗与骚动》写作的开始)
book

引用

这里写引用内容,实际使用记得换成双括号。

参考

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy