Skip to content

Commit 582421e

Browse files
DOC: add redirects to ensure old links instead of building the docstring page
1 parent 53bc65e commit 582421e

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
@@ -1521,230 +1521,3 @@ Working with options
15211521
get_option
15221522
set_option
15231523
option_context
1524-
1525-
1526-
..
1527-
HACK - see github issue #4539. To ensure old links remain valid, include
1528-
here the autosummaries with previous currentmodules as a comment and add
1529-
them to a hidden toctree (to avoid warnings):
1530-
1531-
.. toctree::
1532-
:hidden:
1533-
1534-
generated/pandas.core.common.isnull
1535-
generated/pandas.core.common.notnull
1536-
generated/pandas.core.reshape.get_dummies
1537-
generated/pandas.io.clipboard.read_clipboard
1538-
generated/pandas.io.excel.ExcelFile.parse
1539-
generated/pandas.io.excel.read_excel
1540-
generated/pandas.io.html.read_html
1541-
generated/pandas.io.json.read_json
1542-
generated/pandas.io.parsers.read_csv
1543-
generated/pandas.io.parsers.read_fwf
1544-
generated/pandas.io.parsers.read_table
1545-
generated/pandas.io.pickle.read_pickle
1546-
generated/pandas.io.pytables.HDFStore.append
1547-
generated/pandas.io.pytables.HDFStore.get
1548-
generated/pandas.io.pytables.HDFStore.put
1549-
generated/pandas.io.pytables.HDFStore.select
1550-
generated/pandas.io.pytables.read_hdf
1551-
generated/pandas.io.sql.read_sql
1552-
generated/pandas.io.sql.read_frame
1553-
generated/pandas.io.sql.write_frame
1554-
generated/pandas.io.stata.read_stata
1555-
generated/pandas.stats.moments.ewma
1556-
generated/pandas.stats.moments.ewmcorr
1557-
generated/pandas.stats.moments.ewmcov
1558-
generated/pandas.stats.moments.ewmstd
1559-
generated/pandas.stats.moments.ewmvar
1560-
generated/pandas.stats.moments.expanding_apply
1561-
generated/pandas.stats.moments.expanding_corr
1562-
generated/pandas.stats.moments.expanding_count
1563-
generated/pandas.stats.moments.expanding_cov
1564-
generated/pandas.stats.moments.expanding_kurt
1565-
generated/pandas.stats.moments.expanding_mean
1566-
generated/pandas.stats.moments.expanding_median
1567-
generated/pandas.stats.moments.expanding_quantile
1568-
generated/pandas.stats.moments.expanding_skew
1569-
generated/pandas.stats.moments.expanding_std
1570-
generated/pandas.stats.moments.expanding_sum
1571-
generated/pandas.stats.moments.expanding_var
1572-
generated/pandas.stats.moments.rolling_apply
1573-
generated/pandas.stats.moments.rolling_corr
1574-
generated/pandas.stats.moments.rolling_count
1575-
generated/pandas.stats.moments.rolling_cov
1576-
generated/pandas.stats.moments.rolling_kurt
1577-
generated/pandas.stats.moments.rolling_mean
1578-
generated/pandas.stats.moments.rolling_median
1579-
generated/pandas.stats.moments.rolling_quantile
1580-
generated/pandas.stats.moments.rolling_skew
1581-
generated/pandas.stats.moments.rolling_std
1582-
generated/pandas.stats.moments.rolling_sum
1583-
generated/pandas.stats.moments.rolling_var
1584-
generated/pandas.tools.merge.concat
1585-
generated/pandas.tools.merge.merge
1586-
generated/pandas.tools.pivot.pivot_table
1587-
generated/pandas.tseries.tools.to_datetime
1588-
1589-
..
1590-
.. currentmodule:: pandas.io.pickle
1591-
1592-
.. autosummary::
1593-
:toctree: generated/
1594-
1595-
read_pickle
1596-
1597-
.. currentmodule:: pandas.io.parsers
1598-
1599-
.. autosummary::
1600-
:toctree: generated/
1601-
1602-
read_table
1603-
read_csv
1604-
read_fwf
1605-
1606-
.. currentmodule:: pandas.io.clipboard
1607-
1608-
.. autosummary::
1609-
:toctree: generated/
1610-
1611-
read_clipboard
1612-
1613-
.. currentmodule:: pandas.io.excel
1614-
1615-
.. autosummary::
1616-
:toctree: generated/
1617-
1618-
read_excel
1619-
ExcelFile.parse
1620-
1621-
.. currentmodule:: pandas.io.json
1622-
1623-
.. autosummary::
1624-
:toctree: generated/
1625-
1626-
read_json
1627-
1628-
.. currentmodule:: pandas.io.html
1629-
1630-
.. autosummary::
1631-
:toctree: generated/
1632-
1633-
read_html
1634-
1635-
.. currentmodule:: pandas.io.pytables
1636-
1637-
.. autosummary::
1638-
:toctree: generated/
1639-
1640-
read_hdf
1641-
HDFStore.put
1642-
HDFStore.append
1643-
HDFStore.get
1644-
HDFStore.select
1645-
1646-
.. currentmodule:: pandas.io.sql
1647-
1648-
.. autosummary::
1649-
:toctree: generated/
1650-
1651-
read_sql
1652-
read_frame
1653-
write_frame
1654-
1655-
.. currentmodule:: pandas.io.stata
1656-
1657-
.. autosummary::
1658-
:toctree: generated/
1659-
1660-
read_stata
1661-
StataReader.data
1662-
StataReader.data_label
1663-
StataReader.value_labels
1664-
StataReader.variable_labels
1665-
StataWriter.write_file
1666-
1667-
.. currentmodule:: pandas.tools.pivot
1668-
1669-
.. autosummary::
1670-
:toctree: generated/
1671-
1672-
pivot_table
1673-
1674-
.. currentmodule:: pandas.tools.merge
1675-
1676-
.. autosummary::
1677-
:toctree: generated/
1678-
1679-
merge
1680-
concat
1681-
1682-
.. currentmodule:: pandas.core.reshape
1683-
1684-
.. autosummary::
1685-
:toctree: generated/
1686-
1687-
get_dummies
1688-
1689-
.. currentmodule:: pandas.core.common
1690-
1691-
.. autosummary::
1692-
:toctree: generated/
1693-
1694-
isnull
1695-
notnull
1696-
1697-
.. currentmodule:: pandas.tseries.tools
1698-
1699-
.. autosummary::
1700-
:toctree: generated/
1701-
1702-
to_datetime
1703-
1704-
1705-
.. currentmodule:: pandas.stats.moments
1706-
1707-
.. autosummary::
1708-
:toctree: generated/
1709-
1710-
rolling_count
1711-
rolling_sum
1712-
rolling_mean
1713-
rolling_median
1714-
rolling_var
1715-
rolling_std
1716-
rolling_corr
1717-
rolling_cov
1718-
rolling_skew
1719-
rolling_kurt
1720-
rolling_apply
1721-
rolling_quantile
1722-
1723-
1724-
.. currentmodule:: pandas.stats.moments
1725-
1726-
.. autosummary::
1727-
:toctree: generated/
1728-
1729-
expanding_count
1730-
expanding_sum
1731-
expanding_mean
1732-
expanding_median
1733-
expanding_var
1734-
expanding_std
1735-
expanding_corr
1736-
expanding_cov
1737-
expanding_skew
1738-
expanding_kurt
1739-
expanding_apply
1740-
expanding_quantile
1741-
1742-
1743-
.. autosummary::
1744-
:toctree: generated/
1745-
1746-
ewma
1747-
ewmstd
1748-
ewmvar
1749-
ewmcorr
1750-
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)