Exemplo n.º 1
0
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)
Exemplo n.º 2
0
 def on_modified(self, event):
     super(BuilderEventHandler, self).on_deleted(event)
     build.generate(False)
Exemplo n.º 3
0
 def on_created(self, event):
     super(BuilderEventHandler, self).on_created(event)
     build.generate(False)
Exemplo n.º 4
0
    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()
Exemplo n.º 5
0
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'
])