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.''' '''Markslider: a slideshow engine based on markdown.'''
__author__ = "Ville Rantanen <ville.q.rantanen@gmail.com>" __author__ = "Ville Rantanen <ville.q.rantanen@gmail.com>"
__version__ = "0.7" __version__ = "0.8"
import sys,os,argparse,re import sys,os,argparse,re
from argparse import ArgumentParser from argparse import ArgumentParser
@@ -185,12 +185,14 @@ def get_interactive_help_text():
return ''' left/right,page up/down,home,end return ''' left/right,page up/down,home,end
change page change page
q exit browser q exit browser
M modify file with VIM
r reload the file r reload the file
s toggle status bar s toggle status bar
t toggle timer (reqs. --timer switch) t toggle timer (reqs. --timer switch)
,/. scroll page ,/. scroll page
up/down move highlight up/down move highlight
h help''' enter execute highlighted line
h help'''
def setup_options(): def setup_options():
''' Create command line options ''' ''' Create command line options '''
@@ -397,15 +399,19 @@ def browser(opts,filename):
if inkey==ord('r'): if inkey==ord('r'):
reader.read() reader.read()
offset=offset_change(opts,reader,offset,(0, 0)) 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(','): if inkey==ord(','):
offset=offset_change(opts,reader,offset,(-1, 0)) offset=offset_change(opts,reader,offset,(-1, 0))
if inkey==ord('.'): if inkey==ord('.'):
offset=offset_change(opts,reader,offset,(1, 0)) offset=offset_change(opts,reader,offset,(1, 0))
if inkey==65: if inkey==65: # up
offset=offset_change(opts,reader,offset,(0, -1)) offset=offset_change(opts,reader,offset,(0, -1))
if inkey==66: if inkey==66: # down
offset=offset_change(opts,reader,offset,(0, 1)) offset=offset_change(opts,reader,offset,(0, 1))
if inkey==13: if inkey==13: # enter
launch(reader,opts,offset) launch(reader,opts,offset)
break break
@@ -497,6 +503,13 @@ def launch(reader,opts,offset):
shell=True) shell=True)
return return
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): def take_screenshot(reader,opts):
out_file=os.path.join(opts.screenshots,"slide%03d.png"%(reader.page+1)) out_file=os.path.join(opts.screenshots,"slide%03d.png"%(reader.page+1))