Landslide создает слайд-шоу с использованием уценки, ReST или текстиля. Он основан на шаблоне Google html5slides.
Следующая уценка создает это слайд-шоу.
# 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
и следующие модули:
jinja2
pygments
для окраски синтаксиса кодовых блоков markdown
для уценкиdocutils
для реструктурированного текстаtextile
для текстиля watchdog
для просмотра/автоматической регенерации с флагом -w
Установите последнюю стабильную версию Landslide с помощью менеджера пакетов Python, например pip
:
$ pip install landslide
Если вы хотите оставаться на грани:
$ git clone https://github.com/adamzap/landslide.git
$ cd landslide
$ python setup.py build
$ sudo python setup.py install
.md
, .markdn
, .mdwn
, .mdown
или .markdown
h1
(например, # My Title
).---
в уценке), за исключением конца файлов md.h1
.!lang
, где lang
— идентификатор поддерживаемого языка pygment, в качестве первой строки с отступом..rst
или .rest
( .txt
не поддерживается ).----
в RST), за исключением конца файлов RST.---
, как в уценке. landslide slides.md
или landslide slides.rst
presentation.html
Или получите его в формате PDF, если Prince установлен и доступен в вашей системе:
$ landslide README.md -d readme.pdf
$ open readme.pdf
h
чтобы переключить отображение справки.left arrow
и right arrow
для навигацииt
, чтобы переключить оглавление презентации. Заголовки слайдов – это ссылки.ESC
, чтобы отобразить обзор презентации (Exposé).n
чтобы переключить видимость номера слайдаb
чтобы включить гашение экрана.c
чтобы переключить контекст текущего слайда (предыдущий и следующий слайды).e
чтобы слайды заполняли все доступное пространство в теле документа.S
, чтобы переключить отображение ссылки на исходный файл для каждого слайда.С помощью командной строки доступны несколько опций:
-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
Landslide позволяет настроить презентацию с помощью файла конфигурации cfg
, что упрощает агрегацию исходных каталогов и их повторное использование в презентациях. Файлы конфигурации Landslide используют синтаксис cfg
. Если вы знаете ini
-файлы, вы поймете картину. Ниже приведен пример файла конфигурации:
[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
Не забудьте объявить раздел [landslide]
. Все файлы конфигурации должны иметь расширение .cfg.
Чтобы создать презентацию в соответствии с настройками, просто запустите:
$ cd /path/to/my/presentation/sources
$ landslide config.cfg
Вы можете использовать макросы для улучшения презентации:
Добавляйте примечания к слайдам, используя ключевое слово .notes:
например:
# My Slide Title
.notes: These are my notes, hidden by default
My visible content goes here
Вы можете переключить отображение заметок, нажав клавишу 2
.
Некоторые другие макросы также доступны по умолчанию: Добавьте QR-код в свою презентацию, используя ключевое слово Вы также можете добавить заметки докладчика к каждому слайду, добавив к содержимому слайда заголовок «Заметки докладчика». Нажмите клавишу «p», чтобы открыть режим докладчика. Макросы используются для преобразования HTML-содержимого слайда. Вы можете зарегистрировать свои собственные макросы, создав производные plop Это отобразит любой слайд, как показано ниже: См. документацию по доступным расширениям Markdown здесь: Тема Landslide представляет собой каталог, имеющий следующую простую структуру: Если тема не предоставляет файлы HTML и JS, будут использоваться файлы из темы по умолчанию. CSS не является обязательным. Наконец, вы также можете скопировать весь каталог темы в каталог презентации, передав параметр Если вы не хотите заморачиваться с созданием собственной темы, вы можете включить в сгенерированную презентацию свои собственные пользовательские файлы CSS и JS. Эта функция доступна только в том случае, если вы используете файл конфигурации Landslide, установив флаги Они свяжут таблицу стилей ПРИМЕЧАНИЕ. Пути к файлам css и js должны указываться относительно каталога, из которого вы запускаете команду Если вы собираетесь опубликовать свою HTML-презентацию в Интернете, вам придется использовать параметр Таким образом, вам просто нужно будет разместить весь каталог презентаций на веб-сервере. Конечно, для размещения убедительной презентации не требуется ни Python, ни PHP, ни что-либо еще, кроме веб-сервера HTTP (например, Nginx). См. https://github.com/adamzap/landslide/contributors..fx: foo bar
добавит классы foo
и bar
к соответствующему элементу QR-коды
.qr
:
.qr: 450|http://github.com/adamzap/landslide
Заметки докладчика
Регистрация макросов
landslide.macro.Macro
, реализовав process(content, source=None)
и вернув кортеж, содержащий измененное содержимое и некоторые классы CSS, которые вы, возможно, захотите добавить на слайд
!python
import landslide
class MyMacro(landslide.Macro):
def process(self, content, source=None):
return content + '
!html
Расширенное использование
Настройка пользовательского файла назначения
$ landslide slides.md -d ~/MyPresentations/presentation.html
Работа с каталогами
$ landslide slides/
Работа с прямым выводом
$ landslide slides.md -o | tidy
Использование альтернативной темы оползня
$ landslide slides.md -t mytheme
$ landslide slides.md -t /path/to/theme/dir
Встраивание изображений в кодировке Base-64
$ landslide slides.md -i
Экспорт в PDF
$ landslide slides.md -d presentation.pdf
Включение математической записи
Note that this require writing the slides in ReST format as well as
using Docutils 0.8 or newer.
$ landslide slides.rst -m
Включение расширений Markdown
$ landslide slides.md -x abbr
Тематика
mytheme/
|-- base.html
|-- css
| |-- print.css
| `-- screen.css
`-- js
`-- slides.js
--copy-theme
команде landslide
:
$ landslide slides.md -t /path/to/some/theme --copy-theme
Пользовательские таблицы стилей и Javascripts
css
и/или js
:
[landslide]
theme = /path/to/my/beautiful/theme
source = slides.mdown
css = custom.css
js = jquery.js
powerpoint.js
custom.css
и файлы jquery.js
и powerpoint.js
в разделе HTML-файла презентации.
landslide
. Публикация вашей презентации в Интернете
--relative
, а также параметр --copy-theme
, чтобы все ссылки на ресурсы относились к корню вашей презентации;
$ landslide slides.md --relative --copy-theme
Переменные темы
base.html
должен быть файлом шаблона Jinja2, в котором вы можете использовать следующие переменные шаблона:css
: содержимое таблицы стилей, доступное с помощью двух клавиш: print
и screen
, каждая из которых имеет:path_url
хранящий URL-адрес пути к файлу ресурсаcontents
хранящий содержимое активаjs
: содержимое javascript, имеющее:path_url
хранящий URL-адрес пути к файлу ресурсаcontents
хранящий содержимое активаslides
: список слайдов, каждый из которых имеет следующие свойства:header
: заголовок слайдаcontent
: содержимое слайдаnumber
: номер слайдаembed
: является ли текущий документ автономным?num_slides
: количество слайдов в текущей презентации.toc
: оглавление со списком разделов документа. В каждом разделе доступны следующие свойства:title
: название разделаnumber
: номер слайда раздела.sub
: подразделы, если есть Область применения стилей
css/screen.css
связанную с используемой вами темой.css/print.css
Авторы
Оригинальный автор и руководитель разработки
Соавтор
Авторы
Авторы и участники базового шаблона (слайды HTML5)