def main(): parser = argparse.ArgumentParser("md2tex", description="Markdown to TeX converter") parser.add_argument("--title", "-t", help="title name", default=None) parser.add_argument("--author", "-a", help="author", default=None) parser.add_argument("--date", "-d", help="date", default=None) parser.add_argument("--now", "-n", help="date = now", action="store_true") parser.add_argument("--class", "-c", help="document class (default jsarticle)", default="jsarticle") parser.add_argument("--output", "-o", help="output file name (default a.tex)", default="a.tex") parser.add_argument("--parser", "-p", choices=["markdown"], default="markdown") parser.add_argument("--picture-width", "--width", "-w", help="picture width (default 5cm)", default="5cm") parser.add_argument("input", help="input file name") args = parser.parse_args() parsers = {"markdown": md.MarkdownParser} parser = parsers[args.parser]() parts = parser.parse_file(args.input) date = args.date if args.now: date = datetime.datetime.now().strftime("%Y/%-m/%-d") build.generate(args.output, getattr(args, "class"), args.picture_width, parts, author=args.author, date=date, title=args.title)
def on_modified(self, event): super(BuilderEventHandler, self).on_deleted(event) build.generate(False)
def on_created(self, event): super(BuilderEventHandler, self).on_created(event) build.generate(False)
os.chdir(WEB_DIR) server = StoppableHTTPServer(("127.0.0.1", PORT), http.server.SimpleHTTPRequestHandler) thread = threading.Thread(None, server.run) thread.start() print("Server running at", PORT) logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S') if __name__ == "__main__": # Do an initial build right away. build.generate(False) # Setup an HTTP server so user can see the EDB live in a browser # this is done in a separate thread launch_web_server() # Now watch the source directory for changes, building each time. event_handler = BuilderEventHandler() observer = Observer() observer.schedule(event_handler, SOURCE_DIR, recursive=True) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop()
import subprocess import shutil import build build.generate(True) subprocess.run([ shutil.which('aws'), 's3', 'sync', '--acl', 'public-read', '--delete', 'build', 's3://hi-edb-beta' ])