File tree Expand file tree Collapse file tree 3 files changed +29
-1
lines changed Expand file tree Collapse file tree 3 files changed +29
-1
lines changed Original file line number Diff line number Diff line change
1
+ v21.7.3
Original file line number Diff line number Diff line change @@ -72,11 +72,38 @@ class Markdown {
72
72
if ( node . tagName === 'img' ) {
73
73
promises . push ( this . transformImg ( node , params ) ) ;
74
74
}
75
+ if ( node . tagName === 'picture' ) {
76
+ promises . push ( this . transformPicture ( node , params ) ) ;
77
+ }
75
78
node = tmpNode ;
76
79
}
77
80
return Promise . all ( promises ) ;
78
81
}
79
82
83
+ async transformPicture ( pictureNode , params ) {
84
+ const imgNode = firstChildByTag ( pictureNode , 'img' ) ;
85
+ if ( ! imgNode ) {
86
+ return ;
87
+ }
88
+
89
+ const src = imgNode . attribs && imgNode . attribs . src ;
90
+ if ( ! src ) {
91
+ return ;
92
+ }
93
+ const resolvedSrc = this . pathResolver . resolve ( src , params ) ;
94
+ let dimensions ;
95
+ try {
96
+ dimensions = await fetchImageDimensions ( resolvedSrc ) ;
97
+ } catch ( error ) {
98
+ this . log . warn ( error . message ) ;
99
+ // don't convert images we cannot resolve
100
+ return ;
101
+ }
102
+ const ampImgOrAmpAnim = this . createAmpImgOrAmpAnim ( dimensions , imgNode ) ;
103
+ insertAfter ( pictureNode . parent , ampImgOrAmpAnim , pictureNode ) ;
104
+ remove ( pictureNode ) ;
105
+ }
106
+
80
107
async transformImg ( imgNode , params ) {
81
108
const src = imgNode . attribs && imgNode . attribs . src ;
82
109
if ( ! src ) {
Original file line number Diff line number Diff line change 1
1
{
2
- "name" : " @ampproject/toolbox-optimizer" ,
2
+ "name" : " @vadiamges- ampproject/toolbox-optimizer" ,
3
3
"version" : " 2.10.1" ,
4
4
"description" : " Server-side rendering for AMPs." ,
5
5
"main" : " index.js" ,
You can’t perform that action at this time.
0 commit comments