@@ -48,6 +48,54 @@ export function renderIndex() {
48
48
` ;
49
49
}
50
50
51
+ export function renderProjectIndex ( username , projectName ) {
52
+ const assetsManifest = process . env . webpackAssets && JSON . parse ( process . env . webpackAssets ) ;
53
+ return `
54
+ <!DOCTYPE html>
55
+ <html lang="en">
56
+ <head>
57
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
58
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
59
+ <meta name="keywords" content="p5.js, p5.js web editor, web editor, processing, code editor" />
60
+ <meta name="description" content="A web editor for p5.js, a JavaScript library with the goal of making coding accessible to artists, designers, educators, and beginners." />
61
+ <title>${ `${ projectName } by ${ username } -` } p5.js Web Editor</title>
62
+ ${ process . env . NODE_ENV === 'production' ? `<link rel='stylesheet' href='${ assetsManifest [ '/app.css' ] } ' />` : '' }
63
+ <link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
64
+ <link href='https://fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
65
+ <link rel='shortcut icon' href='/favicon.ico' type='image/x-icon' / >
66
+ <script>
67
+ if (!window.process) {
68
+ window.process = {};
69
+ }
70
+ if (!window.process.env) {
71
+ window.process.env = {};
72
+ }
73
+ window.process.env.API_URL = '${ process . env . API_URL } ';
74
+ window.process.env.NODE_ENV = '${ process . env . NODE_ENV } ';
75
+ window.process.env.S3_BUCKET = '${ process . env . S3_BUCKET } ';
76
+ window.process.env.S3_BUCKET_URL_BASE = ${ process . env . S3_BUCKET_URL_BASE ? `'${ process . env . S3_BUCKET_URL_BASE } '` : undefined } ;
77
+ window.process.env.AWS_REGION = '${ process . env . AWS_REGION } ';
78
+ window.process.env.FORCE_TO_HTTPS = ${ process . env . FORCE_TO_HTTPS === 'false' ? false : undefined } ;
79
+ window.process.env.CLIENT = true;
80
+ window.process.env.LOGIN_ENABLED = ${ process . env . LOGIN_ENABLED === 'false' ? false : true } ;
81
+ window.process.env.EXAMPLES_ENABLED = ${ process . env . EXAMPLES_ENABLED === 'false' ? false : true } ;
82
+ window.process.env.UI_ACCESS_TOKEN_ENABLED = ${ process . env . UI_ACCESS_TOKEN_ENABLED === 'false' ? false : true } ;
83
+ window.process.env.UI_COLLECTIONS_ENABLED = ${ process . env . UI_COLLECTIONS_ENABLED === 'false' ? false : true } ;
84
+ window.process.env.UPLOAD_LIMIT = ${ process . env . UPLOAD_LIMIT ? `${ process . env . UPLOAD_LIMIT } ` : undefined } ;
85
+ window.process.env.TRANSLATIONS_ENABLED = ${ process . env . TRANSLATIONS_ENABLED === 'true' ? true : false } ;
86
+ window.process.env.PREVIEW_URL = '${ process . env . PREVIEW_URL } ';
87
+ window.process.env.GA_MEASUREMENT_ID='${ process . env . GA_MEASUREMENT_ID } ';
88
+ </script>
89
+ </head>
90
+ <body>
91
+ <div id="root" class="root-app">
92
+ </div>
93
+ <script src='${ process . env . NODE_ENV === 'production' ? `${ assetsManifest [ '/app.js' ] } ` : '/app.js' } '></script>
94
+ </body>
95
+ </html>
96
+ ` ;
97
+ }
98
+
51
99
/**
52
100
* Send a 404 page if `exists` is false.
53
101
* @param {import('express').e.Request } req
0 commit comments