Landslide generiert eine Diashow mithilfe von Markdown, ReST oder Textil. Es basiert auf der HTML5-Slides-Vorlage von Google.
Der folgende Markdown erzeugt diese Diashow.
# Landslide
---
# Overview
Generate HTML5 slideshows from markdown, ReST, or textile.
![python](http://i.imgur.com/bc2xk.png)
Landslide is primarily written in Python, but it's themes use:
- HTML5
- Javascript
- CSS
---
# Code Sample
Landslide supports code snippets
!python
def log(self, message, level='notice'):
if self.logger and not callable(self.logger):
raise ValueError(u"Invalid logger set, must be a callable")
if self.verbose and self.logger:
self.logger(message, level)
python
und die folgenden Module:
jinja2
pygments
für die Syntaxfärbung von Codeblöcken markdown
für Abschlagdocutils
für reStructured Texttextile
für Textil watchdog
für die Überwachung/automatische Regeneration mit dem Flag -w
Installieren Sie die neueste stabile Version von Landslide mit einem Python-Paketmanager wie pip
:
$ pip install landslide
Wenn Sie am Rande bleiben wollen:
$ git clone https://github.com/adamzap/landslide.git
$ cd landslide
$ python setup.py build
$ sudo python setup.py install
.md
, .markdn
, .mdwn
, .mdown
oder .markdown
versehen seinh1
Element (z. B. # My Title
).---
im Markdown), außer am Ende von MD-Dateienh1
Element gerendert wird!lang
ein, wobei lang
die von Pygment unterstützte Sprachkennung ist.rst
oder .rest
haben ( .txt
wird nicht unterstützt ).----
in RST), außer am Ende von RST-Dateien---
, genau wie beim Markdown landslide slides.md
oder landslide slides.rst
auspresentation.html
Oder laden Sie es als PDF-Dokument herunter, wenn Prince auf Ihrem System installiert und verfügbar ist:
$ landslide README.md -d readme.pdf
$ open readme.pdf
h
um die Hilfeanzeige umzuschaltenleft arrow
und right arrow
t
um ein Inhaltsverzeichnis für Ihre Präsentation umzuschalten. Folientitel sind LinksESC
um die Präsentationsübersicht (Exposé) anzuzeigen.n
um die Sichtbarkeit der Foliennummer umzuschaltenb
um die Bildschirmausblendung umzuschaltenc
um den aktuellen Folienkontext umzuschalten (vorherige und nächste Folie).e
damit die Folien den gesamten verfügbaren Platz im Dokumentkörper ausfüllenS
um die Anzeige des Links zur Quelldatei für jede Folie umzuschaltenÜber die Befehlszeile stehen mehrere Optionen zur Verfügung:
-h, --help show this help message and exit
-c, --copy-theme Copy theme directory into current presentation source
directory
-b, --debug Will display any exception trace to stdin
-d FILE, --destination=FILE
The path to the to the destination file: .html or .pdf
extensions allowed (default: presentation.html)
-e ENCODING, --encoding=ENCODING
The encoding of your files (defaults to utf8)
-i, --embed Embed stylesheet and javascript contents,
base64-encoded images in presentation to make a
standalone document
-l LINENOS, --linenos=LINENOS
How to output linenos in source code. Three options
availables: no (no line numbers); inline (inside
tag); table (lines numbers in another cell, copy-paste
friendly)
-o, --direct-output Prints the generated HTML code to stdout; won't work
with PDF export
-q, --quiet Won't write anything to stdout (silent mode)
-r, --relative Make your presentation asset links relative to current
pwd; This may be useful if you intend to publish your
html presentation online.
-t THEME, --theme=THEME
A theme name, or path to a landlside theme directory
-v, --verbose Write informational messages to stdin (enabled by
default)
-w, --watch Watch the source directory for changes and
auto-regenerate the presentation
-x EXTENSIONS, --extensions=EXTENSIONS
Comma-separated list of extensions for Markdown
-m, --math-output Enable mathematical output using mathjax
Mit Landslide können Sie Ihre Präsentation mithilfe einer cfg
Konfigurationsdatei konfigurieren und so die Aggregation von Quellverzeichnissen und deren Wiederverwendung in verschiedenen Präsentationen vereinfachen. Landslide-Konfigurationsdateien verwenden die cfg
Syntax. Wenn Sie ini
Dateien kennen, bekommen Sie das Bild. Nachfolgend finden Sie eine Beispielkonfigurationsdatei:
[landslide]
theme = /path/to/my/beautiful/theme
source = 0_my_first_slides.md
a_directory
another_directory
now_a_slide.markdown
another_one.rst
destination = myWonderfulPresentation.html
css = my_first_stylesheet.css
my_other_stylesheet.css
js = jquery.js
my_fancy_javascript.js
relative = True
linenos = inline
Vergessen Sie nicht, den Abschnitt [landslide]
zu deklarieren. Alle Konfigurationsdateien müssen mit der Erweiterung .cfg enden.
Um die Präsentation wie konfiguriert zu generieren, führen Sie einfach Folgendes aus:
$ cd /path/to/my/presentation/sources
$ landslide config.cfg
Sie können Makros verwenden, um Ihre Präsentation zu verbessern:
Fügen Sie Ihren Folien Notizen hinzu, indem Sie das Schlüsselwort .notes:
verwenden, z. B.:
# My Slide Title
.notes: These are my notes, hidden by default
My visible content goes here
Sie können die Anzeige der Notizen umschalten, indem Sie die Taste 2
drücken.
Einige andere Makros sind ebenfalls standardmäßig verfügbar: Fügen Sie Ihrer Präsentation einen QR-Code hinzu, indem Sie das Schlüsselwort Sie können auch Moderatornotizen zu jeder Folie hinzufügen, indem Sie dem Folieninhalt eine Überschrift mit dem Titel „Notizen des Moderators“ hinzufügen. Drücken Sie die Taste „p“, um die Moderatorenansicht zu öffnen. Makros werden verwendet, um den HTML-Inhalt Ihrer Folie umzuwandeln. Sie können Ihre eigenen Makros registrieren, indem Sie plop Dadurch wird jede Folie wie folgt gerendert: Die Dokumentation zu verfügbaren Markdown-Erweiterungen finden Sie hier: Ein Landslide-Theme ist ein Verzeichnis, das dieser einfachen Struktur folgt: Wenn ein Theme keine HTML- und JS-Dateien bereitstellt, werden die Dateien des Standard-Themes verwendet. CSS ist nicht optional. Zuletzt können Sie auch das gesamte Theme-Verzeichnis in Ihr Präsentationsverzeichnis kopieren, indem Sie die Option Wenn Sie sich nicht die Mühe machen möchten, Ihr eigenes Thema zu erstellen, können Sie Ihre eigenen Benutzer-CSS- und -JS-Dateien in die generierte Präsentation einbinden. Diese Funktion ist nur verfügbar, wenn Sie eine Erdslide-Konfigurationsdatei verwenden, indem Sie die Dadurch werden das HINWEIS: Pfade zu den CSS- und JS-Dateien müssen relativ zu dem Verzeichnis sein, aus dem Sie den Wenn Sie beabsichtigen, Ihre HTML-Präsentation online zu veröffentlichen, müssen Sie die Option Auf diese Weise müssen Sie lediglich das gesamte Präsentationsverzeichnis auf einem Webserver hosten. Natürlich ist weder Python noch PHP oder irgendetwas anderes als ein HTTP-Webserver (wie Nginx) erforderlich, um eine Erdrutschpräsentation zu hosten. Die Datei Siehe https://github.com/adamzap/landslide/contributors.fx: foo bar
fügt die Klassen foo
und bar
zum entsprechenden QR-Codes
.qr
verwenden:
.qr: 450|http://github.com/adamzap/landslide
Anmerkungen des Moderators
Registrieren von Makros
landslide.macro.Macro
abgeleitete Klassen erstellen, eine Methode process(content, source=None)
implementieren und ein Tupel mit den geänderten Inhalten und einigen CSS-Klassen zurückgeben, die Sie möglicherweise zu Ihrer Folie
!python
import landslide
class MyMacro(landslide.Macro):
def process(self, content, source=None):
return content + '
!html
Erweiterte Nutzung
Benutzerdefinierte Zieldatei festlegen
$ landslide slides.md -d ~/MyPresentations/presentation.html
Arbeiten mit Verzeichnissen
$ landslide slides/
Arbeiten mit Direktausgabe
$ landslide slides.md -o | tidy
Verwendung eines alternativen Erdrutschthemas
$ landslide slides.md -t mytheme
$ landslide slides.md -t /path/to/theme/dir
Einbetten von Base-64-kodierten Bildern
$ landslide slides.md -i
Exportieren in PDF
$ landslide slides.md -d presentation.pdf
Ermöglichen der mathematischen Notation
Note that this require writing the slides in ReST format as well as
using Docutils 0.8 or newer.
$ landslide slides.rst -m
Aktivieren von Markdown-Erweiterungen
$ landslide slides.md -x abbr
Thematisierung
mytheme/
|-- base.html
|-- css
| |-- print.css
| `-- screen.css
`-- js
`-- slides.js
--copy-theme
an den landslide
-Befehl übergeben:
$ landslide slides.md -t /path/to/some/theme --copy-theme
Benutzer-Stylesheets und Javascripts
css
und/oder js
-Flags setzen:
[landslide]
theme = /path/to/my/beautiful/theme
source = slides.mdown
css = custom.css
js = jquery.js
powerpoint.js
custom.css
Stylesheet und die Dateien jquery.js
und powerpoint.js
im Abschnitt der Präsentations-HTML-Datei verknüpft.
landslide
-Befehl ausführen. Veröffentlichen Sie Ihre Präsentation online
--relative
sowie die Option --copy-theme
verwenden, um alle Asset-Links relativ zum Stammverzeichnis Ihrer Präsentation zu haben;
$ landslide slides.md --relative --copy-theme
Themenvariablen
base.html
muss eine Jinja2-Vorlagendatei sein, in der Sie die folgenden Vorlagenvariablen nutzen können:css
: der Stylesheet-Inhalt, verfügbar über zwei Tasten, print
und screen
, beide haben:path_url
-Schlüssel, der die URL zum Asset-Dateipfad speichertcontents
, der die Asset-Inhalte speichertjs
: der Javascript-Inhalt mit:path_url
-Schlüssel, der die URL zum Asset-Dateipfad speichertcontents
, der die Asset-Inhalte speichertslides
: Die Folienliste, jede mit diesen Eigenschaften:header
: der Folientitelcontent
: der Folieninhaltnumber
: die Foliennummerembed
: Ist das aktuelle Dokument ein eigenständiges Dokument?num_slides
: Die Anzahl der Folien in der aktuellen Präsentationtoc
: das Inhaltsverzeichnis, das Abschnitte des Dokuments auflistet. In jedem Abschnitt stehen die folgenden Eigenschaften zur Verfügung:title
: der Abschnittstitelnumber
: Die Foliennummer des Abschnittssub
: Unterabschnitte, falls vorhanden Stilumfang
css/screen.css
an, das mit dem von Ihnen verwendeten Design gebündelt istcss/print.css
Autoren
Ursprünglicher Autor und Entwicklungsleiter
Mitverfasser
Mitwirkende
Autoren und Mitwirkende der Basisvorlage (HTML5-Folien)