@jjlmoya/utils-social 1.13.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/pages/[locale]/[slug].astro +28 -12
- package/src/tests/locale_completeness.test.ts +4 -14
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tool/redditFormatter/bibliography.astro +2 -10
- package/src/tool/redditFormatter/bibliography.ts +12 -0
- package/src/tool/redditFormatter/i18n/de.ts +3 -13
- package/src/tool/redditFormatter/i18n/en.ts +3 -13
- package/src/tool/redditFormatter/i18n/es.ts +3 -13
- package/src/tool/redditFormatter/i18n/fr.ts +3 -13
- package/src/tool/redditFormatter/i18n/id.ts +3 -13
- package/src/tool/redditFormatter/i18n/it.ts +3 -13
- package/src/tool/redditFormatter/i18n/ja.ts +3 -13
- package/src/tool/redditFormatter/i18n/ko.ts +3 -13
- package/src/tool/redditFormatter/i18n/nl.ts +3 -13
- package/src/tool/redditFormatter/i18n/pl.ts +3 -13
- package/src/tool/redditFormatter/i18n/pt.ts +3 -13
- package/src/tool/redditFormatter/i18n/ru.ts +3 -13
- package/src/tool/redditFormatter/i18n/sv.ts +3 -13
- package/src/tool/redditFormatter/i18n/tr.ts +3 -13
- package/src/tool/redditFormatter/i18n/zh.ts +3 -13
- package/src/tool/redditFormatter/seo.astro +2 -1
- package/src/tool/safeZones/bibliography.astro +2 -10
- package/src/tool/safeZones/bibliography.ts +20 -0
- package/src/tool/safeZones/i18n/de.ts +3 -21
- package/src/tool/safeZones/i18n/en.ts +3 -21
- package/src/tool/safeZones/i18n/es.ts +3 -21
- package/src/tool/safeZones/i18n/fr.ts +3 -21
- package/src/tool/safeZones/i18n/id.ts +3 -21
- package/src/tool/safeZones/i18n/it.ts +3 -21
- package/src/tool/safeZones/i18n/ja.ts +3 -21
- package/src/tool/safeZones/i18n/ko.ts +3 -21
- package/src/tool/safeZones/i18n/nl.ts +3 -21
- package/src/tool/safeZones/i18n/pl.ts +3 -21
- package/src/tool/safeZones/i18n/pt.ts +3 -21
- package/src/tool/safeZones/i18n/ru.ts +3 -21
- package/src/tool/safeZones/i18n/sv.ts +3 -21
- package/src/tool/safeZones/i18n/tr.ts +3 -21
- package/src/tool/safeZones/i18n/zh.ts +3 -21
- package/src/tool/safeZones/seo.astro +2 -1
- package/src/tool/socialImageResizer/bibliography.astro +2 -10
- package/src/tool/socialImageResizer/bibliography.ts +12 -0
- package/src/tool/socialImageResizer/i18n/de.ts +3 -13
- package/src/tool/socialImageResizer/i18n/en.ts +3 -13
- package/src/tool/socialImageResizer/i18n/es.ts +3 -13
- package/src/tool/socialImageResizer/i18n/fr.ts +3 -13
- package/src/tool/socialImageResizer/i18n/id.ts +3 -13
- package/src/tool/socialImageResizer/i18n/it.ts +3 -13
- package/src/tool/socialImageResizer/i18n/ja.ts +3 -13
- package/src/tool/socialImageResizer/i18n/ko.ts +3 -13
- package/src/tool/socialImageResizer/i18n/nl.ts +3 -13
- package/src/tool/socialImageResizer/i18n/pl.ts +3 -13
- package/src/tool/socialImageResizer/i18n/pt.ts +3 -13
- package/src/tool/socialImageResizer/i18n/ru.ts +3 -13
- package/src/tool/socialImageResizer/i18n/sv.ts +3 -13
- package/src/tool/socialImageResizer/i18n/tr.ts +3 -13
- package/src/tool/socialImageResizer/i18n/zh.ts +3 -13
- package/src/tool/socialImageResizer/seo.astro +2 -1
- package/src/tool/socialValueCalculator/bibliography.astro +2 -10
- package/src/tool/socialValueCalculator/bibliography.ts +16 -0
- package/src/tool/socialValueCalculator/i18n/de.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/en.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/es.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/fr.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/id.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/it.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/ja.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/ko.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/nl.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/pl.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/pt.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/ru.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/sv.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/tr.ts +3 -17
- package/src/tool/socialValueCalculator/i18n/zh.ts +3 -17
- package/src/tool/socialValueCalculator/seo.astro +2 -1
- package/src/tool/tinderPhotoOptimizer/bibliography.astro +2 -10
- package/src/tool/tinderPhotoOptimizer/bibliography.ts +12 -0
- package/src/tool/tinderPhotoOptimizer/i18n/de.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/en.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/es.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/fr.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/id.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/it.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/ja.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/ko.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/nl.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/pl.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/pt.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/ru.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/sv.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/tr.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/i18n/zh.ts +3 -13
- package/src/tool/tinderPhotoOptimizer/seo.astro +2 -1
- package/src/tool/youtubeThumbnail/bibliography.astro +2 -10
- package/src/tool/youtubeThumbnail/bibliography.ts +16 -0
- package/src/tool/youtubeThumbnail/i18n/de.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/en.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/es.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/fr.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/id.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/it.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/ja.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/ko.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/nl.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/pl.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/pt.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/ru.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/sv.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/tr.ts +3 -17
- package/src/tool/youtubeThumbnail/i18n/zh.ts +3 -17
- package/src/tool/youtubeThumbnail/seo.astro +2 -1
- package/src/tool/youtubeThumbnailPreviewer/bibliography.astro +2 -10
- package/src/tool/youtubeThumbnailPreviewer/bibliography.ts +16 -0
- package/src/tool/youtubeThumbnailPreviewer/i18n/de.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/en.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/es.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/fr.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/id.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/it.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/ja.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/ko.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/nl.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/pl.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/pt.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/ru.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/sv.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/tr.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/i18n/zh.ts +3 -17
- package/src/tool/youtubeThumbnailPreviewer/seo.astro +2 -1
- package/src/types.ts +0 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { TinderPhotoOptimizerUI } from '../ui';
|
|
@@ -87,19 +88,8 @@ export const content: ToolLocaleContent<TinderPhotoOptimizerUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: '参考文献',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'face-api.js: JavaScript Face Recognition in the Browser',
|
|
96
|
-
url: 'https://github.com/justadudewhohacks/face-api.js',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'MDN Web Docs: Canvas API',
|
|
100
|
-
url: 'https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
103
93
|
howTo: howToData,
|
|
104
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
95
|
seo: [
|
|
@@ -11,4 +11,5 @@ const { locale = 'es' } = Astro.props;
|
|
|
11
11
|
const content = await tinderPhotoOptimizer.i18n[locale]?.();
|
|
12
12
|
if (!content) return null;
|
|
13
13
|
---
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
-
import {
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { locale = 'es' } = Astro.props;
|
|
11
|
-
const content = await youtubeThumbnail.i18n[locale]?.();
|
|
3
|
+
import { bibliography } from './bibliography';
|
|
12
4
|
---
|
|
13
5
|
|
|
14
|
-
|
|
6
|
+
<SharedBibliography links={bibliography} />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'YouTube Help: Add a custom video thumbnail',
|
|
6
|
+
url: 'https://support.google.com/youtube/answer/72431',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'YouTube Creator Academy: Make great thumbnails',
|
|
10
|
+
url: 'https://creatoracademy.youtube.com/',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
14
|
+
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
15
|
+
},
|
|
16
|
+
];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Dokumentation & Referenzen',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube-Hilfe: Ein benutzerdefiniertes Video-Thumbnail hinzufügen',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Großartige Thumbnails erstellen',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentation & References',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube Help: Add a custom video thumbnail',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Make great thumbnails',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentación y Referencias',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube Help: Añadir una imagen en miniatura personalizada',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Cómo crear miniaturas efectivas',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentation et Références',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube Aide : Ajouter une miniature personnalisée',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy : Créer de bonnes miniatures',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers : YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Dokumentation dan Referensi',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Bantuan YouTube: Menambahkan gambar thumbnail kustom',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Cara membuat thumbnail yang efektif',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentazione e Riferimenti',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Guida di YouTube: Aggiungere un\'immagine in miniatura personalizzata',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Come creare miniature efficaci',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'ドキュメントと参照先',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube ヘルプ: 動画のカスタム サムネイルを追加する',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube クリエイター アカデミー: 効果的なサムネイルの作成',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: '참고 자료 및 문서',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube 고객센터: 맞춤 동영상 썸네일 만들기',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube 크리에이터 아카데미: 효과적인 썸네일 제작법',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentatie en Referenties',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube Help: Een aangepaste miniatuurafbeelding toevoegen',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Hoe maak je effectieve thumbnails',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Dokumentacja i źródła',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Pomoc YouTube: Dodawanie niestandardowej miniatury filmu',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Jak tworzyć skuteczne miniaturki',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentação e Referências',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Ajuda do YouTube: Adicionar uma imagem em miniatura personalizada',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Como criar miniaturas eficazes',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Документация и источники',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Справка YouTube: Как добавить персонализированный значок видео',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Как создавать эффектные значки',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Dokumentation och referenser',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube-hjälp: Lägg till en anpassad videominiatyr',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Så skapar du effektiva miniatyrer',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Dökümantasyon ve Referanslar',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube Yardımı: Özel video küçük resmi ekleme',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube Creator Academy: Etkili küçük resimler nasıl oluşturulur',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailUI } from '../ui';
|
|
@@ -87,23 +88,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: '文档与参考资料',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'YouTube 帮助:添加自定义视频缩略图',
|
|
96
|
-
url: 'https://support.google.com/youtube/answer/72431',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'YouTube 创作者学院:如何制作高效的缩略图',
|
|
100
|
-
url: 'https://creatoracademy.youtube.com/',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Google Developers: YouTube Data API — Thumbnails',
|
|
104
|
-
url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
107
93
|
howTo: howToData,
|
|
108
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
95
|
seo: [
|
|
@@ -11,4 +11,5 @@ const { locale = 'es' } = Astro.props;
|
|
|
11
11
|
const content = await youtubeThumbnail.i18n[locale]?.();
|
|
12
12
|
if (!content) return null;
|
|
13
13
|
---
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
-
import {
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { locale = 'es' } = Astro.props;
|
|
11
|
-
const content = await youtubeThumbnailPreviewer.i18n[locale]?.();
|
|
3
|
+
import { bibliography } from './bibliography';
|
|
12
4
|
---
|
|
13
5
|
|
|
14
|
-
|
|
6
|
+
<SharedBibliography links={bibliography} />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'YouTube Help: Create custom video thumbnails',
|
|
6
|
+
url: 'https://support.google.com/youtube/answer/141805',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'Nielsen Norman Group: Visual Processing and UX Design',
|
|
10
|
+
url: 'https://www.nngroup.com/articles/visual-processing/',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'Derral Eves: The YouTube Formula (Thumbnail Strategy)',
|
|
14
|
+
url: 'https://derraleves.com/the-youtube-formula/',
|
|
15
|
+
},
|
|
16
|
+
];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailPreviewerUI } from '../ui';
|
|
@@ -92,23 +93,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
|
|
|
92
93
|
slug,
|
|
93
94
|
title,
|
|
94
95
|
description,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
bibliographyTitle: 'Referenzen',
|
|
98
|
-
bibliography: [
|
|
99
|
-
{
|
|
100
|
-
name: 'YouTube-Hilfe: Eigene Video-Thumbnails erstellen',
|
|
101
|
-
url: 'https://support.google.com/youtube/answer/141805',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: 'Nielsen Norman Group: Visuelle Verarbeitung und UX-Design',
|
|
105
|
-
url: 'https://www.nngroup.com/articles/visual-processing/',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: 'Derral Eves: Die YouTube-Formel (Thumbnail-Strategie)',
|
|
109
|
-
url: 'https://derraleves.com/the-youtube-formula/',
|
|
110
|
-
},
|
|
111
|
-
],
|
|
96
|
+
faq: faqData,
|
|
97
|
+
bibliography,
|
|
112
98
|
howTo: howToData,
|
|
113
99
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
114
100
|
seo: [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
4
|
import type { YoutubeThumbnailPreviewerUI } from '../ui';
|
|
@@ -92,23 +93,8 @@ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
|
|
|
92
93
|
slug,
|
|
93
94
|
title,
|
|
94
95
|
description,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
bibliographyTitle: 'References',
|
|
98
|
-
bibliography: [
|
|
99
|
-
{
|
|
100
|
-
name: 'YouTube Help: Create custom video thumbnails',
|
|
101
|
-
url: 'https://support.google.com/youtube/answer/141805',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: 'Nielsen Norman Group: Visual Processing and UX Design',
|
|
105
|
-
url: 'https://www.nngroup.com/articles/visual-processing/',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: 'Derral Eves: The YouTube Formula (Thumbnail Strategy)',
|
|
109
|
-
url: 'https://derraleves.com/the-youtube-formula/',
|
|
110
|
-
},
|
|
111
|
-
],
|
|
96
|
+
faq: faqData,
|
|
97
|
+
bibliography,
|
|
112
98
|
howTo: howToData,
|
|
113
99
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
114
100
|
seo: [
|