odpdown - markdown to slides Nice slides from your favourite text - - PowerPoint PPT Presentation

odpdown markdown to slides
SMART_READER_LITE
LIVE PREVIEW

odpdown - markdown to slides Nice slides from your favourite text - - PowerPoint PPT Presentation

CIB GROUP odpdown - markdown to slides Nice slides from your favourite text editor! Thorsten.Behrens@cib.de Ideas > auto-generate slides from pure text like latex beamer, pandoc, or showof > make it blend nicely with existing slides


slide-1
SLIDE 1
  • dpdown - markdown to slides

Nice slides from your favourite text editor! Thorsten.Behrens@cib.de

CIB GROUP

slide-2
SLIDE 2

Ideas

> auto-generate slides from pure text

like latex beamer, pandoc, or showof

> make it blend nicely with existing slides and templates (Impress, PowerPoint etc)

have people reuse their corporations' materials 1:1

slide-3
SLIDE 3

Previous Slide

## Ideas * auto-generate slides from *pure* text * like latex beamer, pandoc, or [showoff] (https://github.com/puppetlabs/showoff) * make it blend nicely with existing slides and templates (Impress, PowerPoint etc) * have people **reuse** their corporations' materials 1:1

slide-4
SLIDE 4

Basic Markup

First Level Header ================== Second Level Header

  • This is a simple paragraph of text, written in a

plain text file and flown with fixed 50 characters per line, like a plaintext email. You can also write _emphasis_, or **strong** emphasis, or even ***double-emphasis*** in your text. Here's how the slides look:

slide-5
SLIDE 5

First Level Header

slide-6
SLIDE 6

Second Level Header

This is a simple paragraph of text, written in a plain text fjle and fmown with fjxed 50 characters per line, like a plaintext email. You can also write emphasis, or strong emphasis, or even double-emphasis in your text.

slide-7
SLIDE 7

Blockquote Markup

## An alternative way to mark 2nd Level Headers > This is a blockquote. You can write entire paragraphs > like that. Again, this is very similar to how emails > are formatted and written. > Consider markdown inspired by plain-text email. > > And some more text in this blockquote, of course you > can again use _emphasis_, or **strong** emphasis, or > even ***double-emphasis*** in your text. But wait, > there's more! >

slide-8
SLIDE 8

An alternative way to mark 2nd Level Headers

“This is a blockquote. You can write entire paragraphs like that. Again, this is very similar to how emails are formatted and written. Consider markdown inspired by plain-text email.And some more text in this blockquote,

  • f course you can again use emphasis, or

strong emphasis, or even double-emphasis in your text. But wait, there's more!”

slide-9
SLIDE 9

List Markup

## Lists Unordered (bulleted) lists use either asterisks, plusses, or hyphens (*, +, and -) interchangeably as list markers: * item one * item two + item three

  • item four
slide-10
SLIDE 10

Lists

Unordered (bulleted) lists use either asterisks, plusses, or hyphens (*, +, and -) interchangeably as list markers: > item one > item two > item three > item four

slide-11
SLIDE 11

Nested List Markup

## Nested Lists Nest lists by indenting subordinate items: * item one

  • item one.one

* item one.two + item three

  • item four
slide-12
SLIDE 12

Nested Lists

Nest lists by indenting subordinate items: > item one

item one.one

item one.two

> item three > item four

slide-13
SLIDE 13

Hyperlink Markup

## Links This is [an example] (http://example.com/ "Title") inline link. This is [an example][1] reference-style link. [1]: http://example.com/ "Optional Title Here"

slide-14
SLIDE 14

Links

This is an example inline link. This is an example reference-style link.

slide-15
SLIDE 15

Advanced Markup

slide-16
SLIDE 16

Embedded Image Markup

## Embed images ![This is alt text] (http://upload.wikimedia.org/wikipedia/ commons/0/02/LibreOffice_Logo_Flat.svg "This is an optional title for a direct img")

slide-17
SLIDE 17

Embed images

This is an optional title for a direct img

slide-18
SLIDE 18

Referenced Images Markup

## Embed images via reference ![This is alt text][2] [2]: https://wiki.documentfoundation.org/ima ges/8/87/LibreOffice_external_logo_600p x.png "This is an optional title attribute for a ref img"

slide-19
SLIDE 19

Embed images via reference

This is an optional title attribute for a ref img

slide-20
SLIDE 20

Inline Code Markup

## Inline Code You can do html-alike inline <code> display with the following markup: `$ tail -f /var/log/messages`

slide-21
SLIDE 21

Inline Code

You can do html-alike inline <code> display with the following markup: $ tail -f /var/log/messages

slide-22
SLIDE 22

Preformatted Content Markup

## Preformatted Content Just indent your text by four or more spaces, to have it rendered in monospaced as pre-formatted content:

  • | |

| | \ / \ / \ / V

slide-23
SLIDE 23

Preformatted Content

Just indent your text by four or more spaces, to have it rendered in monospaced as pre-formatted content:

  • | |

| | \ / \ / \ / V

slide-24
SLIDE 24

Syntax-Highlighted Code Markup

## Code - C++ By using a start/end marker as below (~~~ or ```), and specifying

  • ne of the 100+ supported pygments language identifiers

(http://pygments.org/languages/): ~~~ c++ ::basegfx::B2DPolyPolygon VeeWipe::operator () ( double t ) { ::basegfx::B2DPolygon poly; poly.append( ::basegfx::B2DPoint( 0.0, -1.0 ) ); const double d = ::basegfx::pruneScaleValue( 2.0 * t ); poly.append( ::basegfx::B2DPoint( 0.0, d - 1.0 ) ); poly.append( ::basegfx::B2DPoint( 0.5, d ) ); poly.append( ::basegfx::B2DPoint( 1.0, d - 1.0 ) ); poly.append( ::basegfx::B2DPoint( 1.0, -1.0 ) ); poly.setClosed(true); return ::basegfx::B2DPolyPolygon( poly ); } ~~~

slide-25
SLIDE 25

Code - C++

::basegfx::B2DPolyPolygon VeeWipe::operator () ( double t ) { ::basegfx::B2DPolygon poly; poly.append( ::basegfx::B2DPoint( 0.0, -1.0 ) ); const double d = ::basegfx::pruneScaleValue( 2.0 * t ); poly.append( ::basegfx::B2DPoint( 0.0, d - 1.0 ) ); poly.append( ::basegfx::B2DPoint( 0.5, d ) ); poly.append( ::basegfx::B2DPoint( 1.0, d - 1.0 ) ); poly.append( ::basegfx::B2DPoint( 1.0, -1.0 ) ); poly.setClosed(true); return ::basegfx::B2DPolyPolygon( poly ); }

slide-26
SLIDE 26

Or the same for syntax-highlighting Python

## Code - Python ~~~ python # helper for ODFFormatter and ODFRenderer def add_style(document, style_family, style_name, properties, parent=None): """Insert global style into given document""" style = odf_create_style(style_family, style_name, style_name, parent) for elem in properties: # pylint: disable=maybe-no-member style.set_properties(properties=elem[1], area=elem[0]) document.insert_style(style, automatic=True) ~~~

slide-27
SLIDE 27

Code - Python

# helper for ODFFormatter and ODFRenderer def add_style(document, style_family, style_name, properties, parent=None): """Insert global style into given document""" style = odf_create_style(style_family, style_name, style_name, parent) for elem in properties: # pylint: disable=maybe-no-member style.set_properties(properties=elem[1], area=elem[0]) document.insert_style(style, automatic=True)

slide-28
SLIDE 28

Or for Bash-script syntax-highlighting

## Code - Bash ~~~ bash # sanity checks which safecat > /dev/null 2>&1 || { echo "You need safecat for this!" exit 1 } umask 077 # enqueue mail, and params. QUEUE_NAME=`safecat $BASE_DIR/tmp $BASE_DIR/mails` if [ $? -eq 0 ]; then echo -e "$QUEUE_NAME\n$@" | \ safecat $BASE_DIR/tmp $BASE_DIR/queue 1>/dev/null && \ exit 0 rm $BASE_DIR/mails/$QUEUE_NAME fi exit 1 ~~~

slide-29
SLIDE 29

Code - Bash

# sanity checks which safecat > /dev/null 2>&1 || { echo "You need safecat for this!" exit 1 } umask 077 # enqueue mail, and params. QUEUE_NAME=`safecat $BASE_DIR/tmp $BASE_DIR/mails` if [ $? -eq 0 ]; then echo -e "$QUEUE_NAME\n$@" | \ safecat $BASE_DIR/tmp $BASE_DIR/queue 1>/dev/null && \ exit 0 rm $BASE_DIR/mails/$QUEUE_NAME fi exit 1

slide-30
SLIDE 30

Want to know more?

https://github.com/thorstenb/odpgen/ git clone https://github.com/thorstenb/odpgen/

slide-31
SLIDE 31

Thanks for watching!

Q & A