Initial Commit
This commit is contained in:
41
freeze.py
Normal file
41
freeze.py
Normal file
@@ -0,0 +1,41 @@
|
||||
# freeze.py
|
||||
import os, shutil, warnings
|
||||
from flask_frozen import Freezer, MimetypeMismatchWarning
|
||||
from app import app
|
||||
|
||||
warnings.filterwarnings("ignore", category=MimetypeMismatchWarning)
|
||||
|
||||
# ─── set explicit build directory ───────────────────────────────
|
||||
BUILD_DIR = "/var/www/bennysboard/build"
|
||||
|
||||
if os.path.exists(BUILD_DIR):
|
||||
shutil.rmtree(BUILD_DIR)
|
||||
|
||||
app.config.update(
|
||||
SERVER_NAME="bennysboard.local",
|
||||
PREFERRED_URL_SCHEME="https",
|
||||
FREEZER_DESTINATION=BUILD_DIR, # <── add this
|
||||
FREEZER_IGNORE_MIMETYPE_WARNINGS=True,
|
||||
FREEZER_REMOVE_EXTRA_FILES=True,
|
||||
FREEZER_FLAT_URLS=True,
|
||||
)
|
||||
|
||||
freezer = Freezer(app)
|
||||
|
||||
def manual_routes():
|
||||
from flask import url_for
|
||||
with app.app_context():
|
||||
yield url_for("index")
|
||||
yield url_for("login")
|
||||
yield url_for("info_page")
|
||||
|
||||
def only_manual_routes(self):
|
||||
for route in manual_routes():
|
||||
yield type("Page", (), {"url": route})()
|
||||
|
||||
freezer.freeze_yield = only_manual_routes.__get__(freezer, Freezer)
|
||||
|
||||
if __name__ == "__main__":
|
||||
freezer.freeze()
|
||||
print(f"\n✅ Freeze complete — static site built in {BUILD_DIR}\n")
|
||||
|
||||
Reference in New Issue
Block a user