55 lines
1.6 KiB
HTML
55 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<base href="{{ cookiecutter.base_url }}">
|
|
<meta charset="UTF-8">
|
|
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
|
|
<meta name="description" content="{{ cookiecutter.project_description }}">
|
|
|
|
<!-- iOS meta tags & icons -->
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<meta name="apple-mobile-web-app-title" content="{{ cookiecutter.product_name }}">
|
|
<link rel="apple-touch-icon" href="icons/apple-touch-icon-192.png">
|
|
|
|
<!-- Favicon -->
|
|
<link rel="icon" type="image/png" href="favicon.png" />
|
|
|
|
<title>{{ cookiecutter.product_name }}</title>
|
|
<link rel="manifest" href="manifest.json">
|
|
|
|
<script>
|
|
var flet = {
|
|
pyodide: true,
|
|
multiView: false,
|
|
noCdn: "{{ cookiecutter.no_cdn }}".toLowerCase() == "true",
|
|
webSocketEndpoint: "/ws",
|
|
entrypointBaseUrl: "/",
|
|
assetBase: "/",
|
|
routeUrlStrategy: "{{ cookiecutter.route_url_strategy }}",
|
|
canvasKitBaseUrl: "/canvaskit/",
|
|
pyodideUrl: "/pyodide/pyodide.js",
|
|
pythonModuleName: "{{ cookiecutter.python_module_name }}",
|
|
webRenderer: "{{ cookiecutter.web_renderer }}",
|
|
fontFallbackBaseUrl: "assets/fonts/", // for Noto Emoji, use Google CDN
|
|
appPackageUrl: "assets/app/app.zip"
|
|
}
|
|
|
|
flet.flutterAppLoaded = new Promise((resolve) => {
|
|
flet.flutterAppResolve = resolve;
|
|
});
|
|
|
|
flet.flutterAppLoaded.then((flutterApp) => {
|
|
console.log("Flutter app loaded");
|
|
});
|
|
</script>
|
|
<script src="python.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<script src="flutter_bootstrap.js" async></script>
|
|
</body>
|
|
|
|
</html>
|