If Amazon used this Bezos wouldn't have banned PowerPoint.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
bezos-loves-slides/sample/about-bezos.md

2.4 KiB

{ "title": "How to use Bezos", "description": "The PowerPoint killer for PowerPoint haters like Jeff.", "font_file": "assets/bold.otf", "layouts": "assets/layouts.json" }

{ "font_size": 120, "font_centered": false, "layout": "no_title" } Jeff Bezos Loves PowerPoint

That Fateful Day

  • The Deck From Hell
  • Jeff Bans PowerPoint
  • What Was That Deck?

{ "font_size": 120, "font_centered": false } Can We Blame Him?

I Hate PowerPoint Too

  • So I made an alternative.
  • Markdown Format
  • Hot Reload
  • Images, and Shaders.
  • Not Much Else

Bezos Slide Format

  • Just markdown separated by ---
  • Each slide can have a json metadata header for config

Supported Markdown

  • Simple lists with *

  • Images with !(file)

    Spaces Newlines or Bare content like this


Deck Header

  • Right after ---
  • Use {} to configure
  • "title"
  • "description"
  • "bg_color": [r,g,b,a]
  • "bg_image": "filepath.jpg"

{ "bg_color": [55, 20, 10, 255] }

Slide Color

  • { "bg_color": [r,g,b,a] }
  • Same as deck header
  • Put before the content
  • It works

{ "bg_image": "assets/sample_bg.jpg" }

Slide Background

  • { "bg_image": "file_path" }
  • You don't even need text

{ "shader": "lightning", "bg_color": [100, 30, 40, 255] }

Shaders

  • Use "shader": "flame"
  • Shaders configured in assets/shaders.json

{ "bg_color": [10, 10, 25, 255], "font_color": [255, 146, 0, 255], "title_color": [255, 255, 0, 255], "font_size": 80, "title_size": 120, "font_padding": 20 }

Font Config

  • X = "title_" or "font_"
  • "X_color": [r,g,b,a]
  • "X_size": int
  • "X_padding": int

{ "font_size": 180, "layout": "no_title" } Flexible Layouts

Images

!(assets/sample_bg.jpg)

  • !(assets/sample_bg.jpg)
  • Text will go over image
  • Image will stretch to fill

{ "layout": "image_left", "image_stretch": false, "title_size": 150, "font_size": 50 }

Specific Positions

image

  • image
  • Places in image cell in layout. can combine with image_stretch and layout to place it anywhere.

Hot Reload

  • It watches the file and reloads when it changes

Current Status

  • Mostly works for me
  • Written in C++ using my game UI library
  • Quick hack POC
  • Might Rewrite in Go for max portability

{ "font_size": 240, "layout": "no_title", "bg_color": [10, 10, 25, 255], "font_color": [255, 146, 0, 255] } Demo Time