shoka配置备份

发布于 2026-03-20 07:20 1815 字 10 min read ... 访问量

shoka配置备份

由于 shoka 姐姐站点出现 loadding 死循环,特此备份 shoka 配置指南

基本配置

xxxxxxxxxx // hexo-safago Waline 评论区链接处理 - 内联脚本 script. (function() {    // 从配置中读取白名单    var whitelist = !{JSON.stringify(config.hexo_safego.whitelist.domain_whitelist)};        function isInWhitelist(url) {      return whitelist.some(function(domain) {        return url.indexOf(domain) !== -1;     });   }        function convertLink(link) {      var href = link.getAttribute('href');      if (!href || href.startsWith('/') || href.startsWith('mailto:') || href.startsWith('tel:')) {        return;     }            // 检查白名单      if (isInWhitelist(href)) {        return;     }            if (link.dataset.safagoProcessed) {        return;     }            try {        var encodedUrl = btoa(href);        var newHref = '/go.html?u=' + encodedUrl;        link.setAttribute('href', newHref);        link.setAttribute('target', '_blank');        link.dataset.safagoProcessed = 'true';     } catch(e) {        console.error('[safago-inline] Error:', e);     }   }        function processWalineLinks() {      var links = document.querySelectorAll('.wl-nick a[href], .wl-card a[href]');      links.forEach(convertLink);   }        // 初始处理    if (document.readyState === 'loading') {      document.addEventListener('DOMContentLoaded', processWalineLinks);   } else {      processWalineLinks();   }        // 延迟处理(备用)    setTimeout(processWalineLinks, 2000);        // 事件委托:在链接被点击时进行转换(最重要)    document.addEventListener('click', function(e) {      var link = e.target.closest('a[href]');      if (link && (link.classList.contains('wl-nick') || link.closest('.wl-card'))) {        convertLink(link);     }   }, true);        // PJAX 支持    document.addEventListener('pjax
', processWalineLinks); })();​pug

特殊功能

本功能参考 NexT,基于 Hexo Tag 功能,用来建立友链或其他网址链接功能。

文章中的使用格式:

  1. 使用 links 标签块,包围 yml 语法书写的内容,字段包括
site站点名称必填
owner管理员名字可选,默认为 site 的值
url站点链接必填
desccateCards:   - slug: Study     cover: Study/cover.jpg   - slug: Life     cover: Life/cover.jpgyml可选,默认为 url 的值
image站点图片可选,默认为 images/404.png
color方块颜色可选,默认为 #666
{​% links %​}
- site: #站点名称
  owner: #管理员名字
  url: #站点网址
  desc: #简短描述
  image: #一张图片
  color: #颜色代码
{​% endlinks %​}

举个栗子:

{​% links %​}
- site: 个人首页
  owner: RPWN
  desc: SHARED BY Vullfin
  url: https://nav.vull.top/
  image: assets/nav.png
  color: "#7ab8ba"
- site: 赞赏主页
  owner: RPWN
  url: https://sponsor.vull.top/
  desc: SHARED BY Vullfin
  image: assets/milk.png
  color: "#e9bcc1"
- site: 吃啥好呢?
  owner: RPWN
  url: https://eat.vull.top/
  desc: SHARED BY Vullfin
  image: assets/eat.png
  color: "#FA8072" 
- site: 个人主页
  owner: RPWN
  url: https://vull.top/
  desc: SHARED BY Vullfin
  image: assets/home.png
  color: "#6097b3"
{​% endlinks %​}

效果:

  1. 以上标签块里的内容,还可以保存到一个 yml 文件中,然后使用 linksfile 标签。 其中, path 位于 <root>/source 目录下。

{​% linksfile [path] %}

举个栗子:

	
{​% linksfile friends/_data.yml %​}

code 代码块

使用 markdown-it-prism 进行代码高亮,支持显示行号、行高亮 mark 、命令行提示符 command 、代码块标题。

基本格式: [language] [title] [url] [link text] [mark] [command]

选项描述默认值
language支持的语言戳此如果不需要代码高亮,但希望显示代码块样式,则设为 raw留空或设为 info ,将不显示代码高亮和代码块样式null
title代码块的标题文字null
url代码块标题右侧显示的链接null
link text上述链接显示的标题link
mark行高亮显示,格式为 mark:行号,行号开始-行号结束,其他行号 。 例如 mark:1,4-7,10 ,将高亮显示第 1、4、5、6、7、10 行null
command命令行提示符,格式为 `command:("提示内容"
,行号
```java 行高亮 https://shoka.lostyu.me 参考链接 mark:1,6-7
import java.util.Scanner;
...
Scanner in = new Scanner (System.in);
// 输入 Scan 之后,按下键盘 Alt + “/” 键,Eclipse 下自动补全。
System.out.println (in.nextLine ());
System.out.println ("Hello" + "world.");
```
```bash 命令行提示符 command:("[root@localhost] $":1,9-10||"[admin@remotehost] #":4-6)
pwd
/usr/home/chris/bin
ls -la
total 2
drwxr-xr-x   2 chris  chris     11 Jan 10 16:48 .
drwxr--r-x  45 chris  chris     92 Feb 14 11:10 ..
-rwxr-xr-x   1 chris  chris    444 Aug 25  2013 backup
-rwxr-xr-x   1 chris  chris    642 Jan 17 14:42 deploy
git add -A
git commit -m "update"
git push
```
import java.util.Scanner;
...
Scanner in = new Scanner (System.in);
// 输入 Scan 之后,按下键盘 Alt + “/” 键,Eclipse 下自动补全。
System.out.println (in.nextLine ());
System.out.println ("Hello" + "world.");
pwd
/usr/home/chris/bin
ls -la
total 2
drwxr-xr-x   2 chris  chris     11 Jan 10 16:48 .
drwxr--r-x  45 chris  chris     92 Feb 14 11:10 ..
-rwxr-xr-x   1 chris  chris    444 Aug 25  2013 backup
-rwxr-xr-x   1 chris  chris    642 Jan 17 14:42 deploy
git add -A
git commit -m "update"
git push

quiz 练习题与答案

这个功能是用来显示练习题的。 需要在 Front Matter 中添加 quiz: true ,以正确显示题型标签。

---
title: 练习题与答案
quiz: true
---
1. 编译时多态主要指运算符重载与函数重载,而运行时多态主要指虚函数。 {.quiz .true}
2. 有基类 `SHAPE`,派生类 `CIRCLE`,声明如下变量:  {.quiz .multi}
    ```cpp
    SHAPE shape1,*p1;
    CIRCLE circle1,*q1;

plain 下列哪些项是 “派生类对象替换基类对象”。 - p1=&circle1; {.correct} - q1=&shape1; - shape1=circle1; {.correct} - circle1=shape1; {.options} > - :heavy_check_mark: 令基类对象的指针指向派生类对象 > - :x: 派生类指针指向基类的引用 > - :heavy_check_mark: 派生类对象给基类对象赋值 > - :x: 基类对象给派生类对象赋值 > {.options} 3. 下列叙述正确的是 。 {.quiz} - 虚函数只能定义成无参函数 - 虚函数不能有返回值 - 能定义虚构造函数 - A、B、C 都不对 {.correct} {.options}


---
title: 练习题与答案
quiz: true
---
1. 编译时多态主要指运算符重载与函数重载,而运行时多态主要指虚函数。 {.quiz .true}
2. 有基类 `SHAPE`,派生类 `CIRCLE`,声明如下变量:  {.quiz .multi}
    ```cpp
    SHAPE shape1,*p1;
    CIRCLE circle1,*q1;

plain 下列哪些项是 “派生类对象替换基类对象”。 - p1=&circle1; {.correct} - q1=&shape1; - shape1=circle1; {.correct} - circle1=shape1; {.options} > - :heavy_check_mark: 令基类对象的指针指向派生类对象 > - :x: 派生类指针指向基类的引用 > - :heavy_check_mark: 派生类对象给基类对象赋值 > - :x: 基类对象给派生类对象赋值 > {.options} 3. 下列叙述正确的是 。 {.quiz} - 虚函数只能定义成无参函数 - 虚函数不能有返回值 - 能定义虚构造函数 - A、B、C 都不对 {.correct} {.options}

行内公式:E=mc2E = mc^2

块级公式:

ex2dx=π\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} n=11n2=π26\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}
:::default
默认默认
:::
:::primary
基本基本
:::
:::info
提示提示
:::
:::success
成功成功
:::
:::warning
警告警告
:::
:::danger
危险危险
:::
:::danger no-icon
危险危险
:::

喜欢的话,留下你的评论吧~

... 访问量
© 2021 - 2026 Vullfin @VV
Powered by theme astro-koharu · Inspired by Shoka