docs: set up client-side redirects from previous era docs urls (#10921)

* one simple redirect, as a test

* adding license to header

* painstakingly added SEO redirects!

* addressed feedback and ran lint-fix!

* lets try newline again!

* Revert "lets try newline again!"

This reverts commit 20f89bd23c776fb4d471ba7ca4928d723ef8fff7.

* Revert "Revert "lets try newline again!""

This reverts commit e441edc54a47a8319302b003c2bc1ea397bdd179.

* wait... there were TWO newlines?

Co-authored-by: Evan Rusackas <evan@preset.io>
This commit is contained in:
Srini Kadamati 2020-09-18 16:31:22 -04:00 committed by GitHub
parent d4f33cc9de
commit 4a4fdb1e02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 613 additions and 21 deletions

View File

@ -1,19 +1,21 @@
[//]: # Licensed to the Apache Software Foundation (ASF) under one
[//]: # or more contributor license agreements. See the NOTICE file
[//]: # distributed with this work for additional information
[//]: # regarding copyright ownership. The ASF licenses this file
[//]: # to you under the Apache License, Version 2.0 (the
[//]: # "License"); you may not use this file except in compliance
[//]: # with the License. You may obtain a copy of the License at
[//]: #
[//]: # http://www.apache.org/licenses/LICENSE-2.0
[//]: #
[//]: # Unless required by applicable law or agreed to in writing,
[//]: # software distributed under the License is distributed on an
[//]: # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
[//]: # KIND, either express or implied. See the License for the
[//]: # specific language governing permissions and limitations
[//]: # under the License.
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
Here's the source to the documentation hosted at
<a href="https://superset.apache.org">superset.apache.org</a>

View File

@ -24,4 +24,589 @@ exports.createPages = ({ actions }) => {
toPath: '/docs/installation/installing-superset-using-docker-compose',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#getting-started',
toPath: '/docs/installation/installing-superset-using-docker-compose',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#cloud-native',
toPath: '/docs/installation/installing-superset-using-docker-compose',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#start-with-docker',
toPath: '/docs/installation/installing-superset-using-docker-compose',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#os-dependencies',
toPath: '/docs/installation/installing-superset-from-scratch#installing-superset-from-scratch',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#python-virtualenv',
toPath: '/docs/installation/installing-superset-from-scratch#installing-superset-from-scratch',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#python-s-setup-tools-and-pip',
toPath: '/docs/installation/installing-superset-from-scratch#installing-superset-from-scratch',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#superset-installation-and-initialization',
toPath: '/docs/installation/installing-superset-from-scratch#installing-superset-from-scratch',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#a-proper-wsgi-http-server',
toPath: '/docs/installation/configuring-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#flask-appbuilder-permissions',
toPath: '/docs/installation/configuring-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#configuration-behind-a-load-balancer',
toPath: '/docs/installation/configuring-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#configuration',
toPath: '/docs/installation/configuring-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#database-dependencies',
toPath: '/docs/databases/installing-database-drivers',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#hana',
toPath: '/docs/databases/hana',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#aws-athena',
toPath: '/docs/databases/athena',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#google-bigquery',
toPath: '/docs/databases/bigquery',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#elasticsearch',
toPath: '/docs/databases/elasticsearch',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#snowflake',
toPath: '/docs/databases/snowflake',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#teradata',
toPath: '/docs/databases/teradata',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#apache-drill',
toPath: '/docs/databases/drill',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#caching',
toPath: '/docs/installation/cache',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#deeper-sqlalchemy-integration',
toPath: '/docs/databases/extra-settings',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#schemas-postgres-redshift',
toPath: '/docs/databases/extra-settings',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#external-password-store-for-sqlalchemy-connections',
toPath: '/docs/databases/extra-settings',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#ssl-access-to-databases',
toPath: '/docs/databases/extra-settings',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#druid',
toPath: '/docs/databases/druid',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#presto',
toPath: '/docs/databases/presto',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#exasol',
toPath: '/docs/databases/exasol',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#cors',
toPath: '/docs/installation/networking-settings',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#domain-sharding',
toPath: '/docs/installation/networking-settings',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#middleware',
toPath: '/docs/installation/networking-settings',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#event-logging',
toPath: '/docs/installation/event-logging',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#upgrading',
toPath: '/docs/installation/upgrading-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#celery-tasks',
toPath: '/docs/installation/async-queries-celery',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#email-reports',
toPath: '/docs/installation/email-reports',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#sql-lab',
toPath: '/docs/installation/sql-templating',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#celery-flower',
toPath: '/docs/installation/async-queries-celery',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#building-from-source',
toPath: '/docs/contribution',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#blueprints',
toPath: '/docs/installation/configuring-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#statsd-logging',
toPath: '/docs/installation/event-logging',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#install-superset-with-helm-in-kubernetes',
toPath: '/docs/installation/installing-superset-from-scratch',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#custom-oauth2-configuration',
toPath: '/docs/installation/configuring-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#feature-flags',
toPath: '/docs/installation/configuring-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/installation.html#sip-15',
toPath: '/docs/installation/configuring-superset',
isPermanent: true,
});
createRedirect({
fromPath: '/tutorials.html',
toPath: '/docs/intro',
isPermanent: true,
});
createRedirect({
fromPath: '/admintutorial.html',
toPath: '/docs/creating-charts-dashboards/first-dashboard',
isPermanent: true,
});
createRedirect({
fromPath: '/admintutorial.html#connecting-to-a-new-database',
toPath: '/docs/creating-charts-dashboards/first-dashboard',
isPermanent: true,
});
createRedirect({
fromPath: '/admintutorial.html#adding-a-new-table',
toPath: '/docs/creating-charts-dashboards/first-dashboard',
isPermanent: true,
});
createRedirect({
fromPath: '/admintutorial.html#exploring-your-data',
toPath: '/docs/creating-charts-dashboards/first-dashboard',
isPermanent: true,
});
createRedirect({
fromPath: '/admintutorial.html#creating-a-slice-and-dashboard',
toPath: '/docs/creating-charts-dashboards/first-dashboard',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html',
toPath: '/docs/creating-charts-dashboards/first-dashboard',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#enabling-upload-a-csv-functionality',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#obtaining-and-loading-the-data',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#table-visualization',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#dashboard-basics',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#pivot-table',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#line-chart',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#markup',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#filter-box',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#publishing-your-dashboard',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#taking-your-dashboard-further',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#annotations',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#advanced-analytics',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#setting-up-the-base-chart',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#rolling-mean',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#time-comparison',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/usertutorial.html#resampling-the-data',
toPath: '/docs/creating-charts-dashboards/exploring-data',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#provided-roles',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#admin',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#alpha',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#gamma',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#sql-lab',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#public',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#managing-gamma-per-data-source-access',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#customizing',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#permissions',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/security.html#restricting-access-to-a-subset-of-data-sources',
toPath: '/docs/security',
isPermanent: true,
});
createRedirect({
fromPath: '/sqllab.html',
toPath: '/docs/installation/sql-templating',
isPermanent: true,
});
createRedirect({
fromPath: '/sqllab.html#feature-overview',
toPath: '/docs/installation/sql-templating',
isPermanent: true,
});
createRedirect({
fromPath: '/sqllab.html#extra-features',
toPath: '/docs/installation/sql-templating',
isPermanent: true,
});
createRedirect({
fromPath: '/sqllab.html#templating-with-jinja',
toPath: '/docs/installation/sql-templating',
isPermanent: true,
});
createRedirect({
fromPath: '/sqllab.html#available-macros',
toPath: '/docs/installation/sql-templating',
isPermanent: true,
});
createRedirect({
fromPath: '/sqllab.html#extending-macros',
toPath: '/docs/installation/sql-templating',
isPermanent: true,
});
createRedirect({
fromPath: '/sqllab.html#query-cost-estimation',
toPath: '/docs/installation/sql-templating',
isPermanent: true,
});
createRedirect({
fromPath: '/gallery.html',
toPath: '/docs/intro',
isPermanent: true,
});
createRedirect({
fromPath: '/druid.html',
toPath: '/docs/databases/druid',
isPermanent: true,
});
createRedirect({
fromPath: '/druid.html#aggregations',
toPath: '/docs/databases/druid',
isPermanent: true,
});
createRedirect({
fromPath: '/druid.html#post-aggregations',
toPath: '/docs/databases/druid',
isPermanent: true,
});
createRedirect({
fromPath: '/druid.html#unsupported-features',
toPath: '/docs/databases/druid',
isPermanent: true,
});
createRedirect({
fromPath: '/misc.html',
toPath: '/docs/miscellaneous/country-map-tools',
isPermanent: true,
});
createRedirect({
fromPath: '/visualization.html',
toPath: '/docs/miscellaneous/country-map-tools',
isPermanent: true,
});
createRedirect({
fromPath: '/visualization.html#country-map-tools',
toPath: '/docs/miscellaneous/country-map-tools',
isPermanent: true,
});
createRedirect({
fromPath: '/visualization.html#list-of-countries',
toPath: '/docs/miscellaneous/country-map-tools',
isPermanent: true,
});
createRedirect({
fromPath: '/visualization.html#need-to-add-a-new-country',
toPath: '/docs/miscellaneous/country-map-tools',
isPermanent: true,
});
createRedirect({
fromPath: '/videos.html',
toPath: '/resources',
isPermanent: true,
});
createRedirect({
fromPath: '/import_export_datasources.html#exporting-datasources-to-yaml',
toPath: '/docs/miscellaneous/importing-exporting-datasources',
isPermanent: true,
});
createRedirect({
fromPath: '/import_export_datasources.html#exporting-the-complete-supported-yaml-schema',
toPath: '/docs/miscellaneous/importing-exporting-datasources',
isPermanent: true,
});
createRedirect({
fromPath: '/import_export_datasources.html#importing-datasources-from-yaml',
toPath: '/docs/miscellaneous/importing-exporting-datasources',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#can-i-query-join-multiple-tables-at-one-time',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#how-big-can-my-data-source-be',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#how-do-i-create-my-own-visualization',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#can-i-upload-and-visualize-csv-data',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#why-are-my-queries-timing-out',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#why-is-the-map-not-visible-in-the-mapbox-visualization',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#how-to-add-dynamic-filters-to-a-dashboard',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#how-to-limit-the-timed-refresh-on-a-dashboard',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#why-does-flask-fab-or-superset-freezed-hung-not-responding-when-started-my-home-directory-is-nfs-mounted',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#what-if-the-table-schema-changed',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#how-do-i-go-about-developing-a-new-visualization-type',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#what-database-engine-can-i-use-as-a-backend-for-superset',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#how-can-i-configure-oauth-authentication-and-authorization',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#how-can-i-set-a-default-filter-on-my-dashboard',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: 'faq.html#how-do-i-get-superset-to-refresh-the-schema-of-my-table',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#is-there-a-way-to-force-the-use-specific-colors',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/faq.html#does-superset-work-with-insert-database-engine-here',
toPath: '/docs/frequently-asked-questions',
isPermanent: true,
});
createRedirect({
fromPath: '/index.html',
toPath: '/docs/intro',
isPermanent: true,
});
};

View File

@ -11,7 +11,7 @@ Superset is currently being incubated at
contributors (or committers) to Superset communicate primarily in the following channels (all of
which you can join):
- [mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
- [Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
- [Apache Superset Slack community](https://apache-superset.slack.com/join/shared_invite/zt-g8lpruog-HeqpgYrwdfrD5OYhlU7hPQ#/)
- [Github issues and PR's](https://github.com/apache/incubator-superset/issues)

View File

@ -450,7 +450,9 @@ const Theme = () => {
<ul className="databaseList">
{Databases.map(
({ title, href, imgName: imageName, width, height }) => (
({
title, href, imgName: imageName, width, height,
}) => (
<a
href={href}
target="_blank"
@ -472,11 +474,14 @@ const Theme = () => {
</ul>
<span className="databaseSub">
{' '}
... and any other SQLAlchemy{' '}
... and any other SQLAlchemy
{' '}
<a href="https://superset.incubator.apache.org/installation.html#database-dependencies">
{' '}
compatible databases{' '}
</a>{' '}
compatible databases
{' '}
</a>
{' '}
</span>
</div>
</div>