Skip to content

引文

@astryxdesign/core v0.7.1 · Citation

See the React Docs guide 2 .

使用方法 ​

Citation 在一句话里标出来源。label 是带标题的小胶囊。number 是紧凑的上标。number 从 1 开始,会读进无障碍名称,数字变体也会把它画出来。

source.url 有值时,引文是在新标签页打开的链接,并带 role="doc-noteref"。没有 URL 时是 <span>,不会假装自己是链接。无障碍名称会本地化,例如「引用 2:发布说明」。source.title 为空时,可见文字回退到编号。

source.icon 优先于 source.src。看起来像 URL 或路径的值画成图片,其他字符串交给 Icon 当 CSS 类名。图标只在 label 变体里出现。

vue
<script setup lang="ts">
import { Citation } from '@astryx-vue/core/Citation'
</script>

<template>
  <p>
    参见
    <Citation :number="1" :source="{ title: '发布说明', url: 'https://example.com/notes' }" />
    <Citation :number="1" variant="number" :source="{ title: '发布说明', url: 'https://example.com/notes' }" />
  </p>
</template>

建议 ​

建议做法
推荐同一次回答里,同一个来源保持同一个 number,胶囊和上标才指向同一条。
推荐title 写读者认得出的名字。编号只是没有标题时的退路。
推荐段落很密时用数字变体;希望不看脚注也能读出来源时用 label。
避免把一整句放进 title。胶囊会截断,无障碍名称也会变成那一整句。
避免拿引文当普通链接。它是注记,不是导航。

解剖

部分说明
容器根容器。来源地址可用时渲染成链接;缺失或被拒绝时渲染成不起作用的 span。
图标标签文字前面的可选来源图标。可以是网站图标或标志的图片地址(source.src),也可以是插槽内容,比如 Astryx 的 Icon。只在标签变体里可用。
标签文字来源标题。超过最大宽度时用省略号截断。标签变体里显示。
编号显示成上标徽章的引用序号。编号变体里显示。

示例 ​

Citation — 行内文字

React uses a virtual DOM to minimize expensive DOM operations1. This approach was inspired by earlier functional UI frameworks2. TypeScript adds static types to JavaScript for safer refactoringTypeScript Documentation.

引文嵌在段落里,和周围的字走在同一行。

Citation — 来源列表

回答或文章末尾的来源列表,每条都带图标。