使用 Rough Notation 创建手绘风格的文本注释

Colorful street art mural of a girl blowing a bubble, adorned with roses.

在现代网页设计中,文本注释和高亮是提升内容可读性和视觉吸引力的重要手段。传统的文本高亮通常是规整的矩形色块,而 Rough Notation 库为我们带来了一种全新的手绘风格注释方式。

什么是 Rough Notation?

Rough Notation 是一个轻量级的 JavaScript 库,它可以在网页上创建手绘风格的文本注释。与传统的精确几何图形不同,Rough Notation 使用不规则的线条和形状,模拟真实手绘的效果,让你的网页内容更加生动有趣。

支持的注释类型

Rough Notation 提供了多种注释样式,可以满足不同场景的需求:

Underline(下划线)

在文本下方绘制一条不规则的下划线,适合强调关键词。

示例:这段文字带有下划线

Box(方框)

用方框包围文本,适合突出重要内容或引用。

示例:这段文字被方框包围

Circle(圆圈)

用圆圈包围文本,适合标记重点或需要特别注意的内容。

示例:这段文字被圆圈标记

Highlight(高亮)

类似于荧光笔的效果,在文本下方添加高亮背景。

示例:这段文字被高亮显示

Strike-through(删除线)

在文本中间绘制一条穿过线,表示删除或不再适用的内容。

示例:这段文字已删除

Crossed-off(划掉)

用 X 形标记划掉文本,比删除线更加醒目。

示例:这段文字被划掉

Bracket(括号)

在文本两侧添加括号,适合注释或补充说明。

示例:这段文字带有括号注释

在 Astro 项目中使用

为了方便在 Astro 项目中使用 Rough Notation,我创建了一个封装好的 Notation 组件。

基本用法

---
import Notation from '../components/Notation.astro';
---

<Notation type="highlight" color="#fef08a">这段文本会被高亮显示</Notation>

自定义参数

组件支持丰富的自定义参数:

<Notation
    type="box"
    color="#ef4444"
    animate={true}
    animationDuration={1000}
    animationDelay={500}
    padding={10}
    strokeWidth={3}
>
    带自定义参数的方框注释
</Notation>

参数说明

参数类型默认值说明
typestring必填注释类型
colorstring#000000注释颜色
animatebooleantrue是否启用动画
animationDurationnumber800动画持续时间(毫秒)
animationDelaynumber0动画延迟时间(毫秒)
animationIterationnumber1动画重复次数
paddingnumber/array5内边距
strokeWidthnumber2线条宽度
multilinebooleanfalse是否支持多行文本
iterationsnumber2绘制迭代次数
showbooleantrue是否自动显示
bracketsstring[][‘right’]bracket 类型专用,指定括号位置,可选值:left, right, top, bottom

实际应用示例

示例一:高亮关键词

在文章中高亮重要的关键词,让读者更容易抓住重点。

示例二:注释说明

使用括号注释对专业术语进行解释说明:这是一个专业术语

示例三:强调重点

使用圆圈或方框强调需要特别注意的内容:重要提示

示例四:动态演示

通过动画效果逐步展示内容,增强用户体验。可以看到上面的示例都有不同的动画延迟,形成了依次展示的效果。

总结

Rough Notation 是一个非常有趣的前端库,它为网页内容增添了独特的手绘风格。无论是在博客文章、演示文稿还是产品介绍中,使用手绘注释都能让内容更加生动、更具吸引力。

在 Astro 项目中,通过封装的 Notation 组件,可以轻松地在任何页面中使用这些手绘注释效果,无需复杂的配置和代码编写。

如果你想在自己的项目中尝试这种有趣的效果,可以参考官方文档 https://roughnotation.com/ 获取更多信息。

评论