ciclostile/src/cli.py

44 lines
1.1 KiB
Python
Raw Normal View History

2018-04-07 04:17:49 +02:00
#!/usr/bin/env python3
import sys
import click
import ciclostile
2018-04-24 18:09:02 +02:00
from ciclostile.web import app as webapp
2018-04-07 04:17:49 +02:00
@click.group()
def cli():
pass
@cli.command()
@click.option('-t', '--template', type=click.File('r'))
@click.option('-o', '--output', type=click.File('w'), default=sys.stdout)
@click.argument('markdown', type=click.File('r'), default=sys.stdin)
def compile(template, output, markdown):
data = ciclostile.parse(markdown.read())
html = ciclostile.compile(template.read(), data)
output.write(html)
@cli.command()
@click.option('-t', '--template', type=click.File('r'))
@click.option('-o', '--output', type=click.File('w'), default=sys.stdout)
@click.argument('folder', type=click.Path(exists=True,
file_okay=False))
def index(template, output, folder):
data = ciclostile.index(folder)
html = ciclostile.compile(template.read(), data)
output.write(html)
2018-04-24 18:09:02 +02:00
@cli.command()
@click.option("-p", "--port", type=int, default=12345)
@click.argument("post_dir", default=".")
def app(port, post_dir):
webapp.run(port=port)
2018-04-07 04:17:49 +02:00
if __name__ == "__main__":
cli()