Skip to content
This repository was archived by the owner on Jun 4, 2020. It is now read-only.

Commit 4bc10fd

Browse files
committed
Add redirects to 404
1 parent a56b952 commit 4bc10fd

File tree

1 file changed

+119
-4
lines changed

1 file changed

+119
-4
lines changed

404.md

Lines changed: 119 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,123 @@ Oops: the lectures have been reorganized and we appear to have broken your link.
1212
<br>
1313

1414
<script>
15-
var timer = setTimeout(function() {
16-
//window.location='/'
17-
window.location='https://python-programming.quantecon.org' + window.location.pathname;
18-
}, 3000);
15+
16+
var redirects = new Map();
17+
18+
redirects.set('/about_py.html', 'https://python-programming.quantecon.org/about_py.html');
19+
redirects.set('/getting_started.html', 'https://python-programming.quantecon.org/getting_started.html');
20+
redirects.set('/python_by_example.html', 'https://python-programming.quantecon.org/python_by_example.html');
21+
redirects.set('/functions.html', 'https://python-programming.quantecon.org/functions.html');
22+
redirects.set('/python_essentials.html', 'https://python-programming.quantecon.org/python_essentials.html');
23+
redirects.set('/oop_intro.html', 'https://python-programming.quantecon.org/oop_intro.html');
24+
redirects.set('/python_oop.html', 'https://python-programming.quantecon.org/python_oop.html');
25+
redirects.set('/need_for_speed.html', 'https://python-programming.quantecon.org/need_for_speed.html');
26+
redirects.set('/numpy.html', 'https://python-programming.quantecon.org/numpy.html');
27+
redirects.set('/matplotlib.html', 'https://python-programming.quantecon.org/matplotlib.html');
28+
redirects.set('/scipy.html', 'https://python-programming.quantecon.org/scipy.html');
29+
redirects.set('/numba.html', 'https://python-programming.quantecon.org/numba.html');
30+
redirects.set('/parallelization.html', 'https://python-programming.quantecon.org/parallelization.html');
31+
redirects.set('/pandas.html', 'https://python-programming.quantecon.org/pandas.html');
32+
redirects.set('/writing_good_code.html', 'https://python-programming.quantecon.org/writing_good_code.html');
33+
redirects.set('/python_advanced_features.html', 'https://python-programming.quantecon.org/python_advanced_features.html');
34+
redirects.set('/debugging.html', 'https://python-programming.quantecon.org/debugging.html');
35+
redirects.set('/geom_series.html', 'https://python-intro.quantecon.org/geom_series.html');
36+
redirects.set('/linear_algebra.html', 'https://python-intro.quantecon.org/linear_algebra.html');
37+
redirects.set('/complex_and_trig.html', 'https://python-intro.quantecon.org/complex_and_trig.html');
38+
redirects.set('/lln_clt.html', 'https://python-intro.quantecon.org/lln_clt.html');
39+
redirects.set('/heavy_tails.html', 'https://python-intro.quantecon.org/heavy_tails.html');
40+
redirects.set('/mccall_model.html', 'https://python-intro.quantecon.org/mccall_model.html');
41+
redirects.set('/mccall_model_with_separation.html', 'https://python-intro.quantecon.org/mccall_model_with_separation.html');
42+
redirects.set('/mccall_fitted_vfi.html', 'https://python-intro.quantecon.org/mccall_fitted_vfi.html');
43+
redirects.set('/mccall_correlated.html', 'https://python-intro.quantecon.org/mccall_correlated.html');
44+
redirects.set('/career.html', 'https://python-intro.quantecon.org/career.html');
45+
redirects.set('/jv.html', 'https://python-intro.quantecon.org/jv.html');
46+
redirects.set('/markov_asset.html', 'https://python-intro.quantecon.org/markov_asset.html');
47+
redirects.set('/harrison_kreps.html', 'https://python-intro.quantecon.org/harrison_kreps.html');
48+
redirects.set('/pandas_panel.html', 'https://python-intro.quantecon.org/pandas_panel.html');
49+
redirects.set('/ols.html', 'https://python-intro.quantecon.org/ols.html');
50+
redirects.set('/mle.html', 'https://python-intro.quantecon.org/mle.html');
51+
redirects.set('/odu.html', 'https://python-intro.quantecon.org/odu.html');
52+
redirects.set('/wald_friedman.html', 'https://python-intro.quantecon.org/wald_friedman.html');
53+
redirects.set('/exchangeable.html', 'https://python-intro.quantecon.org/exchangeable.html');
54+
redirects.set('/likelihood_ratio_process.html', 'https://python-intro.quantecon.org/likelihood_ratio_process.html');
55+
redirects.set('/scalar_dynam.html', 'https://python-intro.quantecon.org/scalar_dynam.html');
56+
redirects.set('/ar1_processes.html', 'https://python-intro.quantecon.org/ar1_processes.html');
57+
redirects.set('/finite_markov.html', 'https://python-intro.quantecon.org/finite_markov.html');
58+
redirects.set('/inventory_dynamics.html', 'https://python-intro.quantecon.org/inventory_dynamics.html');
59+
redirects.set('/linear_models.html', 'https://python-intro.quantecon.org/linear_models.html');
60+
redirects.set('/samuelson.html', 'https://python-intro.quantecon.org/samuelson.html');
61+
redirects.set('/kesten_processes.html', 'https://python-intro.quantecon.org/kesten_processes.html');
62+
redirects.set('/wealth_dynamics.html', 'https://python-intro.quantecon.org/wealth_dynamics.html');
63+
redirects.set('/kalman.html', 'https://python-intro.quantecon.org/kalman.html');
64+
redirects.set('/short_path.html', 'https://python-intro.quantecon.org/short_path.html');
65+
redirects.set('/lqcontrol.html', 'https://python-intro.quantecon.org/lqcontrol.html');
66+
redirects.set('/perm_income.html', 'https://python-intro.quantecon.org/perm_income.html');
67+
redirects.set('/perm_income_cons.html', 'https://python-intro.quantecon.org/perm_income_cons.html');
68+
redirects.set('/lq_inventories.html', 'https://python-intro.quantecon.org/lq_inventories.html');
69+
redirects.set('/schelling.html', 'https://python-intro.quantecon.org/schelling.html');
70+
redirects.set('/lake_model.html', 'https://python-intro.quantecon.org/lake_model.html');
71+
redirects.set('/rational_expectations.html', 'https://python-intro.quantecon.org/rational_expectations.html');
72+
redirects.set('/re_with_feedback.html', 'https://python-intro.quantecon.org/re_with_feedback.html');
73+
redirects.set('/markov_perf.html', 'https://python-intro.quantecon.org/markov_perf.html');
74+
redirects.set('/uncertainty_traps.html', 'https://python-intro.quantecon.org/uncertainty_traps.html');
75+
redirects.set('/aiyagari.html', 'https://python-intro.quantecon.org/aiyagari.html');
76+
redirects.set('/optgrowth.html', 'https://python-intro.quantecon.org/optgrowth.html');
77+
redirects.set('/optgrowth_fast.html', 'https://python-intro.quantecon.org/optgrowth_fast.html');
78+
redirects.set('/coleman_policy_iter.html', 'https://python-intro.quantecon.org/coleman_policy_iter.html');
79+
redirects.set('/egm_policy_iter.html', 'https://python-intro.quantecon.org/egm_policy_iter.html');
80+
redirects.set('/ifp.html', 'https://python-intro.quantecon.org/ifp.html');
81+
redirects.set('/lucas_model.html', 'https://python-advanced.quantecon.org/lucas_model.html');
82+
redirects.set('/black_litterman.html', 'https://python-advanced.quantecon.org/black_litterman.html');
83+
redirects.set('/von_neumann_model.html', 'https://python-advanced.quantecon.org/von_neumann_model.html');
84+
redirects.set('/dyn_stack.html', 'https://python-advanced.quantecon.org/dyn_stack.html');
85+
redirects.set('/calvo.html', 'https://python-advanced.quantecon.org/calvo.html');
86+
redirects.set('/opt_tax_recur.html', 'https://python-advanced.quantecon.org/opt_tax_recur.html');
87+
redirects.set('/amss.html', 'https://python-advanced.quantecon.org/amss.html');
88+
redirects.set('/amss2.html', 'https://python-advanced.quantecon.org/amss2.html');
89+
redirects.set('/amss3.html', 'https://python-advanced.quantecon.org/amss3.html');
90+
redirects.set('/chang_ramsey.html', 'https://python-advanced.quantecon.org/chang_ramsey.html');
91+
redirects.set('/chang_credible.html', 'https://python-advanced.quantecon.org/chang_credible.html');
92+
redirects.set('/hs_recursive_models.html', 'https://python-advanced.quantecon.org/hs_recursive_models.html');
93+
redirects.set('/growth_in_dles.html', 'https://python-advanced.quantecon.org/growth_in_dles.html');
94+
redirects.set('/lucas_asset_pricing_dles.html', 'https://python-advanced.quantecon.org/lucas_asset_pricing_dles.html');
95+
redirects.set('/irfs_in_hall_model.html', 'https://python-advanced.quantecon.org/irfs_in_hall_model.html');
96+
redirects.set('/permanent_income_dles.html', 'https://python-advanced.quantecon.org/permanent_income_dles.html');
97+
redirects.set('/rosen_schooling_model.html', 'https://python-advanced.quantecon.org/rosen_schooling_model.html');
98+
redirects.set('/cattle_cycles.html', 'https://python-advanced.quantecon.org/cattle_cycles.html');
99+
redirects.set('/hs_invertibility_example.html', 'https://python-advanced.quantecon.org/hs_invertibility_example.html');
100+
redirects.set('/cons_news.html', 'https://python-advanced.quantecon.org/cons_news.html');
101+
redirects.set('/smoothing.html', 'https://python-advanced.quantecon.org/smoothing.html');
102+
redirects.set('/smoothing_tax.html', 'https://python-advanced.quantecon.org/smoothing_tax.html');
103+
redirects.set('/robustness.html', 'https://python-advanced.quantecon.org/robustness.html');
104+
redirects.set('/markov_jump_lq.html', 'https://python-advanced.quantecon.org/markov_jump_lq.html');
105+
redirects.set('/tax_smoothing_1.html', 'https://python-advanced.quantecon.org/tax_smoothing_1.html');
106+
redirects.set('/tax_smoothing_2.html', 'https://python-advanced.quantecon.org/tax_smoothing_2.html');
107+
redirects.set('/tax_smoothing_3.html', 'https://python-advanced.quantecon.org/tax_smoothing_3.html');
108+
redirects.set('/lqramsey .html', 'https://python-advanced.quantecon.org/lqramsey .html');
109+
redirects.set('/rob_markov_perf.html', 'https://python-advanced.quantecon.org/rob_markov_perf.html');
110+
redirects.set('/arellano.html', 'https://python-advanced.quantecon.org/arellano.html');
111+
redirects.set('/matsuyama.html', 'https://python-advanced.quantecon.org/matsuyama.html');
112+
redirects.set('/coase.html', 'https://python-advanced.quantecon.org/coase.html');
113+
redirects.set('/arma.html', 'https://python-advanced.quantecon.org/arma.html');
114+
redirects.set('/estspec.html', 'https://python-advanced.quantecon.org/estspec.html');
115+
redirects.set('/additive_functionals.html', 'https://python-advanced.quantecon.org/additive_functionals.html');
116+
redirects.set('/lu_tricks.html', 'https://python-advanced.quantecon.org/lu_tricks.html');
117+
redirects.set('/classical_filtering.html', 'https://python-advanced.quantecon.org/classical_filtering.html');
118+
redirects.set('/orth_proj.html', 'https://python-advanced.quantecon.org/orth_proj.html');
119+
redirects.set('/stationary_densities.html', 'https://python-advanced.quantecon.org/stationary_densities.html');
120+
redirects.set('/muth_kalman.html', 'https://python-advanced.quantecon.org/muth_kalman.html');
121+
redirects.set('/discrete_dp.html', 'https://python-advanced.quantecon.org/discrete_dp.html');
122+
123+
var request = window.location.pathname;
124+
var redirectURL = redirects.get(request);
125+
126+
var timer = setTimeout(function() {
127+
if (redirectURL === undefined) {
128+
window.location='/';
129+
} else {
130+
window.location = redirectURL;
131+
}
132+
}, 3000);
133+
19134
</script>

0 commit comments

Comments
 (0)