@x-wave/blog 2.3.1 → 2.3.2

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.
@@ -0,0 +1,9 @@
1
+ export const DOCS_TITLE = 'Staking Docs'
2
+
3
+ export const SUPPORTED_LANGUAGES = ['en', 'zh', 'es'] as const
4
+
5
+ export const GITHUB_REPO_URL = 'https://github.com/polkadot-cloud'
6
+
7
+ export const STAKING_DASHBOARD_URL = 'https://staking.polkadot.cloud'
8
+
9
+ export { NAVIGATION_DATA } from './navigation'
@@ -0,0 +1,26 @@
1
+ import type { NavigationEntry } from 'types'
2
+
3
+ // Navigation structure - defines the sidebar menu order and grouping
4
+ // - Individual item titles are loaded from their MDX frontmatter
5
+ // - Section titles are i18n keys (e.g., 'nav.helpResources') and will be translated
6
+ // Optional properties:
7
+ // - hasAdvanced: boolean - indicates if the page has an advanced version
8
+ // - defaultOpen: boolean - for sections, set to true to have them open by default
9
+ // Note: showTableOfContents is configured in each article's frontmatter, not here
10
+ export const NAVIGATION_DATA: NavigationEntry[] = [
11
+ {
12
+ slug: 'welcome',
13
+ },
14
+ {
15
+ title: 'nav.helpResources',
16
+ defaultOpen: true,
17
+ items: [
18
+ {
19
+ slug: 'glossary',
20
+ },
21
+ {
22
+ slug: 'faq',
23
+ },
24
+ ],
25
+ },
26
+ ]
@@ -0,0 +1,182 @@
1
+ import i18n from 'i18next'
2
+ import LanguageDetector from 'i18next-browser-languagedetector'
3
+ import { initReactI18next } from 'react-i18next'
4
+
5
+ const resources = {
6
+ en: {
7
+ translation: {
8
+ language: 'English',
9
+ languageCode: 'en',
10
+ nav: {
11
+ gettingStarted: 'Getting Started',
12
+ helpResources: 'Help Resources',
13
+ guides: 'Guides',
14
+ reference: 'Reference',
15
+ previous: 'Previous',
16
+ next: 'Next',
17
+ },
18
+ docs: {
19
+ helloWorld: 'Welcome!',
20
+ gettingStarted: 'Getting Started',
21
+ glossary: 'Glossary',
22
+ faq: 'FAQ',
23
+ },
24
+ ui: {
25
+ home: 'Home',
26
+ simple: 'Simple',
27
+ advanced: 'Advanced',
28
+ switchLanguage: 'Switch Language',
29
+ tableOfContents: 'Table of Contents',
30
+ onThisPage: 'On this page',
31
+ launchApp: 'Launch App',
32
+ support: 'Support',
33
+ discord: 'Discord',
34
+ email: 'Email',
35
+ theme: 'Theme',
36
+ light: 'Light',
37
+ dark: 'Dark',
38
+ system: 'System',
39
+ search: 'Search',
40
+ searchPlaceholder: 'Search documentation...',
41
+ searchNavigate: 'to navigate',
42
+ searchSelect: 'to select',
43
+ searchClose: 'to close',
44
+ noSearchResults: 'No results found',
45
+ tags: 'Tags',
46
+ filterByTag: 'Filter by tag',
47
+ tagResults: 'Articles tagged with',
48
+ noTagResults: 'No articles found with this tag',
49
+ lastEdited: 'Last edited',
50
+ axes: 'Articles',
51
+ latestPosts: 'Latest Posts',
52
+ loadingArticles: 'Loading articles...',
53
+ noArticlesFound: 'No articles found',
54
+ by: 'By',
55
+ connect: 'Connect',
56
+ },
57
+ },
58
+ },
59
+ zh: {
60
+ translation: {
61
+ language: '中文',
62
+ languageCode: 'zh',
63
+ nav: {
64
+ gettingStarted: '开始使用',
65
+ helpResources: '帮助资源',
66
+ guides: '指南',
67
+ reference: '参考',
68
+ previous: '上一篇',
69
+ next: '下一篇',
70
+ },
71
+ docs: {
72
+ helloWorld: '欢迎!',
73
+ gettingStarted: '开始使用',
74
+ glossary: '术语表',
75
+ faq: '常见问题',
76
+ },
77
+ ui: {
78
+ home: '首页',
79
+ simple: '简单',
80
+ advanced: '高级',
81
+ switchLanguage: '切换语言',
82
+ tableOfContents: '目录',
83
+ onThisPage: '本页内容',
84
+ launchApp: '启动应用',
85
+ support: '支持',
86
+ discord: 'Discord',
87
+ email: '电子邮件',
88
+ theme: '主题',
89
+ light: '浅色',
90
+ dark: '深色',
91
+ system: '系统',
92
+ search: '搜索',
93
+ searchPlaceholder: '搜索文档...',
94
+ searchNavigate: '导航',
95
+ searchSelect: '选择',
96
+ searchClose: '关闭',
97
+ noSearchResults: '未找到结果',
98
+ tags: '标签',
99
+ filterByTag: '按标签筛选',
100
+ tagResults: '带有标签的文章',
101
+ noTagResults: '未找到带有此标签的文章',
102
+ lastEdited: '最后编辑',
103
+ articles: '文章',
104
+ loadingArticles: '正在加载文章...',
105
+ noArticlesFound: '未找到文章',
106
+ by: '作者',
107
+ connect: '连接',
108
+ },
109
+ },
110
+ },
111
+ es: {
112
+ translation: {
113
+ language: 'Español',
114
+ languageCode: 'es',
115
+ nav: {
116
+ gettingStarted: 'Primeros Pasos',
117
+ helpResources: 'Recursos de Ayuda',
118
+ guides: 'Guías',
119
+ reference: 'Referencia',
120
+ previous: 'Anterior',
121
+ next: 'Siguiente',
122
+ },
123
+ docs: {
124
+ helloWorld: '¡Bienvenido!',
125
+ gettingStarted: 'Primeros Pasos',
126
+ glossary: 'Glosario',
127
+ faq: 'Preguntas Frecuentes',
128
+ },
129
+ ui: {
130
+ home: 'Inicio',
131
+ simple: 'Simple',
132
+ advanced: 'Avanzado',
133
+ switchLanguage: 'Cambiar Idioma',
134
+ tableOfContents: 'Tabla de Contenidos',
135
+ onThisPage: 'En esta página',
136
+ launchApp: 'Iniciar App',
137
+ support: 'Soporte',
138
+ discord: 'Discord',
139
+ email: 'Correo',
140
+ theme: 'Tema',
141
+ light: 'Claro',
142
+ dark: 'Oscuro',
143
+ system: 'Sistema',
144
+ search: 'Buscar',
145
+ searchPlaceholder: 'Buscar documentación...',
146
+ searchNavigate: 'para navegar',
147
+ searchSelect: 'para seleccionar',
148
+ searchClose: 'para cerrar',
149
+ noSearchResults: 'No se encontraron resultados',
150
+ tags: 'Etiquetas',
151
+ filterByTag: 'Filtrar por etiqueta',
152
+ tagResults: 'Artículos etiquetados con',
153
+ noTagResults: 'No se encontraron artículos con esta etiqueta',
154
+ lastEdited: 'Última edición',
155
+ articles: 'Artículos',
156
+ loadingArticles: 'Cargando artículos...',
157
+ noArticlesFound: 'No se encontraron artículos',
158
+ by: 'Por',
159
+ connect: 'Conectar',
160
+ },
161
+ },
162
+ },
163
+ }
164
+
165
+ i18n
166
+ .use(LanguageDetector)
167
+ .use(initReactI18next)
168
+ .init({
169
+ resources,
170
+ fallbackLng: 'en',
171
+ lng: 'en', // Set 'en' as the initial language synchronously
172
+ debug: false,
173
+ interpolation: {
174
+ escapeValue: false,
175
+ },
176
+ detection: {
177
+ order: ['path', 'localStorage', 'navigator'],
178
+ lookupFromPathIndex: 0,
179
+ },
180
+ })
181
+
182
+ export default i18n
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x-wave/blog",
3
- "version": "2.3.1",
3
+ "version": "2.3.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
package/types/index.ts ADDED
@@ -0,0 +1,40 @@
1
+ export interface NavigationItem {
2
+ slug: string
3
+ hasAdvanced?: boolean
4
+ }
5
+
6
+ export interface NavigationItemWithTitle extends NavigationItem {
7
+ title: string
8
+ }
9
+
10
+ export interface NavigationSection {
11
+ title: string
12
+ items: NavigationItem[]
13
+ defaultOpen?: boolean
14
+ }
15
+
16
+ export interface NavigationSectionWithTitles {
17
+ title: string
18
+ items: NavigationItemWithTitle[]
19
+ defaultOpen?: boolean
20
+ }
21
+
22
+ export type NavigationEntry = NavigationSection | NavigationItem
23
+
24
+ export type NavigationEntryWithTitles =
25
+ | NavigationSectionWithTitles
26
+ | NavigationItemWithTitle
27
+
28
+ export interface LoadedContent {
29
+ content: string
30
+ frontmatter: {
31
+ title?: string
32
+ hasAdvanced?: boolean
33
+ tags?: string[]
34
+ date?: string
35
+ author?: string
36
+ [key: string]: unknown
37
+ }
38
+ }
39
+
40
+ export type SupportedLanguage = string
package/consts/index.js DELETED
@@ -1,24 +0,0 @@
1
- const t = [
2
- {
3
- slug: "welcome"
4
- },
5
- {
6
- title: "nav.helpResources",
7
- defaultOpen: !0,
8
- items: [
9
- {
10
- slug: "glossary"
11
- },
12
- {
13
- slug: "faq"
14
- }
15
- ]
16
- }
17
- ], s = "Staking Docs", o = ["en", "zh", "es"], e = "https://github.com/polkadot-cloud", l = "https://staking.polkadot.cloud";
18
- export {
19
- s as DOCS_TITLE,
20
- e as GITHUB_REPO_URL,
21
- t as NAVIGATION_DATA,
22
- l as STAKING_DASHBOARD_URL,
23
- o as SUPPORTED_LANGUAGES
24
- };
package/locales/index.js DELETED
@@ -1,180 +0,0 @@
1
- import e from "i18next";
2
- import { default as c } from "i18next";
3
- import a from "i18next-browser-languagedetector";
4
- import { initReactI18next as t } from "react-i18next";
5
- const s = {
6
- en: {
7
- translation: {
8
- language: "English",
9
- languageCode: "en",
10
- nav: {
11
- gettingStarted: "Getting Started",
12
- helpResources: "Help Resources",
13
- guides: "Guides",
14
- reference: "Reference",
15
- previous: "Previous",
16
- next: "Next"
17
- },
18
- docs: {
19
- helloWorld: "Welcome!",
20
- gettingStarted: "Getting Started",
21
- glossary: "Glossary",
22
- faq: "FAQ"
23
- },
24
- ui: {
25
- home: "Home",
26
- simple: "Simple",
27
- advanced: "Advanced",
28
- switchLanguage: "Switch Language",
29
- tableOfContents: "Table of Contents",
30
- onThisPage: "On this page",
31
- launchApp: "Launch App",
32
- support: "Support",
33
- discord: "Discord",
34
- email: "Email",
35
- theme: "Theme",
36
- light: "Light",
37
- dark: "Dark",
38
- system: "System",
39
- search: "Search",
40
- searchPlaceholder: "Search documentation...",
41
- searchNavigate: "to navigate",
42
- searchSelect: "to select",
43
- searchClose: "to close",
44
- noSearchResults: "No results found",
45
- tags: "Tags",
46
- filterByTag: "Filter by tag",
47
- tagResults: "Articles tagged with",
48
- noTagResults: "No articles found with this tag",
49
- lastEdited: "Last edited",
50
- axes: "Articles",
51
- latestPosts: "Latest Posts",
52
- loadingArticles: "Loading articles...",
53
- noArticlesFound: "No articles found",
54
- by: "By",
55
- connect: "Connect"
56
- }
57
- }
58
- },
59
- zh: {
60
- translation: {
61
- language: "中文",
62
- languageCode: "zh",
63
- nav: {
64
- gettingStarted: "开始使用",
65
- helpResources: "帮助资源",
66
- guides: "指南",
67
- reference: "参考",
68
- previous: "上一篇",
69
- next: "下一篇"
70
- },
71
- docs: {
72
- helloWorld: "欢迎!",
73
- gettingStarted: "开始使用",
74
- glossary: "术语表",
75
- faq: "常见问题"
76
- },
77
- ui: {
78
- home: "首页",
79
- simple: "简单",
80
- advanced: "高级",
81
- switchLanguage: "切换语言",
82
- tableOfContents: "目录",
83
- onThisPage: "本页内容",
84
- launchApp: "启动应用",
85
- support: "支持",
86
- discord: "Discord",
87
- email: "电子邮件",
88
- theme: "主题",
89
- light: "浅色",
90
- dark: "深色",
91
- system: "系统",
92
- search: "搜索",
93
- searchPlaceholder: "搜索文档...",
94
- searchNavigate: "导航",
95
- searchSelect: "选择",
96
- searchClose: "关闭",
97
- noSearchResults: "未找到结果",
98
- tags: "标签",
99
- filterByTag: "按标签筛选",
100
- tagResults: "带有标签的文章",
101
- noTagResults: "未找到带有此标签的文章",
102
- lastEdited: "最后编辑",
103
- articles: "文章",
104
- loadingArticles: "正在加载文章...",
105
- noArticlesFound: "未找到文章",
106
- by: "作者",
107
- connect: "连接"
108
- }
109
- }
110
- },
111
- es: {
112
- translation: {
113
- language: "Español",
114
- languageCode: "es",
115
- nav: {
116
- gettingStarted: "Primeros Pasos",
117
- helpResources: "Recursos de Ayuda",
118
- guides: "Guías",
119
- reference: "Referencia",
120
- previous: "Anterior",
121
- next: "Siguiente"
122
- },
123
- docs: {
124
- helloWorld: "¡Bienvenido!",
125
- gettingStarted: "Primeros Pasos",
126
- glossary: "Glosario",
127
- faq: "Preguntas Frecuentes"
128
- },
129
- ui: {
130
- home: "Inicio",
131
- simple: "Simple",
132
- advanced: "Avanzado",
133
- switchLanguage: "Cambiar Idioma",
134
- tableOfContents: "Tabla de Contenidos",
135
- onThisPage: "En esta página",
136
- launchApp: "Iniciar App",
137
- support: "Soporte",
138
- discord: "Discord",
139
- email: "Correo",
140
- theme: "Tema",
141
- light: "Claro",
142
- dark: "Oscuro",
143
- system: "Sistema",
144
- search: "Buscar",
145
- searchPlaceholder: "Buscar documentación...",
146
- searchNavigate: "para navegar",
147
- searchSelect: "para seleccionar",
148
- searchClose: "para cerrar",
149
- noSearchResults: "No se encontraron resultados",
150
- tags: "Etiquetas",
151
- filterByTag: "Filtrar por etiqueta",
152
- tagResults: "Artículos etiquetados con",
153
- noTagResults: "No se encontraron artículos con esta etiqueta",
154
- lastEdited: "Última edición",
155
- articles: "Artículos",
156
- loadingArticles: "Cargando artículos...",
157
- noArticlesFound: "No se encontraron artículos",
158
- by: "Por",
159
- connect: "Conectar"
160
- }
161
- }
162
- }
163
- };
164
- e.use(a).use(t).init({
165
- resources: s,
166
- fallbackLng: "en",
167
- lng: "en",
168
- // Set 'en' as the initial language synchronously
169
- debug: !1,
170
- interpolation: {
171
- escapeValue: !1
172
- },
173
- detection: {
174
- order: ["path", "localStorage", "navigator"],
175
- lookupFromPathIndex: 0
176
- }
177
- });
178
- export {
179
- c as default
180
- };
package/types/index.d.ts DELETED
@@ -1,31 +0,0 @@
1
- export interface NavigationItem {
2
- slug: string;
3
- hasAdvanced?: boolean;
4
- }
5
- export interface NavigationItemWithTitle extends NavigationItem {
6
- title: string;
7
- }
8
- export interface NavigationSection {
9
- title: string;
10
- items: NavigationItem[];
11
- defaultOpen?: boolean;
12
- }
13
- export interface NavigationSectionWithTitles {
14
- title: string;
15
- items: NavigationItemWithTitle[];
16
- defaultOpen?: boolean;
17
- }
18
- export type NavigationEntry = NavigationSection | NavigationItem;
19
- export type NavigationEntryWithTitles = NavigationSectionWithTitles | NavigationItemWithTitle;
20
- export interface LoadedContent {
21
- content: string;
22
- frontmatter: {
23
- title?: string;
24
- hasAdvanced?: boolean;
25
- tags?: string[];
26
- date?: string;
27
- author?: string;
28
- [key: string]: unknown;
29
- };
30
- }
31
- export type SupportedLanguage = string;