Skip to content

Commit c150211

Browse files
authored
feat(twitter): add option to number the medias (#19050)
* feat(twitter): add number to the media * (feat/twitter): add option `mediaNumber` to number the medias in tweets --------
1 parent d929c7a commit c150211

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

lib/routes/twitter/namespace.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export const namespace: Namespace = {
2929
| \`forceWebApi\` | Force using Web API even if Developer API is configured, only available in \`/twitter/user\` and \`/twitter/keyword\` | \`0\`/\`1\`/\`true\`/\`false\` | \`false\` |
3030
| \`count\` | \`count\` parameter passed to Twitter API, only available in \`/twitter/user\` | Unspecified/Integer | Unspecified |
3131
| \`onlyMedia\` | Only get tweets with a media | \`0\`/\`1\`/\`true\`/\`false\` | \`false\` |
32+
| \`mediaNumber \` | Number the medias | \`0\`/\`1\`/\`true\`/\`false\` | \`false\` |
3233
3334
Specify different option values than default values to improve readability. The URL
3435

lib/routes/twitter/utils.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ const ProcessFeed = (ctx, { data = [] }, params = {}) => {
6767
heightOfPics: fallback(params.heightOfPics, queryToInteger(routeParams.get('heightOfPics')), -1),
6868
sizeOfAuthorAvatar: fallback(params.sizeOfAuthorAvatar, queryToInteger(routeParams.get('sizeOfAuthorAvatar')), 48),
6969
sizeOfQuotedAuthorAvatar: fallback(params.sizeOfQuotedAuthorAvatar, queryToInteger(routeParams.get('sizeOfQuotedAuthorAvatar')), 24),
70+
mediaNumber: fallback(params.mediaNumber, queryToInteger(routeParams.get('mediaNumber')), false),
7071
};
7172

7273
params = mergedParams;
@@ -85,7 +86,7 @@ const ProcessFeed = (ctx, { data = [] }, params = {}) => {
8586
addLinkForPics,
8687
showTimestampInDescription,
8788
showQuotedInTitle,
88-
89+
mediaNumber,
8990
widthOfPics,
9091
heightOfPics,
9192
sizeOfAuthorAvatar,
@@ -116,6 +117,8 @@ const ProcessFeed = (ctx, { data = [] }, params = {}) => {
116117
const formatMedia = (item) => {
117118
let img = '';
118119
if (item.extended_entities) {
120+
const mediaCount = item.extended_entities.media.length;
121+
let index = 1;
119122
for (const media of item.extended_entities.media) {
120123
// https://developer.x.com/en/docs/tweets/data-dictionary/overview/extended-entities-object
121124
let content = '';
@@ -156,6 +159,11 @@ const ProcessFeed = (ctx, { data = [] }, params = {}) => {
156159
}
157160

158161
img += content;
162+
163+
if (mediaNumber) {
164+
img += `<p style="text-align:center">${index}/${mediaCount}</p>`;
165+
index++;
166+
}
159167
}
160168
}
161169

0 commit comments

Comments
 (0)