@@ -319,6 +319,19 @@ def get_language_specific_dir(language, dir):
319319 dir = os .path .join (language , dir )
320320 return dir
321321
322+
323+ def get_index_item_languages (item , languages ):
324+ item_languages = []
325+ if not item ["path" ].startswith ("http" ):
326+ path = item ["path" ][1 :]
327+ # foo/bar/#anchor -> foo/bar
328+ # foo/bar#anchor -> foo/bar
329+ path = re .sub (r"/?\#.*" , "" , path )
330+ for language in languages ["languages" ].keys ():
331+ if os .path .exists (get_language_specific_dir (language , path + ".md" )):
332+ item_languages .append (language )
333+ return item_languages
334+
322335def update_file_links_with_lang (filename , pattern , language ):
323336 # Open the file and read its content
324337 with open (filename , 'r' ) as f :
@@ -485,13 +498,22 @@ def process_docs(download = False):
485498 for filename in find_files (shared_includes_dst_dir , "*.md" ):
486499 process_doc_file (filename , language )
487500
488- print ("...tutorials" )
489- tutorials_src_dir = os .path .join (DOC_DIR , "docs" , "en" , "tutorials" )
490- tutorials_dst_dir = "tutorials"
491- rmcopytree (tutorials_src_dir , tutorials_dst_dir )
492- for filename in find_files (tutorials_dst_dir , "*.md" ):
493- process_doc_file (filename , "en" )
494- append_frontmatter (filename , { "layout" : "tutorial" })
501+ for language in languages ["languages" ].keys ():
502+ print ("...tutorials ({})" .format (language ))
503+ tutorials_src_dir = os .path .join (DOC_DIR , "docs" , language , "tutorials" )
504+ if os .path .exists (tutorials_src_dir ):
505+ tutorials_dst_dir = get_language_specific_dir (language , "tutorials" )
506+ rmcopytree (tutorials_src_dir , tutorials_dst_dir )
507+ for filename in find_files (tutorials_dst_dir , "*.md" ):
508+ process_doc_file (filename , language )
509+ append_frontmatter (filename , {
510+ "language" : language ,
511+ "layout" : "tutorial" ,
512+ })
513+ if language != "en" :
514+ update_file_links_with_lang (filename , r'/manuals/[^)#]+' , language )
515+ update_file_links_with_lang (filename , r'/tutorials/[^)#]+' , language )
516+ replace_in_file (filename , r"\.\.\/images\/" , r"/tutorials/images/" )
495517
496518 print ("...courses" )
497519 courses_src_dir = os .path .join (DOC_DIR , "docs" , "en" , "courses" )
@@ -505,15 +527,10 @@ def process_docs(download = False):
505527 print ("...index (incl. languages)" )
506528 for section in index ["navigation" ]["manuals" ]:
507529 for item in section ["items" ]:
508- item ["languages" ] = []
509- if not item ["path" ].startswith ("http" ):
510- path = item ["path" ][1 :]
511- # foo/bar/#anchor -> foo/bar
512- # foo/bar#anchor -> foo/bar
513- path = re .sub (r"/?\#.*" , "" , path )
514- for language in languages ["languages" ].keys ():
515- if os .path .exists (get_language_specific_dir (language , path + ".md" )):
516- item ["languages" ].append (language )
530+ item ["languages" ] = get_index_item_languages (item , languages )
531+ for item in index ["navigation" ]["tutorials" ]:
532+ if not item ["path" ].startswith ("http" ):
533+ item ["languages" ] = get_index_item_languages (item , languages )
517534 write_as_json (index_file , index )
518535
519536 print ("...shared images" )
0 commit comments