Chore: Update downloads page for Potassium SR3
[docs.git] / docs / conf.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 # SPDX-License-Identifier: EPL-1.0
4 ##############################################################################
5 # Copyright (c) 2018 The Linux Foundation and others.
6 #
7 # All rights reserved. This program and the accompanying materials
8 # are made available under the terms of the Eclipse Public License v1.0
9 # which accompanies this distribution, and is available at
10 # http://www.eclipse.org/legal/epl-v10.html
11 ##############################################################################
12
13 from docs_conf.conf import *
14 import sys, os, csv
15
16
17 def update_intersphinx_mapping():
18     with open('../projects_list.tsv') as fd:
19         rd = csv.reader(fd, delimiter="\t", quotechar='"')
20         for row in rd:
21             if row:
22                 project = row[0]
23                 if project[0] == "#":
24                     continue
25                 version = row[1]
26                 intersphinx_mapping[project] = (f'https://docs.opendaylight.org/projects/{project}/en/{version}/', None)
27
28
29 # Append to intersphinx_mapping
30 update_intersphinx_mapping()
31
32 # OpenDaylight Documentation Releases
33 intersphinx_mapping['odl-scandium'] = ('https://docs.opendaylight.org/en/latest/', None)
34 intersphinx_mapping['odl-calcium'] = ('https://docs.opendaylight.org/en/stable-calcium/', None)
35 intersphinx_mapping['odl-potassium'] = ('https://docs.opendaylight.org/en/stable-potassium/', None)
36 intersphinx_mapping['odl-argon'] = ('https://docs.opendaylight.org/en/stable-argon/', None)
37 intersphinx_mapping['odl-chlorine'] = ('https://docs.opendaylight.org/en/stable-chlorine/', None)
38 intersphinx_mapping['odl-sulfur'] = ('https://docs.opendaylight.org/en/stable-sulfur/', None)
39 intersphinx_mapping['odl-phosphorus'] = ('https://docs.opendaylight.org/en/stable-phosphorus/', None)
40 intersphinx_mapping['odl-silicon'] = ('https://docs.opendaylight.org/en/stable-silicon/', None)
41 intersphinx_mapping['odl-aluminium'] = ('https://docs.opendaylight.org/en/stable-aluminium/', None)
42 intersphinx_mapping['odl-magnesium'] = ('https://docs.opendaylight.org/en/stable-magnesium/', None)
43 intersphinx_mapping['odl-sodium'] = ('https://docs.opendaylight.org/en/stable-sodium/', None)
44 intersphinx_mapping['odl-neon'] = ('https://docs.opendaylight.org/en/stable-neon/', None)
45 intersphinx_mapping['odl-fluorine'] = ('https://docs.opendaylight.org/en/stable-fluorine/', None)
46 intersphinx_mapping['odl-oxygen'] = ('https://docs.opendaylight.org/en/stable-oxygen/', None)
47 intersphinx_mapping['odl-nitrogen'] = ('https://docs.opendaylight.org/en/stable-nitrogen/', None)
48 intersphinx_mapping['odl-carbon'] = ('https://docs.opendaylight.org/en/stable-carbon/', None)
49
50 linkcheck_ignore = [
51     'http://localhost',
52     # Ignore ssh:// links from linkcheck
53     'ssh:',
54     # Ignore jenkins because it's often slow to respond.
55     'https://jenkins.opendaylight.org/releng',
56     'https://jenkins.opendaylight.org/sandbox',
57     # The '#' in the path makes sphinx think it's an anchor
58     'https://git.opendaylight.org/gerrit/#/admin/projects/releng/builder',
59     'https://git.opendaylight.org/gerrit/#/c/',
60     'https://git.opendaylight.org/gerrit/gitweb',
61     # URL returns a 403 Forbidden
62     'https://www.osgi.org',
63     # Ignore anchors on github.com because linkcheck fails on them
64     '^https?://github.com/.*#',
65     # Ignore webchat anchors because '#' is not an anchor for this app
66     'https://web.libera.chat/#',
67     # Ignore google docs anchors
68     'https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/edit#slide=id.g17d8ae4d92_0_137',
69     # Ignore local static contents
70     '../_static/OpenDaylight-Technical-Charter-LFN-Projects-LLC-FINAL.pdf',
71     # Ignore IETF URLs often not reachable from Jenkins minions
72     # because of hosting connectivity issues
73     '^https?://tools.ietf.org/html/.*',
74     # anchors not correctly detected by sphinx on the gate
75     'http://checkstyle.sourceforge.net/config_coding.html#.*',
76     # this url often has connectivity issues on the gate
77     'https://www.mojohaus.org/animal-sniffer/animal-sniffer-maven-plugin/examples/checking-signatures.html',
78     #Ignore announce page link till it is up
79     'https://www.opendaylight.org/current-release-potassium',
80     'https://www.opendaylight.org/current-release-calcium',
81 ]
82 linkcheck_timeout = 300
83
84 nitpicky = True
85 release = version
86
87 spelling_warning = True
88 spelling_exclude_patterns = ['release-notes/release-notes-*', 'release-notes/projects/*']
89
90 html_context = {
91     'version_status': 'supported',
92 }
93
94 # Helper for JIRA references
95 sys.path.append(os.path.abspath('ext'))
96 extensions.append('odl-jira')
97
98 # Set language to English
99 language = "en"
100
101
102 def setup(app):
103     app.add_css_file("css/ribbon.css")