This library written in TypeScript & ReactiveX/rxjs: A reactive programming library for JavaScript.
For more information about dependency Please look at the package.json.
Talkie.js contains two of the CSS and one of JavaScript.
Next code is the simplest example.
<html>
<head>
<link rel="stylesheet" href="https://github.com/ahomu/Talkie/raw/v0.12.1/dist/talkie.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/styles/monokai_sublime.min.css">
</head>
<body>
<section layout>
<h1>Slide 1</h1>
</section>
<script layout type="text/x-markdown">
# Slide 2
</script>
<template layout type="text/x-markdown">
# Slide 2
</template>
<script src="https://github.com/ahomu/Talkie/raw/v0.12.1/cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script>
<script src="https://github.com/ahomu/Talkie/raw/v0.12.1/dist/talkie.js"></script>
<script>Talkie();</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/8.9.1/styles/monokai_sublime.min.css">
<script src="https://github.com/ahomu/Talkie/raw/v0.12.1/cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script>
The default slide 4:3 (width 1024px, height 768px). In the following code ratio 16:9 (width: 1366px, height 768px) you will.
Talkie({wide: true});
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.
<section layout
backface="background-image.jpg"
backface-filter="blur(1px) brightness(.8)">
<h1>Title</h1>
foo, bar, baz, qux...
</section>
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.
interface TalkieOptions {
wide?: boolean;
control?: boolean;
pointer?: boolean;
progress?: boolean;
backface?: boolean;
notransition?: boolean;
linkShouldBlank?: boolean;
}
Talkie(options);
When you press the "f" key will be a full-screen mode. "f" or "Esc" key Press and then exit.
When you press the "b" key, the pointer visibility is toggled
When you press the "v" key, the drawing mode is toggled, and clear line when press "c" key.
Talkie() returns an object with initialization. This object has some of the control bus and functionality.
var talkie = Talkie({wide:false});
You can define any key bindings.
talkie.key('space').subscribe(talkie.next$);
talkie.key('s').subscribe(talkie.next$);
talkie.key('n').subscribe(talkie.next$);
talkie.key('a').subscribe(talkie.prev$);
talkie.key('p').subscribe(talkie.prev$);
It is also possible to control these functions in the program.
window.next = function() {
talkie.next$.next();
};
window.prev = function() {
talkie.prev$.next();
};
window.jump = function(num) {
talkie.jump$.next(num);
};
interface TalkieExports {
key: (charKey: string) => Observable<KeyboardEvent>;
notes: { [pageNum: number]: string };
changed: Observable<HTMLElement>;
ratio: Observable<number>;
next$: Subject<void>;
prev$: Subject<void>;
jump$: Subject<number>;
}
var exports = Talkie();
Many thanks!
linkShouldBlank.[horizontal] style for default theme.Aozora Mincho from default style.aria-hidden attribute to use instead of visible,page to data-page.body-bg to data-body-bg.no-transition to data-no-transition.TalkieExport.key: (charKey: string) => Observable<KeyboardEvent>. TalkieExport.apiTalkieExport.controls[invert] has been cut out from the specified value of the layout.[title-invert], [bullets-invert][layout=title][invert].The MIT License (MIT)
$ claude mcp add Talkie \
-- python -m otcore.mcp_server <graph>