惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

DNSMgr——聚合管理所有域名DNS解析+自动续签SSL证书并部署 | AirTouchの小站 雨云香港服务器简单测评 | AirTouchの小站 七牛云 AI 狂送 token 实测到底怎么样 | AirTouchの小站 记一次博客被攻击 | AirTouchの小站 给你的 Artalk 评论区配置验证码和垃圾评论检测 | AirTouchの小站 抓紧上车!免费 E3 开发者账号又来了! | AirTouchの小站 Vercel & Cloudflare Worker 项目推荐(2) | AirTouchの小站 用 Zmail 搭建自己的临时邮箱 | AirTouchの小站 IPv6反解域名?手把手带你搞 | AirTouchの小站 用插件实现 Hexo AI 文章摘要 | AirTouchの小站 用 Librechat 部署自己的 AI 网站 | AirTouchの小站 迁移 Umami Cloud 数据到自建的 Umami | AirTouchの小站 raksmart 圣何塞超低价 vps 测评 | AirTouchの小站 Vercel & Github Actions 项目推荐(1) | AirTouchの小站 macOS Tahoe 26中Electron架构卡顿的临时解决方案 | AirTouchの小站 用Obsidian插件增强Stellar写作体验 | AirTouchの小站 复习一下最小生成树 | AirTouchの小站 2025苹果秋季发布会亮点总结 | AirTouchの小站 分享几个artalk邮件通知模板 | AirTouchの小站 博客的图片应该存哪啊? | AirTouchの小站 Pic Smaller——自部署压缩图片的利器 | AirTouchの小站 企业微信的自定义域名邮箱太香了 | AirTouchの小站 所有道听途说,终获眼见为实 | AirTouchの小站 修复Vercel部署hexo导致文章的更新时间错误 | AirTouchの小站 jsDelivr国内公益加速镜像分享 | AirTouchの小站 搭建自己的busuanzi访问量统计服务 | AirTouchの小站 用Vercel和Netlify反代你的网站 | AirTouchの小站 用EdgeOne配置反向代理 丢掉丑陋的端口号 | AirTouchの小站 拼好鸽香港4区nat机器:月付3.5还要啥自行车! | AirTouchの小站 博客的新域名——xsl.im | AirTouchの小站 如何搭建自己的EdgeOne优选域名 | AirTouchの小站 用EdgeOne加速CloudflareR2存储桶 | AirTouchの小站 EdgeOne自动化上传证书并部署 | AirTouchの小站 你需要把PicGo换成PicList了! | AirTouchの小站 Cursor屏蔽中国大陆?给你解决方案! | AirTouchの小站 使用 Cloudflare Workers 自动获取必应每日壁纸 | AirTouchの小站 题解:P9509『STA - R3』Aulvwc | AirTouchの小站 题解:P11140 [APC001] E - Linear Map | AirTouchの小站 Phira多人联机服务器搭建&使用教程 | AirTouchの小站 腾讯云EdgeOne免费CDN加速你的网站 | AirTouchの小站 Hexo 博客收录指南 | AirTouchの小站 题解:P12646 [KOI 2024 Round 1] 升序 | AirTouchの小站 Cloudflare CDN优选IP加速你的网站 | AirTouchの小站 Giffgaff在线生成esim二维码 | Giffgaff sim转eSIM指南 | AirTouchの小站 RedteaGO - 最划算的大陆漫游 esim 流量卡 | AirTouchの小站 用Alist搭建一个属于自己的网盘系统 | AirTouchの小站 Hexo Stellar 主题装修笔记 | AirTouchの小站 利用CloudflareR2搭建免费图床 | AirTouchの小站 题解:P2679 [NOIP2015 提高组] 子串 | AirTouchの小站
组件样式示例 | AirTouchの小站
AirTouch, me@airtouch.top · 2024-09-21 · via

在 Markdown 中使用组件

Nuxt Content 使用 Markdown 语法和约定来提供丰富的文本编辑体验。它使用自定的 MDC 语法,可以让你在 Markdown 中使用 Vue 组件,并支持多种 remark 扩展。

我编写了一些可以在 Markdown 文件中调用的组件,以下是一些示例。

通过 CSS 类名控制样式

  • 各级标题
    • 在 Front matter 中设置 type: story 可以换用不同样式。
    • 跟随 URL Hash(网址锚点)的高亮。
  • 引用。

  • 无序和有序列表。
  • 粗体删除线
  • 分割线。

  • 带有 icon 类名的图片,如 图片
  • 只在 type: story 时🀄
  • 故事感。
  • 阴 影 回 声
  • 滚动,然后悄悄变大变高,惊艳所有人。

Markdown 语法组件

可以通过 Markdown 原生语法、HTML 语法和 MDC 语法使用的组件。

链接 ProseA

这是内部链接站外链接 默认在新标签页打开,并在鼠标悬浮时展示域名。

还会根据域名展示图标,例如 微软文档GitHubBilibiliQQ 官网微信公众号 等。

自定义图标

为更多站点匹配图标

你可以在 app/utils/icon.ts 分别为主域名或专门域名(优先级高)添加匹配规则来为更多站点匹配图标。

代码 ProseCode

行内代码在超链接中的 行内代码

还可以通过在反引号后加 {lang="js"} 等语言实现高亮,例如 const a = 1

代码块 ProsePre

text
纯文本代码块
文件名text
带文件夹名、未指定语言的代码块
yaml
语言: yaml # 指定语言但无文件名
特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别长的文件名yaml
羽化边缘: 如果一行特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别长,溢出滚动时有羽化边缘。
CHANGELOG.mdmd
# 更新日志
- 特殊文件名自动匹配图标
- 若行数超出
  `appConfig.component.codeblock.triggerRows`
  (默认32)
  - 则自动折叠到
  `appConfig.component.codeblock.collapsedRows`
  (默认16)
- 如果设置了 expand,则不会自动折叠
- 如果设置了 wrap,则会自动换行
- 如果设置了文件名,则会在代码块标题前展示图标
  - 图标只在有文件名时展示
  - 默认图标是语言图标
  - 特殊文件名也会自动识别出图标
  - 文件名可以是任意字符串,例如 `CHANGELOG.md`、`README.md` 等
  - 文件名也可以是路径,例如 `src/components/ProsePre.vue` 等
  - 还可以通过 `icon=图标` 自定义图标

\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
更多功能md
- 在 Markdown 文件中,可以通过代码块语法的 meta 标记
  - `wrap` 直接启用自动换行功能,以展示特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别特别长的文本而不换行
  - `icon=ph:files-duotone` 自定义代码块图标
  - `expand` 禁用自动折叠功能

# 代码块语法

```语言简写 [文件名] icon=图标 wrap expand
- 上面这几项都是可选的。
- 如果有语言简写,必须位于反引号后的第一项,且需要是小写字母。
  - https://shiki.style/languages
- 方括号包裹的是文件名。
- icon=图标、wrap、expand 都是 meta 标记。
- 如果要在代码块中嵌套代码块语法,外层可以用四个反引号包裹。
```

高亮和转换

代码块通过 Shiki 进行高亮,可在 blog.config.ts 中配置语言(Markdown 中出现的所有语言)和代码高亮主题。

转换器(如 diff)可通过 https://shiki.style/packages/transformers#transformers 配置,启用的转换器可在 app/stores/shiki.ts 查看。

为更多语言匹配图标

你可以根据 app/utils/icon.ts 语言图标匹配流程为文件后缀、语言简写或别名添加匹配规则来为更多语言匹配图标:

  1. 查找 file2icon 映射表,将文件名后缀替换为图标名。
  2. 若无匹配,查找 ext2lang 映射表,将语言简写或别名转换为 Catppuccin 图标库中的语言名。
  3. 将 Catppuccin 图标库中的语言名转换为 Iconify 图标名。

表格 ProseTable

支持表格横向滚动或自动换行的切换。

表头滚动吸附滚动时边缘羽化如果标题或内容很 loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooog这里还有一列,但是是空内容
已实现已实现可以切换滚动方式

数学公式

KaTeX\KaTeX 驱动,支持 TeX\TeX 和部分 LaTeX\LaTeX 语法。如果 Markdown 正文需要直接使用 $ 符号,需要使用 \$ 转义。

支持语法列表中文版

课程绩点=课程分数(成绩)105\text{课程绩点} = \frac{\text{课程分数(成绩)}}{10} - 5

学分绩点=课程学分×课程绩点\text{学分绩点} = \text{课程学分} \times \text{课程绩点}

平均绩点(GPA)=学分绩点之和课程学分之和=(课程学分×课程mag绩点)课程mag学分\text{平均绩点(GPA)} =\frac {\text{学分绩点之和}}{\text{课程学分之和}} = \frac{\sum (\text{课程学分} \times \text{课程mag绩点})}{\sum \text{课程mag学分}}

乐谱渲染播放

必要时可用豆包等 AI 将乐谱识别为 ABC 记法。只在网络状态良好时加载播放能力。

编辑器、Cheat Sheet 和语法检查:https://editor.drawthedots.com/

自定义组件

可以通过 Vue 模板语法、MDC 语法使用的组件。

Alert

提醒

你好

问题

默认插槽的 超链接 粗体 Inline code

自定义标题

默认插槽的 超链接 粗体 Inline code

卡片风格 标题插槽的 超链接 粗体 Inline code

默认插槽的 超链接 粗体 Inline code

扁平风格 标题插槽的 超链接 粗体 Inline code

默认插槽的 超链接 粗体 Inline code

仅标题,并且自定义图标和颜色

Badge

鼠标悬浮时的动画 Emoji 📄🦌🙌🐟🏖️ 对应“纸鹿摸鱼处”的汉字,在 app.config.ts 中配置,字体由 阿里妈妈方圆体 分割而来。

sh
# iconfont 网页版生成的字体子集在 Chrome 124 的版本无法解析,需要借助 fonttools 工具手动生成子集
pip install fonttools brotli
pyftsubset ./AlimamaFangYuanTi.ttf --text=Header文本 --flavor=woff2

Blur

你知道得太多了。

也未必。

CardList

给列表刷上了自定义样式,待完善。

  • 无序列表项1
  • 无序列表项2
    • 无序列表项2-1
      • 无序列表项2-1-1
    • 无序列表项2-2

Chat

2024-11-09 23:39:30

也许

我们可以聊聊天

纸鹿

我还可以有名字

纸鹿撤回了一条消息
用户1

有趣
我学到了。

Copy

$

rm -rf # 修改命令后再复制,也可撤销修改

不带提示符的命令,可以是 URL、单行代码

自定义命令提示符、高亮语言

const customLang = 'js' // 滚动条、边缘羽化会出现,假如它特别特别特别特别特别特别特别特别长

自动推断语言

语言从 app/utils/str.tsgetPromptLanguage 里根据命令提示符前缀推断,使用 plain-shiki 高亮。和之前的 Markdown 代码块使用相同的高亮语言和高亮主题配置。

EmojiClock

现在几点了?

🕛 (半小时) 🕛 (5分钟) 🕞 (指定时间)

FeedCard 和 FeedGroup

用于在友链页面展示链接,由于友链页面的 Markdown 部分要可能会显示这个组件,就放在这个目录下大家都能调用了。去友链页面看看吧。

Folding

折叠组件,支持折叠和展开,可以嵌套使用。

可以通过标题插槽传值 超链接 粗体 Inline code

默认插槽的 超链接 粗体 Inline code

折叠还可以嵌套

默认展开的折叠。

在嵌套使用的组件内部使用 MDC 的 #slotname 插槽语法

必须缩进,否则会报错。

md
- 默认展开的折叠。

Key

按下键时会亮,可以通过 @press 配置触发事件,鼠标点击也会触发事件,博客全站搜索框的按键提示使用了这个组件。

  • 纯 Code

Esc F2 Ctrl A Space Tab Enter

  • 指定修饰符、图标、文本(macOS 自动使用图标)

空格

  • 组合键

Ctrl+Shift+A Shift+Alt ⌃⌥⎋

热血组合技 B A

LinkCard

Pic

用于展示图片,支持说明文字、点击后打开灯箱缩放。

说明文字,还支持通过 width 或 height 属性指定尺寸
说明文字,还支持通过 width 或 height 属性指定尺寸

Poetry

在文章的 type 为 techstory 时,它有不同的样式。

诗有诗的标题

一名作者

如你所见, 我, 是一首——

可选的落款

Quote

在文章的 type 为 techstory 时,它有不同的样式。

有时候,有些话,有点意思。

令图标有所指,引用亦有中心。

ヾ(•ω•`)o

图标插槽也可以是 Emoji 或颜文字,或者英文装饰。

Tab

md
# 一个简单的 Tab
md
是这样。

Timeline

前天

看到了小兔

昨天

是小鹿

今天

是你。

今日无事
今日依旧无事
然后——

一件事
两件事。

再添一笔

Tip

我是一条小提示我没有图标+v 点击就能复制,太方便了!

VideoEmbed

放点视频给你看。

组件使用方法

一是看开头提到的 MDC 文档,至关重要。二是看使用组件对应的源代码 (example.md),也很重要。三是看我文章的调用方式,没有就慎用。

组件的不完美性

博客开发精力有限,常用的组件会仔细打磨,不常用的组件仅仅满足需求。

所以,少年,选择你的英雄吧!