@goodfellow-cms/admin 0.5.0 → 0.7.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/README.md +1 -1
- package/dist/dev.d.ts +4 -2
- package/dist/dev.js +21 -1
- package/dist/editor.js +752 -14
- package/dist/{entry-values-ocbalc9U.js → entry-values-DO01xZ9L.js} +1975 -513
- package/dist/index.d.ts +340 -11
- package/dist/index.js +5377 -3058
- package/dist/plugin-protocol-DkvBDqsF.js +119 -0
- package/dist/plugin.d.ts +5 -0
- package/dist/plugin.js +153 -0
- package/package.json +12 -6
- package/plugin.css +219 -0
- package/styles.css +385 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdminSite, ContentStore, GitHost, SignInError } from "@goodfellow-cms/core";
|
|
1
|
+
import { AdminSite, ContentStore, GitHost, PluginTasks, SignInError } from "@goodfellow-cms/core";
|
|
2
2
|
import "react";
|
|
3
3
|
import "@goodfellow-cms/react";
|
|
4
4
|
import "@puckeditor/core";
|
|
@@ -28,6 +28,7 @@ export declare const defaultStrings: {
|
|
|
28
28
|
readonly "signIn.token.create": "Create a token on {host}";
|
|
29
29
|
readonly "signIn.token.createBroad": "Create a broader token instead";
|
|
30
30
|
readonly "signIn.token.createBroadHint": "Use this if the site belongs to someone else and the first link doesn't let you choose it. This kind of token can change everything your account can.";
|
|
31
|
+
readonly "signIn.token.apiTokenHint": "Use this if you can't create a token for the site itself. Paste your Atlassian account's email address, a colon, then the token, such as name@example.org:ATATT3x…, and give the token permission to read and write repositories, pull requests and pipelines.";
|
|
31
32
|
readonly "signIn.token.chooseSite": "If {host} asks what the token can access, choose this site.";
|
|
32
33
|
readonly "signIn.token.step2": "Copy the token and paste it here:";
|
|
33
34
|
readonly "signIn.token.label": "Access token";
|
|
@@ -100,6 +101,18 @@ export declare const defaultStrings: {
|
|
|
100
101
|
readonly "editor.viewport.phone": "Phone";
|
|
101
102
|
readonly "editor.failed": "The editor stopped working. Reload the page to start it again.";
|
|
102
103
|
readonly "editor.frame": "Editing {title}";
|
|
104
|
+
readonly "editor.choose": "Editor";
|
|
105
|
+
readonly "editor.blockSearch": "Search blocks";
|
|
106
|
+
readonly "editor.blockSearchNone": 'No blocks match. Try another word, such as "picture" or "columns".';
|
|
107
|
+
readonly "editor.blockSearchFound": "Blocks found";
|
|
108
|
+
readonly "editor.standard": "Standard editor";
|
|
109
|
+
readonly "editor.plugin.switchLoses": "Some of what you changed in {editor} can't be kept in the other editor, so switching now leaves behind everything you changed since you opened {editor}. Switch anyway?\n\n{problems}";
|
|
110
|
+
readonly "editor.plugin.pageSettings": "The page's settings";
|
|
111
|
+
readonly "editor.plugin.problem": "{block}: {message}";
|
|
112
|
+
readonly "editor.plugin.problemField": "{block}, {field}: {message}";
|
|
113
|
+
readonly "editor.plugin.loading": "Opening {editor}…";
|
|
114
|
+
readonly "editor.plugin.failed": "{editor} didn't start. Choose the standard editor to keep editing.";
|
|
115
|
+
readonly "editor.plugin.invalid": "{editor} gave back something this site can't publish, so nothing was published. Try again, or choose the standard editor.";
|
|
103
116
|
readonly "publish.publishing": "Publishing…";
|
|
104
117
|
readonly "publish.done": "Published.";
|
|
105
118
|
readonly "publish.conflict": "Someone else changed the site since you opened this page, so your changes weren't published. Reload to see their changes, then make yours again.";
|
|
@@ -126,6 +139,9 @@ export declare const defaultStrings: {
|
|
|
126
139
|
readonly "draft.leave": "Back to the live site";
|
|
127
140
|
readonly "draft.waiting": "A draft started {date} is waiting to be published.";
|
|
128
141
|
readonly "draft.waitingMany": "{count} drafts are waiting to be published.";
|
|
142
|
+
readonly "draft.reviewWaiting": "A draft is waiting for review: {title}.";
|
|
143
|
+
readonly "draft.reviewWaitingMany": "{count} drafts are waiting for review.";
|
|
144
|
+
readonly "draft.inReview": "Submitted for review.";
|
|
129
145
|
readonly "draft.choose": "Draft to open";
|
|
130
146
|
readonly "draft.started": "Started {date}";
|
|
131
147
|
readonly "draft.open": "Open";
|
|
@@ -145,6 +161,22 @@ export declare const defaultStrings: {
|
|
|
145
161
|
readonly "checks.alsoWarnings": "These could be better too:";
|
|
146
162
|
readonly "checks.publishAnyway": "Publish anyway";
|
|
147
163
|
readonly "checks.goBack": "Go back";
|
|
164
|
+
readonly "limits.title": "Some of this is outside what you can change";
|
|
165
|
+
readonly "limits.intro": "An owner has limited what you can change on this site, and these changes are outside it:";
|
|
166
|
+
readonly "limits.review": "Submit them for review instead: the site's reviewers are asked to look, and can publish them for you.";
|
|
167
|
+
readonly "limits.noReview": "Ask an owner to make these changes for you, or to let you make them on Site Settings' Editors screen.";
|
|
168
|
+
readonly "limits.goBack": "Go back";
|
|
169
|
+
readonly "limits.submitting": "Submitting for review…";
|
|
170
|
+
readonly "limits.submitted": "Submitted for review. The live site stays as it is until a reviewer publishes it.";
|
|
171
|
+
readonly "limits.submitError": "The changes couldn't be submitted for review. Check your connection and try again.";
|
|
172
|
+
readonly "limits.page": "The page {name}";
|
|
173
|
+
readonly "limits.entry": "{name}, in {collection}";
|
|
174
|
+
readonly "limits.media": "The media library";
|
|
175
|
+
readonly "limits.layout": "The header and footer";
|
|
176
|
+
readonly "limits.menus": "The menus";
|
|
177
|
+
readonly "limits.other": "The site's settings, or other things only owners change";
|
|
178
|
+
readonly "limits.readOnly": "You can look at this, but an owner has limited what you can change, and it's outside it.";
|
|
179
|
+
readonly "limits.mediaReadOnly": "An owner has limited what you can change, and the media library is outside it. You can still use its files on pages you can change.";
|
|
148
180
|
readonly "checks.missing-page": "{place} links to {target}, which isn't a page on the site.";
|
|
149
181
|
readonly "checks.missing-media": "{place} uses {target}, which isn't in the media library.";
|
|
150
182
|
readonly "checks.no-title": "{place} has no title, so browser tabs and search results show only the site's name.";
|
|
@@ -176,6 +208,7 @@ export declare const defaultStrings: {
|
|
|
176
208
|
readonly "pages.empty": "This site has no pages yet.";
|
|
177
209
|
readonly "pages.column.title": "Title";
|
|
178
210
|
readonly "pages.column.address": "Address";
|
|
211
|
+
readonly "pages.look": "Look";
|
|
179
212
|
readonly "pages.edit": "Edit";
|
|
180
213
|
readonly "pages.move": "Change address";
|
|
181
214
|
readonly "pages.duplicate": "Duplicate";
|
|
@@ -237,7 +270,7 @@ export declare const defaultStrings: {
|
|
|
237
270
|
readonly "deletePage.submit": "Delete page";
|
|
238
271
|
readonly "deletePage.message": 'Delete page "{title}"';
|
|
239
272
|
readonly "address.invalid": "Use lowercase letters, numbers and hyphens, with / between parts, such as /about-us.";
|
|
240
|
-
readonly "address.reserved": "This address
|
|
273
|
+
readonly "address.reserved": "This address can't be used: the admin panel uses it, or it ends in /index, which is the page above it. Choose another.";
|
|
241
274
|
readonly "address.taken": "Another page already uses this address.";
|
|
242
275
|
readonly "field.required": "This can't be empty.";
|
|
243
276
|
readonly "editPage.message": 'Update page "{title}"';
|
|
@@ -248,7 +281,7 @@ export declare const defaultStrings: {
|
|
|
248
281
|
readonly "versions.back": "Back to editing";
|
|
249
282
|
readonly "versions.intro": "Every version that's been published, newest first. Choose one to see it, then restore it to put it back. Something that was moved to a new address starts a new history there.";
|
|
250
283
|
readonly "versions.notFound": "There's no history to show here. It may have been moved or deleted.";
|
|
251
|
-
readonly "versions.local": "Version history is in the published site's admin panel, where you sign in with GitHub or
|
|
284
|
+
readonly "versions.local": "Version history is in the published site's admin panel, where you sign in with GitHub, GitLab or Bitbucket.";
|
|
252
285
|
readonly "versions.demo": "Version history isn't kept in a demo.";
|
|
253
286
|
readonly "versions.loading": "Loading versions…";
|
|
254
287
|
readonly "versions.loadingVersion": "Loading this version…";
|
|
@@ -315,7 +348,7 @@ export declare const defaultStrings: {
|
|
|
315
348
|
readonly "newEntry.addressHint": "The last part of the page's address, as in {example}.";
|
|
316
349
|
readonly "newEntry.message": 'Add {entry} "{title}"';
|
|
317
350
|
readonly "entryName.invalid": "Use lowercase letters, numbers and hyphens only, such as easter-vigil.";
|
|
318
|
-
readonly "entryName.reserved": "This address
|
|
351
|
+
readonly "entryName.reserved": "This address can't be used: the admin panel uses it, or it ends in /index, which is the page above it. Choose another.";
|
|
319
352
|
readonly "entryName.taken": "Something else on the site already uses this address.";
|
|
320
353
|
readonly "moveEntry.message": 'Move {entry} "{title}" from {from} to {to}';
|
|
321
354
|
readonly "deleteEntry.body": "{title} will be removed from {name}.";
|
|
@@ -492,14 +525,96 @@ export declare const defaultStrings: {
|
|
|
492
525
|
readonly "media.error.size": "{name} is too large: files can be up to 25 MB. For long videos, upload them to YouTube or Vimeo and link to them instead.";
|
|
493
526
|
readonly "media.error.unreadable": "{name} couldn't be read. It may be damaged, or in a format browsers can't open, such as HEIC. Save it as a JPEG and try again.";
|
|
494
527
|
readonly "media.choose": "Choose image";
|
|
528
|
+
readonly "media.chooseAudio": "Choose sound file";
|
|
495
529
|
readonly "media.chooseFile": "Choose file";
|
|
496
530
|
readonly "media.chooseVideo": "Choose video";
|
|
497
531
|
readonly "media.pickerTitle": "Choose an image";
|
|
532
|
+
readonly "media.pickerTitleAudio": "Choose a sound file";
|
|
498
533
|
readonly "media.pickerTitleFile": "Choose a file";
|
|
499
534
|
readonly "media.pickerTitleVideo": "Choose a video";
|
|
500
535
|
readonly "media.pickerEmpty": "Nothing has been uploaded yet. Upload a file to use it here.";
|
|
501
536
|
readonly "media.clear": "Remove";
|
|
537
|
+
readonly "table.addRow": "Add a row";
|
|
538
|
+
readonly "table.addColumn": "Add a column";
|
|
539
|
+
readonly "table.removeRow": "Remove this row";
|
|
540
|
+
readonly "table.removeRowNumber": "Remove row {row}";
|
|
541
|
+
readonly "table.removeColumn": "Remove this column";
|
|
542
|
+
readonly "table.removeColumnNumber": "Remove column {column}";
|
|
543
|
+
readonly "table.cell": "Row {row}, column {column}";
|
|
544
|
+
readonly "style.align": "Text alignment";
|
|
545
|
+
readonly "style.align.default": "As the block has it";
|
|
546
|
+
readonly "style.align.left": "Left";
|
|
547
|
+
readonly "style.align.center": "Centered";
|
|
548
|
+
readonly "style.align.right": "Right";
|
|
549
|
+
readonly "style.align.justify": "Justified";
|
|
550
|
+
readonly "style.fontSize": "Text size";
|
|
551
|
+
readonly "style.fontSize.xs": "Extra small";
|
|
552
|
+
readonly "style.fontSize.sm": "Small";
|
|
553
|
+
readonly "style.fontSize.base": "Normal";
|
|
554
|
+
readonly "style.fontSize.lg": "Large";
|
|
555
|
+
readonly "style.fontSize.xl": "Extra large";
|
|
556
|
+
readonly "style.fontSize.2xl": "Very large";
|
|
557
|
+
readonly "style.fontSize.3xl": "Huge";
|
|
558
|
+
readonly "style.fontSize.4xl": "Very huge";
|
|
559
|
+
readonly "style.fontSize.5xl": "Giant";
|
|
560
|
+
readonly "style.fontSize.6xl": "Enormous";
|
|
561
|
+
readonly "style.color": "Text color";
|
|
562
|
+
readonly "style.background": "Background color";
|
|
563
|
+
readonly "style.colorDefault": "As the block has it";
|
|
564
|
+
readonly "style.colorCustom": "Choose a color";
|
|
565
|
+
readonly "style.contrast": "This text may be hard to read on this background. Try colors further apart.";
|
|
566
|
+
readonly "style.padding": "Space inside";
|
|
567
|
+
readonly "style.margin": "Space around";
|
|
568
|
+
readonly "style.eachSide": "Set each side";
|
|
569
|
+
readonly "style.side.top": "Top";
|
|
570
|
+
readonly "style.side.right": "Right";
|
|
571
|
+
readonly "style.side.bottom": "Bottom";
|
|
572
|
+
readonly "style.side.left": "Left";
|
|
573
|
+
readonly "style.allSides": "All sides";
|
|
574
|
+
readonly "style.none": "None";
|
|
575
|
+
readonly "style.radius": "Rounded corners";
|
|
576
|
+
readonly "style.radius.none": "Square";
|
|
577
|
+
readonly "style.radius.sm": "Slightly rounded";
|
|
578
|
+
readonly "style.radius.md": "Rounded";
|
|
579
|
+
readonly "style.radius.lg": "The theme's rounding";
|
|
580
|
+
readonly "style.radius.xl": "Very rounded";
|
|
581
|
+
readonly "style.radius.full": "Round";
|
|
582
|
+
readonly "style.default": "As the block has it";
|
|
583
|
+
readonly "style.custom": "Your own…";
|
|
584
|
+
readonly "style.customLength": "Your own size, such as 12px or 1.5rem";
|
|
585
|
+
readonly "style.customLengthInvalid": "Write a number with px, rem, em or %, such as 12px.";
|
|
586
|
+
readonly "style.other": "Other CSS classes";
|
|
587
|
+
readonly "style.otherHint": "Tailwind classes, or your own from Custom CSS, separated by spaces.";
|
|
588
|
+
readonly "style.reset": "Back to the block's own look";
|
|
502
589
|
readonly "media.credit": "Credit: {credit}";
|
|
590
|
+
readonly "media.stored": "Kept by {plugin}";
|
|
591
|
+
readonly "media.error.storageSize": "{name} is too large: {plugin} takes files up to {size}.";
|
|
592
|
+
readonly "media.storage.title": "Where media is kept";
|
|
593
|
+
readonly "media.storage.intro": "{plugin} keeps the site's media in its storage, including large files such as long videos. It keeps {count} files now. Pages show them from there, at the same addresses.";
|
|
594
|
+
readonly "media.storage.missing": "{count} files are kept in storage by {plugin}, which the site no longer has. Pages still show them, but new files go into the site's own files.";
|
|
595
|
+
readonly "media.storage.notReady": "{plugin} can't take files yet. {message}";
|
|
596
|
+
readonly "media.storage.unavailable": "{plugin} didn't answer. Reload the admin panel and try again.";
|
|
597
|
+
readonly "media.storage.settings": "Open {plugin}'s settings";
|
|
598
|
+
readonly "media.storage.failed": "{plugin} couldn't keep {name}.";
|
|
599
|
+
readonly "media.storage.uploading": "Uploading to {plugin}… This takes about a minute.";
|
|
600
|
+
readonly "media.storage.wait": "Each group of files takes about a minute.";
|
|
601
|
+
readonly "media.move.button": "Move {count} files to {plugin}";
|
|
602
|
+
readonly "media.move.title": "Move the site's media to {plugin}?";
|
|
603
|
+
readonly "media.move.body": "{plugin} will keep these files, and pages will show them from its storage at the same addresses, so nothing on them changes. They're taken out of the site's own files; Version history keeps them.";
|
|
604
|
+
readonly "media.move.moving": "Moved {done} of {total}…";
|
|
605
|
+
readonly "media.move.busy": "Moving…";
|
|
606
|
+
readonly "media.move.nothing": "No files were moved.";
|
|
607
|
+
readonly "media.move.some": "Moved {count} files to {plugin}, then stopped.";
|
|
608
|
+
readonly "media.move.done": "Moved {count} files to {plugin}.";
|
|
609
|
+
readonly "media.move.message": "Move media to {plugin}";
|
|
610
|
+
readonly "media.back.button": "Move back to the site";
|
|
611
|
+
readonly "media.back.title": "Move the media back from {plugin}?";
|
|
612
|
+
readonly "media.back.body": "The files {plugin} keeps are copied back into the site's own files, at the same addresses, and new files go there too. Each can be up to 25 MB.";
|
|
613
|
+
readonly "media.back.empty": "{plugin} keeps no files now. New files will go into the site's own files.";
|
|
614
|
+
readonly "media.back.large": "These are larger than 25 MB, so {plugin} keeps them: {names}";
|
|
615
|
+
readonly "media.back.failed": "{name} couldn't be copied back from {plugin}'s storage, which may not allow it.";
|
|
616
|
+
readonly "media.back.done": "Moved {count} files back from {plugin}.";
|
|
617
|
+
readonly "media.back.message": "Move media back from {plugin}";
|
|
503
618
|
readonly "ai.label": "AI";
|
|
504
619
|
readonly "ai.title": "Write with AI";
|
|
505
620
|
readonly "ai.mode.add": "Describe what to add to this page, and AI will write it at the end of the page.";
|
|
@@ -581,9 +696,10 @@ export declare const defaultStrings: {
|
|
|
581
696
|
readonly "settings.previewEmpty": "Add a home page to see a preview here.";
|
|
582
697
|
readonly "domain.intro": "Connect a domain you own, such as example.org, so the site is at that address.";
|
|
583
698
|
readonly "domain.current": "The site is at {address} now.";
|
|
699
|
+
readonly "domain.copy": "This admin panel is a copy of the site's, such as a staging site, at {address}. That address is set where the copy is built, so the domain this screen connects is the main site's.";
|
|
584
700
|
readonly "domain.connected": "Connected to {domain}.";
|
|
585
701
|
readonly "domain.signIn": "Editors sign in by going to {host} and coming back here. Add {address} to the redirect URIs of the application they sign in with on {host}, or signing in will stop working once the site moves.";
|
|
586
|
-
readonly "domain.local": "Domains are connected in the published site's admin panel, where you sign in with GitHub or
|
|
702
|
+
readonly "domain.local": "Domains are connected in the published site's admin panel, where you sign in with GitHub, GitLab or Bitbucket.";
|
|
587
703
|
readonly "domain.admin.title": "Admin address";
|
|
588
704
|
readonly "domain.admin.intro": "An address of its own for the admin panel, such as admin.example.org, keeps the site's pages from reaching what the admin panel keeps, such as editors' sign-in. Editors then sign in there. Blocks from registries other than Goodfellow's can be added only once the admin panel has one.";
|
|
589
705
|
readonly "domain.admin.unsupported": "{host} serves each site at one address, so the admin panel can't have one of its own here.";
|
|
@@ -676,7 +792,7 @@ export declare const defaultStrings: {
|
|
|
676
792
|
readonly "owner.token.paste": "Copy the token and paste it here:";
|
|
677
793
|
readonly "settings.tab.security": "Security";
|
|
678
794
|
readonly "security.demo": "A demo has no sign-in to keep safe.";
|
|
679
|
-
readonly "security.local": "The sign-in page is set in the published site's admin panel, where you sign in with GitHub or
|
|
795
|
+
readonly "security.local": "The sign-in page is set in the published site's admin panel, where you sign in with GitHub, GitLab or Bitbucket.";
|
|
680
796
|
readonly "security.contentOnly": "The sign-in page is set in the site's code, which is kept apart from its content, so a developer sets it there.";
|
|
681
797
|
readonly "security.broker.title": "Sign-in page";
|
|
682
798
|
readonly "security.broker.intro": "A sign-in page of its own, called a token broker, keeps editors' sign-in and AI keys at an address that holds nothing else, and shows the admin panel from there, so nothing on the site's pages can reach them. It asks the editor before publishing the site's code. It needs an address of its own, such as signin.example.org, that serves nothing else.";
|
|
@@ -753,8 +869,186 @@ export declare const defaultStrings: {
|
|
|
753
869
|
readonly "settings.tab.updates": "Updates";
|
|
754
870
|
readonly "settings.tab.history": "Site history";
|
|
755
871
|
readonly "settings.tab.import": "WordPress";
|
|
872
|
+
readonly "settings.tab.themes": "Themes";
|
|
873
|
+
readonly "plugins.notFound": "The site has no plugin screen at this address.";
|
|
874
|
+
readonly "plugins.failed": "{plugin}'s screen couldn't start. If it keeps happening, the plugin may need updating.";
|
|
875
|
+
readonly "themes.intro": "A theme changes your site's look: its colors, fonts and the styles of its blocks, and sometimes its header and footer. Themes are only settings and styles, with no code, and you can change anything a theme sets afterwards in Colors & fonts and Custom CSS.";
|
|
876
|
+
readonly "themes.installed": "Installed theme";
|
|
877
|
+
readonly "themes.noneInstalled": "No theme is installed. Your site uses its own colors and fonts.";
|
|
878
|
+
readonly "themes.installedBadge": "Installed";
|
|
879
|
+
readonly "themes.release": "version {version}";
|
|
880
|
+
readonly "themes.updateAvailable": "Version {version} is out";
|
|
881
|
+
readonly "themes.updateTo": "Update to {version}";
|
|
882
|
+
readonly "themes.seeVersion": "See version {version}";
|
|
883
|
+
readonly "themes.upToDate": "Up to date";
|
|
884
|
+
readonly "themes.show": "Show";
|
|
885
|
+
readonly "themes.showLabel": "Show {name}";
|
|
886
|
+
readonly "themes.find": "Find a theme";
|
|
887
|
+
readonly "themes.search": "Search themes";
|
|
888
|
+
readonly "themes.searchButton": "Search";
|
|
889
|
+
readonly "themes.loading": "Looking for themes…";
|
|
890
|
+
readonly "themes.noneFound": "No themes were found.";
|
|
891
|
+
readonly "themes.byPublisher": "{name}, published by {publisher}";
|
|
892
|
+
readonly "themes.releaseDetails": "{name}, version {version}, published {date}";
|
|
893
|
+
readonly "themes.provenance": "Built from {source}, which npm checked when it was published.";
|
|
894
|
+
readonly "themes.noProvenance": "There's no record of where this version was built, so nobody has checked it came from its publisher's own code.";
|
|
895
|
+
readonly "themes.waiting": "Version {version} can be installed once it's {days} days old, since most harmful versions are found by then.";
|
|
896
|
+
readonly "themes.incompatible": "Version {version} doesn't say it works with Goodfellow {goodfellow}.";
|
|
897
|
+
readonly "themes.tooNew": "This theme's versions are too new to install. Versions can be installed once they're {days} days old.";
|
|
898
|
+
readonly "themes.notCompatible": "No version of this theme says it works with Goodfellow {version}.";
|
|
899
|
+
readonly "themes.imageAlt": "A site with the {title} theme";
|
|
900
|
+
readonly "themes.loads": "This theme asks visitors' browsers for these files from other sites, which can tell those sites who visits yours:";
|
|
901
|
+
readonly "themes.useLayout": "Use the theme's header and footer in place of yours. Your menus, logo and contact details stay as they are.";
|
|
902
|
+
readonly "themes.layoutUnknown": "The theme's header and footer use blocks a theme can't add, or that your site doesn't have ({blocks}), so they can't be used.";
|
|
903
|
+
readonly "themes.kept": "You changed these since the version before, so they stay as you set them: {list}.";
|
|
904
|
+
readonly "themes.replaced": "You changed these, and installing this theme replaces your changes: {list}.";
|
|
905
|
+
readonly "themes.changed.css": "the theme's CSS";
|
|
906
|
+
readonly "themes.preview": "Your site with {title}";
|
|
907
|
+
readonly "themes.previewPage": "Page to look at";
|
|
908
|
+
readonly "themes.install": "Install and publish";
|
|
909
|
+
readonly "themes.installDemo": "Install";
|
|
910
|
+
readonly "themes.installMessage": "Install the {title} theme, version {version}";
|
|
911
|
+
readonly "themes.updateMessage": "Update the {title} theme to version {version}";
|
|
912
|
+
readonly "themes.installedNotice": "{title} is installed. Your site will show it once it's rebuilt.";
|
|
913
|
+
readonly "themes.updated": "{title} is updated to version {version}.";
|
|
914
|
+
readonly "themes.remove": "Remove";
|
|
915
|
+
readonly "themes.removeTitle": "Remove {title}?";
|
|
916
|
+
readonly "themes.removeBody": "Colors, fonts and styles the theme set go back to Goodfellow's defaults, and its CSS is removed. Anything you changed yourself, and your header and footer, stay as they are.";
|
|
917
|
+
readonly "themes.removeReplaced": "Removing it also removes your changes to: {list}.";
|
|
918
|
+
readonly "themes.removeMessage": "Remove the {title} theme";
|
|
919
|
+
readonly "themes.removed": "{title} is removed.";
|
|
920
|
+
readonly "themes.error.record": "The record of which theme is installed can't be read.";
|
|
921
|
+
readonly "themes.error.unreachable": "Themes can't be looked up right now. Check your internet connection and try again.";
|
|
922
|
+
readonly "themes.error.badFile": "This theme has a problem in its files, so it can't be installed. Its publisher needs to fix it.";
|
|
923
|
+
readonly "themes.error.notATheme": "This package isn't a Goodfellow theme.";
|
|
924
|
+
readonly "settings.tab.plugins": "Plugins";
|
|
925
|
+
readonly "plugins.intro": "Plugins add to what your site and this admin panel can do, such as blocks, screens here, and steps when your site is built. Unlike themes, they have code, which is included when your site is built and runs on its pages, so install only plugins you trust. Before you install one, this screen shows what it asks to do and reads its code for things to look at.";
|
|
926
|
+
readonly "plugins.where.none": "Plugins can be installed here once the admin panel has an address of its own, or a token broker, where your site's pages can't reach it: see the Domain and Security tabs. Until then, a developer can add plugins to the site's code.";
|
|
927
|
+
readonly "plugins.where.contentOnly": "This site's code is kept apart from its content, so a developer adds plugins there.";
|
|
928
|
+
readonly "plugins.where.demo": "Plugins can't be installed in a demo.";
|
|
929
|
+
readonly "plugins.where.local": "On this computer, a developer adds plugins with npm and lists them in goodfellow.config.tsx. The published admin panel installs them.";
|
|
930
|
+
readonly "plugins.where.setup": "Your site's build doesn't write the list of its packages' versions yet, which plugins installed here need. A developer needs to update its build setup to the starter's first.";
|
|
931
|
+
readonly "plugins.installed": "Installed plugins";
|
|
932
|
+
readonly "plugins.noneInstalled": "No plugins are installed.";
|
|
933
|
+
readonly "plugins.inCode": "Added by a developer";
|
|
934
|
+
readonly "plugins.installedBadge": "Installed";
|
|
935
|
+
readonly "plugins.release": "version {version}";
|
|
936
|
+
readonly "plugins.updateAvailable": "Version {version} is out";
|
|
937
|
+
readonly "plugins.updateTo": "Update to {version}";
|
|
938
|
+
readonly "plugins.seeVersion": "See version {version}";
|
|
939
|
+
readonly "plugins.upToDate": "Up to date";
|
|
940
|
+
readonly "plugins.show": "Show";
|
|
941
|
+
readonly "plugins.showLabel": "Show {name}";
|
|
942
|
+
readonly "plugins.find": "Find a plugin";
|
|
943
|
+
readonly "plugins.search": "Search plugins";
|
|
944
|
+
readonly "plugins.searchButton": "Search";
|
|
945
|
+
readonly "plugins.loading": "Looking for plugins…";
|
|
946
|
+
readonly "plugins.noneFound": "No plugins were found.";
|
|
947
|
+
readonly "plugins.byPublisher": "{name}, published by {publisher}";
|
|
948
|
+
readonly "plugins.releaseDetails": "{name}, version {version}, published {date}";
|
|
949
|
+
readonly "plugins.provenance": "Built from {source}, which npm checked when it was published.";
|
|
950
|
+
readonly "plugins.noProvenance": "There's no record of where this version was built, so nobody has checked it came from its publisher's own code.";
|
|
951
|
+
readonly "plugins.waiting": "Version {version} can be installed once it's {days} days old, since most harmful versions are found by then.";
|
|
952
|
+
readonly "plugins.incompatible": "Version {version} doesn't say it works with Goodfellow {goodfellow}.";
|
|
953
|
+
readonly "plugins.tooNew": "This plugin's versions are too new to install. Versions can be installed once they're {days} days old.";
|
|
954
|
+
readonly "plugins.notCompatible": "No version of this plugin says it works with Goodfellow {version}.";
|
|
955
|
+
readonly "plugins.asks": "What it asks to do";
|
|
956
|
+
readonly "plugins.asks.connect": "Reach these addresses from the admin panel: {list}";
|
|
957
|
+
readonly "plugins.asks.files": "Read and publish these files: {list}";
|
|
958
|
+
readonly "plugins.asks.secrets": "Get these secrets when your site is built: {list}";
|
|
959
|
+
readonly "plugins.asks.read": "Read these parts of your site when it's built: {list}";
|
|
960
|
+
readonly "plugins.asks.write": "Write these parts of the built site: {list}";
|
|
961
|
+
readonly "plugins.asks.blocks": "Add these blocks: {list}";
|
|
962
|
+
readonly "plugins.asks.admin": "Run in the admin panel, in a frame of its own that can't reach your sign-in";
|
|
963
|
+
readonly "plugins.asks.screens": "Add these screens to Site Settings: {list}";
|
|
964
|
+
readonly "plugins.asks.build": "Run these steps when your site is built: {list}";
|
|
965
|
+
readonly "plugins.asks.tasks": "Run these tasks with its secrets when the admin panel asks, each taking about a minute: {list}";
|
|
966
|
+
readonly "plugins.secrets.github.title": "Add them on GitHub";
|
|
967
|
+
readonly "plugins.secrets.github.link": "Open GitHub's form for a new secret";
|
|
968
|
+
readonly "plugins.secrets.github.open": "Open GitHub's form for a new secret with the link below. Add each key there, one at a time, opening the form again for the next.";
|
|
969
|
+
readonly "plugins.secrets.github.add": "For {name}: type {name} in Name, paste its value in Secret, and choose Add secret.";
|
|
970
|
+
readonly "plugins.secrets.github.who": "Only the site's owners on GitHub can open the form.";
|
|
971
|
+
readonly "plugins.secrets.github.kind": "This form adds secrets for this site alone, which is all it needs. GitHub's environment and organization secrets are for other things, so you can leave them alone.";
|
|
972
|
+
readonly "plugins.secrets.gitlab.title": "Add them on GitLab";
|
|
973
|
+
readonly "plugins.secrets.gitlab.link": "Open the site's CI/CD settings on GitLab";
|
|
974
|
+
readonly "plugins.secrets.gitlab.open": "Open the site's CI/CD settings on GitLab with the link below, and expand Variables. Add each key there, one at a time.";
|
|
975
|
+
readonly "plugins.secrets.gitlab.add": "For {name}: choose Add variable, choose Masked under Visibility, keep Protect variable ticked, type {name} in Key, paste its value in Value, and choose Add variable.";
|
|
976
|
+
readonly "plugins.secrets.gitlab.who": "Only the site's owners (Maintainers) on GitLab can change its CI/CD settings.";
|
|
977
|
+
readonly "plugins.secrets.bitbucket.title": "Add them on Bitbucket";
|
|
978
|
+
readonly "plugins.secrets.bitbucket.link": "Open the site's Pipelines variables on Bitbucket";
|
|
979
|
+
readonly "plugins.secrets.bitbucket.open": "Open the site's Pipelines variables on Bitbucket with the link below. Add each key there, one at a time. If Bitbucket says Pipelines isn't turned on, turn it on under Settings first.";
|
|
980
|
+
readonly "plugins.secrets.bitbucket.add": "For {name}: type {name} in Name, paste its value in Value, tick Secured, and choose Add.";
|
|
981
|
+
readonly "plugins.secrets.bitbucket.who": "Only the site's owners (with Admin permission) on Bitbucket can change its variables.";
|
|
982
|
+
readonly "plugins.secrets.development.title": "Add them on this computer";
|
|
983
|
+
readonly "plugins.secrets.development.file": "In the site's folder, beside package.json, open the file .env.local, or make it, and add a line for each of {names}:";
|
|
984
|
+
readonly "plugins.secrets.development.values": "Put each value after its =, save the file, and try again. There's no need to restart the development server.";
|
|
985
|
+
readonly "plugins.secrets.development.local": "This is only for trying the site on this computer: .env.local is never published. The live site needs them in its own secrets too.";
|
|
986
|
+
readonly "plugins.secrets.server.title": "Add them to the site's server";
|
|
987
|
+
readonly "plugins.secrets.server.add": "Add {names} as environment variables where the site's server runs, such as the project's Settings → Environment Variables on Vercel.";
|
|
988
|
+
readonly "plugins.secrets.server.deploy": "Then deploy the site again so the server has them.";
|
|
989
|
+
readonly "plugins.secrets.server.who": "Whoever set up the site's server knows where its environment variables are. Without them there, the build service's secrets below are used instead, which is slower.";
|
|
990
|
+
readonly "plugins.task.missing": "Your site's setup can't run plugins' tasks yet. A developer needs to copy the starter's plugin-task setup into the site.";
|
|
991
|
+
readonly "plugins.task.not-allowed": "Your sign-in can't run plugins' tasks. Ask the site's owner to let you publish.";
|
|
992
|
+
readonly "plugins.task.timeout": "The site's build service didn't answer in time. Try again in a few minutes.";
|
|
993
|
+
readonly "plugins.task.failed": "The site's build service couldn't run the plugin's task. Try again, or ask a developer to look at the site's builds.";
|
|
994
|
+
readonly "plugins.asks.server": "Answer requests on your site's server, with everything the server can do";
|
|
995
|
+
readonly "plugins.asks.mediaStorage": "Keep your site's media in a storage service, outside the site's own files";
|
|
996
|
+
readonly "plugins.asks.editor": "Offer its own page editor, {title}, which anyone editing the site can choose in place of the usual one, and which is given what they edit there";
|
|
997
|
+
readonly "plugins.asks.always": "Like any plugin, its code is included when your site is built, and its blocks run on your site's pages, where nothing holds them to what it asks.";
|
|
998
|
+
readonly "plugins.asks.new": "This version asks for more than the one installed:";
|
|
999
|
+
readonly "plugins.code": "What its code does";
|
|
1000
|
+
readonly "plugins.code.intro": "The plugin's code, and the code of the packages it needs, read as text for things to look at. Code can hide what it does, so this is a place to start, not a promise.";
|
|
1001
|
+
readonly "plugins.code.reading": "Reading its code…";
|
|
1002
|
+
readonly "plugins.code.via": "needed by {via}";
|
|
1003
|
+
readonly "plugins.code.none": "Nothing to look at was found.";
|
|
1004
|
+
readonly "plugins.code.summary": "Its code: {list}.";
|
|
1005
|
+
readonly "plugins.code.nothing": "Nothing to look at was found in its code.";
|
|
1006
|
+
readonly "plugins.code.unreadSummary": "{count} of its packages couldn't be read in full.";
|
|
1007
|
+
readonly "plugins.note.network": "makes network requests";
|
|
1008
|
+
readonly "plugins.note.programs": "runs other programs on the computer that builds your site";
|
|
1009
|
+
readonly "plugins.note.eval": "runs code made from text, which can't be read beforehand";
|
|
1010
|
+
readonly "plugins.note.native": "includes native code, which can't be read";
|
|
1011
|
+
readonly "plugins.note.install-script": "has a script npm would run when installing it, which your site's build doesn't run, since it installs packages with scripts turned off";
|
|
1012
|
+
readonly "plugins.unread.too-large": "Too large to read in full.";
|
|
1013
|
+
readonly "plugins.unread.too-many": "Not read: the plugin needs too many packages to read them all.";
|
|
1014
|
+
readonly "plugins.unread.no-release": "No version of it is old enough yet, so your site couldn't be built with this plugin.";
|
|
1015
|
+
readonly "plugins.unread.range": "Comes from somewhere other than npm, so it wasn't read.";
|
|
1016
|
+
readonly "plugins.unread.unavailable": "Couldn't be read.";
|
|
1017
|
+
readonly "plugins.install": "Install";
|
|
1018
|
+
readonly "plugins.confirmTitle": "Install {title}?";
|
|
1019
|
+
readonly "plugins.confirmIntro": "{name} version {version} asks to:";
|
|
1020
|
+
readonly "plugins.confirmConfig": "Your site's settings file is changed too, to list the plugins installed here, since it didn't yet.";
|
|
1021
|
+
readonly "plugins.confirmBuild": "Your site's build then writes down the versions of the packages it needs, without running any of their code, and rebuilds your site with it, which takes a few minutes.";
|
|
1022
|
+
readonly "plugins.confirmReview": "Your site's server holds its secrets, so installing a plugin is submitted for review, for a developer to accept.";
|
|
1023
|
+
readonly "plugins.confirmInstall": "Install and publish";
|
|
1024
|
+
readonly "plugins.submit": "Submit for review";
|
|
1025
|
+
readonly "plugins.reviewIntro": "Installs {name} version {version}, from the admin panel's Plugins screen. It asks to:";
|
|
1026
|
+
readonly "plugins.installMessage": "Install the {title} plugin, version {version}";
|
|
1027
|
+
readonly "plugins.updateMessage": "Update the {title} plugin to version {version}";
|
|
1028
|
+
readonly "plugins.installedNotice": "{title} is installed. Your site will have it once it's rebuilt, in a few minutes.";
|
|
1029
|
+
readonly "plugins.updated": "{title} is updated to version {version}.";
|
|
1030
|
+
readonly "plugins.submitted": "The change to {title} is submitted for review.";
|
|
1031
|
+
readonly "plugins.seeReview": "See it";
|
|
1032
|
+
readonly "plugins.remove": "Remove";
|
|
1033
|
+
readonly "plugins.removeReview": "Submit for review";
|
|
1034
|
+
readonly "plugins.removeTitle": "Remove {title}?";
|
|
1035
|
+
readonly "plugins.removeBody": "Its code is taken out of your site when it's next built. Files it kept in your site's content stay where they are.";
|
|
1036
|
+
readonly "plugins.removeUsed": "Pages use its blocks ({blocks}), so it can't be removed. Take them off those pages first.";
|
|
1037
|
+
readonly "plugins.removeKeepsMedia": "{title} keeps your site's media, which pages show from its storage. Move the media back into the site's own files on the Media screen first.";
|
|
1038
|
+
readonly "plugins.removeMessage": "Remove the {title} plugin";
|
|
1039
|
+
readonly "plugins.removed": "{title} is removed.";
|
|
1040
|
+
readonly "plugins.error.record": "The record of which plugins are installed can't be read.";
|
|
1041
|
+
readonly "plugins.error.unreachable": "Plugins can't be looked up right now. Check your internet connection and try again.";
|
|
1042
|
+
readonly "plugins.error.badFile": "This plugin has a problem in its files, so it can't be installed. Its publisher needs to fix it.";
|
|
1043
|
+
readonly "plugins.error.notAPlugin": "This package isn't a Goodfellow plugin.";
|
|
1044
|
+
readonly "plugins.error.config": "Your site's settings file lists plugins of its own, so a developer needs to add the ones installed here to it first.";
|
|
1045
|
+
readonly "plugins.error.inCode": "A developer added this plugin to the site's code, so it's changed there.";
|
|
1046
|
+
readonly "plugins.error.blockClash": "This plugin's blocks have the same names as ones your site has: {blocks}.";
|
|
1047
|
+
readonly "plugins.error.notInstalled": "This plugin wasn't installed here.";
|
|
1048
|
+
readonly "updates.pluginRange": "{title}, a plugin installed here, says it works with Goodfellow {range}, so your site may not build with Goodfellow {version} until the plugin has a newer version.";
|
|
1049
|
+
readonly "updates.themeRange": "Your theme, {title}, says it works with Goodfellow {range}. Goodfellow {version} may change how it looks, so check Themes for a newer version of it after updating.";
|
|
756
1050
|
readonly "siteHistory.intro": "Every publish that changed the site's pages, items, settings or media, newest first. Choose one to see how the site looked after it and what has changed since, then restore the whole site as it was.";
|
|
757
|
-
readonly "siteHistory.local": "Site history is in the published site's admin panel, where you sign in with GitHub or
|
|
1051
|
+
readonly "siteHistory.local": "Site history is in the published site's admin panel, where you sign in with GitHub, GitLab or Bitbucket.";
|
|
758
1052
|
readonly "siteHistory.demo": "Site history isn't kept in a demo.";
|
|
759
1053
|
readonly "siteHistory.error": "The site's history couldn't be loaded. Check your connection and try again.";
|
|
760
1054
|
readonly "siteHistory.current": "The site now";
|
|
@@ -782,6 +1076,7 @@ export declare const defaultStrings: {
|
|
|
782
1076
|
readonly "siteHistory.subject.redirects": "Redirects";
|
|
783
1077
|
readonly "siteHistory.subject.credits": "Photo credits";
|
|
784
1078
|
readonly "siteHistory.subject.css": "Custom CSS";
|
|
1079
|
+
readonly "siteHistory.subject.theme": "Which theme is installed";
|
|
785
1080
|
readonly "siteHistory.subject.code": "Code added to every page";
|
|
786
1081
|
readonly "import.title": "Import from WordPress";
|
|
787
1082
|
readonly "import.intro": "Bring a WordPress site's pages, posts, categories, tags, menus and media into this site. Pages keep their addresses, posts become a collection, and old addresses send visitors on to the new ones. You'll see what comes across before anything changes.";
|
|
@@ -819,7 +1114,7 @@ export declare const defaultStrings: {
|
|
|
819
1114
|
readonly "import.note.embed": "Something from {name} is now a link to it: {items}.";
|
|
820
1115
|
readonly "import.note.form": "A form was left out. Add a Form block in its place: {items}.";
|
|
821
1116
|
readonly "import.note.script": "A script was left out: {items}.";
|
|
822
|
-
readonly "import.note.table": "A table became text, since
|
|
1117
|
+
readonly "import.note.table": "A table became text, since the site has no Table block: {items}.";
|
|
823
1118
|
readonly "import.note.posts": "A list of the latest posts was left out of a post: {items}.";
|
|
824
1119
|
readonly "import.note.video": "A video is now a link to it, since posts show videos as links: {items}.";
|
|
825
1120
|
readonly "import.note.oldLinks": "Links that still go to the WordPress site, to pages that weren't imported: {count}, such as {url}.";
|
|
@@ -861,7 +1156,7 @@ export declare const defaultStrings: {
|
|
|
861
1156
|
readonly "updates.code.link": "See it on {host}";
|
|
862
1157
|
readonly "updates.noAccess": "Your sign-in can't see the site's code, at {place}, where its updates are installed. Ask the site's developer to give you access to it. On GitHub, an access token needs to reach it too, or with Sign in with GitHub, Goodfellow's app needs to be installed there.";
|
|
863
1158
|
readonly "updates.back.skip": "Don't install Goodfellow {version} again";
|
|
864
|
-
readonly "updates.local": "Updates are shown in the published site's admin panel, where you sign in with GitHub or
|
|
1159
|
+
readonly "updates.local": "Updates are shown in the published site's admin panel, where you sign in with GitHub, GitLab or Bitbucket.";
|
|
865
1160
|
readonly "updates.demo": "Updates aren't installed in a demo.";
|
|
866
1161
|
readonly "updates.loading": "Checking for updates…";
|
|
867
1162
|
readonly "updates.current": "This site uses Goodfellow {version}.";
|
|
@@ -928,8 +1223,8 @@ export declare const defaultStrings: {
|
|
|
928
1223
|
readonly "updates.error.save": "The change couldn't be saved. Try again in a moment.";
|
|
929
1224
|
readonly "updates.error.other": "Something went wrong. Try again in a moment.";
|
|
930
1225
|
readonly "editors.intro": "The people who can edit this site.";
|
|
931
|
-
readonly "editors.roles": "Editors can change and publish everything in the admin panel. Owners can also invite and remove editors, and connect a domain.";
|
|
932
|
-
readonly "editors.local": "Editors are invited in the published site's admin panel, where you sign in with GitHub or
|
|
1226
|
+
readonly "editors.roles": "Editors can change and publish everything in the admin panel, unless their limits below say otherwise. Owners can also invite and remove editors, limit what they can change, and connect a domain.";
|
|
1227
|
+
readonly "editors.local": "Editors are invited in the published site's admin panel, where you sign in with GitHub, GitLab or Bitbucket.";
|
|
933
1228
|
readonly "editors.demo": "Editors can't be invited in a demo.";
|
|
934
1229
|
readonly "editors.loading": "Loading editors…";
|
|
935
1230
|
readonly "editors.onlyOwners": "Only the site's owners can invite and remove editors.";
|
|
@@ -954,6 +1249,7 @@ export declare const defaultStrings: {
|
|
|
954
1249
|
readonly "editors.invite.title": "Invite someone";
|
|
955
1250
|
readonly "editors.invite.field": "Their {host} username";
|
|
956
1251
|
readonly "editors.invite.hint": "They need a {host} account. {host} emails them an invitation, which they accept before they can sign in here.";
|
|
1252
|
+
readonly "editors.invite.hintMembers": "They need to be in the site's {host} workspace already. They can edit as soon as you add them.";
|
|
957
1253
|
readonly "editors.invite.fieldEmail": "Their email address or {host} username";
|
|
958
1254
|
readonly "editors.invite.hintEmail": "With an email address, {host} emails them an invitation, and they make an account if they don't have one.";
|
|
959
1255
|
readonly "editors.invite.submit": "Invite";
|
|
@@ -963,6 +1259,33 @@ export declare const defaultStrings: {
|
|
|
963
1259
|
readonly "editors.error.invalid": "That isn't a username or email address that {host} accepts.";
|
|
964
1260
|
readonly "editors.error.already": "They already edit the site, or have been invited.";
|
|
965
1261
|
readonly "editors.error.other": "Something went wrong. Try again in a moment.";
|
|
1262
|
+
readonly "permissions.title": "Limits";
|
|
1263
|
+
readonly "permissions.intro": "Limit what someone can change: some pages, some collections, the media library, the header and footer, or the menus. Anyone not listed here can change everything their role allows. Changes outside someone's limits go to a reviewer, who publishes them or not.";
|
|
1264
|
+
readonly "permissions.where": "The admin panel keeps people to their limits, so nobody changes the wrong page by mistake. People who can publish to the site on {host} could still change other files there, so only a site with its own server holds everyone to them.";
|
|
1265
|
+
readonly "permissions.whereServer": "The site's server holds everyone to their limits, whatever they try.";
|
|
1266
|
+
readonly "permissions.host": "the site's host";
|
|
1267
|
+
readonly "permissions.person": "Their username";
|
|
1268
|
+
readonly "permissions.personHint": "The name they sign in with, as the list above shows it.";
|
|
1269
|
+
readonly "permissions.add": "Limit what they can change";
|
|
1270
|
+
readonly "permissions.change": "Change";
|
|
1271
|
+
readonly "permissions.remove": "Remove limits";
|
|
1272
|
+
readonly "permissions.nothing": "Nothing yet";
|
|
1273
|
+
readonly "permissions.allPages": "Every page";
|
|
1274
|
+
readonly "permissions.editTitle": "What {name} can change";
|
|
1275
|
+
readonly "permissions.editIntro": "Tick what they can change. They can look at everything else, and submit changes to it for review.";
|
|
1276
|
+
readonly "permissions.pages": "Pages";
|
|
1277
|
+
readonly "permissions.pagesHint": "Each with the pages under it, and their translations.";
|
|
1278
|
+
readonly "permissions.collections": "Collections' items";
|
|
1279
|
+
readonly "permissions.more": "Also";
|
|
1280
|
+
readonly "permissions.languages": "Languages";
|
|
1281
|
+
readonly "permissions.everyLanguage": "Every language";
|
|
1282
|
+
readonly "permissions.save": "Publish limits";
|
|
1283
|
+
readonly "permissions.message": "Change what {name} can change";
|
|
1284
|
+
readonly "permissions.removeMessage": "Let {name} change everything";
|
|
1285
|
+
readonly "permissions.reviewers": "Who reviews changes outside someone's limits";
|
|
1286
|
+
readonly "permissions.reviewersHint": "Usernames, separated by commas. Leave it empty for every owner.";
|
|
1287
|
+
readonly "permissions.saveReviewers": "Publish reviewers";
|
|
1288
|
+
readonly "permissions.reviewersMessage": "Change who reviews changes outside editors' limits";
|
|
966
1289
|
readonly "general.siteTitle": "Site name";
|
|
967
1290
|
readonly "general.description": "Description";
|
|
968
1291
|
readonly "general.descriptionHint": "Shown by search engines when a page doesn't have its own description.";
|
|
@@ -1040,6 +1363,12 @@ export declare const defaultStrings: {
|
|
|
1040
1363
|
readonly "theme.bodyFont": "Text";
|
|
1041
1364
|
readonly "theme.radius": "Corner rounding";
|
|
1042
1365
|
readonly "theme.radiusHint": "Such as 0.5rem, or 0 for square corners.";
|
|
1366
|
+
readonly "theme.parts": "Blocks' parts";
|
|
1367
|
+
readonly "theme.partsHint": "Give a part of every block of one kind classes, such as rounded-xl shadow-sm, to change how they all look. They come after the block's own classes and before what's chosen for each block.";
|
|
1368
|
+
readonly "theme.partsBlock": "Block";
|
|
1369
|
+
readonly "theme.partsBlockStyled": "{block} ({count} styled)";
|
|
1370
|
+
readonly "theme.partsName": "Its name is {name}, for custom CSS.";
|
|
1371
|
+
readonly "theme.partsNone": "This site's blocks have no named parts.";
|
|
1043
1372
|
readonly "theme.color.background": "Background";
|
|
1044
1373
|
readonly "theme.color.foreground": "Text";
|
|
1045
1374
|
readonly "theme.color.primary": "Main color";
|