-
Notifications
You must be signed in to change notification settings - Fork 12
The Design and Structure of SQLFlow.org
SQLFlow.org is the Web page of the project SQLFlow.
I bought the domain name SQLFlow.org on Google Domains. And I set on Google Domains to make SQLFlow.org points to the URL https://sql-machine-learning.github.io/.
The URL https://sql-machine-learning.github.io/ is rendered by Github Pages from the content in the repo https://github.com/sql-machine-learning/sql-machine-learning.github.io, which is referred to by the name Web site repo or site repo.
In the root directory of the site repo, there are some Git submodules, including
elasticdl @ 27dc918
gohive @ 7240393
gomaxcompute @ 1972bac
pysqlflow @ d6f96ac
sqlflow @ 575353d
Each submodule points to a Github repo. For example, sqlflow
refers to a version of https://github.com/sql-machine-learning/sqlflow. We refer to a repo pointed by a submodule by the name submodule repo.
In the root directory of a submodule repo, there is a file index.html
, which contains HTML redirect directives. For example, https://github.com/sql-machine-learning/sqlflow/blob/develop/index.html redirects to https://github.com/sql-machine-learning/sqlflow.
All the above mechanisms form a redirect path:
- Suppose that users type URL https://sqlflow.org/sqlflow in the Web browser,
- the DNS redirects it to https://sql-machine-learning.github.io/sqlflow.
- Github Pages renders this URL using content in https://github.com/sql-machine-learning/sql-machine-learning.github.io/sqlflow/index.html, which
- is actually https://github.com/sql-machine-learning/sqlflow/blob/575353d451ae5b4bdb27ebbd281860e3847c227f/index.html, which
- contains the redirect directive to https://github.com/sql-machine-learning/sqlflow.
- So, the user has the Github repo displayed in her Web browser.
With the above redirection chain, users can access https://github.com/sql-machine-learning/sqlflow with a short name https://sqlflow.org/sqlflow. Similarly, we have sqlfow.org/gohive, sqlflow.org/gomaxcompute, sqlflow.org/pysqlflow, etc.