• Stars
    star
    498
  • Rank 88,494 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created almost 10 years ago
  • Updated over 6 years ago

Reviews

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

Repository Details

Simple slide presentation library. Responsive scaling & markdown ready.

Talkie.js - Web Components based Slide library

The master branch is unstable because it makes comprehensive changes with v0.13. For v0.12 code, please refer to the v0.12.x branch.

npm version build status Dependency Status

This library written in TypeScript & ReactiveX/rxjs: A reactive programming library for JavaScript.

For more information about dependency Please look at the package.json.

Feature

  • Markdown support
  • Code highlighting
  • Layout attributes
  • keyboard control
  • touch control
  • Responsive scaling (4:3, 16:9)
  • FullScreen mode
  • Background image & filter
  • Progress indicator
  • Accessibility support
  • Pointer mode (TODO)
  • Canvas drawing mode (experimental) (drop v0.13~)

Real presentation sample

Getting started

Talkie.js contains two of the CSS and one of JavaScript.

  • dist/talkie.min.css
  • dist/talkie.min.js
  • dist/talkie.theme-default.css

Next code is the simplest example.

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="./dist/talkie.css">
<link rel="stylesheet" href="./dist/talkie.theme-default.css">
</head>
<body>

<!-- Pure HTML style -->
<tk-slide layout>
  <h1>Slide 1</h1>
</tk-slide>

<!-- Markdown style ( require `type` attribute ) -->
<tk-slide layout type="text/x-markdown">
# Slide 2
</tk-slide>

<script src="./dist/webcomponents-loader.js"></script>
<script src="./dist/talkie.js"></script>
<script>
window.addEventListener('WebComponentsReady', function(e) {
  document.body.className += ' webcomponents-ready';
  talkie.run();
});
</script>
</body>
</html>

If you use the code highlighting, you must load these files.

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/monokai-sublime.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>

Slide ratio

The default slide is 4:3 (width 1024px, height 768px). If you execute it with the following code, the slide ratio becomes 16:9 (width: 1366px, height 768px).

talkie.run({wide: true});

Scrolling direction

The default scrollable direction is vertical. If you execute it with the following code, the scroll direction becomes horizontal.

talkie.run({horizontal: true});

Backface image & filter

You can add backface attribute into each slides. Image path that you specify in the backface attribute will be the background of when the slide is displayed.

<tk-slide layout
          backface="background-image.jpg"
          backface-filter="blur(1px) brightness(.8)">

  <h1>Title</h1>
  <p>foo, bar, baz, qux...</p>

</tk-slide>

backface-filter attribute is applied to the background image as CSS Filters. But using this, will occur side effect significantly to performance on mobile device.

All options

interface TalkieOptions {
  wide?: boolean; // default: false
  horizontal?: boolean; // default: false
}

talkie.run(options);

FullScreen mode

When you press the f will be a full-screen mode. f or Esc Press and then exit.

Utilities

Many thanks!

Change Log

v0.13

  • TODO

v0.12

  • Add option linkShouldBlank.
  • Add [horizontal] style for default theme.
  • Fixed that transition suppression was not appropriate.
  • Update dependencies.

v0.11

  • Add experimental feature "canvas drawing".
  • Remove Aozora Mincho from default style.

v0.10

  • Improve accessibility support.
  • aria-hidden attribute to use instead of visible,
  • Rename attribute, page to data-page.
  • Rename attribute, body-bg to data-body-bg.
  • Rename attribute, no-transition to data-no-transition.

v0.9

  • Remove the Bacon.js, to use the ReactiveX/rxjs instead.
  • Add TalkieExport.key: (charKey: string) => Observable<KeyboardEvent>.
  • Deprecated TalkieExport.api
  • Deprecated TalkieExport.controls
  • Fixed unexpected transparent background at fullscreen.
  • Default theme some style changes.
    • [invert] has been cut out from the specified value of the layout.
    • Deprecated layouts [title-invert], [bullets-invert]
    • Now it is specified as [layout=title][invert].

License

The MIT License (MIT)

More Repositories

1

grunt-data-uri

Convert to data-uri from image path
JavaScript
56
star
2

jquery.ah-placeholder

'jquery.ah-placeholder' A plugin support placeholder attribute alternative.
JavaScript
56
star
3

Loxe

Flux implementation that runs together with FRP/Observable libraries.
JavaScript
43
star
4

Phalanx

is a Backbone wrapper library. Focusing to decouple view and manage ui component simply.
JavaScript
24
star
5

Claylump

Web Components wrapper with Virtual DOM
JavaScript
18
star
6

grunt-sandbox

My Gruntfile.js template and sandbox.
JavaScript
17
star
7

rx.observable.combinetemplate

Generate values based on the Observable and object template. Similar to `Bacon.combineTemplate`
JavaScript
14
star
8

es6-Kameita

ES6 project template with 6to5, browserify, mocha, power-assert
JavaScript
14
star
9

read.aho.mu

My subscription feeds
Ruby
11
star
10

GAS

Minimal helper for Google Analytics better tracking.
JavaScript
10
star
11

Actinium

Common components & providers for AngularJS
JavaScript
7
star
12

demo-react-bacon

Demo - React & Bacon.js
JavaScript
6
star
13

Sarissa

Single Page Application frontend skeleton with Phalanx & Handlebars.
JavaScript
5
star
14

appshell-sandbox

JavaScript
4
star
15

Hayate

セレクタエンジンを、自力で実装するとどうなるのか習作する試み。
JavaScript
4
star
16

demo-files

あほむのデモファイル置き場。ブランチが各回のデモファイルセットになっています。
JavaScript
4
star
17

hn-react-rxjs

Hacker News Client build with React & RxJS
JavaScript
4
star
18

x-ahomu

I'm ahomu
3
star
19

react-6to5-isomorphic-Kameita

Flow & 6to5 client-server isomorphic project template
JavaScript
3
star
20

Clayworks

一般的なライブラリが平然とやっていることを、自力でやるとどうなるのか習作する試み。
JavaScript
3
star
21

Ah

世間のフレームワークを使ったことがなかったので、フレームワークを習作する試み。
PHP
3
star
22

kefir.combinetemplate

Generate values based on the Observable and object template. Similar to `Bacon.combineTemplate`
JavaScript
2
star
23

react-carousel-ninja

WIP にんにん
TypeScript
2
star
24

acms-pretty-system

a-blog cmsのsystemテーマをぷりちーに扱うよ
JavaScript
2
star
25

demo-ts-jsx-flux

WIP とりあえず動く家をつくった
TypeScript
2
star
26

Urler

Url utilities chrome extension
JavaScript
2
star
27

webperf-collector

[WIP] chrome extension
TypeScript
2
star
28

Havelog

【凍結】Havelog is own private blog app. (作り中...)
Ruby
1
star
29

s

HTML
1
star
30

OAuth

OAuth Consumer & Client Library
PHP
1
star
31

webrtc-sandbox

JavaScript
1
star
32

Stay

Deferredを使ったことがなかったので、学習のため平凡に習作する試み。
JavaScript
1
star
33

jquery.ah-iteratebanner

A plugin provide function of iterate banner images.
JavaScript
1
star