• Stars
    star
    5,320
  • Rank 7,758 (Top 0.2 %)
  • Language
    JavaScript
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

✍️Fusuma makes slides with Markdown easily.
A tool to create slides easily for you ✍ ️

npm Azure Codecov

Features

  • Zero Config
  • Providing various modes
  • Markdown and MDX
  • Themes
  • Code syntax Highlight, MathJax, Diagrams, and Flowcharts
  • Browser-friendly slides
    • All results for lighthouses are perfect
    • Full supporting for SEO and OGP
    • Checking a11y(Accessibility)
  • Customizable JavaScript and CSS
  • A sidebar having agenda and some features

Modes

  • Init Mode
    • Creating a slide, style, configuration file
    • Creating GitHub actions that deploy slides to gh-pages automatically
  • Development Mode
    • Running with HMR
    • Just coding Markdown and sometimes CSS
  • Build Mode
    • Rendering to html and optimizing js,css,md
    • Generating an image of slides as og:image and checking a11y automatically
  • Presentation Mode
    • Speaker Note
    • Timer
    • Recording your page actions and voice
  • Deploy Mode
    • Deploying to GitHub Pages
  • PDF Mode
    • Exporting slides as PDF

Demos

Open in Gitpod

Getting Started

$ npm i fusuma -D
$ npx fusuma init
$ tree -a
.
├── .fusumarc.yml
├── .github
│   └── workflows
│       └── fusuma.yml
├── slides
│   └── 0-slide.md
└── style.css

# --- executable tasks---
$ npx fusuma init          # create scaffold
$ npx fusuma start         # run server for development
$ npx fusuma start-prod    # run server for bundle directory
$ npx fusuma build         # build slides for production
$ npx fusuma deploy        # deploy to github pages
$ npx fusuma pdf           # export as PDF

When npx fusuma start is executed, fusuma will create slides like follows on http://localhost:8080. Fusuma provides the below development screen which has a reference and slides list. In addition, Fusuma adds a sidebar and when you set section titles, fusuma shows them on the sidebar.

slides generated by init sidebar

👉 the demo (built as production)

Themes

Fusuma offers the following themes also users can customize them because this is just CSS.

default pop
webpack babel node

👉 the demo

Markdown and MDX

## Hello

This is the first slide.

---

## 🤭

import { Sample } from './scripts/Sample';

This is the second slide.

<Sample />
// Sample.js
export const Sample = () => <p>Hello from jsx!!</p>;

👉 Getting Started/Creating Your Slide

Customize styles

The following properties are provided, but you can change the css directly if you want.

:root {
  --base-font-family: 'Roboto', 'San Francisco', helvetica, arial, sans-serif;
  --base-font-size: 2.4rem;
  --base-font-weight: 300;
  --base-align: center;
  --base-max-width: 1280px;
  --base-outer-margin: 24px;
  --base-image-height: auto;
  --base-image-width: 100%;
  --base-image-border: none;
  --base-image-border-radius: 0;

  --color-title: #464646;
  --color-base: #545454;
  --color-background: #f5f5f5;
  --color-link: #3498db;

  --h1-font-size: 5.6rem;
  --h1-font-weight: 300;
  --h2-font-size: 4rem;
  --h2-font-weight: 300;
  --h3-font-size: 3.6rem;
  --h3-font-weight: 300;
  --h4-font-size: 3rem;
  --h4-font-weight: 300;
  --h5-font-size: 2.4rem;
  --h5-font-weight: 600;
  --h6-font-size: 2rem;
  --h6-font-weight: 600;

  --account-icon-size: 3rem;
  --account-icon-color: #545454;
  --code-font-size: 1.8rem;
  --qr-code-image-size: 320px;
}

Presenter Mode

This feature uses experimental APIs so please use Chrome or Firefox.

You can see your Note for each slide and the next slide on the Host screen.

👉 Modes/Presenter

Features

  • Showing your slide notes
  • Setting a timer
  • Recording your actions and voice, and doing time-travel

Lighthouse

Lighthouse is an open-source, automated tool for improving the quality of web pages. You can run it against any web page, public or requiring authentication. It has audits for performance, accessibility, progressive web apps, SEO and more.

Fusuma supports improving performance, SEO, and so on as default, analyzes the slide's performance, and outputs like below.

the score of lighthouse output logs

Special Thanks to

Themes

I respect your UI and I really love it. I usually talk about you in Japan so I added your colors to Fusuma. If you have issues, feel free to mention me! Thank you.

  • Node.js
  • webpack
  • Babel

More Repositories

1

ssr-sample

A minimum sample of Server-Side-Rendering, Single-Page-Application and Progressive Web App
TypeScript
287
star
2

slides

My slides
CSS
68
star
3

the-sample-of-module-bundler

You will know how to make a javascript bundler
JavaScript
34
star
4

demobook

Feel free to publish files from anywhere💕
TypeScript
26
star
5

garoogle

GaroonとGoogle Calendarの予定を同期します
JavaScript
25
star
6

site

🏡
MDX
22
star
7

convert-keys

Convert object keys to camelCase or snakeCase.
TypeScript
19
star
8

pwa-sample

JavaScript
16
star
9

chakra-ui-optimization-loader

Optimize your bundle size of chakra-ui
JavaScript
15
star
10

scuba

UI Components with a color unity that built by React. https://abouthiroppy.github.io/scuba/
JavaScript
13
star
11

dotfiles

my dotfiles
Vim Script
12
star
12

dynamic-rendering-sample

This repo introduces how to realize dynamic rendering.
Dockerfile
9
star
13

sweetpack

sweetpack helps eliminate time to suffer from webpack and babel😋
JavaScript
8
star
14

hiroppy

JavaScript
7
star
15

cli-boost

The easiest way to get started for creating CLI
TypeScript
7
star
16

bot-house

A bot lover
JavaScript
6
star
17

freee-kintai-kun

JavaScript
6
star
18

apollo-link-state-sample

TypeScript
4
star
19

generator-ts

My generator to create typescript project!
JavaScript
4
star
20

babel-init

Setup .babelrc using command.
JavaScript
3
star
21

the-minimal-example-of-graphql

JavaScript
3
star
22

i18n-json-plugins

TypeScript
3
star
23

check-global-variables

Get a list of window's variables.
JavaScript
3
star
24

node-committer

a commit formatter for node
JavaScript
3
star
25

apollo-link-state-sample-for-slide

TypeScript
2
star
26

express-routes-list

Confirm routing on the terminal.
JavaScript
2
star
27

fusuma-sample

https://hiroppy.github.io/fusuma-sample/
CSS
2
star
28

node-metrics

JavaScript
2
star
29

node-esm-example

JavaScript
2
star
30

webpack-mfe-sample

JavaScript
2
star
31

measurer

Simple performance helper for the Browser and Node.js.
TypeScript
2
star
32

bazero

#0CJS(zero config) for Babel
JavaScript
2
star
33

njo

njo creates JSON objects on command line.
JavaScript
2
star
34

nature-remo-bot

nature-remo
JavaScript
2
star
35

bluehigh.zsh-theme

zsh-theme
Shell
2
star
36

react-scalable

Fit your element with the outer frame
JavaScript
2
star
37

apollo-next.js-sample

how to handle an error
JavaScript
2
star
38

sample-box

a monorepo using lerna
JavaScript
1
star
39

timecard-slack-bot

TypeScript
1
star
40

niconico-player-extension

ニコニコ動画のHTML5プレイヤーの拡張
JavaScript
1
star
41

keybinding-decorator

Decorator for keybinding
TypeScript
1
star
42

nico-resident

nico-resident is a support tools for Nicovideo's ranking .
JavaScript
1
star
43

web-app-template

A template for minimal web app
TypeScript
1
star
44

cav

A supporter for making your CLI.
JavaScript
1
star
45

node-book

https://www.gitbook.com/book/abouthiroppy/node
1
star
46

grpc-sample

JavaScript
1
star
47

placehold-cli

Creates dummy image via https://placehold.jp/.
JavaScript
1
star
48

about.hiroppy

my module
JavaScript
1
star
49

sunmanure

This site will help you to fill the contributions of Github.
JavaScript
1
star
50

mu-law

Convert using μ-law algorithm.
JavaScript
1
star
51

javascript-study-for-beginners

https://www.gitbook.com/book/abouthiroppy/javascript-study-for-beginners/details
HTML
1
star
52

pick-member-action

1
star
53

honyaku

Translate japanese to english or english to japanese.
JavaScript
1
star
54

flatten-package-lock-deps

Flatten all dependencies in package-lock.json.
TypeScript
1
star
55

MainPage

my main site!
HTML
1
star
56

babel-plugin-styled-components-autoprefixer

autoprefixer for styled-components
JavaScript
1
star
57

downpile-node-modules-webpack-loader

I really really dislike IE😭
TypeScript
1
star