@@ -48,6 +48,54 @@ export function renderIndex() {
4848 ` ;
4949}
5050
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+
5199/**
52100 * Send a 404 page if `exists` is false.
53101 * @param {import('express').e.Request } req
0 commit comments