File tree Expand file tree Collapse file tree 4 files changed +21
-7
lines changed
src/project/types/website Expand file tree Collapse file tree 4 files changed +21
-7
lines changed Original file line number Diff line number Diff line change @@ -163,7 +163,7 @@ export async function createFeed(
163163
164164 // Add any image metadata
165165 const image = options . image || format . metadata [ kImage ] as string ||
166- websiteImage ( project . config ) ;
166+ websiteImage ( project . config ) ?. src ;
167167 if ( image ) {
168168 feed . image = {
169169 title : feedTitle ,
Original file line number Diff line number Diff line change @@ -41,12 +41,16 @@ export function findDescription(doc: Document): string | undefined {
4141
4242export function findPreviewImg (
4343 doc : Document ,
44- ) : string | undefined {
44+ ) : { src : string ; alt ?: string } | undefined {
4545 const imgEl = findPreviewImgEl ( doc ) ;
4646 if ( imgEl ) {
4747 const src = getDecodedAttribute ( imgEl , "src" ) ;
48+ const alt = getDecodedAttribute ( imgEl , "alt" ) ;
4849 if ( src !== null ) {
49- return src ;
50+ return {
51+ src,
52+ alt : alt ?? undefined ,
53+ } ;
5054 } else {
5155 return undefined ;
5256 }
Original file line number Diff line number Diff line change @@ -50,6 +50,7 @@ import { join } from "../../../deno_ral/path.ts";
5050type WebsiteConfigKey =
5151 | "title"
5252 | "image"
53+ | "image-alt"
5354 | "description"
5455 | "favicon"
5556 | "site-url"
@@ -173,8 +174,16 @@ export function websiteBaseurl(project?: ProjectConfig): string | undefined {
173174 return websiteConfigString ( kSiteUrl , project ) ;
174175}
175176
176- export function websiteImage ( project ?: ProjectConfig ) : string | undefined {
177- return websiteConfigString ( kImage , project ) ;
177+ export function websiteImage (
178+ project ?: ProjectConfig ,
179+ ) : { src : string ; alt ?: string } | undefined {
180+ const src = websiteConfigString ( kImage , project ) ;
181+ if ( src ) {
182+ const alt = websiteConfigString ( "image-alt" , project ) ;
183+ return { src, alt } ;
184+ } else {
185+ return undefined ;
186+ }
178187}
179188
180189export function websiteDescription (
Original file line number Diff line number Diff line change @@ -180,8 +180,9 @@ export function metadataHtmlPostProcessor(
180180
181181 // find a preview image if one is not provided
182182 if ( metadata [ kImage ] === undefined && format . metadata [ kImage ] !== false ) {
183- metadata [ kImage ] = findPreviewImg ( doc ) ||
184- websiteImage ( project . config ) ;
183+ const previewImg = findPreviewImg ( doc ) || websiteImage ( project . config ) ;
184+ metadata [ kImage ] = previewImg ? previewImg . src : undefined ;
185+ metadata [ kImageAlt ] = previewImg ? previewImg . alt : undefined ;
185186 }
186187
187188 // cook up a description if one is not provided
You can’t perform that action at this time.
0 commit comments