• Stars
    star
    157
  • Rank 238,399 (Top 5 %)
  • Language
    JavaScript
  • Created about 13 years ago
  • Updated over 11 years ago

Reviews

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

Repository Details

Update: Follow link to recommended fork. For when you're giving a presentation in half an hour, and you haven't got the time to open up keynote...

Notice

Please go to https://github.com/jsakamoto/MarkdownPresenter for a more up-to-date fork of this app :)

Markdown Presenter

This is what I use for giving simple, quick-to-produce presentations. Rather than fighting with keynote or powerpoint for hours, I can whip up a presentation in minutes using markdown.

Demo and usage

Check out a demo here. Use the arrow keys on your keyboard to switch between slides.

You can reload the presentation at any time - staying on the same slide number - by pressing the spacebar.

Installing

You need to install this on a web server, otherwise it won't be able to open the presentation.md file via AJAX. So, if you're on a Mac, copy it to your ~/Sites/MyPresentation folder. Then open your web browser to http://localhost/~myusername/MyPresentation/Presenter.html.

On Linux or Mac you have also likely Python installed and can start its built-in web server in this directory by running python -m SimpleHTTPServer.

If you use IIS or IIS express copy all the MarkdownPresenter files to the webfolder (normally C:\Inetpub\wwwroot\<SiteFolder> on IIS and C:\Users\<User>\Documents\My Web Sites\<WebSite> on IIS express).

Also make sure that a MIME mapping for the .md extension is added. Either add the following mimeMap element to the applicationhost.config or the web.config file:

<system.webServer>
  <!-- there might be other configuration here. -->
  <staticContent>
    <!-- there might be other configuration here. -->
    <mimeMap fileExtension=".md" mimeType="text/plain" />
  </staticContent>
</system.webServer>

Markdown file

The presentation.md file is where you put your presentation. All you need to do to separate slides is a paragraph with an exclamation mark, eg:

This is a slide
Blah blah blah

!

This is another slide
Yada yada yada

How it works

The Presenter.html fetches the presentation.md from the server via Ajax, uses Showdown.js to transform it into HTML, splits it on <p>!</p> into individual slides, and displays the current slide.

Note: Showdown supports custom extensions that can either replace parts of the content based on a regular expression or transform the whole text. There are some extensions already available, for example prettify that adds support for syntax highlighting or support for tables.

The current version of the bundled Showdown.js is 0.3.1 from Nov 2012.

Related

  • Reveal.js: full-featured HTML+JS presentation framework with support for Markdown in individual slides
  • PageDown - Stack Overflow's clone of Showdown

More Repositories

1

SimplePingHelper

How to perform a Ping in an iPhone app
Objective-C
304
star
2

friendly_launchpad

Friendly Launchpad MSP430 library
C
55
star
3

SkeletonKey

Skeleton Key iPhone password manager with Dropbox
Objective-C
52
star
4

CHDropboxSync

Easy Dropbox syncing for iOS apps
Objective-C
52
star
5

gondola

Gondola: Media server that runs from an old laptop / RaspberryPi
Go
49
star
6

crypto

Deliberately simple, thoroughly commented AES/DES/etc crypto implementations in various languages, for learning purposes.
C
48
star
7

CHBgDropboxSync

iPhone/Obj-C library to background sync a folder to Dropbox
Objective-C
41
star
8

datepicker

SImple, light Javascript date picker, with no javascript framework dependencies.
JavaScript
30
star
9

JavaTutorial

Source for the learning java tutorial
Java
23
star
10

MegaComet

A comet server that will (hopefully) be able to handle 1 million (eg mega) connections.
C
20
star
11

ExternalMergeSort

Sort files that are too big to fit into memory
C#
19
star
12

Wattle

Super-simple API requests in Swift (wrapper for NSURLSession)
Swift
14
star
13

HackerNewsReader

Hacker News Reader
Objective-C
14
star
14

iPhoneAutoTranslate

Automatically translate your iPhone app's Localizable.strings into all languages using Microsoft Translator
Objective-C
13
star
15

Swift2Keychain

Swift 2 Keychain wrapper
Swift
10
star
16

SimpleCSharpWiki

Wiki in C# / Asp.Net for small teams, running on intranets with active directory
9
star
17

gondola-ios

iOS client for Gondola media server
Swift
6
star
18

gondola-appletv

Apple TV client for Gondola media server
Swift
5
star
19

flare

Simple 2-way sync to Backblaze B2
Swift
5
star
20

OracleExplorer

Simple oracle database explorer
C#
5
star
21

S3Sync

QUICKLY Synchronise a folder to Amazon S3. Mainly intended for uploading your Jekyll site.
Objective-C
5
star
22

js-puppet-poc

Proof of Concept of using Javascript to control a native 'Puppet' app.
Swift
4
star
23

rusty-lemmings

Rewrite of the old game Lemmings in Rust
Rust
4
star
24

AndroidService

Example of creating an Android foreground service with wake and wifi locks
Java
4
star
25

iPhoneStuntsClone

Clone of the old school 'stunts' game for ios / opengles
C++
3
star
26

clibuv

SwiftPM wrapper of libuv
Swift
2
star
27

rust_png_write_sans_dependencies

Write uncompressed PNG in rust with zero dependencies in <200 LOC
Rust
2
star
28

EvolutionaryLightbotSolver

Solves the lightbot game using an evolutionary algorithm
C#
1
star
29

csharp-dictionary-reconciler

Reconcile large datasets in-memory using dictionaries (blog archive from 2009)
C#
1
star