Files
relatime-work-slide/examples/contents.md
abearxiong 3653ad5932 Add documentation for CLI commands and introduce real-time voice command exploration
- Created a new README.md file detailing CLI commands for synchronization and usage.
- Added a section discussing the potential of real-time voice commands in daily life.
- Introduced a new slides.md file for a presentation on "超级桌面生活指令" (Super Desktop Life Commands).
- Included background and theme settings for the presentation slides.
2025-12-23 19:41:17 +08:00

611 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 欢迎使用 Slidev
面向开发者的演示文稿工具
<div @click="$slidev.nav.next" class="mt-12 py-1" hover:bg="white op-10">
按空格键进入下一页 <carbon:arrow-right />
</div>
<div class="abs-br m-6 text-xl">
<button @click="$slidev.nav.openInEditor()" title="Open in Editor" class="slidev-icon-btn">
<carbon:edit />
</button>
<a href="https://github.com/slidevjs/slidev" target="_blank" class="slidev-icon-btn">
<carbon:logo-github />
</a>
</div>
<!--
The last comment block of each slide will be treated as slide notes. It will be visible and editable in Presenter Mode along with the slide. [Read more in the docs](https://sli.dev/guide/syntax.html#notes)
-->
---
transition: fade-out
---
# 什么是 Slidev
Slidev 是专为开发者设计的演示文稿制作与演示工具,具备以下特性
- 📝 **基于文本** - 专注于内容创作,使用 Markdown 编写,之后再来美化样式
- 🎨 **主题化** - 主题可以作为 npm 包分享和复用
- 🧑‍💻 **开发者友好** - 代码高亮、支持自动补全的实时编码
- 🤹 **交互式** - 可以嵌入 Vue 组件来增强表现力
- 🎥 **录制** - 内置录制和摄像头视图
- 📤 **便携式** - 可导出为 PDF、PPTX、PNG甚至可托管的 SPA
- 🛠 **可扩展** - 几乎任何网页上能实现的功能都可以在 Slidev 中实现
<br>
<br>
了解更多:[为什么选择 Slidev](https://sli.dev/guide/why)
<!--
You can have `style` tag in markdown to override the style for the current page.
Learn more: https://sli.dev/features/slide-scope-style
-->
<style>
h1 {
background-color: #2B90B6;
background-image: linear-gradient(45deg, #4EC5D4 10%, #146b8c 20%);
background-size: 100%;
-webkit-background-clip: text;
-moz-background-clip: text;
-webkit-text-fill-color: transparent;
-moz-text-fill-color: transparent;
}
</style>
<!--
Here is another comment.
-->
---
transition: slide-up
level: 2
---
# 导航
悬停在左下角可以查看导航控制面板,[了解更多](https://sli.dev/guide/ui#navigation-bar)
## 键盘快捷键
| | |
| --------------------------------------------------- | --------------------------- |
| <kbd>→</kbd> / <kbd>空格</kbd> | 下一个动画或幻灯片 |
| <kbd>←</kbd> / <kbd>shift</kbd><kbd>空格</kbd> | 上一个动画或幻灯片 |
| <kbd>↑</kbd> | 上一张幻灯片 |
| <kbd>↓</kbd> | 下一张幻灯片 |
<!-- https://sli.dev/guide/animations.html#click-animation -->
<img
v-click
class="absolute -bottom-9 -left-7 w-80 opacity-50"
src="https://sli.dev/assets/arrow-bottom-left.svg"
alt=""
/>
<p v-after class="absolute bottom-23 left-45 opacity-30 transform -rotate-10">Here!</p>
---
layout: two-cols
layoutClass: gap-16
---
# 目录
你可以使用 `Toc` 组件为你的幻灯片生成目录:
```html
<Toc minDepth="1" maxDepth="1" />
```
标题将从你的幻灯片内容中推断,你也可以在 frontmatter 中使用 `title``level` 来覆盖。
::right::
<Toc text-sm minDepth="1" maxDepth="2" />
---
layout: image-right
image: https://cover.sli.dev
---
# 代码
使用代码片段可直接获得语法高亮,甚至支持类型悬停提示!
```ts [filename-example.ts] {all|4|6|6-7|9|all} twoslash
// TwoSlash enables TypeScript hover information
// and errors in markdown code blocks
// More at https://shiki.style/packages/twoslash
import { computed, ref } from 'vue'
const count = ref(0)
const doubled = computed(() => count.value * 2)
doubled.value = 2
```
<arrow v-click="[4, 5]" x1="350" y1="310" x2="195" y2="342" color="#953" width="2" arrowSize="1" />
<!-- This allow you to embed external code blocks -->
<!-- <<< @/snippets/external.ts#snippet -->
<!-- Footer -->
[了解更多](https://sli.dev/features/line-highlighting)
<!-- Inline style -->
<style>
.footnotes-sep {
@apply mt-5 opacity-10;
}
.footnotes {
@apply text-sm opacity-75;
}
.footnote-backref {
display: none;
}
</style>
<!--
Notes can also sync with clicks
[click] This will be highlighted after the first click
[click] Highlighted with `count = ref(0)`
[click:3] Last click (skip two clicks)
-->
---
level: 2
---
# Shiki Magic Move
由 [shiki-magic-move](https://shiki-magic-move.netlify.app/) 提供支持Slidev 支持跨多个代码片段的动画。
添加多个代码块,并用 <code>````md magic-move</code>(四个反引号)包裹它们来启用 magic move。例如
````md magic-move {lines: true}
```ts {*|2|*}
// step 1
const author = reactive({
name: 'John Doe',
books: [
'Vue 2 - Advanced Guide',
'Vue 3 - Basic Guide',
'Vue 4 - The Mystery'
]
})
```
```ts {*|1-2|3-4|3-4,8}
// step 2
export default {
data() {
return {
author: {
name: 'John Doe',
books: [
'Vue 2 - Advanced Guide',
'Vue 3 - Basic Guide',
'Vue 4 - The Mystery'
]
}
}
}
}
```
```ts
// step 3
export default {
data: () => ({
author: {
name: 'John Doe',
books: [
'Vue 2 - Advanced Guide',
'Vue 3 - Basic Guide',
'Vue 4 - The Mystery'
]
}
})
}
```
非代码块将被忽略。
```vue
<!-- step 4 -->
<script setup>
const author = {
name: 'John Doe',
books: [
'Vue 2 - Advanced Guide',
'Vue 3 - Basic Guide',
'Vue 4 - The Mystery'
]
}
</script>
```
````
---
# 组件
<div grid="~ cols-2 gap-4">
<div>
你可以直接在幻灯片中使用 Vue 组件。
我们提供了一些内置组件,如 `<Tweet/>` 和 `<Youtube/>`,可以直接使用。添加自定义组件也非常简单。
```html
<Counter :count="10" />
```
<!-- ../components/Counter.vue -->
<Counter :count="10" m="t-4" />
查看[指南](https://sli.dev/builtin/components.html)了解更多。
</div>
<div>
```html
<Tweet id="1390115482657726468" />
```
<Tweet id="1390115482657726468" scale="0.65" />
</div>
</div>
<!--
Presenter note with **bold**, *italic*, and ~~striked~~ text.
Also, HTML elements are valid:
<div class="flex w-full">
<span style="flex-grow: 1;">Left content</span>
<span>Right content</span>
</div>
-->
---
class: px-20
---
# 主题
Slidev 拥有强大的主题支持。主题可以提供样式、布局、组件,甚至工具配置。只需在 frontmatter 中**一次编辑**即可切换主题:
<div grid="~ cols-2 gap-2" m="t-2">
```yaml
---
theme: default
---
```
```yaml
---
theme: seriph
---
```
<img border="rounded" src="https://github.com/slidevjs/themes/blob/main/screenshots/theme-default/01.png?raw=true" alt="">
<img border="rounded" src="https://github.com/slidevjs/themes/blob/main/screenshots/theme-seriph/01.png?raw=true" alt="">
</div>
了解更多:[如何使用主题](https://sli.dev/guide/theme-addon#use-theme)和
[精彩主题画廊](https://sli.dev/resources/theme-gallery)。
---
# 点击动画
你可以给元素添加 `v-click` 来添加点击动画。
<div v-click>
点击幻灯片时显示此内容:
```html
<div v-click>This shows up when you click the slide.</div>
```
</div>
<br>
<v-click>
<span v-mark.red="3"><code>v-mark</code> 指令</span>
还允许你添加
<span v-mark.circle.orange="4">行内标记</span>
,由 [Rough Notation](https://roughnotation.com/) 提供支持:
```html
<span v-mark.underline.orange>inline markers</span>
```
</v-click>
<div mt-20 v-click>
[了解更多](https://sli.dev/guide/animations#click-animation)
</div>
---
# 运动动画
运动动画由 [@vueuse/motion](https://motion.vueuse.org/) 提供支持,通过 `v-motion` 指令触发。
```html
<div
v-motion
:initial="{ x: -80 }"
:enter="{ x: 0 }"
:click-3="{ x: 80 }"
:leave="{ x: 1000 }"
>
Slidev
</div>
```
<div class="w-60 relative">
<div class="relative w-40 h-40">
<img
v-motion
:initial="{ x: 800, y: -100, scale: 1.5, rotate: -50 }"
:enter="final"
class="absolute inset-0"
src="https://sli.dev/logo-square.png"
alt=""
/>
<img
v-motion
:initial="{ y: 500, x: -100, scale: 2 }"
:enter="final"
class="absolute inset-0"
src="https://sli.dev/logo-circle.png"
alt=""
/>
<img
v-motion
:initial="{ x: 600, y: 400, scale: 2, rotate: 100 }"
:enter="final"
class="absolute inset-0"
src="https://sli.dev/logo-triangle.png"
alt=""
/>
</div>
<div
class="text-5xl absolute top-14 left-40 text-[#2B90B6] -z-1"
v-motion
:initial="{ x: -80, opacity: 0}"
:enter="{ x: 0, opacity: 1, transition: { delay: 2000, duration: 1000 } }">
Slidev
</div>
</div>
<!-- vue script setup scripts can be directly used in markdown, and will only affects current page -->
<script setup lang="ts">
const final = {
x: 0,
y: 0,
rotate: 0,
scale: 1,
transition: {
type: 'spring',
damping: 10,
stiffness: 20,
mass: 2
}
}
</script>
<div
v-motion
:initial="{ x:35, y: 30, opacity: 0}"
:enter="{ y: 0, opacity: 1, transition: { delay: 3500 } }">
[了解更多](https://sli.dev/guide/animations.html#motion)
</div>
---
# LaTeX
开箱即用的 LaTeX 支持。由 [KaTeX](https://katex.org/) 提供支持。
<div h-3 />
行内 $\sqrt{3x-1}+(1+x)^2$
块级
$$ {1|3|all}
\begin{aligned}
\nabla \cdot \vec{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \vec{B} &= 0 \\
\nabla \times \vec{E} &= -\frac{\partial\vec{B}}{\partial t} \\
\nabla \times \vec{B} &= \mu_0\vec{J} + \mu_0\varepsilon_0\frac{\partial\vec{E}}{\partial t}
\end{aligned}
$$
[了解更多](https://sli.dev/features/latex)
---
# 图表
你可以直接在 Markdown 中根据文本描述创建图表。
<div class="grid grid-cols-4 gap-5 pt-4 -mb-6">
```mermaid {scale: 0.5, alt: 'A simple sequence diagram'}
sequenceDiagram
Alice->John: Hello John, how are you?
Note over Alice,John: A typical interaction
```
```mermaid {theme: 'neutral', scale: 0.8}
graph TD
B[Text] --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```
```mermaid
mindmap
root((mindmap))
Origins
Long history
::icon(fa fa-book)
Popularisation
British popular psychology author Tony Buzan
Research
On effectiveness<br/>and features
On Automatic creation
Uses
Creative techniques
Strategic planning
Argument mapping
Tools
Pen and paper
Mermaid
```
```plantuml {scale: 0.7}
@startuml
package "Some Group" {
HTTP - [First Component]
[Another Component]
}
node "Other Groups" {
FTP - [Second Component]
[First Component] --> FTP
}
cloud {
[Example 1]
}
database "MySql" {
folder "This is my folder" {
[Folder 3]
}
frame "Foo" {
[Frame 4]
}
}
[Another Component] --> [Example 1]
[Example 1] --> [Folder 3]
[Folder 3] --> [Frame 4]
@enduml
```
</div>
了解更多:[Mermaid 图表](https://sli.dev/features/mermaid) 和 [PlantUML 图表](https://sli.dev/features/plantuml)
---
foo: bar
dragPos:
square: 691,32,167,_,-16
---
# 可拖拽元素
双击可拖拽元素可以编辑它们的位置。
<br>
###### Directive Usage
```md
<img v-drag="'square'" src="https://sli.dev/logo.png">
```
<br>
###### Component Usage
```md
<v-drag text-3xl>
<div class="i-carbon:arrow-up" />
Use the `v-drag` component to have a draggable container!
</v-drag>
```
<v-drag pos="640,212,261,_,-15">
<div text-center text-3xl border border-main rounded>
Double-click me!
</div>
</v-drag>
<img v-drag="'square'" src="https://sli.dev/logo.png">
###### Draggable Arrow
```md
<v-drag-arrow two-way />
```
<v-drag-arrow pos="360,319,253,46" two-way op70 />
---
src: ./pages/imported-slides.md
hide: false
---
---
# Monaco 编辑器
Slidev 提供了内置的 Monaco 编辑器支持。
在代码块中添加 `{monaco}` 即可将其转换为编辑器:
```ts {monaco}
import { ref } from 'vue'
import { emptyArray } from './external'
const arr = ref(emptyArray(10))
```
使用 `{monaco-run}` 可以创建一个可直接在幻灯片中执行代码的编辑器:
```ts {monaco-run}
import { version } from 'vue'
import { emptyArray, sayHello } from './external'
sayHello()
console.log(`vue ${version}`)
console.log(emptyArray<number>(10).reduce(fib => [...fib, fib.at(-1)! + fib.at(-2)!], [1, 1]))
```
---
layout: center
class: text-center
---
# 了解更多
[文档](https://sli.dev) · [GitHub](https://github.com/slidevjs/slidev) · [展示案例](https://sli.dev/resources/showcases)
<PoweredBySlidev mt-10 />