def main(): AsyncIOMainLoop().install() doc = get_document() if not options.config.no_default_js: doc.add_jsfile( 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js') doc.add_jsfile('static/bootstrap.min.js') if not options.config.no_default_css: doc.add_cssfile('static/bootstrap.min.css') _user_static_dirs = set() for js in options.config.js_files: _user_static_dirs.add(path.dirname(js)) doc.add_jsfile(js) for css in options.config.css_files: _user_static_dirs.add(path.dirname(css)) doc.add_cssfile(css) # choices arg is better, but detecting error is not easy in livemark.vim if options.config.highlight_theme in STYLE_MAP: pygments_style = HtmlFormatter( style=options.config.highlight_theme).get_style_defs() else: pygments_style = HtmlFormatter('default').get_style_defs() doc.head.appendChild(Style(pygments_style)) script = Script(parent=doc.body) script.innerHTML = ''' function moveToElement(id) { var elm = document.getElementById(id) if (elm) { var x = window.scrollX var rect = elm.getBoundingClientRect() window.scrollTo(x, rect.top + window.scrollY) console.log(elm.textContent) } } ''' mount_point = Div(parent=doc.body, class_='container') mount_point.appendChild(H2('LiveMark is running...')) app = get_app(doc) app.add_static_path('static', static_dir) for _d in _user_static_dirs: app.add_static_path(_d, _d) web_server = start_server(app, port=options.config.browser_port) loop = asyncio.get_event_loop() vim_server = Server(port=options.config.vim_port, loop=loop, doc=doc, mount_point=mount_point) browser = webbrowser.get(options.config.browser) browser.open('http://localhost:{}'.format(options.config.browser_port)) try: vim_server.start() loop.run_forever() except KeyboardInterrupt: vim_server.stop() web_server.stop()
def main(): AsyncIOMainLoop().install() doc = get_document() if not options.config.no_default_js: doc.add_jsfile( 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' ) doc.add_jsfile('static/bootstrap.min.js') if not options.config.no_default_css: doc.add_cssfile('static/bootstrap.min.css') _user_static_dirs = set() for js in options.config.js_files: _user_static_dirs.add(path.dirname(js)) doc.add_jsfile(js) for css in options.config.css_files: _user_static_dirs.add(path.dirname(css)) doc.add_cssfile(css) # choices arg is better, but detecting error is not easy in livemark.vim if options.config.highlight_theme in STYLE_MAP: pygments_style = HtmlFormatter( style=options.config.highlight_theme).get_style_defs() else: pygments_style = HtmlFormatter('default').get_style_defs() doc.head.appendChild(Style(pygments_style)) script = Script(parent=doc.body) script.innerHTML = ''' function moveToElement(id) { var elm = document.getElementById(id) if (elm) { var x = window.scrollX var rect = elm.getBoundingClientRect() window.scrollTo(x, rect.top + window.scrollY) console.log(elm.textContent) } } ''' mount_point = Div(parent=doc.body, class_='container') mount_point.appendChild(H2('LiveMark is running...')) app = get_app(doc) app.add_static_path('static', static_dir) for _d in _user_static_dirs: app.add_static_path(_d, _d) web_server = start_server(app, port=options.config.browser_port) loop = asyncio.get_event_loop() vim_server = Server(port=options.config.vim_port, loop=loop, doc=doc, mount_point=mount_point) browser = webbrowser.get(options.config.browser) browser.open('http://localhost:{}'.format(options.config.browser_port)) try: vim_server.start() loop.run_forever() except KeyboardInterrupt: vim_server.stop() web_server.stop()