@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,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 safeZones.i18n[locale]?.();
|
|
3
|
+
import { bibliography } from './bibliography';
|
|
12
4
|
---
|
|
13
5
|
|
|
14
|
-
|
|
6
|
+
<SharedBibliography links={bibliography} />
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'TikTok Creator Portal: Video optimization and safe zones',
|
|
6
|
+
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'Instagram Business: Best practices for Reels',
|
|
10
|
+
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'YouTube Help: Create YouTube Shorts',
|
|
14
|
+
url: 'https://support.google.com/youtube/answer/10343433',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'Meta for Creators: Safe zones and aspect ratios for video',
|
|
18
|
+
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
19
|
+
},
|
|
20
|
+
];
|
|
@@ -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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Offizielle Plattform-Dokumentation',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Video-Optimierung und Safe Zones',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Best Practices für Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTube Hilfe: YouTube Shorts erstellen',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Safe Zones und Seitenverhältnisse für Videos',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Official Platform Documentation',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Video optimization and safe zones',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Best practices for Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTube Help: Create YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Safe zones and aspect ratios for video',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentación Oficial de Plataformas',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Video optimization and safe zones',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Best practices for Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTube Help: Create YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Safe zones and aspect ratios for video',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentation Officielle des Plateformes',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Video optimization and safe zones',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Best practices for Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTube Help: Create YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Safe zones and aspect ratios for video',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Dokumentasi Platform Resmi',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Portal Kreator TikTok: Optimasi video dan zona aman',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Praktik terbaik untuk Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Bantuan YouTube: Membuat YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Zona aman dan rasio aspek untuk video',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentazione Ufficiale delle Piattaforme',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Ottimizzazione video e zone sicure',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Best practice per i Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Guida di YouTube: Creare YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Zone sicure e rapporti d’aspetto per i video',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: '公式プラットフォームドキュメント',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTokクリエイターポータル:動画の最適化とセーフゾーン',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business:リールのベストプラクティス',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTubeヘルプ:YouTube Shortsを作成する',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators:動画のセーフゾーンとアスペクト比',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: '공식 플랫폼 문서',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: '틱톡 크리에이터 포털: 동영상 최적화 및 세이프 존',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: '인스타그램 비즈니스: 릴스를 위한 모범 사례',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: '유튜브 고객센터: 유튜브 쇼츠 만들기',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: '메타 크리에이터: 동영상의 세이프 존 및 화면비',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Officiële Platform Documentatie',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Video optimization and safe zones',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Best practices voor Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTube Help: YouTube Shorts maken',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Veilige zones en aspectratio\'s voor video',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Oficjalna dokumentacja platformy',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Video optimization and safe zones',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Najlepsze praktyki dla Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Pomoc YouTube: Tworzenie YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Strefy bezpieczne i proporcje wideo',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Documentação Oficial das Plataformas',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Otimização de vídeo e zonas seguras',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Melhores práticas para Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Ajuda do YouTube: Criar YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Zonas seguras e proporções para vídeo',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Официальная документация платформы',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: оптимизация видео и безопасные зоны',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: рекомендации для Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'Справка YouTube: создание YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: безопасные зоны и соотношение сторон для видео',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Officiell plattformsdokumentation',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok Creator Portal: Videooptimering och säkra zoner',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Best practices för Reels',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTube Help: Skapa YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Säkra zoner och bildförhållanden för video',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: 'Resmi Platform Dokümantasyonu',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok İçerik Üretici Portalı: Video optimizasyonu ve güvenli bölgeler',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram Business: Reels için en iyi uygulamalar',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTube Yardımı: YouTube Shorts oluşturma',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators: Videolar için güvenli bölgeler ve en boy oranları',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
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 { SafeZonesUI } from '../ui';
|
|
@@ -87,27 +88,8 @@ export const content: ToolLocaleContent<SafeZonesUI> = {
|
|
|
87
88
|
slug,
|
|
88
89
|
title,
|
|
89
90
|
description,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
bibliographyTitle: '官方平台文档',
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'TikTok 创作者门户:视频优化和安全区域',
|
|
96
|
-
url: 'https://www.tiktok.com/creators/creator-portal/en-us/foundation/video-optimization/',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Instagram 业务:Reels 最佳实践',
|
|
100
|
-
url: 'https://business.instagram.com/creators/reels-best-practices',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'YouTube 帮助:创建 YouTube Shorts',
|
|
104
|
-
url: 'https://support.google.com/youtube/answer/10343433',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: 'Meta for Creators:视频安全区域和纵横比',
|
|
108
|
-
url: 'https://www.facebook.com/business/help/103816146375741',
|
|
109
|
-
},
|
|
110
|
-
],
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliography,
|
|
111
93
|
howTo: howToData,
|
|
112
94
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
113
95
|
seo: [
|
|
@@ -11,4 +11,5 @@ const { locale = 'es' } = Astro.props;
|
|
|
11
11
|
const content = await safeZones.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 socialImageResizer.i18n[locale]?.();
|
|
3
|
+
import { bibliography } from './bibliography';
|
|
12
4
|
---
|
|
13
5
|
|
|
14
|
-
|
|
6
|
+
<SharedBibliography links={bibliography} />
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'MDN Web Docs: Canvas API',
|
|
6
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'Sprout Social: Social Media Image Sizes Guide 2026',
|
|
10
|
+
url: 'https://sproutsocial.com/insights/social-media-image-sizes-guide/',
|
|
11
|
+
},
|
|
12
|
+
];
|
|
@@ -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 { SocialImageResizerUI } from '../ui';
|
|
@@ -78,19 +79,8 @@ export const content: ToolLocaleContent<SocialImageResizerUI> = {
|
|
|
78
79
|
slug,
|
|
79
80
|
title,
|
|
80
81
|
description,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
bibliographyTitle: 'Referenzen',
|
|
84
|
-
bibliography: [
|
|
85
|
-
{
|
|
86
|
-
name: 'MDN Web Docs: Canvas API',
|
|
87
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
name: 'Sprout Social: Social Media Image Sizes Guide 2026',
|
|
91
|
-
url: 'https://sproutsocial.com/insights/social-media-image-sizes-guide/',
|
|
92
|
-
},
|
|
93
|
-
],
|
|
82
|
+
faq: faqData,
|
|
83
|
+
bibliography,
|
|
94
84
|
howTo: howToData,
|
|
95
85
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
86
|
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 { SocialImageResizerUI } from '../ui';
|
|
@@ -78,19 +79,8 @@ export const content: ToolLocaleContent<SocialImageResizerUI> = {
|
|
|
78
79
|
slug,
|
|
79
80
|
title,
|
|
80
81
|
description,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
bibliographyTitle: 'References',
|
|
84
|
-
bibliography: [
|
|
85
|
-
{
|
|
86
|
-
name: 'MDN Web Docs: Canvas API',
|
|
87
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
name: 'Sprout Social: Social Media Image Sizes Guide 2026',
|
|
91
|
-
url: 'https://sproutsocial.com/insights/social-media-image-sizes-guide/',
|
|
92
|
-
},
|
|
93
|
-
],
|
|
82
|
+
faq: faqData,
|
|
83
|
+
bibliography,
|
|
94
84
|
howTo: howToData,
|
|
95
85
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
86
|
seo: [
|