@@ -22,14 +22,15 @@ class DocFxRepo
22
22
internal Dictionary < string , List < string > > ImageRefs = null ;
23
23
internal readonly List < string > ImageLinkRegExes = new List < string >
24
24
{
25
- @"\]\((.*?(\.(png|jpg|gif|svg))+)" , // 
26
- "<img[^>]*?src[ ]*=[ ]*\" ([^>]*?(\\ .(png|gif|jpg|svg))+)[ ]*\" " , // <img data-hoverimage="./images/start.svg" src="./images/start.png" alt="Start icon" />
27
- @"\[.*\]:(.*?(\.(png|gif|jpg|svg))+)" , // [0]: ../../media/how-to/xamarin.png
28
- @"imageSrc:([^:]*?(\.(png|gif|jpg|svg))+)" , // imageSrc: ./media/vs-mac.svg
29
- @"thumbnailUrl: (.*?(\.(png|gif|jpg|svg))+)" , // thumbnailUrl: /thumbs/two-forest.png
30
- "lightbox=\" (.*?(\\ .(png|gif|jpg|svg))+)\" " , // lightbox="media/azure.png"
31
- ":::image [^:]*?source=\" (.*?(\\ .(png|gif|jpg|svg))+)\" " , // :::image type="content" source="media/publish.png" alt-text="Publish dialog.":::
32
- "<a href=\" ([^\" ]*?(\\ .(png|gif|jpg|svg))+)\" " // <a href="./media/job-large.png" target="_blank"><img src="./media/job-small.png"></a>
25
+ @"!\[.*?\]\((?<path>.*?(\.(png|jpg|gif|svg))+)" , // 
26
+ "<img[^>]*?src[ ]*=[ ]*[\" '](?<path>[^>]*?(\\ .(png|gif|jpg|svg))+)[ ]*[\" ']" , // <img data-hoverimage="./images/start.svg" src="./images/start.png" alt="Start icon" />
27
+ @"\[.*\]:(?<path>.*?(\.(png|gif|jpg|svg))+)" , // [0]: ../../media/how-to/xamarin.png
28
+ @"imageSrc:(?<path>[^:]*?(\.(png|gif|jpg|svg))+)" , // imageSrc: ./media/vs-mac.svg
29
+ @"thumbnailUrl: (?<path>.*?(\.(png|gif|jpg|svg))+)" , // thumbnailUrl: /thumbs/two-forest.png
30
+ "lightbox\\ s*=\\ s*\" (?<path>.*?(\\ .(png|gif|jpg|svg))+)\" " , // lightbox="media/azure.png"
31
+ ":::image [^:]*?source\\ s*=\\ s*\" (?<path>.*?(\\ .(png|gif|jpg|svg))+)(\\ ?[\\ w\\ s=\\ .]+)?\\ s*\" " , // :::image type="content" source="media/publish.png?text=Publish dialog." alt-text="Publish dialog.":::
32
+ "<a href=\" (?<path>[^\" ]*?(\\ .(png|gif|jpg|svg))+)\" " , // <a href="./media/job-large.png" target="_blank"><img src="./media/job-small.png"></a>
33
+ "\\ ((?<path>[^\\ )]*?(\\ .(png|jpg|gif|svg)))+(#lightbox)\\ s*\\ )" // (./media/functions-scenarios/process-file-uploads-expanded.png#lightbox)
33
34
} ;
34
35
private List < FileInfo > _allMdAndYmlFiles ;
35
36
private List < FileInfo > AllMdAndYmlFiles
@@ -241,7 +242,7 @@ private void CatalogImages()
241
242
// There could be more than one image reference on the line, hence the foreach loop.
242
243
foreach ( Match match in Regex . Matches ( line , regEx , RegexOptions . IgnoreCase ) )
243
244
{
244
- string path = match . Groups [ 1 ] . Value . Trim ( ) ;
245
+ string path = match . Groups [ "path" ] . Value . Trim ( ) ;
245
246
string absolutePath = GetAbsolutePath ( path , sourceFile ) ;
246
247
247
248
if ( absolutePath != null )
0 commit comments