@jjlmoya/utils-creative 1.26.0 → 1.28.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 +2 -2
- package/src/category/i18n/de.ts +2 -2
- package/src/category/i18n/en.ts +2 -2
- package/src/category/i18n/es.ts +2 -2
- package/src/category/i18n/fr.ts +2 -2
- package/src/category/i18n/id.ts +2 -2
- package/src/category/i18n/it.ts +2 -2
- package/src/category/i18n/ja.ts +2 -2
- package/src/category/i18n/ko.ts +2 -2
- package/src/category/i18n/nl.ts +2 -2
- package/src/category/i18n/pl.ts +2 -2
- package/src/category/i18n/pt.ts +2 -2
- package/src/category/i18n/ru.ts +2 -2
- package/src/category/i18n/sv.ts +2 -2
- package/src/category/i18n/tr.ts +2 -2
- package/src/category/i18n/zh.ts +2 -2
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/env.d.ts +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_translation_completeness.test.ts +75 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +17 -17
- package/src/tool/bead-pattern-generator/bibliography.astro +8 -8
- package/src/tool/bead-pattern-generator/i18n/de.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/en.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/es.ts +104 -104
- package/src/tool/bead-pattern-generator/i18n/fr.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/id.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/it.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ja.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ko.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/nl.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/pl.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/pt.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ru.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/sv.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/tr.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/zh.ts +111 -111
- package/src/tool/bead-pattern-generator/seo.astro +19 -19
- package/src/tool/dice-roller/bibliography.astro +8 -8
- package/src/tool/dice-roller/i18n/de.ts +134 -134
- package/src/tool/dice-roller/i18n/en.ts +134 -134
- package/src/tool/dice-roller/i18n/es.ts +125 -125
- package/src/tool/dice-roller/i18n/fr.ts +134 -134
- package/src/tool/dice-roller/i18n/id.ts +134 -134
- package/src/tool/dice-roller/i18n/it.ts +134 -134
- package/src/tool/dice-roller/i18n/ja.ts +134 -134
- package/src/tool/dice-roller/i18n/ko.ts +134 -134
- package/src/tool/dice-roller/i18n/nl.ts +134 -134
- package/src/tool/dice-roller/i18n/pl.ts +134 -134
- package/src/tool/dice-roller/i18n/pt.ts +134 -134
- package/src/tool/dice-roller/i18n/ru.ts +134 -134
- package/src/tool/dice-roller/i18n/sv.ts +134 -134
- package/src/tool/dice-roller/i18n/tr.ts +134 -134
- package/src/tool/dice-roller/i18n/zh.ts +134 -134
- package/src/tool/dice-roller/seo.astro +15 -15
- package/src/tool/excuse-generator/bibliography.astro +8 -8
- package/src/tool/excuse-generator/i18n/de.ts +120 -120
- package/src/tool/excuse-generator/i18n/en.ts +120 -120
- package/src/tool/excuse-generator/i18n/es.ts +118 -118
- package/src/tool/excuse-generator/i18n/fr.ts +120 -120
- package/src/tool/excuse-generator/i18n/id.ts +120 -120
- package/src/tool/excuse-generator/i18n/it.ts +120 -120
- package/src/tool/excuse-generator/i18n/ja.ts +120 -120
- package/src/tool/excuse-generator/i18n/ko.ts +120 -120
- package/src/tool/excuse-generator/i18n/nl.ts +120 -120
- package/src/tool/excuse-generator/i18n/pl.ts +120 -120
- package/src/tool/excuse-generator/i18n/pt.ts +120 -120
- package/src/tool/excuse-generator/i18n/ru.ts +120 -120
- package/src/tool/excuse-generator/i18n/sv.ts +120 -120
- package/src/tool/excuse-generator/i18n/tr.ts +120 -120
- package/src/tool/excuse-generator/i18n/zh.ts +120 -120
- package/src/tool/excuse-generator/seo.astro +15 -15
- package/src/tool/fortune-cookie/bibliography.astro +8 -8
- package/src/tool/fortune-cookie/i18n/de.ts +124 -124
- package/src/tool/fortune-cookie/i18n/en.ts +124 -124
- package/src/tool/fortune-cookie/i18n/es.ts +125 -125
- package/src/tool/fortune-cookie/i18n/fr.ts +124 -124
- package/src/tool/fortune-cookie/i18n/id.ts +124 -124
- package/src/tool/fortune-cookie/i18n/it.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ja.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ko.ts +124 -124
- package/src/tool/fortune-cookie/i18n/nl.ts +124 -124
- package/src/tool/fortune-cookie/i18n/pl.ts +124 -124
- package/src/tool/fortune-cookie/i18n/pt.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ru.ts +124 -124
- package/src/tool/fortune-cookie/i18n/sv.ts +124 -124
- package/src/tool/fortune-cookie/i18n/tr.ts +124 -124
- package/src/tool/fortune-cookie/i18n/zh.ts +124 -124
- package/src/tool/fortune-cookie/seo.astro +15 -15
- package/src/tool/synesthesia-painter/bibliography.astro +8 -8
- package/src/tool/synesthesia-painter/i18n/de.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/en.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/es.ts +110 -110
- package/src/tool/synesthesia-painter/i18n/fr.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/id.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/it.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ja.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ko.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/nl.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/pl.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/pt.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ru.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/sv.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/tr.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/zh.ts +118 -118
- package/src/tool/synesthesia-painter/seo.astro +15 -15
- package/src/tool/zalgo-generator/bibliography.astro +8 -8
- package/src/tool/zalgo-generator/i18n/de.ts +109 -109
- package/src/tool/zalgo-generator/i18n/en.ts +109 -109
- package/src/tool/zalgo-generator/i18n/es.ts +109 -109
- package/src/tool/zalgo-generator/i18n/fr.ts +109 -109
- package/src/tool/zalgo-generator/i18n/id.ts +109 -109
- package/src/tool/zalgo-generator/i18n/it.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ja.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ko.ts +109 -109
- package/src/tool/zalgo-generator/i18n/nl.ts +109 -109
- package/src/tool/zalgo-generator/i18n/pl.ts +109 -109
- package/src/tool/zalgo-generator/i18n/pt.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ru.ts +109 -109
- package/src/tool/zalgo-generator/i18n/sv.ts +109 -109
- package/src/tool/zalgo-generator/i18n/tr.ts +109 -109
- package/src/tool/zalgo-generator/i18n/zh.ts +109 -109
- package/src/tool/zalgo-generator/seo.astro +15 -15
- package/src/types.ts +1 -1
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import { bibliography } from '../bibliography';
|
|
3
|
-
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
4
|
-
|
|
5
|
-
const slug = 'zalgo-generator';
|
|
6
|
-
const title = 'Zalgo Generator';
|
|
7
|
-
const description = 'Corrupt your messages with cascading overflowing Unicode characters. Adjust intensity and direction of the glitch effect.';
|
|
8
|
-
|
|
9
|
-
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
10
|
-
{ question: 'What is Zalgo text?', answer: 'It is a type of text that uses Unicode combining characters (diacritics) excessively. When stacked vertically, these characters "overflow" their original line, creating a visual effect of corruption, disorder, or horror popular in internet culture.' },
|
|
11
|
-
{ question: 'Why does Zalgo text look so strange?', answer: 'It exploits a feature of the Unicode standard that allows adding marks above, below, or through a base letter. Since there is no strict limit on how many marks can be added, the text can "invade" lines above or below.' },
|
|
12
|
-
{ question: 'Can I use this text on social media?', answer: 'Yes, most modern platforms (Instagram, Twitter, Discord) support Unicode. However, some networks or devices may filter or truncate excess characters at very high intensity to maintain interface readability.' },
|
|
13
|
-
{ question: 'How can I remove the Zalgo effect from text?', answer: 'To clean corrupted text, you can use JavaScript string normalization or simply paste it into a basic text editor that only accepts plain text. Our tool is purely creative and does not damage the original content.' },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
17
|
-
{ name: 'Write the base message', text: 'Enter the text you want to "corrupt" in the main text box.' },
|
|
18
|
-
{ name: 'Adjust the chaos intensity', text: 'Move the slider to define how many combining characters to stack. Higher intensity = harder to read.' },
|
|
19
|
-
{ name: 'Select the overflow direction', text: 'Choose whether corruption should grow upward, downward, or in all directions simultaneously.' },
|
|
20
|
-
{ name: 'Copy the result', text: 'Click the copy button. The resulting text includes all the invisible bytes needed to maintain the glitch effect.' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
-
'@context': 'https://schema.org',
|
|
25
|
-
'@type': 'FAQPage',
|
|
26
|
-
mainEntity: faq.map((item) => ({
|
|
27
|
-
'@type': 'Question',
|
|
28
|
-
name: item.question,
|
|
29
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
-
})),
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const howToSchema: WithContext<HowTo> = {
|
|
34
|
-
'@context': 'https://schema.org',
|
|
35
|
-
'@type': 'HowTo',
|
|
36
|
-
name: title,
|
|
37
|
-
description,
|
|
38
|
-
step: howTo.map((step) => ({
|
|
39
|
-
'@type': 'HowToStep',
|
|
40
|
-
name: step.name,
|
|
41
|
-
text: step.text,
|
|
42
|
-
})),
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
-
'@context': 'https://schema.org',
|
|
47
|
-
'@type': 'SoftwareApplication',
|
|
48
|
-
name: title,
|
|
49
|
-
description,
|
|
50
|
-
applicationCategory: 'UtilitiesApplication',
|
|
51
|
-
operatingSystem: 'Web',
|
|
52
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
-
inLanguage: 'en',
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const content: ZalgoGeneratorLocaleContent = {
|
|
57
|
-
slug,
|
|
58
|
-
title,
|
|
59
|
-
description,
|
|
60
|
-
faqTitle: 'Frequently Asked Questions',
|
|
61
|
-
ui: {
|
|
62
|
-
title: 'Zalgo Generator',
|
|
63
|
-
description: 'E̴v̵e̸r̸y̵t̸h̵i̸n̴g̴ ̷i̸s̶ ̶c̶o̷r̵r̷u̷p̶t̸',
|
|
64
|
-
inputPlaceholder: 'Type your normal message here...',
|
|
65
|
-
intensityLabel: 'Corruption Level',
|
|
66
|
-
outputLabel: 'Corrupted Result',
|
|
67
|
-
copyBtn: 'Copy Chaos',
|
|
68
|
-
copied: 'Copied!',
|
|
69
|
-
faqTitle: 'FAQ',
|
|
70
|
-
bibliographyTitle: 'References',
|
|
71
|
-
configTitle: 'Configuration',
|
|
72
|
-
intensity: 'Intensity',
|
|
73
|
-
upLabel: 'Upper Corruption',
|
|
74
|
-
midLabel: 'Middle Noise',
|
|
75
|
-
downLabel: 'Lower Corruption',
|
|
76
|
-
resetBtn: 'Reset Values',
|
|
77
|
-
warningText: 'WARNING: Zalgo text uses combined Unicode characters that may visually overflow their container. Use with caution on social media.',
|
|
78
|
-
previewLabel: 'Real-time Preview',
|
|
79
|
-
emptyLabel: 'Empty',
|
|
80
|
-
charLabel: 'CHARACTERS',
|
|
81
|
-
noteText: 'Note: Some browsers may limit the rendering of combined characters'
|
|
82
|
-
},
|
|
83
|
-
seo: [
|
|
84
|
-
{ type: 'title', text: 'What Is Zalgo Text and How Does Visual Corruption Work?', level: 2 },
|
|
85
|
-
{ type: 'paragraph', html: 'Zalgo Text is a form of typographic manipulation that exploits a specific feature of the Unicode standard: <strong>combining characters</strong>. Unlike normal characters, these diacritics take up no horizontal space - they stack vertically on top of the base letter, creating that "digital chaos" or "cosmic horror" aesthetic so popular in internet culture.' },
|
|
86
|
-
{ type: 'title', text: 'Anatomy of the Process', level: 3 },
|
|
87
|
-
{ type: 'paragraph', html: 'Our generator processes each character independently, injecting random bursts of Unicode code points in three distinct vectors: <strong>upper</strong> (diacritics that stack above), <strong>middle</strong> (which pierce through the letter), and <strong>lower</strong> (hanging below).' },
|
|
88
|
-
{ type: 'tip', title: 'Corruption Algorithm', html: 'For each base character, a <code>count = intensity × 30</code> is calculated. That many random diacritics are added in each vector. At intensity 1.5 you can get up to 45 combining characters per letter.' },
|
|
89
|
-
{ type: 'title', text: 'Etiquette and Applications', level: 3 },
|
|
90
|
-
{ type: 'list', items: [
|
|
91
|
-
'<strong>Social Media:</strong> Grab attention on Instagram or TikTok. Perfect for bios seeking to break with convention.',
|
|
92
|
-
'<strong>Horror Storytelling:</strong> Dramatize fiction narratives, creepypastas, or simulations of compromised systems.',
|
|
93
|
-
'<strong>Accessibility:</strong> Warning - Zalgo text is unreadable by screen readers. Use it only as visual decoration, never for critical content.',
|
|
94
|
-
'<strong>SEO:</strong> Never use Zalgo in core keywords (H1, meta titles). Indexing bots may fail to normalize these characters.',
|
|
95
|
-
]},
|
|
96
|
-
{ type: 'title', text: 'The Origin: From Something Awful to Glitch Art', level: 3 },
|
|
97
|
-
{ type: 'paragraph', html: 'Zalgo did not begin as a generator, but as an intervention in classic comic strips. The user Shmorky, in the mid-2000s, began deforming characters like Nancy or Archie, adding stains and distortions. The phrase <strong>"He comes"</strong> sealed the fate of these works, announcing the arrival of an entity that devoured reality.' },
|
|
98
|
-
{ type: 'glossary', items: [
|
|
99
|
-
{ term: 'Combining Character', definition: 'A Unicode code point designed to be placed on top of, below, or through a base character. Used legitimately in languages like Arabic, Vietnamese, and Hindi.' },
|
|
100
|
-
{ term: 'Diacritic', definition: 'A mark added to a base letter to modify its pronunciation or meaning. Zalgo abuses these to create visual overflow.' },
|
|
101
|
-
{ term: 'Unicode Block', definition: 'A contiguous range of Unicode code points. Zalgo characters mostly come from the "Combining Diacritical Marks" block (U+0300-U+036F).' },
|
|
102
|
-
{ term: 'Glitch Art', definition: 'An aesthetic that intentionally incorporates or simulates errors, artifacts, and corruptions in digital media as an expressive technique.' },
|
|
103
|
-
]},
|
|
104
|
-
],
|
|
105
|
-
faq,
|
|
106
|
-
bibliography,
|
|
107
|
-
howTo,
|
|
108
|
-
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
109
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'zalgo-generator';
|
|
6
|
+
const title = 'Zalgo Generator';
|
|
7
|
+
const description = 'Corrupt your messages with cascading overflowing Unicode characters. Adjust intensity and direction of the glitch effect.';
|
|
8
|
+
|
|
9
|
+
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
10
|
+
{ question: 'What is Zalgo text?', answer: 'It is a type of text that uses Unicode combining characters (diacritics) excessively. When stacked vertically, these characters "overflow" their original line, creating a visual effect of corruption, disorder, or horror popular in internet culture.' },
|
|
11
|
+
{ question: 'Why does Zalgo text look so strange?', answer: 'It exploits a feature of the Unicode standard that allows adding marks above, below, or through a base letter. Since there is no strict limit on how many marks can be added, the text can "invade" lines above or below.' },
|
|
12
|
+
{ question: 'Can I use this text on social media?', answer: 'Yes, most modern platforms (Instagram, Twitter, Discord) support Unicode. However, some networks or devices may filter or truncate excess characters at very high intensity to maintain interface readability.' },
|
|
13
|
+
{ question: 'How can I remove the Zalgo effect from text?', answer: 'To clean corrupted text, you can use JavaScript string normalization or simply paste it into a basic text editor that only accepts plain text. Our tool is purely creative and does not damage the original content.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
17
|
+
{ name: 'Write the base message', text: 'Enter the text you want to "corrupt" in the main text box.' },
|
|
18
|
+
{ name: 'Adjust the chaos intensity', text: 'Move the slider to define how many combining characters to stack. Higher intensity = harder to read.' },
|
|
19
|
+
{ name: 'Select the overflow direction', text: 'Choose whether corruption should grow upward, downward, or in all directions simultaneously.' },
|
|
20
|
+
{ name: 'Copy the result', text: 'Click the copy button. The resulting text includes all the invisible bytes needed to maintain the glitch effect.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faq.map((item) => ({
|
|
27
|
+
'@type': 'Question',
|
|
28
|
+
name: item.question,
|
|
29
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const howToSchema: WithContext<HowTo> = {
|
|
34
|
+
'@context': 'https://schema.org',
|
|
35
|
+
'@type': 'HowTo',
|
|
36
|
+
name: title,
|
|
37
|
+
description,
|
|
38
|
+
step: howTo.map((step) => ({
|
|
39
|
+
'@type': 'HowToStep',
|
|
40
|
+
name: step.name,
|
|
41
|
+
text: step.text,
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'SoftwareApplication',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
applicationCategory: 'UtilitiesApplication',
|
|
51
|
+
operatingSystem: 'Web',
|
|
52
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
+
inLanguage: 'en',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const content: ZalgoGeneratorLocaleContent = {
|
|
57
|
+
slug,
|
|
58
|
+
title,
|
|
59
|
+
description,
|
|
60
|
+
faqTitle: 'Frequently Asked Questions',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Zalgo Generator',
|
|
63
|
+
description: 'E̴v̵e̸r̸y̵t̸h̵i̸n̴g̴ ̷i̸s̶ ̶c̶o̷r̵r̷u̷p̶t̸',
|
|
64
|
+
inputPlaceholder: 'Type your normal message here...',
|
|
65
|
+
intensityLabel: 'Corruption Level',
|
|
66
|
+
outputLabel: 'Corrupted Result',
|
|
67
|
+
copyBtn: 'Copy Chaos',
|
|
68
|
+
copied: 'Copied!',
|
|
69
|
+
faqTitle: 'FAQ',
|
|
70
|
+
bibliographyTitle: 'References',
|
|
71
|
+
configTitle: 'Configuration',
|
|
72
|
+
intensity: 'Intensity',
|
|
73
|
+
upLabel: 'Upper Corruption',
|
|
74
|
+
midLabel: 'Middle Noise',
|
|
75
|
+
downLabel: 'Lower Corruption',
|
|
76
|
+
resetBtn: 'Reset Values',
|
|
77
|
+
warningText: 'WARNING: Zalgo text uses combined Unicode characters that may visually overflow their container. Use with caution on social media.',
|
|
78
|
+
previewLabel: 'Real-time Preview',
|
|
79
|
+
emptyLabel: 'Empty',
|
|
80
|
+
charLabel: 'CHARACTERS',
|
|
81
|
+
noteText: 'Note: Some browsers may limit the rendering of combined characters'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: 'What Is Zalgo Text and How Does Visual Corruption Work?', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'Zalgo Text is a form of typographic manipulation that exploits a specific feature of the Unicode standard: <strong>combining characters</strong>. Unlike normal characters, these diacritics take up no horizontal space - they stack vertically on top of the base letter, creating that "digital chaos" or "cosmic horror" aesthetic so popular in internet culture.' },
|
|
86
|
+
{ type: 'title', text: 'Anatomy of the Process', level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: 'Our generator processes each character independently, injecting random bursts of Unicode code points in three distinct vectors: <strong>upper</strong> (diacritics that stack above), <strong>middle</strong> (which pierce through the letter), and <strong>lower</strong> (hanging below).' },
|
|
88
|
+
{ type: 'tip', title: 'Corruption Algorithm', html: 'For each base character, a <code>count = intensity × 30</code> is calculated. That many random diacritics are added in each vector. At intensity 1.5 you can get up to 45 combining characters per letter.' },
|
|
89
|
+
{ type: 'title', text: 'Etiquette and Applications', level: 3 },
|
|
90
|
+
{ type: 'list', items: [
|
|
91
|
+
'<strong>Social Media:</strong> Grab attention on Instagram or TikTok. Perfect for bios seeking to break with convention.',
|
|
92
|
+
'<strong>Horror Storytelling:</strong> Dramatize fiction narratives, creepypastas, or simulations of compromised systems.',
|
|
93
|
+
'<strong>Accessibility:</strong> Warning - Zalgo text is unreadable by screen readers. Use it only as visual decoration, never for critical content.',
|
|
94
|
+
'<strong>SEO:</strong> Never use Zalgo in core keywords (H1, meta titles). Indexing bots may fail to normalize these characters.',
|
|
95
|
+
]},
|
|
96
|
+
{ type: 'title', text: 'The Origin: From Something Awful to Glitch Art', level: 3 },
|
|
97
|
+
{ type: 'paragraph', html: 'Zalgo did not begin as a generator, but as an intervention in classic comic strips. The user Shmorky, in the mid-2000s, began deforming characters like Nancy or Archie, adding stains and distortions. The phrase <strong>"He comes"</strong> sealed the fate of these works, announcing the arrival of an entity that devoured reality.' },
|
|
98
|
+
{ type: 'glossary', items: [
|
|
99
|
+
{ term: 'Combining Character', definition: 'A Unicode code point designed to be placed on top of, below, or through a base character. Used legitimately in languages like Arabic, Vietnamese, and Hindi.' },
|
|
100
|
+
{ term: 'Diacritic', definition: 'A mark added to a base letter to modify its pronunciation or meaning. Zalgo abuses these to create visual overflow.' },
|
|
101
|
+
{ term: 'Unicode Block', definition: 'A contiguous range of Unicode code points. Zalgo characters mostly come from the "Combining Diacritical Marks" block (U+0300-U+036F).' },
|
|
102
|
+
{ term: 'Glitch Art', definition: 'An aesthetic that intentionally incorporates or simulates errors, artifacts, and corruptions in digital media as an expressive technique.' },
|
|
103
|
+
]},
|
|
104
|
+
],
|
|
105
|
+
faq,
|
|
106
|
+
bibliography,
|
|
107
|
+
howTo,
|
|
108
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
109
|
+
};
|
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import { bibliography } from '../bibliography';
|
|
3
|
-
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
4
|
-
|
|
5
|
-
const slug = 'generador-zalgo';
|
|
6
|
-
const title = 'Generador Zalgo';
|
|
7
|
-
const description = 'Corrompe tus mensajes con cascadas de caracteres Unicode desbordantes.';
|
|
8
|
-
|
|
9
|
-
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
10
|
-
{ question: '¿Qué es el texto Zalgo?', answer: 'Es un tipo de texto que utiliza caracteres Unicode de combinación (diacríticos) de forma excesiva. Al apilarse verticalmente, estos caracteres "desbordan" su línea original, creando un efecto visual de corrupción, desorden o terror muy popular en la cultura de internet.' },
|
|
11
|
-
{ question: '¿Por qué el texto Zalgo se ve tan extraño?', answer: 'Se aprovecha de una característica del estándar Unicode que permite añadir marcas encima, debajo o en medio de una letra base. Como no hay un límite estricto de cuántas marcas se pueden añadir, el texto puede "invadir" párrafos superiores o inferiores.' },
|
|
12
|
-
{ question: '¿Puedo usar este texto en redes sociales?', answer: 'Sí, la mayoría de plataformas modernas (Instagram, Twitter, Discord) soportan Unicode. Sin embargo, algunas redes o dispositivos pueden filtrar o recortar el exceso de caracteres si la intensidad es muy alta para mantener la legibilidad de la interfaz.' },
|
|
13
|
-
{ question: '¿Cómo puedo quitar el efecto Zalgo de un texto?', answer: 'Para limpiar un texto corrupto, puedes usar la normalización de strings de JavaScript o simplemente copiarlo en un editor básico que solo admita texto plano. Nuestra herramienta es puramente creativa y no daña el contenido original.' },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
17
|
-
{ name: 'Escribir el mensaje base', text: 'Introduce el texto que quieres "corromper" en el cuadro principal de la herramienta.' },
|
|
18
|
-
{ name: 'Ajustar la intensidad del caos', text: 'Mueve el selector para definir cuántos caracteres de combinación quieres apilar. A más intensidad, más difícil será de leer.' },
|
|
19
|
-
{ name: 'Seleccionar la dirección del desbordamiento', text: 'Elige si quieres que la corrupción crezca hacia arriba, hacia abajo o en todas las direcciones simultáneamente.' },
|
|
20
|
-
{ name: 'Copiar el texto resultante', text: 'Haz clic en el botón de copiar. El texto resultante incluirá todos los bytes invisibles necesarios para mantener el efecto glitch.' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
-
'@context': 'https://schema.org',
|
|
25
|
-
'@type': 'FAQPage',
|
|
26
|
-
mainEntity: faq.map((item) => ({
|
|
27
|
-
'@type': 'Question',
|
|
28
|
-
name: item.question,
|
|
29
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
-
})),
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const howToSchema: WithContext<HowTo> = {
|
|
34
|
-
'@context': 'https://schema.org',
|
|
35
|
-
'@type': 'HowTo',
|
|
36
|
-
name: title,
|
|
37
|
-
description,
|
|
38
|
-
step: howTo.map((step) => ({
|
|
39
|
-
'@type': 'HowToStep',
|
|
40
|
-
name: step.name,
|
|
41
|
-
text: step.text,
|
|
42
|
-
})),
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
-
'@context': 'https://schema.org',
|
|
47
|
-
'@type': 'SoftwareApplication',
|
|
48
|
-
name: title,
|
|
49
|
-
description,
|
|
50
|
-
applicationCategory: 'UtilitiesApplication',
|
|
51
|
-
operatingSystem: 'Web',
|
|
52
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
-
inLanguage: 'es',
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const content: ZalgoGeneratorLocaleContent = {
|
|
57
|
-
slug,
|
|
58
|
-
title,
|
|
59
|
-
description,
|
|
60
|
-
faqTitle: 'Preguntas Frecuentes',
|
|
61
|
-
ui: {
|
|
62
|
-
title: 'Generador Zalgo',
|
|
63
|
-
description: 'T̸o̶d̸o̵ ̸e̴s̸t̴á̷ ̵c̵o̶r̶r̵u̸p̸t̵o̴',
|
|
64
|
-
inputPlaceholder: 'Escribe tu mensaje normal aquí...',
|
|
65
|
-
intensityLabel: 'Nivel de Corrupción',
|
|
66
|
-
outputLabel: 'Resultado Corrompido',
|
|
67
|
-
copyBtn: 'Copiar Caos',
|
|
68
|
-
copied: '¡Copiado!',
|
|
69
|
-
faqTitle: 'FAQ',
|
|
70
|
-
bibliographyTitle: 'Referencias',
|
|
71
|
-
configTitle: 'Configuración',
|
|
72
|
-
intensity: 'Intensidad',
|
|
73
|
-
upLabel: 'Corrupción Superior',
|
|
74
|
-
midLabel: 'Ruido Central',
|
|
75
|
-
downLabel: 'Corrupción Inferior',
|
|
76
|
-
resetBtn: 'Restablecer Valores',
|
|
77
|
-
warningText: 'ADVERTENCIA: El texto Zalgo utiliza caracteres combinados de Unicode que pueden desbordar visualmente su contenedor. Úsese con precaución en redes sociales.',
|
|
78
|
-
previewLabel: 'Vista Previa en Tiempo Real',
|
|
79
|
-
emptyLabel: 'Vacío',
|
|
80
|
-
charLabel: 'CARACTERES',
|
|
81
|
-
noteText: 'Nota: Algunos navegadores pueden limitar el renderizado de caracteres combinados'
|
|
82
|
-
},
|
|
83
|
-
seo: [
|
|
84
|
-
{ type: 'title', text: '¿Qué es el Texto Zalgo y cómo funciona la corrupción visual?', level: 2 },
|
|
85
|
-
{ type: 'paragraph', html: 'El Texto Zalgo es una forma de manipulación tipográfica que utiliza una característica específica del estándar Unicode: los <strong>caracteres combinados</strong>. A diferencia de los caracteres normales, estos diacríticos no ocupan espacio horizontal; se apilan verticalmente sobre la letra base, creando esa estética de "caos digital" o "terror cósmico" tan popular en la cultura de internet.' },
|
|
86
|
-
{ type: 'title', text: 'Anatomía del Proceso', level: 3 },
|
|
87
|
-
{ type: 'paragraph', html: 'Nuestro generador procesa cada carácter de forma independiente, inyectando ráfagas aleatorias de puntos de código Unicode en tres vectores distintos: <strong>superior</strong> (diacríticos que se apilan encima), <strong>central</strong> (que atraviesan la letra) e <strong>inferior</strong> (que cuelgan por debajo).' },
|
|
88
|
-
{ type: 'tip', title: 'Algoritmo de Corrupción', html: 'Para cada carácter base, se calcula un <code>count = intensity × 30</code>. Ese número de diacríticos aleatorios se añaden en cada vector. A intensidad 1.5 puedes obtener hasta 45 caracteres combinados por letra.' },
|
|
89
|
-
{ type: 'title', text: 'Etiqueta y Aplicaciones', level: 3 },
|
|
90
|
-
{ type: 'list', items: [
|
|
91
|
-
'<strong>Social Media:</strong> Capta la atención en Instagram o TikTok. Perfecto para bios que buscan romper con lo convencional.',
|
|
92
|
-
'<strong>Storytelling horror:</strong> Dramatiza narrativas de ficción, creepypastas o simulaciones de sistemas comprometidos.',
|
|
93
|
-
'<strong>Accesibilidad:</strong> Cuidado - el texto Zalgo es ilegible para Screen Readers. Úsalo solo como acompañamiento visual, nunca para contenido crítico.',
|
|
94
|
-
'<strong>SEO:</strong> No uses Zalgo en palabras clave fundamentales (H1, meta titles). Los bots de indexación pueden fallar al normalizar estos caracteres.',
|
|
95
|
-
]},
|
|
96
|
-
{ type: 'title', text: 'El Origen: De Something Awful al Glitch Art', level: 3 },
|
|
97
|
-
{ type: 'paragraph', html: 'Zalgo no nació como un generador, sino como una intervención en tiras cómicas clásicas. El usuario Shmorky, a mediados de los 2000, empezó a deformar personajes como Nancy o Archie, añadiendo manchas y distorsiones. La frase <strong>"He comes"</strong> sellaba el destino de estas obras, anunciando la llegada de una entidad que devoraba la realidad.' },
|
|
98
|
-
{ type: 'glossary', items: [
|
|
99
|
-
{ term: 'Carácter combinado', definition: 'Punto de código Unicode diseñado para colocarse encima, debajo o a través de un carácter base. Se usa legítimamente en árabe, vietnamita e hindi.' },
|
|
100
|
-
{ term: 'Diacrítico', definition: 'Marca añadida a una letra base para modificar su pronunciación o significado. Zalgo abusa de ellos para crear desbordamiento visual.' },
|
|
101
|
-
{ term: 'Bloque Unicode', definition: 'Rango contiguo de puntos de código Unicode. Los caracteres Zalgo provienen principalmente del bloque "Combining Diacritical Marks" (U+0300-U+036F).' },
|
|
102
|
-
{ term: 'Glitch Art', definition: 'Estética que incorpora intencionalmente errores, artefactos y corrupciones en medios digitales como técnica expresiva.' },
|
|
103
|
-
]},
|
|
104
|
-
],
|
|
105
|
-
faq,
|
|
106
|
-
bibliography,
|
|
107
|
-
howTo,
|
|
108
|
-
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
109
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { ZalgoGeneratorLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'generador-zalgo';
|
|
6
|
+
const title = 'Generador Zalgo';
|
|
7
|
+
const description = 'Corrompe tus mensajes con cascadas de caracteres Unicode desbordantes.';
|
|
8
|
+
|
|
9
|
+
const faq: ZalgoGeneratorLocaleContent['faq'] = [
|
|
10
|
+
{ question: '¿Qué es el texto Zalgo?', answer: 'Es un tipo de texto que utiliza caracteres Unicode de combinación (diacríticos) de forma excesiva. Al apilarse verticalmente, estos caracteres "desbordan" su línea original, creando un efecto visual de corrupción, desorden o terror muy popular en la cultura de internet.' },
|
|
11
|
+
{ question: '¿Por qué el texto Zalgo se ve tan extraño?', answer: 'Se aprovecha de una característica del estándar Unicode que permite añadir marcas encima, debajo o en medio de una letra base. Como no hay un límite estricto de cuántas marcas se pueden añadir, el texto puede "invadir" párrafos superiores o inferiores.' },
|
|
12
|
+
{ question: '¿Puedo usar este texto en redes sociales?', answer: 'Sí, la mayoría de plataformas modernas (Instagram, Twitter, Discord) soportan Unicode. Sin embargo, algunas redes o dispositivos pueden filtrar o recortar el exceso de caracteres si la intensidad es muy alta para mantener la legibilidad de la interfaz.' },
|
|
13
|
+
{ question: '¿Cómo puedo quitar el efecto Zalgo de un texto?', answer: 'Para limpiar un texto corrupto, puedes usar la normalización de strings de JavaScript o simplemente copiarlo en un editor básico que solo admita texto plano. Nuestra herramienta es puramente creativa y no daña el contenido original.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howTo: ZalgoGeneratorLocaleContent['howTo'] = [
|
|
17
|
+
{ name: 'Escribir el mensaje base', text: 'Introduce el texto que quieres "corromper" en el cuadro principal de la herramienta.' },
|
|
18
|
+
{ name: 'Ajustar la intensidad del caos', text: 'Mueve el selector para definir cuántos caracteres de combinación quieres apilar. A más intensidad, más difícil será de leer.' },
|
|
19
|
+
{ name: 'Seleccionar la dirección del desbordamiento', text: 'Elige si quieres que la corrupción crezca hacia arriba, hacia abajo o en todas las direcciones simultáneamente.' },
|
|
20
|
+
{ name: 'Copiar el texto resultante', text: 'Haz clic en el botón de copiar. El texto resultante incluirá todos los bytes invisibles necesarios para mantener el efecto glitch.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faq.map((item) => ({
|
|
27
|
+
'@type': 'Question',
|
|
28
|
+
name: item.question,
|
|
29
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const howToSchema: WithContext<HowTo> = {
|
|
34
|
+
'@context': 'https://schema.org',
|
|
35
|
+
'@type': 'HowTo',
|
|
36
|
+
name: title,
|
|
37
|
+
description,
|
|
38
|
+
step: howTo.map((step) => ({
|
|
39
|
+
'@type': 'HowToStep',
|
|
40
|
+
name: step.name,
|
|
41
|
+
text: step.text,
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'SoftwareApplication',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
applicationCategory: 'UtilitiesApplication',
|
|
51
|
+
operatingSystem: 'Web',
|
|
52
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
+
inLanguage: 'es',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const content: ZalgoGeneratorLocaleContent = {
|
|
57
|
+
slug,
|
|
58
|
+
title,
|
|
59
|
+
description,
|
|
60
|
+
faqTitle: 'Preguntas Frecuentes',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Generador Zalgo',
|
|
63
|
+
description: 'T̸o̶d̸o̵ ̸e̴s̸t̴á̷ ̵c̵o̶r̶r̵u̸p̸t̵o̴',
|
|
64
|
+
inputPlaceholder: 'Escribe tu mensaje normal aquí...',
|
|
65
|
+
intensityLabel: 'Nivel de Corrupción',
|
|
66
|
+
outputLabel: 'Resultado Corrompido',
|
|
67
|
+
copyBtn: 'Copiar Caos',
|
|
68
|
+
copied: '¡Copiado!',
|
|
69
|
+
faqTitle: 'FAQ',
|
|
70
|
+
bibliographyTitle: 'Referencias',
|
|
71
|
+
configTitle: 'Configuración',
|
|
72
|
+
intensity: 'Intensidad',
|
|
73
|
+
upLabel: 'Corrupción Superior',
|
|
74
|
+
midLabel: 'Ruido Central',
|
|
75
|
+
downLabel: 'Corrupción Inferior',
|
|
76
|
+
resetBtn: 'Restablecer Valores',
|
|
77
|
+
warningText: 'ADVERTENCIA: El texto Zalgo utiliza caracteres combinados de Unicode que pueden desbordar visualmente su contenedor. Úsese con precaución en redes sociales.',
|
|
78
|
+
previewLabel: 'Vista Previa en Tiempo Real',
|
|
79
|
+
emptyLabel: 'Vacío',
|
|
80
|
+
charLabel: 'CARACTERES',
|
|
81
|
+
noteText: 'Nota: Algunos navegadores pueden limitar el renderizado de caracteres combinados'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: '¿Qué es el Texto Zalgo y cómo funciona la corrupción visual?', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'El Texto Zalgo es una forma de manipulación tipográfica que utiliza una característica específica del estándar Unicode: los <strong>caracteres combinados</strong>. A diferencia de los caracteres normales, estos diacríticos no ocupan espacio horizontal; se apilan verticalmente sobre la letra base, creando esa estética de "caos digital" o "terror cósmico" tan popular en la cultura de internet.' },
|
|
86
|
+
{ type: 'title', text: 'Anatomía del Proceso', level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: 'Nuestro generador procesa cada carácter de forma independiente, inyectando ráfagas aleatorias de puntos de código Unicode en tres vectores distintos: <strong>superior</strong> (diacríticos que se apilan encima), <strong>central</strong> (que atraviesan la letra) e <strong>inferior</strong> (que cuelgan por debajo).' },
|
|
88
|
+
{ type: 'tip', title: 'Algoritmo de Corrupción', html: 'Para cada carácter base, se calcula un <code>count = intensity × 30</code>. Ese número de diacríticos aleatorios se añaden en cada vector. A intensidad 1.5 puedes obtener hasta 45 caracteres combinados por letra.' },
|
|
89
|
+
{ type: 'title', text: 'Etiqueta y Aplicaciones', level: 3 },
|
|
90
|
+
{ type: 'list', items: [
|
|
91
|
+
'<strong>Social Media:</strong> Capta la atención en Instagram o TikTok. Perfecto para bios que buscan romper con lo convencional.',
|
|
92
|
+
'<strong>Storytelling horror:</strong> Dramatiza narrativas de ficción, creepypastas o simulaciones de sistemas comprometidos.',
|
|
93
|
+
'<strong>Accesibilidad:</strong> Cuidado - el texto Zalgo es ilegible para Screen Readers. Úsalo solo como acompañamiento visual, nunca para contenido crítico.',
|
|
94
|
+
'<strong>SEO:</strong> No uses Zalgo en palabras clave fundamentales (H1, meta titles). Los bots de indexación pueden fallar al normalizar estos caracteres.',
|
|
95
|
+
]},
|
|
96
|
+
{ type: 'title', text: 'El Origen: De Something Awful al Glitch Art', level: 3 },
|
|
97
|
+
{ type: 'paragraph', html: 'Zalgo no nació como un generador, sino como una intervención en tiras cómicas clásicas. El usuario Shmorky, a mediados de los 2000, empezó a deformar personajes como Nancy o Archie, añadiendo manchas y distorsiones. La frase <strong>"He comes"</strong> sellaba el destino de estas obras, anunciando la llegada de una entidad que devoraba la realidad.' },
|
|
98
|
+
{ type: 'glossary', items: [
|
|
99
|
+
{ term: 'Carácter combinado', definition: 'Punto de código Unicode diseñado para colocarse encima, debajo o a través de un carácter base. Se usa legítimamente en árabe, vietnamita e hindi.' },
|
|
100
|
+
{ term: 'Diacrítico', definition: 'Marca añadida a una letra base para modificar su pronunciación o significado. Zalgo abusa de ellos para crear desbordamiento visual.' },
|
|
101
|
+
{ term: 'Bloque Unicode', definition: 'Rango contiguo de puntos de código Unicode. Los caracteres Zalgo provienen principalmente del bloque "Combining Diacritical Marks" (U+0300-U+036F).' },
|
|
102
|
+
{ term: 'Glitch Art', definition: 'Estética que incorpora intencionalmente errores, artefactos y corrupciones en medios digitales como técnica expresiva.' },
|
|
103
|
+
]},
|
|
104
|
+
],
|
|
105
|
+
faq,
|
|
106
|
+
bibliography,
|
|
107
|
+
howTo,
|
|
108
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
109
|
+
};
|