Added live serving
This commit is contained in:
parent
fed3e3f586
commit
ca0b2e7c5b
1 changed files with 17 additions and 0 deletions
17
build.py
17
build.py
|
@ -3,6 +3,8 @@ import shutil
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
import markdown
|
import markdown
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
import sys
|
||||||
|
from http.server import SimpleHTTPRequestHandler, HTTPServer
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
@ -49,6 +51,18 @@ class Section:
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
|
if sys.argv[1:] and sys.argv[1] == "serve":
|
||||||
|
port = int(sys.argv[2]) if len(sys.argv) > 2 else 8000
|
||||||
|
os.chdir("dist")
|
||||||
|
print(f"Serving on http://localhost:{port}")
|
||||||
|
httpd = HTTPServer(("localhost", port), SimpleHTTPRequestHandler)
|
||||||
|
try:
|
||||||
|
httpd.serve_forever()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print("\nServer stopped.")
|
||||||
|
finally:
|
||||||
|
httpd.server_close()
|
||||||
|
return
|
||||||
env = Environment(loader=FileSystemLoader("."))
|
env = Environment(loader=FileSystemLoader("."))
|
||||||
|
|
||||||
template = env.get_template("site.template.html")
|
template = env.get_template("site.template.html")
|
||||||
|
@ -70,6 +84,9 @@ def main() -> None:
|
||||||
shutil.rmtree(dst_folder, ignore_errors=True)
|
shutil.rmtree(dst_folder, ignore_errors=True)
|
||||||
shutil.copytree(src_folder, dst_folder)
|
shutil.copytree(src_folder, dst_folder)
|
||||||
|
|
||||||
|
if os.path.exists("favicon.ico"):
|
||||||
|
shutil.copy("favicon.ico", "dist/favicon.ico")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Add table
Reference in a new issue