@littlebox/strapi-suite 1.0.44 → 1.0.45

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.
Files changed (2) hide show
  1. package/README.md +4 -506
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -1,508 +1,6 @@
1
- ## Features
1
+ # Littlebox Strapi Suite
2
2
 
3
- - **Menus**: powerful menu management tool to create, customize, and organize menus for seamless navigation.
4
- - **Translations**: simplify and organize string translations for efficient multilingual content management and smooth integration.
5
- - **Slug**: optimize URLs with smart, SEO-friendly slugs for better rankings and cleaner links effortlessly.
6
- - **Sitemap**: a way to set the properties to generate the sitemap.
7
- - **Page attributes**: a way to set page properties like templates or parent pages to automatically create full slugs.
8
- - **Parameters**: effortlessly manage and customize settings with a intuitive and flexible solution.
3
+ The Littlebox Strapi Suite is a plugin designed to enhance Strapi for building and managing institutional websites and blogs. It introduces features such as menu creation, string translations, parameter management, templates, page attributes, and content search via slugs.
9
4
 
10
-  
11
-  
12
-  
13
- ## ⏳ Installation
14
-
15
- Install the plugin in your Strapi project.
16
-
17
- ```bash
18
- # using yarn
19
- yarn add @littlebox/strapi-suite
20
-
21
- # using npm
22
- npm install @littlebox/strapi-suite --save
23
- ```
24
-
25
-  
26
-  
27
-  
28
- ## 🖐 Requirements
29
-
30
- The full installation requirements are identical to those of Strapi and can be found in the [Strapi Quick Start guide](https://docs.strapi.io/cms/quick-start).
31
-
32
- **Supported Strapi versions**:
33
-
34
- - Strapi ^5.0.0
35
-
36
-  
37
-  
38
-  
39
- ## 💡 Usage
40
- With this plugin, you can add new features to Strapi. It makes it easier to manage menus, create slugs, generate sitemaps, set public and private parameters, translate strings, and define page settings. Use our [ready-to-go Next.js frontend](https://github.com/littleboxstudio/strapi-frontend) to take advantage of these solutions.
41
-
42
-
43
- ### Menus
44
- Powerful menu management tool to create, customize, and organize menus for seamless navigation. Use drag and drop to build menus in a simple and intuitive way.
45
-
46
- ![Menu](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/menu.png?raw=true)
47
-
48
- ![Menu edit](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/menu-edit.png?raw=true)
49
-
50
- ![Menu edit metadata](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/menu-edit-metadata.png?raw=true)
51
-
52
- To get the data from the frontend, use your preferred HTTP client:
53
-
54
- ```
55
- GET /api/littlebox-strapi-suite/modules/menus?locale=<LOCALE>
56
- ```
57
- ```
58
- [
59
- {
60
- "id": 1,
61
- "documentId": "rvycb4q234yqz47g1v69mzkm",
62
- "title": "Header",
63
- "uid": "header",
64
- "locale": "en",
65
- "createdAt": "2025-04-13T19:43:24.092Z",
66
- "updatedAt": "2025-04-13T19:48:35.207Z",
67
- "publishedAt": "2025-04-13T19:43:24.092Z",
68
- "children": [
69
- {
70
- "id": 1,
71
- "documentId": "k6phd1g4cf7ysqw527ok78d5",
72
- "menuId": "rvycb4q234yqz47g1v69mzkm",
73
- "parentId": null,
74
- "title": "Experiences",
75
- "url": "experiences",
76
- "target": "_self",
77
- "order": 1,
78
- "metadata": {},
79
- "createdAt": "2025-04-13T19:48:35.216Z",
80
- "updatedAt": "2025-04-13T19:48:35.216Z",
81
- "publishedAt": "2025-04-13T19:48:35.216Z",
82
- "children": [
83
- {
84
- "id": 2,
85
- "documentId": "leb5vbdlthaw9uvbfo8njwsv",
86
- "menuId": "rvycb4q234yqz47g1v69mzkm",
87
- "parentId": "1",
88
- "title": "Dolphin Watching",
89
- "url": "experiences/dolphin-watching",
90
- "target": "_blank",
91
- "order": 1,
92
- "metadata": {},
93
- "createdAt": "2025-04-13T19:48:35.224Z",
94
- "updatedAt": "2025-04-13T19:48:35.224Z",
95
- "publishedAt": "2025-04-13T19:48:35.225Z",
96
- "children": []
97
- }
98
- ]
99
- },
100
- {
101
- "id": 3,
102
- "documentId": "zakerhh8fx912il34lxkj04f",
103
- "menuId": "rvycb4q234yqz47g1v69mzkm",
104
- "parentId": null,
105
- "title": "Transfer",
106
- "url": "transfer",
107
- "target": "_self",
108
- "order": 2,
109
- "metadata": {},
110
- "createdAt": "2025-04-13T19:48:35.234Z",
111
- "updatedAt": "2025-04-13T19:48:35.234Z",
112
- "publishedAt": "2025-04-13T19:48:35.234Z",
113
- "children": []
114
- }
115
- ]
116
- }
117
- ]
118
- ```
119
-
120
- &nbsp;
121
- &nbsp;
122
- &nbsp;
123
- ### Translations
124
- Simplify and organize string translations for efficient multilingual content management and smooth integration.
125
-
126
- ![Translation](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/translation.png?raw=true)
127
-
128
- To get the data from the frontend, use your preferred HTTP client:
129
-
130
- ```
131
- GET /api/littlebox-strapi-suite/modules/translations
132
- ```
133
- ```
134
- [
135
- {
136
- "id": 5,
137
- "uid": "About us",
138
- "translations": {
139
- "en": "About us",
140
- "pt": "Sobre nós"
141
- }
142
- },
143
- {
144
- "id": 3,
145
- "uid": "Book now",
146
- "translations": {
147
- "en": "Book now",
148
- "pt": "Reserve agora"
149
- }
150
- }
151
- ]
152
- ```
153
-
154
- &nbsp;
155
- &nbsp;
156
- &nbsp;
157
- ### Slug
158
- Optimize URLs with smart, SEO-friendly slugs for better rankings and cleaner links effortlessly.
159
-
160
- ![Slug](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/slug.png?raw=true)
161
-
162
- ![Slug edit](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/slug-edit.png?raw=true)
163
-
164
- ![Slug attach](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/slug-attach.png?raw=true)
165
-
166
- ![Slug custom field](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/slug-custom-field.png?raw=true)
167
-
168
- ![Slug settings](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/slug-settings.png?raw=true)
169
-
170
- This lets you get data from a document (either a collection or single content) using the slug. To get the data from the frontend, use your preferred HTTP client:
171
-
172
- ```
173
- GET /api/littlebox-strapi-suite/modules/pages?slug=<SLUG>
174
- ```
175
- ```
176
- {
177
- "document": {
178
- "id": 26,
179
- "documentId": "i111r5p3pa73r6tm71b7lh86",
180
- "title": "Littlebox Suite helped me build websites faster",
181
- "slug": "news/littlebox-suite-helped-me-build-websites-faster",
182
- "createdAt": "2025-04-13T21:32:18.148Z",
183
- "updatedAt": "2025-04-13T21:50:12.142Z",
184
- "publishedAt": "2025-04-13T21:50:12.161Z",
185
- "locale": "en",
186
- "localizations": [
187
- {
188
- "id": 27,
189
- "documentId": "i111r5p3pa73r6tm71b7lh86",
190
- "title": "Littlebox Suite ajudou-me a construir sites mais rápido",
191
- "slug": "pt/noticias/littlebox-suite-ajudou-me-a-construir-sites-mais-rapido",
192
- "createdAt": "2025-04-13T21:37:55.693Z",
193
- "updatedAt": "2025-04-13T22:05:35.160Z",
194
- "publishedAt": "2025-04-13T22:05:35.185Z",
195
- "locale": "pt"
196
- }
197
- ]
198
- }
199
- }
200
- ```
201
- **Note**: The default language won't show up in the URL slug if the `SHOW LANGUAGE SLUG` setting is turned off in the slug module settings (see screenshot above).
202
-
203
- Using the slug module settings (as shown in the screenshot above), you can choose which content will be set as the homepage. Then, just call the API to get the data:
204
- ```
205
- GET /api/littlebox-strapi-suite/modules/pages/home?properties=attributes
206
- GET /api/littlebox-strapi-suite/modules/pages/home?properties=attributes,content
207
- ```
208
- The return will be the content in the default language and the respective localizations:
209
- ```
210
- {
211
- "document": {
212
- "id": 53,
213
- "documentId": "un6hqh6smm657hwf0n06xm72",
214
- "title": "Home PT",
215
- "slug": "",
216
- "createdAt": "2025-04-14T19:38:34.673Z",
217
- "updatedAt": "2025-04-14T22:19:21.242Z",
218
- "publishedAt": "2025-04-14T22:19:21.270Z",
219
- "locale": "pt",
220
- "localizations": [
221
- {
222
- "id": 59,
223
- "documentId": "un6hqh6smm657hwf0n06xm72",
224
- "title": "Home EN",
225
- "slug": "en",
226
- "createdAt": "2025-04-14T22:19:29.371Z",
227
- "updatedAt": "2025-04-14T23:45:50.177Z",
228
- "publishedAt": "2025-04-14T23:45:50.210Z",
229
- "locale": "en"
230
- },
231
- {
232
- "id": 61,
233
- "documentId": "un6hqh6smm657hwf0n06xm72",
234
- "title": "Home EU",
235
- "slug": "en-eu",
236
- "createdAt": "2025-04-15T10:49:50.490Z",
237
- "updatedAt": "2025-04-15T10:49:51.244Z",
238
- "publishedAt": "2025-04-15T10:49:51.263Z",
239
- "locale": "en-EU"
240
- }
241
- ]
242
- },
243
- "attributes": {
244
- "template": "default",
245
- "priority": "0.5",
246
- "frequency": "weekly"
247
- }
248
- }
249
- ```
250
-
251
- &nbsp;
252
- &nbsp;
253
- &nbsp;
254
- ### Page Attributes
255
- A way to set page properties like templates or parent pages to automatically create full slugs.
256
-
257
- ![Page Attributes](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/page-attributes.png?raw=true)
258
-
259
- ![Page Attributes slug](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/page-attributes-slug.png?raw=true)
260
-
261
- ![Page Attributes parent](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/page-attributes-parent.png?raw=true)
262
-
263
- To get the data from the frontend, use your preferred HTTP client:
264
-
265
- ```
266
- GET /api/littlebox-strapi-suite/modules/pages?slug=<SLUG>&properties=attributes
267
- ```
268
- ```
269
- {
270
- "document": {
271
- "id": 26,
272
- "documentId": "i111r5p3pa73r6tm71b7lh86",
273
- "title": "Littlebox Suite helped me build websites faster",
274
- "slug": "news/littlebox-suite-helped-me-build-websites-faster",
275
- "createdAt": "2025-04-13T21:32:18.148Z",
276
- "updatedAt": "2025-04-13T21:50:12.142Z",
277
- "publishedAt": "2025-04-13T21:50:12.161Z",
278
- "locale": "en",
279
- "localizations": [
280
- {
281
- "id": 27,
282
- "documentId": "i111r5p3pa73r6tm71b7lh86",
283
- "title": "Littlebox Suite ajudou-me a construir sites mais rápido",
284
- "slug": "pt/noticias/littlebox-suite-ajudou-me-a-construir-sites-mais-rapido",
285
- "createdAt": "2025-04-13T21:37:55.693Z",
286
- "updatedAt": "2025-04-13T22:05:35.160Z",
287
- "publishedAt": "2025-04-13T22:05:35.185Z",
288
- "locale": "pt"
289
- }
290
- ]
291
- },
292
- "attributes": {
293
- "template": "default",
294
- "priority": "0.5",
295
- "frequency": "never",
296
- "parent": {
297
- "id": "wnzxub0s3ghckznjdkshgcw7",
298
- "model": "api::page.page"
299
- }
300
- }
301
- }
302
- ```
303
-
304
- &nbsp;
305
- &nbsp;
306
- &nbsp;
307
- ### Sitemap
308
- A way to set the properties for generating the sitemap on the frontend.
309
- To get the data from the frontend, use your preferred HTTP client:
310
-
311
- ```
312
- GET /api/littlebox-strapi-suite/modules/pages?properties=attributes
313
- ```
314
- ```
315
- [
316
- {
317
- "id": 69,
318
- "documentId": "un6hqh6smm657hwf0n06xm72",
319
- "slug": "",
320
- "locale": "pt",
321
- "updatedAt": "2025-04-14T22:19:21.283Z",
322
- "attributes": {
323
- "template": "default",
324
- "priority": "0.5",
325
- "frequency": "weekly"
326
- },
327
- "localizations": [
328
- {
329
- "id": 74,
330
- "documentId": "un6hqh6smm657hwf0n06xm72",
331
- "slug": "en",
332
- "locale": "en",
333
- "updatedAt": "2025-04-14T23:45:50.237Z",
334
- "attributes": {
335
- "template": "default",
336
- "priority": "0.5",
337
- "frequency": "weekly"
338
- }
339
- },
340
- {
341
- "id": 76,
342
- "documentId": "un6hqh6smm657hwf0n06xm72",
343
- "slug": "en-eu",
344
- "locale": "en-EU",
345
- "updatedAt": "2025-04-15T10:49:51.275Z",
346
- "attributes": {
347
- "template": "default",
348
- "priority": "0.5",
349
- "frequency": "weekly"
350
- }
351
- }
352
- ]
353
- },
354
- {
355
- "id": 59,
356
- "documentId": "wgobkq9xr8bxtdwz4bcjx69y",
357
- "slug": "noticias/littlebox-suite-ajudou-me-a-construir-sites-mais-rapido",
358
- "locale": "pt",
359
- "updatedAt": "2025-04-13T23:58:16.975Z",
360
- "attributes": {
361
- "template": "default",
362
- "priority": "0.5",
363
- "frequency": "weekly",
364
- "parent": {
365
- "id": "p49dnxpwf5lcvd56dym1895d",
366
- "model": "api::page.page"
367
- }
368
- },
369
- "localizations": [
370
- {
371
- "id": 54,
372
- "documentId": "wgobkq9xr8bxtdwz4bcjx69y",
373
- "slug": "en/news/littlebox-suite-helped-me-build-websites-faster",
374
- "locale": "en",
375
- "updatedAt": "2025-04-13T23:11:36.047Z",
376
- "attributes": {
377
- "template": "default",
378
- "priority": "0.5",
379
- "frequency": "weekly",
380
- "parent": {
381
- "id": "p49dnxpwf5lcvd56dym1895d",
382
- "model": "api::page.page"
383
- }
384
- }
385
- },
386
- {
387
- "id": 65,
388
- "documentId": "wgobkq9xr8bxtdwz4bcjx69y",
389
- "slug": "en-eu/news/littlebox-suite-helped-me-build-websites-faster",
390
- "locale": "en-EU",
391
- "updatedAt": "2025-04-14T01:15:31.193Z",
392
- "attributes": {
393
- "template": "default",
394
- "priority": "0.9",
395
- "frequency": "weekly",
396
- "parent": {
397
- "id": "p49dnxpwf5lcvd56dym1895d",
398
- "model": "api::page.page"
399
- }
400
- }
401
- }
402
- ]
403
- },
404
- {
405
- "id": 68,
406
- "documentId": "p49dnxpwf5lcvd56dym1895d",
407
- "slug": "noticias",
408
- "locale": "pt",
409
- "updatedAt": "2025-04-14T20:10:06.388Z",
410
- "attributes": {
411
- "template": "default",
412
- "priority": "0.5",
413
- "frequency": "weekly"
414
- },
415
- "localizations": [
416
- {
417
- "id": 52,
418
- "documentId": "p49dnxpwf5lcvd56dym1895d",
419
- "slug": "en/news",
420
- "locale": "en",
421
- "updatedAt": "2025-04-13T23:11:21.477Z",
422
- "attributes": {
423
- "template": "default",
424
- "priority": "0.5",
425
- "frequency": "weekly"
426
- }
427
- },
428
- {
429
- "id": 63,
430
- "documentId": "p49dnxpwf5lcvd56dym1895d",
431
- "slug": "en-eu/news",
432
- "locale": "en-EU",
433
- "updatedAt": "2025-04-14T01:15:01.792Z",
434
- "attributes": {
435
- "template": "default",
436
- "priority": "0.9",
437
- "frequency": "daily"
438
- }
439
- }
440
- ]
441
- }
442
- ]
443
- ```
444
-
445
- If you prefer, you can use our [ready-to-go Next.js frontend](https://github.com/littleboxstudio/strapi-frontend) as a base, which already implements these solutions.
446
-
447
- &nbsp;
448
- &nbsp;
449
- &nbsp;
450
- ### Parameters
451
- Effortlessly manage and customize settings with a intuitive and flexible solution.
452
-
453
- ![Parameter](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/parameter.png?v=10&raw=true)
454
-
455
- ![Parameter list](https://github.com/littleboxstudio/strapi-suite/blob/main/docs/screenshots/parameter-list.png?raw=true)
456
-
457
- To get the data from the frontend, use your preferred HTTP client:
458
-
459
- ```
460
- GET /api/littlebox-strapi-suite/modules/parameters
461
- ```
462
- ```
463
- [
464
- {
465
- "uid": "recaptcha-public-key",
466
- "value": "iuyTYYT7ybknokdiuYTtdjapodu"
467
- }
468
- ]
469
- ```
470
- This request will only return public parameters. To get the private parameters from the Strapi backend (e.g. for use in other plugins), use the `@strapi/strapi/admin` library:
471
- ```
472
- import { getFetchClient } from '@strapi/strapi/admin';
473
- const { get } = getFetchClient();
474
- const data = await get('/littlebox-strapi-suite/admin/parameters');
475
- ```
476
-
477
- &nbsp;
478
- &nbsp;
479
- &nbsp;
480
- ## 🤝 Contributing
481
- Feel free to fork and make a pull request of this plugin. All the input is welcome!
482
-
483
- &nbsp;
484
- &nbsp;
485
- &nbsp;
486
- ## ⭐️ Show your support
487
- Give a star if this project helped you.
488
-
489
- &nbsp;
490
- &nbsp;
491
- &nbsp;
492
- ## 🔗 Links
493
- - [NPM package](https://www.npmjs.com/package/@littlebox/strapi-suite)
494
- - [GitHub repository](https://github.com/littleboxstudio/strapi-suite)
495
-
496
- &nbsp;
497
- &nbsp;
498
- &nbsp;
499
- ## 🌎 Community support
500
- - For general help using Strapi, please refer to [the official Strapi documentation](https://strapi.io/documentation/).
501
- - You can contact me at tools@littlebox.pt.
502
- - Visit our website [littlebox.pt](https://littlebox.pt).
503
-
504
- &nbsp;
505
- &nbsp;
506
- &nbsp;
507
- ## 📝 Resources
508
- - [MIT License](LICENSE.md)
5
+ For installation instructions and detailed documentation, please refer to:
6
+ [Before Starting - Littlebox Strapi Suite Documentation](https://strapi-suite.littlebox.pt/before-starting)
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.44",
2
+ "version": "1.0.45",
3
3
  "keywords": [
4
4
  "strapi",
5
5
  "strapi plugin",
@@ -109,4 +109,4 @@
109
109
  "node": ">=18.0.0 <=20.x.x",
110
110
  "npm": ">=6.0.0"
111
111
  }
112
- }
112
+ }