mkslides

package module
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2016 License: BSD-2-Clause Imports: 7 Imported by: 0

README

mkslides

Converts a Markdown file into a sequence of HTML5 slides.

  • Use Markdown to write your presentation in one file
  • Separate slides by a new line, -- and another new line (e.g. \n versus \r\n)
  • Apply the simple default template or use your own
  • Control Layout and display with HTML5 and CSS

Releases and cross compilation

The script mk-release.sh cross compiles mkslides for Windows, Max OS X, Linux (amd64) and Raspberry Pi (Raspbian/ARM6 and ARM7). It places all the resulting executable programs in the dist folders.

windows issues

mkslides has had very limited Windows testing. mkslides.exe presumes the Unix style new line only and not the old DOS/Windows CR/LF type endings.

Documentation

Overview

mkslides.go - A simple command line utility that uses Markdown to generate a sequence of HTML5 pages that can be used for presentations.

@author R. S. Doiel, <rsdoiel@gmail.com>

Copyright (c) 2016, R. S. Doiel All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Index

Constants

View Source
const (
	// Version of mkslides package
	Version = "v0.0.4"
)

Variables

View Source
var (
	// The default HTML provided by mkslides package, you probably want to override this...
	DefaultTemplateSource = `` /* 2084-byte string literal not displayed */

)

Functions

func MakeSlide

func MakeSlide(wr io.Writer, tmpl *template.Template, slide *Slide) error

MakeSlide this takes a io.Writer, a template and slide and executes the template.

func MakeSlideFile

func MakeSlideFile(tmpl *template.Template, slide *Slide) error

MakeSlideFile this takes a template and slide and renders the results to a file.

func MakeSlideString

func MakeSlideString(tmpl *template.Template, slide *Slide) (string, error)

MakeSlideString this takes a template and slide and renders the results to a string

func MakeTOCSlideFile added in v0.0.3

func MakeTOCSlideFile(tmpl *template.Template, slide *Slide) error

MakeTOCSlideFile this takes a template and slide and renders the results to a file.

Types

type Slide

type Slide struct {
	XMLName xml.Name `json:"-"`
	CurNo   int      `xml:"CurNo" json:"CurNo"`
	PrevNo  int      `xml:"PrevNo" json:"PrevNo"`
	NextNo  int      `xml:"NextNo" json:"NextNo"`
	FirstNo int      `xml:"FirstNo" json:"FirstNo"`
	LastNo  int      `xml:"LastNo" json:"LastNo"`
	FName   string   `xml:"FName" json:"FName"`
	Title   string   `xml:"Title" json:"Title"`
	Heading string   `xml:"Heading" json:"Heading"`
	Content string   `xml:"Content" json:"Content"`
	CSSPath string   `xml:"CSSPath,omitempty" json:"CSSPath,omitempty"`
	JSPath  string   `xml:"JSPath,omitempty" json:"JSPath,omitempty"`
}

Slide is the metadata about a slide to be generated.

func MarkdownToSlides

func MarkdownToSlides(fname string, title string, cssPath string, jsPath string, src []byte) []*Slide

MarkdownToSlides turns a markdown file into one or more Slide using the fname, title and cssPath provided

func SlidesToTOCSlide added in v0.0.3

func SlidesToTOCSlide(slides []*Slide) (*Slide, error)

SlidesToTOCSlide takes an array of slide generating a new Slide structure whos content is a table of contents of other slides and their first headings.

Directories

Path Synopsis
cmds
mkslides
mkslides.go - A simple command line utility that uses Markdown to generate a sequence of HTML5 pages that can be used for presentations.
mkslides.go - A simple command line utility that uses Markdown to generate a sequence of HTML5 pages that can be used for presentations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL