|
163 | 163 | labscript_suite_doc_version = 'latest' |
164 | 164 |
|
165 | 165 | # add intersphinx references for each component |
| 166 | +labscript_intersphinx_mapping = {} |
166 | 167 | for ls_prog in labscript_suite_programs: |
167 | | - intersphinx_mapping[ls_prog] = ( |
| 168 | + val = ( |
168 | 169 | 'https://docs.labscriptsuite.org/projects/{}/en/{}/'.format( |
169 | 170 | ls_prog, labscript_suite_doc_version |
170 | 171 | ), |
171 | 172 | None, |
172 | 173 | ) |
| 174 | + labscript_intersphinx_mapping[ls_prog] = val |
| 175 | + if ls_prog != project: |
| 176 | + # don't add intersphinx for current project |
| 177 | + # if internal links break, they can silently be filled by links to existing online docs |
| 178 | + # this is confusing and difficult to detect |
| 179 | + intersphinx_mapping[ls_prog] = val |
173 | 180 |
|
174 | 181 | # add intersphinx reference for the metapackage |
175 | 182 | if project != "the labscript suite": |
176 | | - intersphinx_mapping['labscript-suite'] = ( |
| 183 | + val = ( |
177 | 184 | 'https://docs.labscriptsuite.org/en/{}/'.format(labscript_suite_doc_version), |
178 | 185 | None, |
179 | 186 | ) |
| 187 | + intersphinx_mapping['labscript-suite'] = val |
| 188 | + labscript_intersphinx_mapping['labscript-suite'] = val |
180 | 189 |
|
181 | 190 | # Make `some code` equivalent to :code:`some code` |
182 | 191 | default_role = 'code' |
@@ -226,7 +235,7 @@ def setup(app): |
226 | 235 | with open(Path(__file__).resolve().parent / 'components.rst', 'w') as f: |
227 | 236 | f.write( |
228 | 237 | template.render( |
229 | | - intersphinx_mapping=intersphinx_mapping, |
| 238 | + intersphinx_mapping=labscript_intersphinx_mapping, |
230 | 239 | programs=labscript_suite_programs, |
231 | 240 | current_project=project, |
232 | 241 | img_path=img_path |
|
0 commit comments