Skip to content

Commit 78167e1

Browse files
Merge pull request #9911 from jorisvandenbossche/doc-redirect
DOC: add redirects to ensure old links instead of building the docstring page
2 parents f100ebf + 582421e commit 78167e1

File tree

3 files changed

+39
-228
lines changed

3 files changed

+39
-228
lines changed

doc/_templates/api_redirect.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{% set pgn = pagename.split('.') -%}
2+
{% if pgn[-2][0].isupper() -%}
3+
{% set redirect = ["pandas", pgn[-2], pgn[-1], 'html']|join('.') -%}
4+
{% else -%}
5+
{% set redirect = ["pandas", pgn[-1], 'html']|join('.') -%}
6+
{% endif -%}
7+
<html>
8+
<head>
9+
<meta http-equiv="Refresh" content="0; url={{ redirect }}" />
10+
<title>This API page has moved</title>
11+
</head>
12+
<body>
13+
<p>This API page has moved <a href="{{ redirect }}">here</a>.</p>
14+
</body>
15+
</html>

doc/source/api.rst

Lines changed: 0 additions & 227 deletions
Original file line numberDiff line numberDiff line change
@@ -1550,230 +1550,3 @@ Working with options
15501550
get_option
15511551
set_option
15521552
option_context
1553-
1554-
1555-
..
1556-
HACK - see github issue #4539. To ensure old links remain valid, include
1557-
here the autosummaries with previous currentmodules as a comment and add
1558-
them to a hidden toctree (to avoid warnings):
1559-
1560-
.. toctree::
1561-
:hidden:
1562-
1563-
generated/pandas.core.common.isnull
1564-
generated/pandas.core.common.notnull
1565-
generated/pandas.core.reshape.get_dummies
1566-
generated/pandas.io.clipboard.read_clipboard
1567-
generated/pandas.io.excel.ExcelFile.parse
1568-
generated/pandas.io.excel.read_excel
1569-
generated/pandas.io.html.read_html
1570-
generated/pandas.io.json.read_json
1571-
generated/pandas.io.parsers.read_csv
1572-
generated/pandas.io.parsers.read_fwf
1573-
generated/pandas.io.parsers.read_table
1574-
generated/pandas.io.pickle.read_pickle
1575-
generated/pandas.io.pytables.HDFStore.append
1576-
generated/pandas.io.pytables.HDFStore.get
1577-
generated/pandas.io.pytables.HDFStore.put
1578-
generated/pandas.io.pytables.HDFStore.select
1579-
generated/pandas.io.pytables.read_hdf
1580-
generated/pandas.io.sql.read_sql
1581-
generated/pandas.io.sql.read_frame
1582-
generated/pandas.io.sql.write_frame
1583-
generated/pandas.io.stata.read_stata
1584-
generated/pandas.stats.moments.ewma
1585-
generated/pandas.stats.moments.ewmcorr
1586-
generated/pandas.stats.moments.ewmcov
1587-
generated/pandas.stats.moments.ewmstd
1588-
generated/pandas.stats.moments.ewmvar
1589-
generated/pandas.stats.moments.expanding_apply
1590-
generated/pandas.stats.moments.expanding_corr
1591-
generated/pandas.stats.moments.expanding_count
1592-
generated/pandas.stats.moments.expanding_cov
1593-
generated/pandas.stats.moments.expanding_kurt
1594-
generated/pandas.stats.moments.expanding_mean
1595-
generated/pandas.stats.moments.expanding_median
1596-
generated/pandas.stats.moments.expanding_quantile
1597-
generated/pandas.stats.moments.expanding_skew
1598-
generated/pandas.stats.moments.expanding_std
1599-
generated/pandas.stats.moments.expanding_sum
1600-
generated/pandas.stats.moments.expanding_var
1601-
generated/pandas.stats.moments.rolling_apply
1602-
generated/pandas.stats.moments.rolling_corr
1603-
generated/pandas.stats.moments.rolling_count
1604-
generated/pandas.stats.moments.rolling_cov
1605-
generated/pandas.stats.moments.rolling_kurt
1606-
generated/pandas.stats.moments.rolling_mean
1607-
generated/pandas.stats.moments.rolling_median
1608-
generated/pandas.stats.moments.rolling_quantile
1609-
generated/pandas.stats.moments.rolling_skew
1610-
generated/pandas.stats.moments.rolling_std
1611-
generated/pandas.stats.moments.rolling_sum
1612-
generated/pandas.stats.moments.rolling_var
1613-
generated/pandas.tools.merge.concat
1614-
generated/pandas.tools.merge.merge
1615-
generated/pandas.tools.pivot.pivot_table
1616-
generated/pandas.tseries.tools.to_datetime
1617-
1618-
..
1619-
.. currentmodule:: pandas.io.pickle
1620-
1621-
.. autosummary::
1622-
:toctree: generated/
1623-
1624-
read_pickle
1625-
1626-
.. currentmodule:: pandas.io.parsers
1627-
1628-
.. autosummary::
1629-
:toctree: generated/
1630-
1631-
read_table
1632-
read_csv
1633-
read_fwf
1634-
1635-
.. currentmodule:: pandas.io.clipboard
1636-
1637-
.. autosummary::
1638-
:toctree: generated/
1639-
1640-
read_clipboard
1641-
1642-
.. currentmodule:: pandas.io.excel
1643-
1644-
.. autosummary::
1645-
:toctree: generated/
1646-
1647-
read_excel
1648-
ExcelFile.parse
1649-
1650-
.. currentmodule:: pandas.io.json
1651-
1652-
.. autosummary::
1653-
:toctree: generated/
1654-
1655-
read_json
1656-
1657-
.. currentmodule:: pandas.io.html
1658-
1659-
.. autosummary::
1660-
:toctree: generated/
1661-
1662-
read_html
1663-
1664-
.. currentmodule:: pandas.io.pytables
1665-
1666-
.. autosummary::
1667-
:toctree: generated/
1668-
1669-
read_hdf
1670-
HDFStore.put
1671-
HDFStore.append
1672-
HDFStore.get
1673-
HDFStore.select
1674-
1675-
.. currentmodule:: pandas.io.sql
1676-
1677-
.. autosummary::
1678-
:toctree: generated/
1679-
1680-
read_sql
1681-
read_frame
1682-
write_frame
1683-
1684-
.. currentmodule:: pandas.io.stata
1685-
1686-
.. autosummary::
1687-
:toctree: generated/
1688-
1689-
read_stata
1690-
StataReader.data
1691-
StataReader.data_label
1692-
StataReader.value_labels
1693-
StataReader.variable_labels
1694-
StataWriter.write_file
1695-
1696-
.. currentmodule:: pandas.tools.pivot
1697-
1698-
.. autosummary::
1699-
:toctree: generated/
1700-
1701-
pivot_table
1702-
1703-
.. currentmodule:: pandas.tools.merge
1704-
1705-
.. autosummary::
1706-
:toctree: generated/
1707-
1708-
merge
1709-
concat
1710-
1711-
.. currentmodule:: pandas.core.reshape
1712-
1713-
.. autosummary::
1714-
:toctree: generated/
1715-
1716-
get_dummies
1717-
1718-
.. currentmodule:: pandas.core.common
1719-
1720-
.. autosummary::
1721-
:toctree: generated/
1722-
1723-
isnull
1724-
notnull
1725-
1726-
.. currentmodule:: pandas.tseries.tools
1727-
1728-
.. autosummary::
1729-
:toctree: generated/
1730-
1731-
to_datetime
1732-
1733-
1734-
.. currentmodule:: pandas.stats.moments
1735-
1736-
.. autosummary::
1737-
:toctree: generated/
1738-
1739-
rolling_count
1740-
rolling_sum
1741-
rolling_mean
1742-
rolling_median
1743-
rolling_var
1744-
rolling_std
1745-
rolling_corr
1746-
rolling_cov
1747-
rolling_skew
1748-
rolling_kurt
1749-
rolling_apply
1750-
rolling_quantile
1751-
1752-
1753-
.. currentmodule:: pandas.stats.moments
1754-
1755-
.. autosummary::
1756-
:toctree: generated/
1757-
1758-
expanding_count
1759-
expanding_sum
1760-
expanding_mean
1761-
expanding_median
1762-
expanding_var
1763-
expanding_std
1764-
expanding_corr
1765-
expanding_cov
1766-
expanding_skew
1767-
expanding_kurt
1768-
expanding_apply
1769-
expanding_quantile
1770-
1771-
1772-
.. autosummary::
1773-
:toctree: generated/
1774-
1775-
ewma
1776-
ewmstd
1777-
ewmvar
1778-
ewmcorr
1779-
ewmcov

doc/source/conf.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,30 @@
211211

212212
# Additional templates that should be rendered to pages, maps page names to
213213
# template names.
214-
# html_additional_pages = {}
214+
215+
# Add redirect for previously existing API pages (which are now included in
216+
# the API pages as top-level functions) based on a template (GH9911)
217+
moved_api_pages = [
218+
'pandas.core.common.isnull', 'pandas.core.common.notnull', 'pandas.core.reshape.get_dummies',
219+
'pandas.tools.merge.concat', 'pandas.tools.merge.merge', 'pandas.tools.pivot.pivot_table',
220+
'pandas.tseries.tools.to_datetime', 'pandas.io.clipboard.read_clipboard', 'pandas.io.excel.ExcelFile.parse',
221+
'pandas.io.excel.read_excel', 'pandas.io.html.read_html', 'pandas.io.json.read_json',
222+
'pandas.io.parsers.read_csv', 'pandas.io.parsers.read_fwf', 'pandas.io.parsers.read_table',
223+
'pandas.io.pickle.read_pickle', 'pandas.io.pytables.HDFStore.append', 'pandas.io.pytables.HDFStore.get',
224+
'pandas.io.pytables.HDFStore.put', 'pandas.io.pytables.HDFStore.select', 'pandas.io.pytables.read_hdf',
225+
'pandas.io.sql.read_sql', 'pandas.io.sql.read_frame', 'pandas.io.sql.write_frame',
226+
'pandas.io.stata.read_stata', 'pandas.stats.moments.ewma', 'pandas.stats.moments.ewmcorr',
227+
'pandas.stats.moments.ewmcov', 'pandas.stats.moments.ewmstd', 'pandas.stats.moments.ewmvar',
228+
'pandas.stats.moments.expanding_apply', 'pandas.stats.moments.expanding_corr', 'pandas.stats.moments.expanding_count',
229+
'pandas.stats.moments.expanding_cov', 'pandas.stats.moments.expanding_kurt', 'pandas.stats.moments.expanding_mean',
230+
'pandas.stats.moments.expanding_median', 'pandas.stats.moments.expanding_quantile', 'pandas.stats.moments.expanding_skew',
231+
'pandas.stats.moments.expanding_std', 'pandas.stats.moments.expanding_sum', 'pandas.stats.moments.expanding_var',
232+
'pandas.stats.moments.rolling_apply', 'pandas.stats.moments.rolling_corr', 'pandas.stats.moments.rolling_count',
233+
'pandas.stats.moments.rolling_cov', 'pandas.stats.moments.rolling_kurt', 'pandas.stats.moments.rolling_mean',
234+
'pandas.stats.moments.rolling_median', 'pandas.stats.moments.rolling_quantile', 'pandas.stats.moments.rolling_skew',
235+
'pandas.stats.moments.rolling_std', 'pandas.stats.moments.rolling_sum', 'pandas.stats.moments.rolling_var']
236+
237+
html_additional_pages = {'generated/' + page: 'api_redirect.html' for page in moved_api_pages}
215238

216239
# If false, no module index is generated.
217240
html_use_modindex = True

0 commit comments

Comments
 (0)