@@ -194,20 +194,29 @@ def set_process_name(self,*args,**kwargs):
194194 labscript_suite_doc_version = 'latest'
195195
196196# add intersphinx references for each component
197+ labscript_intersphinx_mapping = {}
197198for ls_prog in labscript_suite_programs :
198- intersphinx_mapping [ ls_prog ] = (
199+ val = (
199200 'https://docs.labscriptsuite.org/projects/{}/en/{}/' .format (
200201 ls_prog , labscript_suite_doc_version
201202 ),
202203 None ,
203204 )
205+ labscript_intersphinx_mapping [ls_prog ] = val
206+ if ls_prog != project :
207+ # don't add intersphinx for current project
208+ # if internal links break, they can silently be filled by links to existing online docs
209+ # this is confusing and difficult to detect
210+ intersphinx_mapping [ls_prog ] = val
204211
205212# add intersphinx reference for the metapackage
206213if project != "the labscript suite" :
207- intersphinx_mapping [ 'labscript-suite' ] = (
214+ val = (
208215 'https://docs.labscriptsuite.org/en/{}/' .format (labscript_suite_doc_version ),
209216 None ,
210217 )
218+ intersphinx_mapping ['labscript-suite' ] = val
219+ labscript_intersphinx_mapping ['labscript-suite' ] = val
211220
212221# Make `some code` equivalent to :code:`some code`
213222default_role = 'code'
@@ -257,7 +266,7 @@ def setup(app):
257266 with open (Path (__file__ ).resolve ().parent / 'components.rst' , 'w' ) as f :
258267 f .write (
259268 template .render (
260- intersphinx_mapping = intersphinx_mapping ,
269+ intersphinx_mapping = labscript_intersphinx_mapping ,
261270 programs = labscript_suite_programs ,
262271 current_project = project ,
263272 img_path = img_path
0 commit comments