diff --git a/api/pin.js b/api/pin.js index 21ecf966..c33848af 100644 --- a/api/pin.js +++ b/api/pin.js @@ -24,6 +24,7 @@ export default async (req, res) => { locale, border_radius, border_color, + show_image, } = req.query; res.setHeader("Content-Type", "image/svg+xml"); @@ -80,6 +81,7 @@ export default async (req, res) => { border_color, show_owner: parseBoolean(show_owner), locale: locale ? locale.toLowerCase() : null, + show_image: parseBoolean(show_image), }), ); } catch (err) { diff --git a/src/cards/repo-card.js b/src/cards/repo-card.js index 0d0dbcce..72a565ba 100644 --- a/src/cards/repo-card.js +++ b/src/cards/repo-card.js @@ -74,6 +74,7 @@ const renderRepoCard = (repo, options = {}) => { border_radius, border_color, locale, + show_image = false, } = options; const lineHeight = 10; @@ -142,7 +143,7 @@ const renderRepoCard = (repo, options = {}) => { height, border_radius, colors, - imageUrl: openGraphImageUrl, + imageUrl: show_image ? openGraphImageUrl : "", }); card.disableAnimations(); diff --git a/src/cards/types.d.ts b/src/cards/types.d.ts index dce964d2..df5fc54c 100644 --- a/src/cards/types.d.ts +++ b/src/cards/types.d.ts @@ -32,6 +32,7 @@ export type StatCardOptions = CommonOptions & { export type RepoCardOptions = CommonOptions & { show_owner: boolean; + show_image: boolean; }; export type TopLangOptions = CommonOptions & { diff --git a/src/common/Card.js b/src/common/Card.js index 93564ffd..e7cae527 100644 --- a/src/common/Card.js +++ b/src/common/Card.js @@ -209,6 +209,9 @@ class Card { `; }; + /** + * @returns {string} Renders social preview image + */ renderImage = () => { if (!this.imageUrl) { return "";