mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-07 23:48:12 +08:00
remove static route redirects / bump static to top level (#1299)
* add another favicon rule * catch only top-level dataset names * add config flag to disable redirects * remove static redirect, point all links to top-level /static * remove extraneous argument * remove httpd redirect
This commit is contained in:
@@ -90,7 +90,7 @@ module.exports = {
|
|||||||
__REACT_DEVTOOLS_GLOBAL_HOOK__: "({ isDisabled: true })"
|
__REACT_DEVTOOLS_GLOBAL_HOOK__: "({ isDisabled: true })"
|
||||||
}),
|
}),
|
||||||
new webpack.DefinePlugin({
|
new webpack.DefinePlugin({
|
||||||
"process.env.CXG_SERVER_PORT": JSON.stringify(process.env.CXG_SERVER_PORT),
|
"process.env.CXG_SERVER_PORT": JSON.stringify(process.env.CXG_SERVER_PORT)
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ const nodeModules = path.resolve("node_modules");
|
|||||||
|
|
||||||
const babelOptions = require("../babel/babel.prod");
|
const babelOptions = require("../babel/babel.prod");
|
||||||
|
|
||||||
const publicPath = "";
|
const publicPath = "/";
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
mode: "production",
|
mode: "production",
|
||||||
|
|||||||
+52
-36
@@ -1,42 +1,58 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>cell×gene</title>
|
<title>cell×gene</title>
|
||||||
<style>
|
<style>
|
||||||
html, body, p, h1, h2, h3, h4, h5, h6, span, button, input, label, text, div {
|
html,
|
||||||
font-family: 'Roboto Condensed', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
|
body,
|
||||||
font-size: 14px;
|
p,
|
||||||
}
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
span,
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
label,
|
||||||
|
text,
|
||||||
|
div {
|
||||||
|
font-family: "Roboto Condensed", "Helvetica Neue", "Helvetica",
|
||||||
|
"Arial", sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<link rel="shortcut icon" href="static/img/favicon.png">
|
<link rel="shortcut icon" href="/static/img/favicon.png" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script type="text/javascript">
|
||||||
|
window.CELLXGENE = {};
|
||||||
|
window.CELLXGENE.API = {
|
||||||
|
prefix: window.location.href + "api/",
|
||||||
|
version: "v0.2/"
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<noscript
|
||||||
|
>If you're seeing this message, that means
|
||||||
|
<strong>JavaScript has been disabled on your browser</strong>,
|
||||||
|
please <strong>enable JS</strong> to make this app work.
|
||||||
|
</noscript>
|
||||||
|
|
||||||
</head>
|
<div id="root"></div>
|
||||||
<body>
|
{% for script in SCRIPTS %}
|
||||||
<script type="text/javascript">
|
<script type="text/javascript" src="{{script | safe}}"></script>
|
||||||
window.CELLXGENE = {};
|
{% endfor %}
|
||||||
window.CELLXGENE.API = {
|
</body>
|
||||||
prefix: window.location.href + "api/",
|
|
||||||
version: "v0.2/"
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<noscript>If you're seeing this message, that means <strong>JavaScript has been disabled on your browser</strong>,
|
|
||||||
please <strong>enable JS</strong> to make this app work.
|
|
||||||
</noscript>
|
|
||||||
|
|
||||||
<div id="root"></div>
|
|
||||||
{% for script in SCRIPTS %}
|
|
||||||
<script type="text/javascript" src="{{script | safe}}"></script>
|
|
||||||
{% endfor %}
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+2
-8
@@ -44,7 +44,9 @@ def dataset_index(dataset=None):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: remove the top-level /favicon route once the build problem with index.html is resolved
|
||||||
@webbp.route("/favicon.png", methods=["GET"])
|
@webbp.route("/favicon.png", methods=["GET"])
|
||||||
|
@webbp.route("/static/img/favicon.png", methods=["GET"])
|
||||||
def favicon():
|
def favicon():
|
||||||
return send_from_directory(os.path.join(webbp.root_path, "static/img/"), "favicon.png")
|
return send_from_directory(os.path.join(webbp.root_path, "static/img/"), "favicon.png")
|
||||||
|
|
||||||
@@ -89,11 +91,6 @@ def rest_get_data_adaptor(func):
|
|||||||
return wrapped_function
|
return wrapped_function
|
||||||
|
|
||||||
|
|
||||||
def static_redirect(dataset, therest):
|
|
||||||
""" redirect all static requests to the standard location """
|
|
||||||
return redirect(f"/static/{therest}", code=301)
|
|
||||||
|
|
||||||
|
|
||||||
def dataroot_test_index():
|
def dataroot_test_index():
|
||||||
# the following index page is meant for testing/debugging purposes
|
# the following index page is meant for testing/debugging purposes
|
||||||
data = '<!doctype html><html lang="en">'
|
data = '<!doctype html><html lang="en">'
|
||||||
@@ -229,9 +226,6 @@ class Server:
|
|||||||
resources = get_api_resources(bp_api)
|
resources = get_api_resources(bp_api)
|
||||||
self.app.register_blueprint(resources.blueprint)
|
self.app.register_blueprint(resources.blueprint)
|
||||||
self.app.add_url_rule("/d/<dataset>/", "dataset_index", dataset_index, methods=["GET"])
|
self.app.add_url_rule("/d/<dataset>/", "dataset_index", dataset_index, methods=["GET"])
|
||||||
self.app.add_url_rule(
|
|
||||||
"/d/<dataset>/static/<path:therest>", "static_redirect", static_redirect, methods=["GET"]
|
|
||||||
)
|
|
||||||
|
|
||||||
self.app.matrix_data_cache_manager = matrix_data_cache_manager
|
self.app.matrix_data_cache_manager = matrix_data_cache_manager
|
||||||
self.app.annotations = annotations
|
self.app.annotations = annotations
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
# Configure URL rewriting from /<dataset>/static/* to /static/*
|
|
||||||
files:
|
|
||||||
"/etc/httpd/conf.d/static_rewrite.conf":
|
|
||||||
mode: "000644"
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
content: |
|
|
||||||
RewriteEngine On
|
|
||||||
RewriteRule "^(.*)/static/(.*)" "/static/$2" [PT]
|
|
||||||
RewriteRule "^/favicon.png" "/static/img/favicon.png" [PT]
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user