Spectacle.js:爱上用JSX React制作绚丽演示文稿!

Spectacle.js:爱上用JSX React制作绚丽演示文稿!

首页角色扮演sans三重审判模拟器更新时间:2024-04-26

大家好,很高兴又见面了,我是"高级前端‬进阶‬",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。

今天给大家带来的主题是Spectacle.js,即一个使用 JSX 语法在 React 中编写演示文稿的库。话不多说,直接进入正题!

1. Spectacle.js 用于制作演示文稿1.1 什么是 Spectacle.js

Spectacle.js 是一个使用 JSX 语法在 React 中编写演示文稿的库。整个应用程序是一个 React 组件,因此开发者可以在演示文稿中嵌入 React 组件,并且无需离开演示文稿即可进行演示。

同时,Spectacle.js 官方提供了一系列开箱即用的组件,例如: <Slide> 和 <BlockQuote>,它们使得将演示文稿构建为可组合 UI 非常友好。同时,为了使幻灯片编写得更好,如果开发者已经习惯使用 React,逐渐会发现 Spectacle 具有已经习惯的源代码的所有功能,例如:通过 Babel 的 ES-next 语法。

Spectacle.js 的某些部分是课程的标准内容,例如:主题和过渡,但也有一些较小的细节使创作变得非常出色。

同时,值得一提的是,有些开发者可能觉得用 React 编写 UI 比较繁琐,为此,Spectacle 提供了 <Markdown>,允许开发者直接编写 Markdown 语法。

1.2 Spectacle.js 的典型特点

可以将 Spectacle.js 的特点归结为以下几个点:

下面动图是 Spectacle.js 官网给出的示例,非常酷炫:

目前 Spectacle.js 在 Github 上通过 MIT 协议开源,有超过 9.5k 的 star、0.74k 的 fork、代码贡献者 160 ,妥妥的前端优质开源项目。

2.如何使用 Spectacle.js 的几种方式2.1 使用 Vite 引导基于 React 的 Spectacle 应用程序

首先需要使用 vite 启动一个新的 React 项目:

npm create vite@latest my-spectacle-deck -- --template react-ts

通过运行 npm add spectacle 安装 Spectacle,然后在 App.tsx 中,将样板内容替换为 Spectacle starter:

import { Deck, Slide, Heading, DefaultTemplate } from "spectacle"; function App() { return ( <Deck template={<DefaultTemplate />}> <Slide> <Heading>Welcome to Spectacle</Heading> </Slide> </Deck> ); } export default App;2.2 使用 Next.js App Router 引导基于 React 的 Spectacle 应用程序

使用 create-next-app 启动一个新的 React 项目:

npx create-next-app@latest

通过运行 npm add spectacle 安装 Spectacle,接着在应用程序 app 目录中创建一个 Deck.tsx 文件并添加以下 Spectacle starter:

"use client"; import { Deck, Slide, Heading, DefaultTemplate } from "spectacle"; export const SpectacleDeck = () => { return ( <Deck template={<DefaultTemplate />}> <Slide> <Heading>Welcome to Spectacle</Heading> </Slide> </Deck> ); };

在 app/page.tsx 中,导入 <SpectacleDeck /> 组件即可:

import { SpectacleDeck } from "./deck"; export default function Home() { return <SpectacleDeck />; }2.3 使用 Markdown 和 Spectacle CLI

创建一个新的 Markdown 文件,可以使用 .md 或 .mdx(MDX 允许您在 markdown 中混合 JSX 组件),开发者可以使用下面的示例作为入门:

# Welcome to Spectacle - This is a list item - This is another list item --- # Second Slide Text can be **bold** or _italic_! Notes: These are presenter notes, only visible in presenter mode to the speaker.

需要注意的是,三重破折号 (---) 被用作幻灯片分隔符,Notes: 关键字用于嵌入仅对演示者模式下的演讲者可见的演示者注释。

要查看幻灯片,需要将 markdown 提供给 Spectacle CLI 以启动本地 Web 服务器。

$ npm install --global spectacle-cli $ spectacle -s my-slides.mdx

启动的 Web 服务器支持实时刷新,并且会在对 Markdown 文件进行更改时自动更新卡片组。

2.4 使用一页

One Page 是一个独立的 HTML 文件,让开发者无需构建步骤即可构建,通过使用 htm over JSX 来减少依赖性和加载时间。

作为一个独立的实体,它已经引用了在 Web 浏览器中创作和启动套牌所需的依赖项。 由于不需要任何工具,One Page 在平板电脑上也是最佳选择,可以从此存储库中的示例目录下载一页 HTML 文件。

将一致的样式应用到 Spectacle 的最简单方法是使用主题。

export default { colors: { primary: "red", secondary: "green", }, fonts: { header: '"Helvetica Neue", Helvetica, Arial, sans-serif', }, fontSizes: { h1: "72px", h2: "64px", }, };

A。 要将自定义主题与 JSX-(选项一)或 HTM-(选项三)Deck 结合使用,请将对象提供给 Deck 标记中的 theme 属性,比如:\ 。

b. 要将自定义主题与 Markdown CLI(选项二)结合使用,请使用 -t 参数提供文件。

$ npm install --global spectacle-cli $ spectacle -s my-slides.mdx -t custom-theme.js3.本文总结

本文主要和大家介绍 Spectacle.js,即一个使用 JSX 语法在 React 中编写演示文稿的库。相信通过本文的阅读,大家对 Spectacle.js 会有一个初步的了解。

因为篇幅有限,文章并没有过多展开,如果有兴趣,可以在我的主页继续阅读,同时文末的参考资料提供了大量优秀文档以供学习。最后,欢迎大家点赞、评论、转发、收藏!

参考资料

https://github.com/FormidableLabs/Spectacle

https://formidable.com/open-source/spectacle/docs/tutorial

https://www.youtube.com/watch?v=vvgtgnIhJ1g

https://tmp-experiment-02.formidable.com/open-source/spectacle/docs/faq/

https://medium.com/@baerbaerbaer/first-impressions-with-the-web-s-latest-presentation-tool-spectacle-7fab1f057051

https://www.youtube.com/watch?v=vvgtgnIhJ1g

https://codespots.com/library/item/3154

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved