Landslide gera uma apresentação de slides usando markdown, ReST ou têxtil. Ele se baseia no modelo html5slides do Google.
A marcação a seguir produz esta apresentação de slides.
# 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
e os seguintes módulos:
jinja2
pygments
para coloração de sintaxe de blocos de código markdown
para Markdowndocutils
para texto reestruturadotextile
para Têxtil watchdog
para observação/regeneração automática com o sinalizador -w
Instale a versão estável mais recente do Landslide com um gerenciador de pacotes python como pip
:
$ pip install landslide
Se você quiser ficar no limite:
$ git clone https://github.com/adamzap/landslide.git
$ cd landslide
$ python setup.py build
$ sudo python setup.py install
.md
, .markdn
, .mdwn
, .mdown
ou .markdown
h1
(por exemplo, # My Title
)---
na marcação), exceto no final dos arquivos mdh1
!lang
onde lang
é o identificador do idioma suportado pelo pigmento como a primeira linha recuada.rst
ou .rest
( .txt
não é compatível )----
em RST), exceto no final dos arquivos RST---
, assim como no markdown landslide slides.md
ou landslide slides.rst
presentation.html
recém-geradaOu obtenha-o como um documento PDF se o Prince estiver instalado e disponível em seu sistema:
$ landslide README.md -d readme.pdf
$ open readme.pdf
h
para alternar a exibição da ajudaleft arrow
e right arrow
para navegart
para alternar um índice para sua apresentação. Os títulos dos slides são linksESC
para exibir a visão geral da apresentação (Exposé)n
para alternar a visibilidade do número do slideb
para alternar o apagamento da telac
para alternar o contexto do slide atual (slides anteriores e seguintes)e
para fazer slides preenchendo todo o espaço disponível no corpo do documentoS
para alternar a exibição do link para o arquivo de origem de cada slideVárias opções estão disponíveis usando a linha de comando:
-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 permite configurar sua apresentação usando um arquivo de configuração cfg
, facilitando assim a agregação de diretórios de origem e a reutilização deles em apresentações. Os arquivos de configuração do Landslide usam a sintaxe cfg
. Se você conhece arquivos ini
, você entendeu. Abaixo está um exemplo de arquivo de configuração:
[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
Não se esqueça de declarar a seção [landslide]
. Todos os arquivos de configuração devem terminar com a extensão .cfg.
Para gerar a apresentação conforme configurada, basta executar:
$ cd /path/to/my/presentation/sources
$ landslide config.cfg
Você pode usar macros para aprimorar sua apresentação:
Adicione notas aos seus slides usando a palavra-chave .notes:
por exemplo:
# My Slide Title
.notes: These are my notes, hidden by default
My visible content goes here
Você pode alternar a exibição de notas pressionando a tecla 2
.
Algumas outras macros também estão disponíveis por padrão: Adicione um QR Code à sua apresentação usando a palavra-chave Você também pode adicionar notas do apresentador a cada slide seguindo o conteúdo do slide com um título intitulado "Notas do apresentador". Pressione a tecla 'p' para abrir a visualização do apresentador. Macros são usadas para transformar o conteúdo HTML do seu slide. Você pode registrar suas próprias macros criando classes derivadas plop Isso renderizará qualquer slide conforme abaixo: Consulte a documentação sobre extensões Markdown disponíveis aqui: Um tema Landslide é um diretório que segue esta estrutura simples: Se um tema não fornecer arquivos HTML e JS, serão usados os do tema padrão. CSS não é opcional. Por último, você também pode copiar todo o diretório do tema para o da sua apresentação, passando a opção Se não quiser se preocupar em criar seu próprio tema, você pode incluir seus próprios arquivos CSS e JS de usuário na apresentação gerada. Este recurso só está disponível se você usar um arquivo de configuração do deslizamento, definindo os flags Eles vincularão a folha de estilo NOTA: Os caminhos para os arquivos css e js devem ser relativos ao diretório a partir do qual você está executando o comando Se você pretende publicar sua apresentação HTML online, você terá que usar a opção Dessa forma, você apenas terá que hospedar todo o diretório de apresentação em um servidor web. Claro, nenhum Python, PHP ou qualquer outra coisa além de um servidor web HTTP (como Nginx) é necessário para hospedar uma apresentação esmagadora. O Consulte https://github.com/adamzap/landslide/contributors.fx: foo bar
adicionará as classes foo
e bar
ao elemento Códigos QR
.qr
:
.qr: 450|http://github.com/adamzap/landslide
Notas do apresentador
Registrando Macros
landslide.macro.Macro
, implementando um método process(content, source=None)
e retornando uma tupla contendo o conteúdo modificado e algumas classes css que você pode querer adicionar ao seu slide
!python
import landslide
class MyMacro(landslide.Macro):
def process(self, content, source=None):
return content + '
!html
Uso Avançado
Configurando arquivo de destino personalizado
$ landslide slides.md -d ~/MyPresentations/presentation.html
Trabalhando com diretórios
$ landslide slides/
Trabalhando com saída direta
$ landslide slides.md -o | tidy
Usando um tema alternativo de deslizamento de terra
$ landslide slides.md -t mytheme
$ landslide slides.md -t /path/to/theme/dir
Incorporação de imagens codificadas em Base 64
$ landslide slides.md -i
Exportando para PDF
$ landslide slides.md -d presentation.pdf
Habilitando notação matemática
Note that this require writing the slides in ReST format as well as
using Docutils 0.8 or newer.
$ landslide slides.rst -m
Habilitando extensões de Markdown
$ landslide slides.md -x abbr
Tema
mytheme/
|-- base.html
|-- css
| |-- print.css
| `-- screen.css
`-- js
`-- slides.js
--copy-theme
para o comando landslide
:
$ landslide slides.md -t /path/to/some/theme --copy-theme
Folhas de estilo do usuário e Javascripts
css
e/ou js
:
[landslide]
theme = /path/to/my/beautiful/theme
source = slides.mdown
css = custom.css
js = jquery.js
powerpoint.js
custom.css
e os arquivos jquery.js
e powerpoint.js
na seção do arquivo html de apresentação.
landslide
. Publicando sua apresentação online
--relative
, bem como a opção --copy-theme
para ter todos os links de ativos relativos à raiz da sua apresentação;
$ landslide slides.md --relative --copy-theme
Variáveis Temáticas
base.html
deve ser um arquivo de modelo Jinja2 onde você pode aproveitar as seguintes variáveis de modelo:css
: o conteúdo da folha de estilo, disponível através de duas teclas, print
e screen
, ambas possuindo:path_url
que armazena a URL para o caminho do arquivo de ativoscontents
que armazena o conteúdo do ativojs
: o conteúdo do javascript, tendo:path_url
que armazena a URL para o caminho do arquivo de ativoscontents
que armazena o conteúdo do ativoslides
: a lista de slides, cada um com estas propriedades:header
: o título do slidecontent
: o conteúdo do slidenumber
: o número do slideembed
: o documento atual é independente?num_slides
: o número de slides na apresentação atualtoc
: o Índice, listando seções do documento. Cada seção tem estas propriedades disponíveis:title
: o título da seçãonumber
: o número do slide da seçãosub
: subseções, se houver Escopo de estilos
css/screen.css
que acompanha o tema que você está usandocss/print.css
Autores
Autor original e líder de desenvolvimento
Coautor
Colaboradores
Autores e colaboradores do modelo base (slides HTML5)