modify presentation with markslider

This commit is contained in:
q
2016-06-18 20:25:31 +03:00
parent 4eb826bf89
commit 1f8cfc5a12

View File

@@ -20,7 +20,7 @@
'''Markslider: a slideshow engine based on markdown.'''
__author__ = "Ville Rantanen <ville.q.rantanen@gmail.com>"
__version__ = "0.7"
__version__ = "0.8"
import sys,os,argparse,re
from argparse import ArgumentParser
@@ -185,11 +185,13 @@ def get_interactive_help_text():
return ''' left/right,page up/down,home,end
change page
q exit browser
M modify file with VIM
r reload the file
s toggle status bar
t toggle timer (reqs. --timer switch)
,/. scroll page
up/down move highlight
enter execute highlighted line
h help'''
def setup_options():
@@ -397,15 +399,19 @@ def browser(opts,filename):
if inkey==ord('r'):
reader.read()
offset=offset_change(opts,reader,offset,(0, 0))
if inkey==ord('M'):
modify_file(reader,offset)
reader.read()
offset=offset_change(opts,reader,offset,(0, 0))
if inkey==ord(','):
offset=offset_change(opts,reader,offset,(-1, 0))
if inkey==ord('.'):
offset=offset_change(opts,reader,offset,(1, 0))
if inkey==65:
if inkey==65: # up
offset=offset_change(opts,reader,offset,(0, -1))
if inkey==66:
if inkey==66: # down
offset=offset_change(opts,reader,offset,(0, 1))
if inkey==13:
if inkey==13: # enter
launch(reader,opts,offset)
break
@@ -498,6 +504,13 @@ def launch(reader,opts,offset):
return
return
def modify_file(reader,offset):
row=1
for page in range(reader.page):
row+=len(reader.data[page])
subprocess.call("vim +%d -c 'exe \"normal! zt\"' -c %d %s"%(row,row+offset[1],reader.filename),
shell=True)
def take_screenshot(reader,opts):
out_file=os.path.join(opts.screenshots,"slide%03d.png"%(reader.page+1))
if not os.path.exists(opts.screenshots):