Skip to content

fayez-nazzal/Astonish

Repository files navigation

Astonish: The React presentations library ๐ŸŽ‰

Astonish Logo

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 ๐ŸŒด

Screenshot

Screenshot

Getting started

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

Usage

  • Wrap your presentation with the Astonish component
  • Wrap each Slide with the Slide component, ** pay attention that the Slide component must be directly under Astonish **
  • Optionally use built-in components like Preview, ArrowControls, FullScreen, and SlideNumber
  • 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;

API Docs

Visit the GitHub Wiki Page to see components docs.

Feature Requests

Feel free to open an issue for any feature request!

About

The React library for creating presentations ๐ŸŽ‰

Topics

Resources

License

Stars

Watchers

Forks