Create presentations using ReactJS and your creative developer mind.
- User friendly, easy to use ๐ฐ
- Fully customizable ๐ฆ
- Built-in theme support ๐ ๐ผ
- The full power of the web inside your presentation ๐ช
- Built-in
Preview
component ๐๏ธ - Built-in
ArrowControls
๐ฎ - Built-in
FullScreen
with Focus โถ - Pre-built arrow keys support โจ
- Everything is Optional and Tree Shakable ๐ด
To get started in the fastest way possible, use the cli tool create-astonish-presentation
Create a starter presentation with typescript
and yarn
npx create-astonish-presentation my-presentation --typescript --yarn
- Wrap your presentation with the
Astonish
component - Wrap each Slide with the
Slide
component, ** pay attention that the Slide component must be directly underAstonish
** - Optionally use built-in components like
Preview
,ArrowControls
,FullScreen
, andSlideNumber
- If you want to add a component shared between all other slides, use
Shared
component
import {
ArrowControls,
Astonish,
FullScreen,
Preview,
Shared,
Slide,
SlideNumber,
} from "astonish";
function Presentation() {
return (
<Astonish
slideSx={{
display: "flex",
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
fontSize: "28px",
fontFamily: "Arial, Helvetica, Ubuntu, sans-serif",
}}
>
<Slide>
First Slide!
</Slide>
<Slide>
Astonish is cool ๐
</Slide>
<Shared sx={{ fontSize: "24px", color: "slategray", margin: 2 }}>
I will be visible in all slides
</Shared>
<SlideNumber />
<Preview />
<ArrowControls />
<FullScreen />
</Astonish>
);
}
export default Presentation;
Visit the GitHub Wiki Page to see components docs.
Feel free to open an issue for any feature request!