From 421ecf17e6df6c1cbb547e71a0f57f6acec8f06c Mon Sep 17 00:00:00 2001 From: Daniel Lautzenheiser Date: Tue, 25 Oct 2022 09:18:18 -0400 Subject: [PATCH] Feature/website overhaul (#49) * Reorganize repo * Overhaul website design and rewrite in NextJS and Typescript * Delete website-publish.yml --- .github/workflows/website-publish.yml | 32 - .gitignore | 2 +- .nvmrc | 1 - .stylelintrc | 33 - .vale.ini | 6 - README.md | 87 +- .editorconfig => core/.editorconfig | 0 .eslintignore => core/.eslintignore | 0 .eslintrc.js => core/.eslintrc.js | 0 .prettierignore => core/.prettierignore | 0 .prettierrc => core/.prettierrc | 0 babel.config.js => core/babel.config.js | 0 .../dev-test}/Photo 1-lobby_FS.jpg | Bin .../dev-test}/backends/azure/config.yml | 0 .../dev-test}/backends/azure/index.html | 0 .../dev-test}/backends/bitbucket/config.yml | 0 .../dev-test}/backends/bitbucket/index.html | 0 .../dev-test}/backends/git-gateway/config.yml | 0 .../dev-test}/backends/git-gateway/index.html | 0 .../dev-test}/backends/github/config.yml | 0 .../dev-test}/backends/github/index.html | 0 .../dev-test}/backends/gitlab/config.yml | 0 .../dev-test}/backends/gitlab/index.html | 0 .../dev-test}/backends/proxy/config.yml | 0 .../dev-test}/backends/proxy/index.html | 0 {dev-test => core/dev-test}/config.yml | 0 {dev-test => core/dev-test}/example.css | 0 {dev-test => core/dev-test}/index.html | 0 {dev-test => core/dev-test}/index.js | 0 {dev-test => core/dev-test}/moby-dick.jpg | Bin {dev-test => core/dev-test}/nf-logo.png | Bin package.json => core/package.json | 6 +- {src => core/src}/actions/auth.ts | 0 {src => core/src}/actions/collections.ts | 0 {src => core/src}/actions/config.ts | 0 {src => core/src}/actions/entries.ts | 0 {src => core/src}/actions/media.ts | 0 {src => core/src}/actions/mediaLibrary.ts | 0 {src => core/src}/actions/scroll.ts | 0 {src => core/src}/actions/search.ts | 0 {src => core/src}/actions/status.ts | 0 {src => core/src}/actions/waitUntil.ts | 0 {src => core/src}/backend.ts | 0 {src => core/src}/backends/azure/API.ts | 0 .../backends/azure/AuthenticationPage.tsx | 0 .../src}/backends/azure/implementation.ts | 0 {src => core/src}/backends/azure/index.ts | 0 {src => core/src}/backends/bitbucket/API.ts | 0 .../backends/bitbucket/AuthenticationPage.tsx | 0 .../src}/backends/bitbucket/git-lfs-client.ts | 0 .../src}/backends/bitbucket/implementation.ts | 0 {src => core/src}/backends/bitbucket/index.ts | 0 .../git-gateway/AuthenticationPage.tsx | 0 .../src}/backends/git-gateway/GitHubAPI.ts | 0 .../src}/backends/git-gateway/GitLabAPI.ts | 0 .../backends/git-gateway/implementation.tsx | 0 .../src}/backends/git-gateway/index.ts | 0 .../git-gateway/netlify-lfs-client.ts | 0 {src => core/src}/backends/github/API.ts | 0 .../backends/github/AuthenticationPage.tsx | 0 .../src}/backends/github/GraphQLAPI.ts | 0 .../src}/backends/github/fragmentTypes.ts | 0 .../src}/backends/github/fragments.ts | 0 .../src}/backends/github/implementation.tsx | 5 +- {src => core/src}/backends/github/index.ts | 0 .../src}/backends/github/mutations.ts | 0 {src => core/src}/backends/github/queries.ts | 0 .../github/scripts/createFragmentTypes.ts | 0 {src => core/src}/backends/gitlab/API.ts | 153 +- .../backends/gitlab/AuthenticationPage.tsx | 3 +- .../src}/backends/gitlab/implementation.ts | 8 +- {src => core/src}/backends/gitlab/index.ts | 0 {src => core/src}/backends/gitlab/queries.ts | 0 {src => core/src}/backends/index.tsx | 0 .../backends/proxy/AuthenticationPage.tsx | 0 .../src}/backends/proxy/implementation.ts | 0 {src => core/src}/backends/proxy/index.ts | 0 .../src}/backends/test/AuthenticationPage.tsx | 0 .../src}/backends/test/implementation.ts | 0 {src => core/src}/backends/test/index.ts | 0 {src => core/src}/bootstrap.tsx | 0 {src => core/src}/components/App/App.tsx | 0 {src => core/src}/components/App/Header.tsx | 0 {src => core/src}/components/App/MainView.tsx | 0 .../src}/components/App/NotFoundPage.tsx | 0 .../src}/components/Collection/Collection.tsx | 0 .../Collection/CollectionControls.tsx | 0 .../components/Collection/CollectionRoute.tsx | 0 .../Collection/CollectionSearch.tsx | 0 .../components/Collection/CollectionTop.tsx | 0 .../components/Collection/Entries/Entries.tsx | 0 .../Collection/Entries/EntriesCollection.tsx | 0 .../Collection/Entries/EntriesSearch.tsx | 0 .../Collection/Entries/EntryCard.tsx | 0 .../Collection/Entries/EntryListing.tsx | 0 .../components/Collection/FilterControl.tsx | 0 .../components/Collection/GroupControl.tsx | 0 .../Collection/NestedCollection.tsx | 0 .../src}/components/Collection/Sidebar.tsx | 0 .../components/Collection/SortControl.tsx | 0 .../Collection/ViewStyleControl.tsx | 0 .../src}/components/Editor/Editor.tsx | 0 .../EditorControlPane/EditorControl.tsx | 0 .../EditorControlPane/EditorControlPane.tsx | 0 .../components/Editor/EditorInterface.tsx | 0 .../EditorPreviewPane/EditorPreview.tsx | 0 .../EditorPreviewContent.tsx | 0 .../EditorPreviewPane/EditorPreviewPane.tsx | 0 .../Editor/EditorPreviewPane/PreviewHOC.tsx | 0 .../src}/components/Editor/EditorRoute.tsx | 0 .../src}/components/Editor/EditorToolbar.tsx | 0 .../EditorWidgets/Unknown/UnknownControl.tsx | 0 .../EditorWidgets/Unknown/UnknownPreview.tsx | 0 .../src}/components/EditorWidgets/index.ts | 0 .../components/MediaLibrary/EmptyMessage.tsx | 0 .../components/MediaLibrary/MediaLibrary.tsx | 0 .../MediaLibrary/MediaLibraryButtons.tsx | 0 .../MediaLibrary/MediaLibraryCard.tsx | 0 .../MediaLibrary/MediaLibraryCardGrid.tsx | 0 .../MediaLibrary/MediaLibraryModal.tsx | 0 .../MediaLibrary/MediaLibrarySearch.tsx | 0 .../MediaLibrary/MediaLibraryTop.tsx | 0 {src => core/src}/components/UI/Alert.tsx | 0 .../src}/components/UI/AuthenticationPage.tsx | 0 {src => core/src}/components/UI/Confirm.tsx | 0 .../src}/components/UI/ErrorBoundary.tsx | 0 .../src}/components/UI/FieldLabel.tsx | 0 .../src}/components/UI/FileUploadButton.tsx | 0 .../src}/components/UI/GoBackButton.tsx | 0 {src => core/src}/components/UI/Icon.tsx | 0 .../src}/components/UI/Icon/icons.tsx | 0 .../src}/components/UI/Icon/images/_index.tsx | 0 .../src}/components/UI/Icon/images/azure.svg | 0 .../components/UI/Icon/images/bitbucket.svg | 0 .../src}/components/UI/Icon/images/github.svg | 0 .../src}/components/UI/Icon/images/gitlab.svg | 0 .../UI/Icon/images/static-cms-logo.svg | 0 .../src}/components/UI/ListItemTopBar.tsx | 0 {src => core/src}/components/UI/Loader.tsx | 0 {src => core/src}/components/UI/NavLink.tsx | 0 .../src}/components/UI/ObjectWidgetTopBar.tsx | 0 {src => core/src}/components/UI/Outline.tsx | 0 {src => core/src}/components/UI/ScrollTop.tsx | 0 .../src}/components/UI/SettingsDropdown.tsx | 0 .../components/UI/WidgetPreviewContainer.tsx | 0 {src => core/src}/components/UI/index.ts | 0 {src => core/src}/components/UI/styles.tsx | 0 {src => core/src}/components/page/Page.tsx | 0 .../src}/components/snackbar/Snackbars.tsx | 0 .../src}/constants/collectionTypes.ts | 0 .../src}/constants/collectionViews.ts | 0 {src => core/src}/constants/commitProps.ts | 0 {src => core/src}/constants/configSchema.tsx | 0 .../src}/constants/fieldInference.tsx | 0 {src => core/src}/constants/files.ts | 0 .../src}/constants/validationErrorTypes.ts | 0 .../src}/editor-components/editorPlugin.ts | 0 .../src}/editor-components/image/index.tsx | 0 {src => core/src}/editor-components/index.tsx | 0 {src => core/src}/extensions.ts | 0 {src => core/src}/formats/formats.ts | 0 {src => core/src}/formats/frontmatter.ts | 0 {src => core/src}/formats/helpers.ts | 0 {src => core/src}/formats/json.ts | 0 {src => core/src}/formats/toml.ts | 0 {src => core/src}/formats/yaml.ts | 0 {src => core/src}/index.ts | 0 {src => core/src}/integrations/index.ts | 0 .../providers/algolia/implementation.ts | 0 .../providers/assetStore/implementation.ts | 0 {src => core/src}/interface.ts | 2 - {src => core/src}/lib/auth/implicit-oauth.ts | 0 {src => core/src}/lib/auth/index.ts | 0 {src => core/src}/lib/auth/netlify-auth.ts | 0 {src => core/src}/lib/auth/pkce-oauth.ts | 0 {src => core/src}/lib/auth/utils.ts | 0 {src => core/src}/lib/consoleError.ts | 0 {src => core/src}/lib/formatters.ts | 0 {src => core/src}/lib/i18n.ts | 0 {src => core/src}/lib/index.tsx | 0 {src => core/src}/lib/phrases.ts | 0 {src => core/src}/lib/registry.ts | 0 {src => core/src}/lib/serializeEntryValues.ts | 0 {src => core/src}/lib/textHelper.ts | 0 {src => core/src}/lib/urlHelper.ts | 0 {src => core/src}/lib/util/API.ts | 0 {src => core/src}/lib/util/APIError.ts | 0 {src => core/src}/lib/util/APIUtils.ts | 0 .../src}/lib/util/AccessTokenError.ts | 0 {src => core/src}/lib/util/Cursor.ts | 0 .../src}/lib/util/__tests__/object.util.ts | 0 {src => core/src}/lib/util/asyncLock.ts | 0 {src => core/src}/lib/util/backendUtil.ts | 0 {src => core/src}/lib/util/collection.util.ts | 0 .../src}/lib/util/events/AlertEvent.ts | 0 .../src}/lib/util/events/ConfirmEvent.ts | 0 {src => core/src}/lib/util/fetch.util.ts | 0 {src => core/src}/lib/util/field.util.ts | 0 {src => core/src}/lib/util/getBlobSHA.ts | 0 {src => core/src}/lib/util/git-lfs.ts | 0 {src => core/src}/lib/util/implementation.ts | 0 {src => core/src}/lib/util/index.ts | 0 {src => core/src}/lib/util/loadScript.ts | 0 {src => core/src}/lib/util/localForage.ts | 0 {src => core/src}/lib/util/media.util.ts | 0 {src => core/src}/lib/util/null.util.ts | 0 {src => core/src}/lib/util/object.util.ts | 0 {src => core/src}/lib/util/path.ts | 0 {src => core/src}/lib/util/promise.ts | 0 {src => core/src}/lib/util/sort.util.ts | 0 {src => core/src}/lib/util/string.util.ts | 0 .../src}/lib/util/transientOptions.ts | 0 {src => core/src}/lib/util/unsentRequest.ts | 0 {src => core/src}/lib/util/validation.util.ts | 0 {src => core/src}/lib/util/window.util.ts | 0 {src => core/src}/lib/widgets/index.ts | 0 .../src}/lib/widgets/stringTemplate.ts | 0 {src => core/src}/lib/widgets/validations.ts | 0 {src => core/src}/locales/bg/index.ts | 0 {src => core/src}/locales/ca/index.ts | 0 {src => core/src}/locales/cs/index.ts | 0 {src => core/src}/locales/da/index.ts | 0 {src => core/src}/locales/de/index.ts | 0 {src => core/src}/locales/en/index.ts | 0 {src => core/src}/locales/es/index.ts | 0 {src => core/src}/locales/fr/index.ts | 0 {src => core/src}/locales/gr/index.ts | 0 {src => core/src}/locales/he/index.ts | 0 {src => core/src}/locales/hr/index.ts | 0 {src => core/src}/locales/hu/index.ts | 0 {src => core/src}/locales/index.ts | 0 {src => core/src}/locales/it/index.ts | 0 {src => core/src}/locales/ja/index.ts | 0 {src => core/src}/locales/ko/index.ts | 0 {src => core/src}/locales/lt/index.ts | 0 {src => core/src}/locales/nb_no/index.ts | 0 {src => core/src}/locales/nl/index.ts | 0 {src => core/src}/locales/nn_no/index.ts | 0 {src => core/src}/locales/pl/index.ts | 0 {src => core/src}/locales/pt/index.ts | 0 {src => core/src}/locales/ro/index.ts | 0 {src => core/src}/locales/ru/index.ts | 0 {src => core/src}/locales/sv/index.ts | 0 {src => core/src}/locales/th/index.ts | 0 {src => core/src}/locales/tr/index.ts | 0 {src => core/src}/locales/uk/index.ts | 0 {src => core/src}/locales/vi/index.ts | 0 {src => core/src}/locales/zh_Hans/index.ts | 0 {src => core/src}/locales/zh_Hant/index.ts | 0 .../src}/media-libraries/cloudinary/index.ts | 0 {src => core/src}/media-libraries/index.tsx | 0 .../src}/media-libraries/uploadcare/index.ts | 0 {src => core/src}/mediaLibrary.ts | 0 {src => core/src}/reducers/auth.ts | 0 {src => core/src}/reducers/collections.ts | 0 {src => core/src}/reducers/combinedReducer.ts | 0 {src => core/src}/reducers/config.ts | 0 {src => core/src}/reducers/cursors.ts | 0 {src => core/src}/reducers/entries.ts | 0 {src => core/src}/reducers/entryDraft.ts | 0 {src => core/src}/reducers/globalUI.ts | 0 {src => core/src}/reducers/index.ts | 0 {src => core/src}/reducers/integrations.ts | 0 {src => core/src}/reducers/mediaLibrary.ts | 0 {src => core/src}/reducers/medias.ts | 0 {src => core/src}/reducers/scroll.ts | 0 {src => core/src}/reducers/search.ts | 0 {src => core/src}/reducers/status.ts | 0 {src => core/src}/routing/history.ts | 0 {src => core/src}/store/hooks.ts | 0 {src => core/src}/store/index.ts | 0 .../src}/store/middleware/waitUntilAction.ts | 0 {src => core/src}/store/slices/snackbars.ts | 0 {src => core/src}/types/constants.d.ts | 0 {src => core/src}/types/css.d.ts | 0 {src => core/src}/types/diacritics.d.ts | 0 {src => core/src}/types/global.d.ts | 0 {src => core/src}/types/ini.d.ts | 0 {src => core/src}/types/markdown.d.ts | 0 {src => core/src}/types/semaphore.d.ts | 0 {src => core/src}/types/svg.d.ts | 0 {src => core/src}/types/tomlify-j0.4.d.ts | 0 {src => core/src}/types/uploadcare.d.ts | 0 {src => core/src}/types/what-the-diff.d.ts | 0 {src => core/src}/valueObjects/AssetProxy.ts | 0 .../src}/valueObjects/EditorComponent.ts | 0 {src => core/src}/valueObjects/Entry.ts | 0 .../src}/widgets/boolean/BooleanControl.tsx | 0 {src => core/src}/widgets/boolean/index.ts | 0 .../src}/widgets/code/CodeControl.tsx | 0 .../src}/widgets/code/CodePreview.tsx | 0 .../src}/widgets/code/SettingsButton.tsx | 0 .../src}/widgets/code/SettingsPane.tsx | 0 .../src}/widgets/code/data/languages-raw.yml | 0 .../src}/widgets/code/data/languages.ts | 0 {src => core/src}/widgets/code/index.ts | 0 .../src}/widgets/code/languageSelectStyles.ts | 0 {src => core/src}/widgets/code/schema.ts | 0 .../widgets/code/scripts/process-languages.ts | 0 .../src}/widgets/colorstring/ColorControl.tsx | 0 .../src}/widgets/colorstring/ColorPreview.tsx | 0 .../src}/widgets/colorstring/index.ts | 0 .../src}/widgets/datetime/DateTimeControl.tsx | 0 .../src}/widgets/datetime/DateTimePreview.tsx | 0 {src => core/src}/widgets/datetime/index.tsx | 0 {src => core/src}/widgets/datetime/schema.ts | 0 .../src}/widgets/file/FilePreview.tsx | 0 {src => core/src}/widgets/file/index.ts | 0 {src => core/src}/widgets/file/schema.ts | 0 .../src}/widgets/file/withFileControl.tsx | 0 .../src}/widgets/image/ImagePreview.tsx | 0 {src => core/src}/widgets/image/index.ts | 0 {src => core/src}/widgets/image/schema.ts | 0 {src => core/src}/widgets/index.tsx | 0 .../src}/widgets/list/ListControl.tsx | 0 {src => core/src}/widgets/list/ListItem.tsx | 0 {src => core/src}/widgets/list/index.ts | 0 {src => core/src}/widgets/list/schema.ts | 0 .../src}/widgets/list/typedListHelpers.ts | 0 {src => core/src}/widgets/map/MapPreview.tsx | 0 {src => core/src}/widgets/map/index.ts | 0 {src => core/src}/widgets/map/schema.ts | 0 .../src}/widgets/map/withMapControl.tsx | 0 .../src}/widgets/markdown/MarkdownControl.tsx | 0 .../src}/widgets/markdown/MarkdownPreview.tsx | 0 {src => core/src}/widgets/markdown/index.ts | 0 .../src}/widgets/markdown/regexHelper.ts | 0 {src => core/src}/widgets/markdown/schema.ts | 0 .../src}/widgets/markdown/serializers.ts | 0 {src => core/src}/widgets/markdown/styles.ts | 0 {src => core/src}/widgets/markdown/types.ts | 0 .../src}/widgets/number/NumberControl.tsx | 0 .../src}/widgets/number/NumberPreview.tsx | 0 {src => core/src}/widgets/number/index.ts | 0 {src => core/src}/widgets/number/schema.ts | 0 .../src}/widgets/object/ObjectControl.tsx | 0 .../src}/widgets/object/ObjectPreview.tsx | 0 {src => core/src}/widgets/object/index.ts | 0 {src => core/src}/widgets/object/schema.ts | 0 .../src}/widgets/relation/RelationControl.tsx | 0 .../src}/widgets/relation/RelationPreview.tsx | 0 {src => core/src}/widgets/relation/index.ts | 0 {src => core/src}/widgets/relation/schema.ts | 0 .../src}/widgets/select/SelectControl.tsx | 0 .../src}/widgets/select/SelectPreview.tsx | 0 {src => core/src}/widgets/select/index.ts | 0 {src => core/src}/widgets/select/schema.ts | 0 .../src}/widgets/string/StringControl.tsx | 0 .../src}/widgets/string/StringPreview.tsx | 0 {src => core/src}/widgets/string/index.ts | 0 .../src}/widgets/text/TextControl.tsx | 0 .../src}/widgets/text/TextPreview.tsx | 0 {src => core/src}/widgets/text/index.ts | 0 tsconfig.json => core/tsconfig.json | 0 webpack.config.js => core/webpack.config.js | 0 yarn.lock => core/yarn.lock | 218 +- renovate.json | 17 - setupTestFramework.js | 13 - website/.babelrc | 14 - website/.editorconfig | 19 + website/.eslintignore | 5 + website/.eslintrc.js | 131 + website/.eslintrc.json | 3 + website/.gitignore | 39 +- website/.markdownlint.json | 4 - website/.nvmrc | 1 - website/.prettierignore | 4 + website/.prettierrc | 6 + website/README.md | 19 - website/content/.keep | 0 website/content/blog/welcome-to-simple-cms.md | 10 - website/content/community.json | 36 + website/content/config.json | 30 + .../docs/add-to-your-site-bundling.mdx | 195 + ...-your-site.md => add-to-your-site-cdn.mdx} | 162 +- website/content/docs/add-to-your-site.mdx | 9 + .../{architecture.md => architecture.mdx} | 3 +- .../{azure-backend.md => azure-backend.mdx} | 6 +- ...ends-overview.md => backends-overview.mdx} | 2 +- .../{beta-features.md => beta-features.mdx} | 164 +- ...ucket-backend.md => bitbucket-backend.mdx} | 8 +- .../docs/{cloudinary.md => cloudinary.mdx} | 18 +- ...llection-types.md => collection-types.mdx} | 66 +- ...n-options.md => configuration-options.mdx} | 30 +- ...ributor-guide.md => contributor-guide.mdx} | 2 +- .../{custom-widgets.md => custom-widgets.mdx} | 32 +- .../{customization.md => customization.mdx} | 14 +- .../docs/{docusaurus.md => docusaurus.mdx} | 26 +- .../docs/{examples.md => examples.mdx} | 2 +- ...-clients.md => external-oauth-clients.mdx} | 2 +- .../content/docs/{gatsby.md => gatsby.mdx} | 14 +- ...way-backend.md => git-gateway-backend.mdx} | 8 +- .../{github-backend.md => github-backend.mdx} | 4 +- .../{gitlab-backend.md => gitlab-backend.mdx} | 41 +- .../docs/{gridsome.md => gridsome.mdx} | 20 +- website/content/docs/{hugo.md => hugo.mdx} | 20 +- website/content/docs/{intro.md => intro.mdx} | 8 +- .../content/docs/{jekyll.md => jekyll.mdx} | 84 +- .../docs/{middleman.md => middleman.mdx} | 12 +- ...large-media.md => netlify-large-media.mdx} | 4 +- .../content/docs/{nextjs.md => nextjs.mdx} | 30 +- website/content/docs/{nuxt.md => nuxt.mdx} | 14 +- .../docs/{releases.md => releases.mdx} | 2 +- ...verview.md => site-generator-overview.mdx} | 2 +- website/content/docs/start-with-a-template.md | 85 - .../content/docs/start-with-a-template.mdx | 248 + .../{test-backend.md => test-backend.mdx} | 4 +- .../docs/{uploadcare.md => uploadcare.mdx} | 10 +- .../boolean.md => widget-boolean.mdx} | 7 +- .../docs/{widgets/code.md => widget-code.mdx} | 7 +- .../{widgets/color.md => widget-color.mdx} | 9 +- .../datetime.md => widget-datetime.mdx} | 7 +- .../docs/{widgets/file.md => widget-file.mdx} | 7 +- .../{widgets/hidden.md => widget-hidden.mdx} | 7 +- .../{widgets/image.md => widget-image.mdx} | 7 +- .../docs/{widgets/list.md => widget-list.mdx} | 45 +- .../docs/{widgets/map.md => widget-map.mdx} | 7 +- .../markdown.md => widget-markdown.mdx} | 7 +- .../{widgets/number.md => widget-number.mdx} | 7 +- .../{widgets/object.md => widget-object.mdx} | 21 +- .../relation.md => widget-relation.mdx} | 11 +- .../{widgets/select.md => widget-select.mdx} | 13 +- .../{widgets/string.md => widget-string.mdx} | 7 +- .../docs/{widgets/text.md => widget-text.mdx} | 7 +- .../content/docs/{widgets.md => widgets.mdx} | 14 +- website/content/docs/widgets/date.md | 25 - website/content/docs/writing-style-guide.md | 260 - website/content/docs/writing-style-guide.mdx | 248 + website/content/homepage.json | 45 + website/content/menu.json | 42 + website/content/pages/community.md | 22 - website/content/releases.json | 9 + website/data/.keep | 0 website/data/docs.yml | 11 - website/data/global.yaml | 6 - website/data/landing.yaml | 41 - website/data/notifications.yml | 7 - website/data/updates.yml | 5 - website/gatsby-browser.js | 9 - website/gatsby-config.js | 77 - website/gatsby-node.js | 104 - website/next.config.js | 29 + website/package.json | 87 +- website/{static => public}/_redirects | 0 website/public/favicon-32x32.png | Bin 0 -> 2459 bytes website/public/favicon.ico | Bin 0 -> 25931 bytes .../favicon/apple-touch-icon.png | Bin .../img => public}/favicon/browserconfig.xml | 0 .../img => public}/favicon/favicon-16x16.png | Bin .../img => public}/favicon/favicon-32x32.png | Bin .../img => public}/favicon/favicon.ico | Bin .../img => public}/favicon/icon-512x512.png | Bin .../img => public}/favicon/mstile-144x144.png | Bin .../img => public}/favicon/mstile-150x150.png | Bin .../img => public}/favicon/mstile-310x150.png | Bin .../img => public}/favicon/mstile-310x310.png | Bin .../img => public}/favicon/mstile-70x70.png | Bin .../favicon/safari-pinned-tab.svg | 0 website/public/icons/icon-144x144.png | Bin 0 -> 24653 bytes website/public/icons/icon-192x192.png | Bin 0 -> 38715 bytes website/public/icons/icon-256x256.png | Bin 0 -> 63187 bytes website/public/icons/icon-384x384.png | Bin 0 -> 130480 bytes website/public/icons/icon-48x48.png | Bin 0 -> 4522 bytes website/public/icons/icon-512x512.png | Bin 0 -> 172720 bytes website/public/icons/icon-72x72.png | Bin 0 -> 8420 bytes website/public/icons/icon-96x96.png | Bin 0 -> 12870 bytes website/{static => public}/img/11ty-logo.svg | 0 .../img/cloudinary-console-details.webp | Bin 0 -> 28000 bytes .../img/editor-friendly-user-interface.svg} | 0 website/{static => public}/img/gatsby.svg | 0 website/{static => public}/img/hugo.svg | 0 ...instant-access-without-github-account.svg} | 0 website/{static => public}/img/metalsmith.svg | 0 website/{static => public}/img/middleman.svg | 0 website/{static => public}/img/nextjs.svg | 0 website/{static => public}/img/nuxt.svg | 0 website/{static => public}/img/preact.svg | 0 website/public/img/screenshot-editor.webp | Bin 0 -> 57932 bytes website/public/manifest.webmanifest | 1 + website/public/prism-dark.css | 98 + website/public/prism-light.css | 118 + .../{src/img => public}/static-cms-logo.svg | 0 website/public/vercel.svg | 4 + website/site.yml | 22 - website/src/cms/cms.js | 138 - website/src/components/blog-post-template.js | 27 - website/src/components/button.js | 34 - website/src/components/chat-button.js | 20 - .../src/components/community-channels-list.js | 59 - website/src/components/community.js | 55 - .../components/community/CommunitySection.tsx | 40 + website/src/components/container.js | 32 - .../components/context/ColorModeContext.tsx | 6 + website/src/components/docs-nav.js | 101 - website/src/components/docs-template.js | 42 - website/src/components/docs/DocsContent.tsx | 322 + website/src/components/docs/DocsLeftNav.tsx | 36 + .../src/components/docs/DocsLeftNavGroup.tsx | 68 + website/src/components/docs/DocsRightNav.tsx | 7 + .../components/docs/components/Blockquote.tsx | 71 + .../components/docs/components/Header2.tsx | 44 + .../components/docs/components/Header3.tsx | 44 + .../docs/table_of_contents/DocsHeadings.tsx | 89 + .../table_of_contents/DocsTableOfContents.tsx | 131 + website/src/components/docsearch.js | 56 - website/src/components/edit-link.js | 46 - website/src/components/event-box.js | 125 - website/src/components/features.js | 46 - website/src/components/footer.js | 97 - website/src/components/github-button.js | 19 - website/src/components/grid.js | 14 - website/src/components/header.js | 241 - website/src/components/hero-title.js | 17 - website/src/components/home-section.js | 37 - website/src/components/layout.js | 71 - website/src/components/layout/Container.tsx | 22 + website/src/components/layout/Footer.tsx | 69 + website/src/components/layout/Header.tsx | 141 + website/src/components/layout/Page.tsx | 98 + website/src/components/lead.js | 10 - website/src/components/markdown.js | 137 - website/src/components/markdownify.js | 8 - website/src/components/meta-info.js | 10 - website/src/components/meta/BasicMeta.tsx | 26 + website/src/components/meta/JsonLdMeta.tsx | 37 + website/src/components/meta/OpenGraphMeta.tsx | 35 + .../src/components/meta/TwitterCardMeta.tsx | 37 + website/src/components/notification.js | 49 - website/src/components/notifications.js | 13 - website/src/components/page-hero.js | 30 - website/src/components/page.js | 16 - website/src/components/release.js | 68 - website/src/components/section-label.js | 23 - website/src/components/sidebar-layout.js | 30 - website/src/components/table-of-contents.js | 62 - website/src/components/twitter-meta.js | 17 - website/src/components/video-embed.js | 111 - website/src/components/whats-new.js | 29 - website/src/components/widget-doc.js | 18 - website/src/components/widgets.js | 81 - website/src/constants.ts | 3 + website/src/global-styles.js | 98 - website/src/html.js | 37 - website/src/img/bow.svg | 1 - website/src/img/collab.svg | 1 - website/src/img/demo.gif | Bin 2660854 -> 0 bytes website/src/img/feature-workflow.svg | 1 - website/src/img/github.svg | 1 - website/src/img/heart.svg | 1 - website/src/img/helix.svg | 1 - website/src/img/netlify-logo.svg | 1 - website/src/img/play.svg | 3 - website/src/img/screenshot-content.png | Bin 45331 -> 0 bytes website/src/img/screenshot-editor.jpg | Bin 102256 -> 0 bytes website/src/img/screenshot-editor.png | Bin 371057 -> 0 bytes website/src/img/screenshot-editorial.png | Bin 105867 -> 0 bytes website/src/img/screenshot-identity.png | Bin 24105 -> 0 bytes website/src/img/search.svg | 1 - website/src/img/smashing-logo.svg | 1 - website/src/img/wavy-divider.svg | 1 - website/src/interface.ts | 121 + website/src/lib/community.ts | 5 + website/src/lib/config.ts | 5 + website/src/lib/docs.ts | 99 + website/src/lib/homepage.ts | 5 + website/src/lib/menu.ts | 5 + website/src/lib/releases.ts | 5 + website/src/pages/_app.tsx | 59 + website/src/pages/_document.tsx | 16 + website/src/pages/blog.js | 74 - website/src/pages/community.js | 39 - website/src/pages/community.tsx | 74 + website/src/pages/docs/[doc].tsx | 116 + website/src/pages/index.js | 246 - website/src/pages/index.tsx | 319 + website/src/styles/globals.css | 7 + website/src/styles/theme.ts | 72 + website/src/templates/blog-post.js | 56 - website/src/templates/doc-page.js | 113 - website/src/theme.js | 37 - website/src/util/null.util.ts | 11 + website/src/util/string.util.ts | 24 + website/src/util/transientOptions.ts | 7 + website/src/utils.js | 7 - .../writing-guide/styles/Avoid/Acronyms.yml | 32 - .../writing-guide/styles/Avoid/Adverbs.yml | 193 - .../writing-guide/styles/Avoid/Archaisms.yml | 53 - .../writing-guide/styles/Avoid/Cliches.yml | 781 - .../writing-guide/styles/Avoid/Hyperbole.yml | 6 - .../writing-guide/styles/Avoid/Indirect.yml | 119 - .../src/writing-guide/styles/Avoid/Jargon.yml | 37 - .../writing-guide/styles/Avoid/Passive.yml | 180 - .../writing-guide/styles/Avoid/Simplify.yml | 111 - website/src/writing-guide/styles/README.md | 27 - .../writing-guide/styles/README_proselint.md | 12 - .../styles/Replace/Diacritical.yml | 13 - .../styles/Replace/GenderBias.yml | 46 - .../writing-guide/styles/Replace/Needless.yml | 357 - .../writing-guide/styles/Replace/Nonwords.yml | 38 - .../styles/Replace/Offensive.yml | 27 - .../styles/Replace/Typography.yml | 11 - .../writing-guide/styles/Replace/Variants.yml | 19 - .../styles/archive/Paragraph.yml | 8 - .../writing-guide/styles/archive/Sentence.yml | 7 - website/src/writing-guide/vocab/accept.txt | 2 - website/src/writing-guide/vocab/reject.txt | 0 website/static/.keep | 0 website/static/admin/config.yml | 252 - .../static/img/cloudinary-console-details.png | Bin 168777 -> 0 bytes website/static/img/create-password.png | Bin 364991 -> 0 bytes website/static/img/email-subject.png | Bin 5810 -> 0 bytes .../img/github-statuses-deploy-previews.png | Bin 66691 -> 0 bytes website/static/img/hugo_shortcode_gist.png | Bin 11232 -> 0 bytes website/static/img/preview-link-check.png | Bin 20662 -> 0 bytes website/static/img/preview-link-published.png | Bin 13771 -> 0 bytes .../static/img/preview-link-unpublished.png | Bin 18278 -> 0 bytes .../screen shot 2018-01-05 at 4.25.07 pm.png | Bin 68747 -> 0 bytes .../screen-shot-2020-08-20-at-14.36.26.png | Bin 476236 -> 0 bytes .../screen-shot-2021-11-15-at-4.16.53-pm.png | Bin 63324 -> 0 bytes .../screen-shot-2021-11-16-at-1.34.18-PM.png | Bin 47530 -> 0 bytes .../img/screenshot-jekyll-tutorial-blog.png | Bin 151201 -> 0 bytes .../img/simple-cms-external-media-library.png | Bin 297010 -> 0 bytes website/static/img/simple-cms.png | Bin 65572 -> 0 bytes website/static/img/slack.png | Bin 5059 -> 0 bytes website/static/img/slack.svg | 24 - website/static/img/uc-logo-horizontal.svg | 6 - website/static/img/widgets-markdown.PNG | Bin 18501 -> 0 bytes website/tsconfig.json | 20 + website/yarn.lock | 13657 ++++------------ 629 files changed, 6917 insertions(+), 17824 deletions(-) delete mode 100644 .github/workflows/website-publish.yml delete mode 100644 .nvmrc delete mode 100644 .stylelintrc delete mode 100644 .vale.ini rename .editorconfig => core/.editorconfig (100%) rename .eslintignore => core/.eslintignore (100%) rename .eslintrc.js => core/.eslintrc.js (100%) rename .prettierignore => core/.prettierignore (100%) rename .prettierrc => core/.prettierrc (100%) rename babel.config.js => core/babel.config.js (100%) rename {dev-test => core/dev-test}/Photo 1-lobby_FS.jpg (100%) rename {dev-test => core/dev-test}/backends/azure/config.yml (100%) rename {dev-test => core/dev-test}/backends/azure/index.html (100%) rename {dev-test => core/dev-test}/backends/bitbucket/config.yml (100%) rename {dev-test => core/dev-test}/backends/bitbucket/index.html (100%) rename {dev-test => core/dev-test}/backends/git-gateway/config.yml (100%) rename {dev-test => core/dev-test}/backends/git-gateway/index.html (100%) rename {dev-test => core/dev-test}/backends/github/config.yml (100%) rename {dev-test => core/dev-test}/backends/github/index.html (100%) rename {dev-test => core/dev-test}/backends/gitlab/config.yml (100%) rename {dev-test => core/dev-test}/backends/gitlab/index.html (100%) rename {dev-test => core/dev-test}/backends/proxy/config.yml (100%) rename {dev-test => core/dev-test}/backends/proxy/index.html (100%) rename {dev-test => core/dev-test}/config.yml (100%) rename {dev-test => core/dev-test}/example.css (100%) rename {dev-test => core/dev-test}/index.html (100%) rename {dev-test => core/dev-test}/index.js (100%) rename {dev-test => core/dev-test}/moby-dick.jpg (100%) rename {dev-test => core/dev-test}/nf-logo.png (100%) rename package.json => core/package.json (97%) rename {src => core/src}/actions/auth.ts (100%) rename {src => core/src}/actions/collections.ts (100%) rename {src => core/src}/actions/config.ts (100%) rename {src => core/src}/actions/entries.ts (100%) rename {src => core/src}/actions/media.ts (100%) rename {src => core/src}/actions/mediaLibrary.ts (100%) rename {src => core/src}/actions/scroll.ts (100%) rename {src => core/src}/actions/search.ts (100%) rename {src => core/src}/actions/status.ts (100%) rename {src => core/src}/actions/waitUntil.ts (100%) rename {src => core/src}/backend.ts (100%) rename {src => core/src}/backends/azure/API.ts (100%) rename {src => core/src}/backends/azure/AuthenticationPage.tsx (100%) rename {src => core/src}/backends/azure/implementation.ts (100%) rename {src => core/src}/backends/azure/index.ts (100%) rename {src => core/src}/backends/bitbucket/API.ts (100%) rename {src => core/src}/backends/bitbucket/AuthenticationPage.tsx (100%) rename {src => core/src}/backends/bitbucket/git-lfs-client.ts (100%) rename {src => core/src}/backends/bitbucket/implementation.ts (100%) rename {src => core/src}/backends/bitbucket/index.ts (100%) rename {src => core/src}/backends/git-gateway/AuthenticationPage.tsx (100%) rename {src => core/src}/backends/git-gateway/GitHubAPI.ts (100%) rename {src => core/src}/backends/git-gateway/GitLabAPI.ts (100%) rename {src => core/src}/backends/git-gateway/implementation.tsx (100%) rename {src => core/src}/backends/git-gateway/index.ts (100%) rename {src => core/src}/backends/git-gateway/netlify-lfs-client.ts (100%) rename {src => core/src}/backends/github/API.ts (100%) rename {src => core/src}/backends/github/AuthenticationPage.tsx (100%) rename {src => core/src}/backends/github/GraphQLAPI.ts (100%) rename {src => core/src}/backends/github/fragmentTypes.ts (100%) rename {src => core/src}/backends/github/fragments.ts (100%) rename {src => core/src}/backends/github/implementation.tsx (98%) rename {src => core/src}/backends/github/index.ts (100%) rename {src => core/src}/backends/github/mutations.ts (100%) rename {src => core/src}/backends/github/queries.ts (100%) rename {src => core/src}/backends/github/scripts/createFragmentTypes.ts (100%) rename {src => core/src}/backends/gitlab/API.ts (77%) rename {src => core/src}/backends/gitlab/AuthenticationPage.tsx (93%) rename {src => core/src}/backends/gitlab/implementation.ts (95%) rename {src => core/src}/backends/gitlab/index.ts (100%) rename {src => core/src}/backends/gitlab/queries.ts (100%) rename {src => core/src}/backends/index.tsx (100%) rename {src => core/src}/backends/proxy/AuthenticationPage.tsx (100%) rename {src => core/src}/backends/proxy/implementation.ts (100%) rename {src => core/src}/backends/proxy/index.ts (100%) rename {src => core/src}/backends/test/AuthenticationPage.tsx (100%) rename {src => core/src}/backends/test/implementation.ts (100%) rename {src => core/src}/backends/test/index.ts (100%) rename {src => core/src}/bootstrap.tsx (100%) rename {src => core/src}/components/App/App.tsx (100%) rename {src => core/src}/components/App/Header.tsx (100%) rename {src => core/src}/components/App/MainView.tsx (100%) rename {src => core/src}/components/App/NotFoundPage.tsx (100%) rename {src => core/src}/components/Collection/Collection.tsx (100%) rename {src => core/src}/components/Collection/CollectionControls.tsx (100%) rename {src => core/src}/components/Collection/CollectionRoute.tsx (100%) rename {src => core/src}/components/Collection/CollectionSearch.tsx (100%) rename {src => core/src}/components/Collection/CollectionTop.tsx (100%) rename {src => core/src}/components/Collection/Entries/Entries.tsx (100%) rename {src => core/src}/components/Collection/Entries/EntriesCollection.tsx (100%) rename {src => core/src}/components/Collection/Entries/EntriesSearch.tsx (100%) rename {src => core/src}/components/Collection/Entries/EntryCard.tsx (100%) rename {src => core/src}/components/Collection/Entries/EntryListing.tsx (100%) rename {src => core/src}/components/Collection/FilterControl.tsx (100%) rename {src => core/src}/components/Collection/GroupControl.tsx (100%) rename {src => core/src}/components/Collection/NestedCollection.tsx (100%) rename {src => core/src}/components/Collection/Sidebar.tsx (100%) rename {src => core/src}/components/Collection/SortControl.tsx (100%) rename {src => core/src}/components/Collection/ViewStyleControl.tsx (100%) rename {src => core/src}/components/Editor/Editor.tsx (100%) rename {src => core/src}/components/Editor/EditorControlPane/EditorControl.tsx (100%) rename {src => core/src}/components/Editor/EditorControlPane/EditorControlPane.tsx (100%) rename {src => core/src}/components/Editor/EditorInterface.tsx (100%) rename {src => core/src}/components/Editor/EditorPreviewPane/EditorPreview.tsx (100%) rename {src => core/src}/components/Editor/EditorPreviewPane/EditorPreviewContent.tsx (100%) rename {src => core/src}/components/Editor/EditorPreviewPane/EditorPreviewPane.tsx (100%) rename {src => core/src}/components/Editor/EditorPreviewPane/PreviewHOC.tsx (100%) rename {src => core/src}/components/Editor/EditorRoute.tsx (100%) rename {src => core/src}/components/Editor/EditorToolbar.tsx (100%) rename {src => core/src}/components/EditorWidgets/Unknown/UnknownControl.tsx (100%) rename {src => core/src}/components/EditorWidgets/Unknown/UnknownPreview.tsx (100%) rename {src => core/src}/components/EditorWidgets/index.ts (100%) rename {src => core/src}/components/MediaLibrary/EmptyMessage.tsx (100%) rename {src => core/src}/components/MediaLibrary/MediaLibrary.tsx (100%) rename {src => core/src}/components/MediaLibrary/MediaLibraryButtons.tsx (100%) rename {src => core/src}/components/MediaLibrary/MediaLibraryCard.tsx (100%) rename {src => core/src}/components/MediaLibrary/MediaLibraryCardGrid.tsx (100%) rename {src => core/src}/components/MediaLibrary/MediaLibraryModal.tsx (100%) rename {src => core/src}/components/MediaLibrary/MediaLibrarySearch.tsx (100%) rename {src => core/src}/components/MediaLibrary/MediaLibraryTop.tsx (100%) rename {src => core/src}/components/UI/Alert.tsx (100%) rename {src => core/src}/components/UI/AuthenticationPage.tsx (100%) rename {src => core/src}/components/UI/Confirm.tsx (100%) rename {src => core/src}/components/UI/ErrorBoundary.tsx (100%) rename {src => core/src}/components/UI/FieldLabel.tsx (100%) rename {src => core/src}/components/UI/FileUploadButton.tsx (100%) rename {src => core/src}/components/UI/GoBackButton.tsx (100%) rename {src => core/src}/components/UI/Icon.tsx (100%) rename {src => core/src}/components/UI/Icon/icons.tsx (100%) rename {src => core/src}/components/UI/Icon/images/_index.tsx (100%) rename {src => core/src}/components/UI/Icon/images/azure.svg (100%) rename {src => core/src}/components/UI/Icon/images/bitbucket.svg (100%) rename {src => core/src}/components/UI/Icon/images/github.svg (100%) rename {src => core/src}/components/UI/Icon/images/gitlab.svg (100%) rename {src => core/src}/components/UI/Icon/images/static-cms-logo.svg (100%) rename {src => core/src}/components/UI/ListItemTopBar.tsx (100%) rename {src => core/src}/components/UI/Loader.tsx (100%) rename {src => core/src}/components/UI/NavLink.tsx (100%) rename {src => core/src}/components/UI/ObjectWidgetTopBar.tsx (100%) rename {src => core/src}/components/UI/Outline.tsx (100%) rename {src => core/src}/components/UI/ScrollTop.tsx (100%) rename {src => core/src}/components/UI/SettingsDropdown.tsx (100%) rename {src => core/src}/components/UI/WidgetPreviewContainer.tsx (100%) rename {src => core/src}/components/UI/index.ts (100%) rename {src => core/src}/components/UI/styles.tsx (100%) rename {src => core/src}/components/page/Page.tsx (100%) rename {src => core/src}/components/snackbar/Snackbars.tsx (100%) rename {src => core/src}/constants/collectionTypes.ts (100%) rename {src => core/src}/constants/collectionViews.ts (100%) rename {src => core/src}/constants/commitProps.ts (100%) rename {src => core/src}/constants/configSchema.tsx (100%) rename {src => core/src}/constants/fieldInference.tsx (100%) rename {src => core/src}/constants/files.ts (100%) rename {src => core/src}/constants/validationErrorTypes.ts (100%) rename {src => core/src}/editor-components/editorPlugin.ts (100%) rename {src => core/src}/editor-components/image/index.tsx (100%) rename {src => core/src}/editor-components/index.tsx (100%) rename {src => core/src}/extensions.ts (100%) rename {src => core/src}/formats/formats.ts (100%) rename {src => core/src}/formats/frontmatter.ts (100%) rename {src => core/src}/formats/helpers.ts (100%) rename {src => core/src}/formats/json.ts (100%) rename {src => core/src}/formats/toml.ts (100%) rename {src => core/src}/formats/yaml.ts (100%) rename {src => core/src}/index.ts (100%) rename {src => core/src}/integrations/index.ts (100%) rename {src => core/src}/integrations/providers/algolia/implementation.ts (100%) rename {src => core/src}/integrations/providers/assetStore/implementation.ts (100%) rename {src => core/src}/interface.ts (99%) rename {src => core/src}/lib/auth/implicit-oauth.ts (100%) rename {src => core/src}/lib/auth/index.ts (100%) rename {src => core/src}/lib/auth/netlify-auth.ts (100%) rename {src => core/src}/lib/auth/pkce-oauth.ts (100%) rename {src => core/src}/lib/auth/utils.ts (100%) rename {src => core/src}/lib/consoleError.ts (100%) rename {src => core/src}/lib/formatters.ts (100%) rename {src => core/src}/lib/i18n.ts (100%) rename {src => core/src}/lib/index.tsx (100%) rename {src => core/src}/lib/phrases.ts (100%) rename {src => core/src}/lib/registry.ts (100%) rename {src => core/src}/lib/serializeEntryValues.ts (100%) rename {src => core/src}/lib/textHelper.ts (100%) rename {src => core/src}/lib/urlHelper.ts (100%) rename {src => core/src}/lib/util/API.ts (100%) rename {src => core/src}/lib/util/APIError.ts (100%) rename {src => core/src}/lib/util/APIUtils.ts (100%) rename {src => core/src}/lib/util/AccessTokenError.ts (100%) rename {src => core/src}/lib/util/Cursor.ts (100%) rename {src => core/src}/lib/util/__tests__/object.util.ts (100%) rename {src => core/src}/lib/util/asyncLock.ts (100%) rename {src => core/src}/lib/util/backendUtil.ts (100%) rename {src => core/src}/lib/util/collection.util.ts (100%) rename {src => core/src}/lib/util/events/AlertEvent.ts (100%) rename {src => core/src}/lib/util/events/ConfirmEvent.ts (100%) rename {src => core/src}/lib/util/fetch.util.ts (100%) rename {src => core/src}/lib/util/field.util.ts (100%) rename {src => core/src}/lib/util/getBlobSHA.ts (100%) rename {src => core/src}/lib/util/git-lfs.ts (100%) rename {src => core/src}/lib/util/implementation.ts (100%) rename {src => core/src}/lib/util/index.ts (100%) rename {src => core/src}/lib/util/loadScript.ts (100%) rename {src => core/src}/lib/util/localForage.ts (100%) rename {src => core/src}/lib/util/media.util.ts (100%) rename {src => core/src}/lib/util/null.util.ts (100%) rename {src => core/src}/lib/util/object.util.ts (100%) rename {src => core/src}/lib/util/path.ts (100%) rename {src => core/src}/lib/util/promise.ts (100%) rename {src => core/src}/lib/util/sort.util.ts (100%) rename {src => core/src}/lib/util/string.util.ts (100%) rename {src => core/src}/lib/util/transientOptions.ts (100%) rename {src => core/src}/lib/util/unsentRequest.ts (100%) rename {src => core/src}/lib/util/validation.util.ts (100%) rename {src => core/src}/lib/util/window.util.ts (100%) rename {src => core/src}/lib/widgets/index.ts (100%) rename {src => core/src}/lib/widgets/stringTemplate.ts (100%) rename {src => core/src}/lib/widgets/validations.ts (100%) rename {src => core/src}/locales/bg/index.ts (100%) rename {src => core/src}/locales/ca/index.ts (100%) rename {src => core/src}/locales/cs/index.ts (100%) rename {src => core/src}/locales/da/index.ts (100%) rename {src => core/src}/locales/de/index.ts (100%) rename {src => core/src}/locales/en/index.ts (100%) rename {src => core/src}/locales/es/index.ts (100%) rename {src => core/src}/locales/fr/index.ts (100%) rename {src => core/src}/locales/gr/index.ts (100%) rename {src => core/src}/locales/he/index.ts (100%) rename {src => core/src}/locales/hr/index.ts (100%) rename {src => core/src}/locales/hu/index.ts (100%) rename {src => core/src}/locales/index.ts (100%) rename {src => core/src}/locales/it/index.ts (100%) rename {src => core/src}/locales/ja/index.ts (100%) rename {src => core/src}/locales/ko/index.ts (100%) rename {src => core/src}/locales/lt/index.ts (100%) rename {src => core/src}/locales/nb_no/index.ts (100%) rename {src => core/src}/locales/nl/index.ts (100%) rename {src => core/src}/locales/nn_no/index.ts (100%) rename {src => core/src}/locales/pl/index.ts (100%) rename {src => core/src}/locales/pt/index.ts (100%) rename {src => core/src}/locales/ro/index.ts (100%) rename {src => core/src}/locales/ru/index.ts (100%) rename {src => core/src}/locales/sv/index.ts (100%) rename {src => core/src}/locales/th/index.ts (100%) rename {src => core/src}/locales/tr/index.ts (100%) rename {src => core/src}/locales/uk/index.ts (100%) rename {src => core/src}/locales/vi/index.ts (100%) rename {src => core/src}/locales/zh_Hans/index.ts (100%) rename {src => core/src}/locales/zh_Hant/index.ts (100%) rename {src => core/src}/media-libraries/cloudinary/index.ts (100%) rename {src => core/src}/media-libraries/index.tsx (100%) rename {src => core/src}/media-libraries/uploadcare/index.ts (100%) rename {src => core/src}/mediaLibrary.ts (100%) rename {src => core/src}/reducers/auth.ts (100%) rename {src => core/src}/reducers/collections.ts (100%) rename {src => core/src}/reducers/combinedReducer.ts (100%) rename {src => core/src}/reducers/config.ts (100%) rename {src => core/src}/reducers/cursors.ts (100%) rename {src => core/src}/reducers/entries.ts (100%) rename {src => core/src}/reducers/entryDraft.ts (100%) rename {src => core/src}/reducers/globalUI.ts (100%) rename {src => core/src}/reducers/index.ts (100%) rename {src => core/src}/reducers/integrations.ts (100%) rename {src => core/src}/reducers/mediaLibrary.ts (100%) rename {src => core/src}/reducers/medias.ts (100%) rename {src => core/src}/reducers/scroll.ts (100%) rename {src => core/src}/reducers/search.ts (100%) rename {src => core/src}/reducers/status.ts (100%) rename {src => core/src}/routing/history.ts (100%) rename {src => core/src}/store/hooks.ts (100%) rename {src => core/src}/store/index.ts (100%) rename {src => core/src}/store/middleware/waitUntilAction.ts (100%) rename {src => core/src}/store/slices/snackbars.ts (100%) rename {src => core/src}/types/constants.d.ts (100%) rename {src => core/src}/types/css.d.ts (100%) rename {src => core/src}/types/diacritics.d.ts (100%) rename {src => core/src}/types/global.d.ts (100%) rename {src => core/src}/types/ini.d.ts (100%) rename {src => core/src}/types/markdown.d.ts (100%) rename {src => core/src}/types/semaphore.d.ts (100%) rename {src => core/src}/types/svg.d.ts (100%) rename {src => core/src}/types/tomlify-j0.4.d.ts (100%) rename {src => core/src}/types/uploadcare.d.ts (100%) rename {src => core/src}/types/what-the-diff.d.ts (100%) rename {src => core/src}/valueObjects/AssetProxy.ts (100%) rename {src => core/src}/valueObjects/EditorComponent.ts (100%) rename {src => core/src}/valueObjects/Entry.ts (100%) rename {src => core/src}/widgets/boolean/BooleanControl.tsx (100%) rename {src => core/src}/widgets/boolean/index.ts (100%) rename {src => core/src}/widgets/code/CodeControl.tsx (100%) rename {src => core/src}/widgets/code/CodePreview.tsx (100%) rename {src => core/src}/widgets/code/SettingsButton.tsx (100%) rename {src => core/src}/widgets/code/SettingsPane.tsx (100%) rename {src => core/src}/widgets/code/data/languages-raw.yml (100%) rename {src => core/src}/widgets/code/data/languages.ts (100%) rename {src => core/src}/widgets/code/index.ts (100%) rename {src => core/src}/widgets/code/languageSelectStyles.ts (100%) rename {src => core/src}/widgets/code/schema.ts (100%) rename {src => core/src}/widgets/code/scripts/process-languages.ts (100%) rename {src => core/src}/widgets/colorstring/ColorControl.tsx (100%) rename {src => core/src}/widgets/colorstring/ColorPreview.tsx (100%) rename {src => core/src}/widgets/colorstring/index.ts (100%) rename {src => core/src}/widgets/datetime/DateTimeControl.tsx (100%) rename {src => core/src}/widgets/datetime/DateTimePreview.tsx (100%) rename {src => core/src}/widgets/datetime/index.tsx (100%) rename {src => core/src}/widgets/datetime/schema.ts (100%) rename {src => core/src}/widgets/file/FilePreview.tsx (100%) rename {src => core/src}/widgets/file/index.ts (100%) rename {src => core/src}/widgets/file/schema.ts (100%) rename {src => core/src}/widgets/file/withFileControl.tsx (100%) rename {src => core/src}/widgets/image/ImagePreview.tsx (100%) rename {src => core/src}/widgets/image/index.ts (100%) rename {src => core/src}/widgets/image/schema.ts (100%) rename {src => core/src}/widgets/index.tsx (100%) rename {src => core/src}/widgets/list/ListControl.tsx (100%) rename {src => core/src}/widgets/list/ListItem.tsx (100%) rename {src => core/src}/widgets/list/index.ts (100%) rename {src => core/src}/widgets/list/schema.ts (100%) rename {src => core/src}/widgets/list/typedListHelpers.ts (100%) rename {src => core/src}/widgets/map/MapPreview.tsx (100%) rename {src => core/src}/widgets/map/index.ts (100%) rename {src => core/src}/widgets/map/schema.ts (100%) rename {src => core/src}/widgets/map/withMapControl.tsx (100%) rename {src => core/src}/widgets/markdown/MarkdownControl.tsx (100%) rename {src => core/src}/widgets/markdown/MarkdownPreview.tsx (100%) rename {src => core/src}/widgets/markdown/index.ts (100%) rename {src => core/src}/widgets/markdown/regexHelper.ts (100%) rename {src => core/src}/widgets/markdown/schema.ts (100%) rename {src => core/src}/widgets/markdown/serializers.ts (100%) rename {src => core/src}/widgets/markdown/styles.ts (100%) rename {src => core/src}/widgets/markdown/types.ts (100%) rename {src => core/src}/widgets/number/NumberControl.tsx (100%) rename {src => core/src}/widgets/number/NumberPreview.tsx (100%) rename {src => core/src}/widgets/number/index.ts (100%) rename {src => core/src}/widgets/number/schema.ts (100%) rename {src => core/src}/widgets/object/ObjectControl.tsx (100%) rename {src => core/src}/widgets/object/ObjectPreview.tsx (100%) rename {src => core/src}/widgets/object/index.ts (100%) rename {src => core/src}/widgets/object/schema.ts (100%) rename {src => core/src}/widgets/relation/RelationControl.tsx (100%) rename {src => core/src}/widgets/relation/RelationPreview.tsx (100%) rename {src => core/src}/widgets/relation/index.ts (100%) rename {src => core/src}/widgets/relation/schema.ts (100%) rename {src => core/src}/widgets/select/SelectControl.tsx (100%) rename {src => core/src}/widgets/select/SelectPreview.tsx (100%) rename {src => core/src}/widgets/select/index.ts (100%) rename {src => core/src}/widgets/select/schema.ts (100%) rename {src => core/src}/widgets/string/StringControl.tsx (100%) rename {src => core/src}/widgets/string/StringPreview.tsx (100%) rename {src => core/src}/widgets/string/index.ts (100%) rename {src => core/src}/widgets/text/TextControl.tsx (100%) rename {src => core/src}/widgets/text/TextPreview.tsx (100%) rename {src => core/src}/widgets/text/index.ts (100%) rename tsconfig.json => core/tsconfig.json (100%) rename webpack.config.js => core/webpack.config.js (100%) rename yarn.lock => core/yarn.lock (98%) delete mode 100644 renovate.json delete mode 100644 setupTestFramework.js delete mode 100644 website/.babelrc create mode 100644 website/.editorconfig create mode 100644 website/.eslintignore create mode 100644 website/.eslintrc.js create mode 100644 website/.eslintrc.json delete mode 100644 website/.markdownlint.json delete mode 100644 website/.nvmrc create mode 100644 website/.prettierignore create mode 100644 website/.prettierrc delete mode 100644 website/README.md delete mode 100644 website/content/.keep delete mode 100644 website/content/blog/welcome-to-simple-cms.md create mode 100644 website/content/community.json create mode 100644 website/content/config.json create mode 100644 website/content/docs/add-to-your-site-bundling.mdx rename website/content/docs/{add-to-your-site.md => add-to-your-site-cdn.mdx} (66%) create mode 100644 website/content/docs/add-to-your-site.mdx rename website/content/docs/{architecture.md => architecture.mdx} (99%) rename website/content/docs/{azure-backend.md => azure-backend.mdx} (98%) rename website/content/docs/{backends-overview.md => backends-overview.mdx} (100%) rename website/content/docs/{beta-features.md => beta-features.mdx} (80%) rename website/content/docs/{bitbucket-backend.md => bitbucket-backend.mdx} (94%) rename website/content/docs/{cloudinary.md => cloudinary.mdx} (97%) rename website/content/docs/{collection-types.md => collection-types.mdx} (71%) rename website/content/docs/{configuration-options.md => configuration-options.mdx} (93%) rename website/content/docs/{contributor-guide.md => contributor-guide.mdx} (100%) rename website/content/docs/{custom-widgets.md => custom-widgets.mdx} (97%) rename website/content/docs/{customization.md => customization.mdx} (91%) rename website/content/docs/{docusaurus.md => docusaurus.mdx} (93%) rename website/content/docs/{examples.md => examples.mdx} (100%) rename website/content/docs/{external-oauth-clients.md => external-oauth-clients.mdx} (100%) rename website/content/docs/{gatsby.md => gatsby.mdx} (94%) rename website/content/docs/{git-gateway-backend.md => git-gateway-backend.mdx} (89%) rename website/content/docs/{github-backend.md => github-backend.mdx} (98%) rename website/content/docs/{gitlab-backend.md => gitlab-backend.mdx} (60%) rename website/content/docs/{gridsome.md => gridsome.mdx} (92%) rename website/content/docs/{hugo.md => hugo.mdx} (95%) rename website/content/docs/{intro.md => intro.mdx} (81%) rename website/content/docs/{jekyll.md => jekyll.mdx} (85%) rename website/content/docs/{middleman.md => middleman.mdx} (96%) rename website/content/docs/{netlify-large-media.md => netlify-large-media.mdx} (99%) rename website/content/docs/{nextjs.md => nextjs.mdx} (93%) rename website/content/docs/{nuxt.md => nuxt.mdx} (96%) rename website/content/docs/{releases.md => releases.mdx} (100%) rename website/content/docs/{site-generator-overview.md => site-generator-overview.mdx} (100%) delete mode 100644 website/content/docs/start-with-a-template.md create mode 100644 website/content/docs/start-with-a-template.mdx rename website/content/docs/{test-backend.md => test-backend.mdx} (96%) rename website/content/docs/{uploadcare.md => uploadcare.mdx} (98%) rename website/content/docs/{widgets/boolean.md => widget-boolean.mdx} (72%) rename website/content/docs/{widgets/code.md => widget-code.mdx} (92%) rename website/content/docs/{widgets/color.md => widget-color.mdx} (72%) rename website/content/docs/{widgets/datetime.md => widget-datetime.mdx} (95%) rename website/content/docs/{widgets/file.md => widget-file.mdx} (95%) rename website/content/docs/{widgets/hidden.md => widget-hidden.mdx} (79%) rename website/content/docs/{widgets/image.md => widget-image.mdx} (96%) rename website/content/docs/{widgets/list.md => widget-list.mdx} (75%) rename website/content/docs/{widgets/map.md => widget-map.mdx} (85%) rename website/content/docs/{widgets/markdown.md => widget-markdown.mdx} (94%) rename website/content/docs/{widgets/number.md => widget-number.mdx} (93%) rename website/content/docs/{widgets/object.md => widget-object.mdx} (68%) rename website/content/docs/{widgets/relation.md => widget-relation.mdx} (97%) rename website/content/docs/{widgets/select.md => widget-select.mdx} (94%) rename website/content/docs/{widgets/string.md => widget-string.mdx} (75%) rename website/content/docs/{widgets/text.md => widget-text.mdx} (74%) rename website/content/docs/{widgets.md => widgets.mdx} (84%) delete mode 100644 website/content/docs/widgets/date.md delete mode 100644 website/content/docs/writing-style-guide.md create mode 100644 website/content/docs/writing-style-guide.mdx create mode 100644 website/content/homepage.json create mode 100644 website/content/menu.json delete mode 100644 website/content/pages/community.md create mode 100644 website/content/releases.json delete mode 100644 website/data/.keep delete mode 100644 website/data/docs.yml delete mode 100644 website/data/global.yaml delete mode 100644 website/data/landing.yaml delete mode 100644 website/data/notifications.yml delete mode 100644 website/data/updates.yml delete mode 100644 website/gatsby-browser.js delete mode 100644 website/gatsby-config.js delete mode 100644 website/gatsby-node.js create mode 100644 website/next.config.js rename website/{static => public}/_redirects (100%) create mode 100644 website/public/favicon-32x32.png create mode 100644 website/public/favicon.ico rename website/{static/img => public}/favicon/apple-touch-icon.png (100%) rename website/{static/img => public}/favicon/browserconfig.xml (100%) rename website/{static/img => public}/favicon/favicon-16x16.png (100%) rename website/{static/img => public}/favicon/favicon-32x32.png (100%) rename website/{static/img => public}/favicon/favicon.ico (100%) rename website/{static/img => public}/favicon/icon-512x512.png (100%) rename website/{static/img => public}/favicon/mstile-144x144.png (100%) rename website/{static/img => public}/favicon/mstile-150x150.png (100%) rename website/{static/img => public}/favicon/mstile-310x150.png (100%) rename website/{static/img => public}/favicon/mstile-310x310.png (100%) rename website/{static/img => public}/favicon/mstile-70x70.png (100%) rename website/{static/img => public}/favicon/safari-pinned-tab.svg (100%) create mode 100644 website/public/icons/icon-144x144.png create mode 100644 website/public/icons/icon-192x192.png create mode 100644 website/public/icons/icon-256x256.png create mode 100644 website/public/icons/icon-384x384.png create mode 100644 website/public/icons/icon-48x48.png create mode 100644 website/public/icons/icon-512x512.png create mode 100644 website/public/icons/icon-72x72.png create mode 100644 website/public/icons/icon-96x96.png rename website/{static => public}/img/11ty-logo.svg (100%) create mode 100644 website/public/img/cloudinary-console-details.webp rename website/{src/img/feature-editor.svg => public/img/editor-friendly-user-interface.svg} (100%) rename website/{static => public}/img/gatsby.svg (100%) rename website/{static => public}/img/hugo.svg (100%) rename website/{src/img/feature-access.svg => public/img/instant-access-without-github-account.svg} (100%) rename website/{static => public}/img/metalsmith.svg (100%) rename website/{static => public}/img/middleman.svg (100%) rename website/{static => public}/img/nextjs.svg (100%) rename website/{static => public}/img/nuxt.svg (100%) rename website/{static => public}/img/preact.svg (100%) create mode 100644 website/public/img/screenshot-editor.webp create mode 100644 website/public/manifest.webmanifest create mode 100644 website/public/prism-dark.css create mode 100644 website/public/prism-light.css rename website/{src/img => public}/static-cms-logo.svg (100%) create mode 100644 website/public/vercel.svg delete mode 100644 website/site.yml delete mode 100644 website/src/cms/cms.js delete mode 100644 website/src/components/blog-post-template.js delete mode 100644 website/src/components/button.js delete mode 100644 website/src/components/chat-button.js delete mode 100644 website/src/components/community-channels-list.js delete mode 100644 website/src/components/community.js create mode 100644 website/src/components/community/CommunitySection.tsx delete mode 100644 website/src/components/container.js create mode 100644 website/src/components/context/ColorModeContext.tsx delete mode 100644 website/src/components/docs-nav.js delete mode 100644 website/src/components/docs-template.js create mode 100644 website/src/components/docs/DocsContent.tsx create mode 100644 website/src/components/docs/DocsLeftNav.tsx create mode 100644 website/src/components/docs/DocsLeftNavGroup.tsx create mode 100644 website/src/components/docs/DocsRightNav.tsx create mode 100644 website/src/components/docs/components/Blockquote.tsx create mode 100644 website/src/components/docs/components/Header2.tsx create mode 100644 website/src/components/docs/components/Header3.tsx create mode 100644 website/src/components/docs/table_of_contents/DocsHeadings.tsx create mode 100644 website/src/components/docs/table_of_contents/DocsTableOfContents.tsx delete mode 100644 website/src/components/docsearch.js delete mode 100644 website/src/components/edit-link.js delete mode 100644 website/src/components/event-box.js delete mode 100644 website/src/components/features.js delete mode 100644 website/src/components/footer.js delete mode 100644 website/src/components/github-button.js delete mode 100644 website/src/components/grid.js delete mode 100644 website/src/components/header.js delete mode 100644 website/src/components/hero-title.js delete mode 100644 website/src/components/home-section.js delete mode 100644 website/src/components/layout.js create mode 100644 website/src/components/layout/Container.tsx create mode 100644 website/src/components/layout/Footer.tsx create mode 100644 website/src/components/layout/Header.tsx create mode 100644 website/src/components/layout/Page.tsx delete mode 100644 website/src/components/lead.js delete mode 100644 website/src/components/markdown.js delete mode 100644 website/src/components/markdownify.js delete mode 100644 website/src/components/meta-info.js create mode 100644 website/src/components/meta/BasicMeta.tsx create mode 100644 website/src/components/meta/JsonLdMeta.tsx create mode 100644 website/src/components/meta/OpenGraphMeta.tsx create mode 100644 website/src/components/meta/TwitterCardMeta.tsx delete mode 100644 website/src/components/notification.js delete mode 100644 website/src/components/notifications.js delete mode 100644 website/src/components/page-hero.js delete mode 100644 website/src/components/page.js delete mode 100644 website/src/components/release.js delete mode 100644 website/src/components/section-label.js delete mode 100644 website/src/components/sidebar-layout.js delete mode 100644 website/src/components/table-of-contents.js delete mode 100644 website/src/components/twitter-meta.js delete mode 100644 website/src/components/video-embed.js delete mode 100644 website/src/components/whats-new.js delete mode 100644 website/src/components/widget-doc.js delete mode 100644 website/src/components/widgets.js create mode 100644 website/src/constants.ts delete mode 100644 website/src/global-styles.js delete mode 100644 website/src/html.js delete mode 100644 website/src/img/bow.svg delete mode 100644 website/src/img/collab.svg delete mode 100644 website/src/img/demo.gif delete mode 100644 website/src/img/feature-workflow.svg delete mode 100644 website/src/img/github.svg delete mode 100644 website/src/img/heart.svg delete mode 100644 website/src/img/helix.svg delete mode 100644 website/src/img/netlify-logo.svg delete mode 100644 website/src/img/play.svg delete mode 100644 website/src/img/screenshot-content.png delete mode 100644 website/src/img/screenshot-editor.jpg delete mode 100644 website/src/img/screenshot-editor.png delete mode 100644 website/src/img/screenshot-editorial.png delete mode 100644 website/src/img/screenshot-identity.png delete mode 100644 website/src/img/search.svg delete mode 100644 website/src/img/smashing-logo.svg delete mode 100644 website/src/img/wavy-divider.svg create mode 100644 website/src/interface.ts create mode 100644 website/src/lib/community.ts create mode 100644 website/src/lib/config.ts create mode 100644 website/src/lib/docs.ts create mode 100644 website/src/lib/homepage.ts create mode 100644 website/src/lib/menu.ts create mode 100644 website/src/lib/releases.ts create mode 100644 website/src/pages/_app.tsx create mode 100644 website/src/pages/_document.tsx delete mode 100644 website/src/pages/blog.js delete mode 100644 website/src/pages/community.js create mode 100644 website/src/pages/community.tsx create mode 100644 website/src/pages/docs/[doc].tsx delete mode 100644 website/src/pages/index.js create mode 100644 website/src/pages/index.tsx create mode 100644 website/src/styles/globals.css create mode 100644 website/src/styles/theme.ts delete mode 100644 website/src/templates/blog-post.js delete mode 100644 website/src/templates/doc-page.js delete mode 100644 website/src/theme.js create mode 100644 website/src/util/null.util.ts create mode 100644 website/src/util/string.util.ts create mode 100644 website/src/util/transientOptions.ts delete mode 100644 website/src/utils.js delete mode 100644 website/src/writing-guide/styles/Avoid/Acronyms.yml delete mode 100644 website/src/writing-guide/styles/Avoid/Adverbs.yml delete mode 100644 website/src/writing-guide/styles/Avoid/Archaisms.yml delete mode 100644 website/src/writing-guide/styles/Avoid/Cliches.yml delete mode 100644 website/src/writing-guide/styles/Avoid/Hyperbole.yml delete mode 100644 website/src/writing-guide/styles/Avoid/Indirect.yml delete mode 100644 website/src/writing-guide/styles/Avoid/Jargon.yml delete mode 100644 website/src/writing-guide/styles/Avoid/Passive.yml delete mode 100644 website/src/writing-guide/styles/Avoid/Simplify.yml delete mode 100644 website/src/writing-guide/styles/README.md delete mode 100644 website/src/writing-guide/styles/README_proselint.md delete mode 100644 website/src/writing-guide/styles/Replace/Diacritical.yml delete mode 100644 website/src/writing-guide/styles/Replace/GenderBias.yml delete mode 100644 website/src/writing-guide/styles/Replace/Needless.yml delete mode 100644 website/src/writing-guide/styles/Replace/Nonwords.yml delete mode 100644 website/src/writing-guide/styles/Replace/Offensive.yml delete mode 100644 website/src/writing-guide/styles/Replace/Typography.yml delete mode 100644 website/src/writing-guide/styles/Replace/Variants.yml delete mode 100644 website/src/writing-guide/styles/archive/Paragraph.yml delete mode 100644 website/src/writing-guide/styles/archive/Sentence.yml delete mode 100644 website/src/writing-guide/vocab/accept.txt delete mode 100644 website/src/writing-guide/vocab/reject.txt delete mode 100644 website/static/.keep delete mode 100644 website/static/admin/config.yml delete mode 100644 website/static/img/cloudinary-console-details.png delete mode 100644 website/static/img/create-password.png delete mode 100644 website/static/img/email-subject.png delete mode 100644 website/static/img/github-statuses-deploy-previews.png delete mode 100644 website/static/img/hugo_shortcode_gist.png delete mode 100644 website/static/img/preview-link-check.png delete mode 100644 website/static/img/preview-link-published.png delete mode 100644 website/static/img/preview-link-unpublished.png delete mode 100644 website/static/img/screen shot 2018-01-05 at 4.25.07 pm.png delete mode 100644 website/static/img/screen-shot-2020-08-20-at-14.36.26.png delete mode 100644 website/static/img/screen-shot-2021-11-15-at-4.16.53-pm.png delete mode 100644 website/static/img/screen-shot-2021-11-16-at-1.34.18-PM.png delete mode 100644 website/static/img/screenshot-jekyll-tutorial-blog.png delete mode 100644 website/static/img/simple-cms-external-media-library.png delete mode 100644 website/static/img/simple-cms.png delete mode 100644 website/static/img/slack.png delete mode 100644 website/static/img/slack.svg delete mode 100644 website/static/img/uc-logo-horizontal.svg delete mode 100644 website/static/img/widgets-markdown.PNG create mode 100644 website/tsconfig.json diff --git a/.github/workflows/website-publish.yml b/.github/workflows/website-publish.yml deleted file mode 100644 index 99c58a6c..00000000 --- a/.github/workflows/website-publish.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Website Publish - -on: - push: - paths: - - website/** - branches: - - main - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '16' - cache: 'yarn' - cache-dependency-path: 'website/yarn.lock' - - name: Install - working-directory: website - run: yarn install --immutable - - name: Build - working-directory: website - run: yarn build - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.ACCESS_TOKEN }} - publish_dir: website/dist \ No newline at end of file diff --git a/.gitignore b/.gitignore index f2d86625..a20dab97 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ dist/ bin/ -public/ node_modules/ npm-debug.log .DS_Store @@ -20,3 +19,4 @@ coverage/ .env .temp/ *.tgz +old-website diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index cbe86a23..00000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ ---lts diff --git a/.stylelintrc b/.stylelintrc deleted file mode 100644 index 5db28b50..00000000 --- a/.stylelintrc +++ /dev/null @@ -1,33 +0,0 @@ -{ - "processors": ["stylelint-processor-styled-components"], - "extends": ["stylelint-config-standard-scss", "stylelint-config-styled-components"], - "customSyntax": "postcss-scss", - "rules": { - "block-no-empty": null, - "no-duplicate-selectors": null, - "no-empty-source": null, - "no-extra-semicolons": null, - "declaration-empty-line-before": null, - "string-quotes": null, - "selector-class-pattern": null, - "selector-pseudo-element-colon-notation": null, - "rule-empty-line-before": null, - "declaration-colon-newline-after": null, - "at-rule-empty-line-before": null, - "alpha-value-notation": null, - "color-function-notation": null, - "keyframes-name-pattern": null, - "value-list-comma-newline-after": null, - "no-descending-specificity": null, - "selector-type-no-unknown": [ - true, - { - "ignoreTypes": ["$dummyValue"] - } - ], - "value-keyword-case": [ - "lower", - { "ignoreKeywords": ["dummyValue"], "camelCaseSvgKeywords": true } - ] - } -} diff --git a/.vale.ini b/.vale.ini deleted file mode 100644 index 866866c6..00000000 --- a/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = website/src/writing-guide/styles -Vocab = website/src/writing-guide/vocab -MinAlertLevel = warning - -[*.md] -BasedOnStyles = Avoid, Replace diff --git a/README.md b/README.md index be21487a..9438e098 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/StaticJsCMS/static-cms/blob/main/LICENSE) [![npm latest package](https://img.shields.io/npm/v/@staticcms/core/latest.svg)](https://www.npmjs.com/package/@staticcms/core) +[![npm next package](https://img.shields.io/npm/v/@staticcms/core/next.svg)](https://www.npmjs.com/package/@staticcms/core/v/next) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/StaticJsCMS/static-cms/blob/main/CONTRIBUTING.md) @@ -13,6 +14,8 @@ A CMS for static site generators. Give users a simple way to edit and add content to any site built with a static site generator. > **DISCLAIMER**: This package/repository is under heavy development and as such is very unstable at current. A stable release is targeted for the end of Novemeber and will be labeled `1.0.0`. Documentation may not be completely accurate prior to the `1.0.0` release. +> +> An alpha build for the stable release is available under the `@next` tack on npm. ## Community Chat @@ -35,87 +38,9 @@ Read more about Static CMS [Core Concepts](https://staticjscms.github.io/static- The Static CMS can be used in two different ways. * A Quick and easy install, that requires you to create a single HTML file and a configuration file. All the CMS JavaScript and CSS are loaded from a CDN. - To learn more about this installation method, refer to the [Quick Start Guide](https://staticjscms.github.io/static-cms/docs/start-with-a-template/) + To learn more about this installation method, refer to the [CDN Hosting Guide](https://staticjscms.github.io/static-cms/docs/add-to-your-site-cdn/) * A complete, more complex install, that gives you more flexibility but requires that you use a static site builder with a build system that supports npm packages. - -# static-cms-core - -## Installation - -`npm install @staticcms/core` - -## Setup - -```tsx -import React from 'react'; -import { - AzureBackend, - BitbucketBackend, - BooleanWidget, - CodeWidget, - ColorStringWidget, - DateTimeWidget, - FileWidget, - GitGatewayBackend, - GitHubBackend, - GitLabBackend, - imageEditorComponent, - ImageWidget, - ListWidget, - MapWidget, - MarkdownWidget, - StaticCmsCore as CMS, - NumberWidget, - ObjectWidget, - ProxyBackend, - RelationWidget, - SelectWidget, - StringWidget, - TestBackend, - TextWidget, - locales, - Icon, - images -} from '@static-cms/static-cms-core'; - -// Register all the things -CMS.registerBackend('git-gateway', GitGatewayBackend); -CMS.registerBackend('azure', AzureBackend); -CMS.registerBackend('github', GitHubBackend); -CMS.registerBackend('gitlab', GitLabBackend); -CMS.registerBackend('bitbucket', BitbucketBackend); -CMS.registerBackend('test-repo', TestBackend); -CMS.registerBackend('proxy', ProxyBackend); -CMS.registerWidget([ - StringWidget.Widget(), - NumberWidget.Widget(), - TextWidget.Widget(), - ImageWidget.Widget(), - FileWidget.Widget(), - SelectWidget.Widget(), - MarkdownWidget.Widget(), - ListWidget.Widget(), - ObjectWidget.Widget(), - RelationWidget.Widget(), - BooleanWidget.Widget(), - MapWidget.Widget(), - DateTimeWidget.Widget(), - CodeWidget.Widget(), - ColorStringWidget.Widget(), -]); -CMS.registerEditorComponent(imageEditorComponent); -CMS.registerEditorComponent({ - id: 'code-block', - label: 'Code Block', - widget: 'code', - type: 'code-block', -}); -CMS.registerLocale('en', locales.en); - -Object.keys(images).forEach(iconName => { - CMS.registerIcon(iconName, ); -}); -``` + To learn more about this installation method, refer to the [Bundling Guide](https://staticjscms.github.io/static-cms/docs/add-to-your-site-bundling/) # Contributing @@ -133,6 +58,6 @@ Please make sure you understand its [implications and guarantees](https://writin # Netlify CMS -Static CMS is a fork of Netlify CMS focusing on the core product over adding massive new features. +Static CMS is a fork of Netlify CMS focusing on the core product over adding massive, scope expanding, new features. # Thanks diff --git a/.editorconfig b/core/.editorconfig similarity index 100% rename from .editorconfig rename to core/.editorconfig diff --git a/.eslintignore b/core/.eslintignore similarity index 100% rename from .eslintignore rename to core/.eslintignore diff --git a/.eslintrc.js b/core/.eslintrc.js similarity index 100% rename from .eslintrc.js rename to core/.eslintrc.js diff --git a/.prettierignore b/core/.prettierignore similarity index 100% rename from .prettierignore rename to core/.prettierignore diff --git a/.prettierrc b/core/.prettierrc similarity index 100% rename from .prettierrc rename to core/.prettierrc diff --git a/babel.config.js b/core/babel.config.js similarity index 100% rename from babel.config.js rename to core/babel.config.js diff --git a/dev-test/Photo 1-lobby_FS.jpg b/core/dev-test/Photo 1-lobby_FS.jpg similarity index 100% rename from dev-test/Photo 1-lobby_FS.jpg rename to core/dev-test/Photo 1-lobby_FS.jpg diff --git a/dev-test/backends/azure/config.yml b/core/dev-test/backends/azure/config.yml similarity index 100% rename from dev-test/backends/azure/config.yml rename to core/dev-test/backends/azure/config.yml diff --git a/dev-test/backends/azure/index.html b/core/dev-test/backends/azure/index.html similarity index 100% rename from dev-test/backends/azure/index.html rename to core/dev-test/backends/azure/index.html diff --git a/dev-test/backends/bitbucket/config.yml b/core/dev-test/backends/bitbucket/config.yml similarity index 100% rename from dev-test/backends/bitbucket/config.yml rename to core/dev-test/backends/bitbucket/config.yml diff --git a/dev-test/backends/bitbucket/index.html b/core/dev-test/backends/bitbucket/index.html similarity index 100% rename from dev-test/backends/bitbucket/index.html rename to core/dev-test/backends/bitbucket/index.html diff --git a/dev-test/backends/git-gateway/config.yml b/core/dev-test/backends/git-gateway/config.yml similarity index 100% rename from dev-test/backends/git-gateway/config.yml rename to core/dev-test/backends/git-gateway/config.yml diff --git a/dev-test/backends/git-gateway/index.html b/core/dev-test/backends/git-gateway/index.html similarity index 100% rename from dev-test/backends/git-gateway/index.html rename to core/dev-test/backends/git-gateway/index.html diff --git a/dev-test/backends/github/config.yml b/core/dev-test/backends/github/config.yml similarity index 100% rename from dev-test/backends/github/config.yml rename to core/dev-test/backends/github/config.yml diff --git a/dev-test/backends/github/index.html b/core/dev-test/backends/github/index.html similarity index 100% rename from dev-test/backends/github/index.html rename to core/dev-test/backends/github/index.html diff --git a/dev-test/backends/gitlab/config.yml b/core/dev-test/backends/gitlab/config.yml similarity index 100% rename from dev-test/backends/gitlab/config.yml rename to core/dev-test/backends/gitlab/config.yml diff --git a/dev-test/backends/gitlab/index.html b/core/dev-test/backends/gitlab/index.html similarity index 100% rename from dev-test/backends/gitlab/index.html rename to core/dev-test/backends/gitlab/index.html diff --git a/dev-test/backends/proxy/config.yml b/core/dev-test/backends/proxy/config.yml similarity index 100% rename from dev-test/backends/proxy/config.yml rename to core/dev-test/backends/proxy/config.yml diff --git a/dev-test/backends/proxy/index.html b/core/dev-test/backends/proxy/index.html similarity index 100% rename from dev-test/backends/proxy/index.html rename to core/dev-test/backends/proxy/index.html diff --git a/dev-test/config.yml b/core/dev-test/config.yml similarity index 100% rename from dev-test/config.yml rename to core/dev-test/config.yml diff --git a/dev-test/example.css b/core/dev-test/example.css similarity index 100% rename from dev-test/example.css rename to core/dev-test/example.css diff --git a/dev-test/index.html b/core/dev-test/index.html similarity index 100% rename from dev-test/index.html rename to core/dev-test/index.html diff --git a/dev-test/index.js b/core/dev-test/index.js similarity index 100% rename from dev-test/index.js rename to core/dev-test/index.js diff --git a/dev-test/moby-dick.jpg b/core/dev-test/moby-dick.jpg similarity index 100% rename from dev-test/moby-dick.jpg rename to core/dev-test/moby-dick.jpg diff --git a/dev-test/nf-logo.png b/core/dev-test/nf-logo.png similarity index 100% rename from dev-test/nf-logo.png rename to core/dev-test/nf-logo.png diff --git a/package.json b/core/package.json similarity index 97% rename from package.json rename to core/package.json index 02556fcc..a6edacb0 100644 --- a/package.json +++ b/core/package.json @@ -52,17 +52,13 @@ "@emotion/styled": "11.10.4", "@iarna/toml": "2.2.5", "@mui/icons-material": "5.10.6", - "@mui/material": "5.10.6", + "@mui/material": "5.10.10", "@mui/x-date-pickers": "5.0.4", "@reduxjs/toolkit": "1.8.5", "@toast-ui/react-editor": "3.2.2", "ajv": "8.11.0", "ajv-errors": "3.0.0", "ajv-keywords": "5.1.0", - "apollo-cache-inmemory": "1.6.6", - "apollo-client": "2.6.10", - "apollo-link-context": "1.0.20", - "apollo-link-http": "1.5.17", "array-move": "4.0.0", "buffer": "6.0.3", "clean-stack": "4.2.0", diff --git a/src/actions/auth.ts b/core/src/actions/auth.ts similarity index 100% rename from src/actions/auth.ts rename to core/src/actions/auth.ts diff --git a/src/actions/collections.ts b/core/src/actions/collections.ts similarity index 100% rename from src/actions/collections.ts rename to core/src/actions/collections.ts diff --git a/src/actions/config.ts b/core/src/actions/config.ts similarity index 100% rename from src/actions/config.ts rename to core/src/actions/config.ts diff --git a/src/actions/entries.ts b/core/src/actions/entries.ts similarity index 100% rename from src/actions/entries.ts rename to core/src/actions/entries.ts diff --git a/src/actions/media.ts b/core/src/actions/media.ts similarity index 100% rename from src/actions/media.ts rename to core/src/actions/media.ts diff --git a/src/actions/mediaLibrary.ts b/core/src/actions/mediaLibrary.ts similarity index 100% rename from src/actions/mediaLibrary.ts rename to core/src/actions/mediaLibrary.ts diff --git a/src/actions/scroll.ts b/core/src/actions/scroll.ts similarity index 100% rename from src/actions/scroll.ts rename to core/src/actions/scroll.ts diff --git a/src/actions/search.ts b/core/src/actions/search.ts similarity index 100% rename from src/actions/search.ts rename to core/src/actions/search.ts diff --git a/src/actions/status.ts b/core/src/actions/status.ts similarity index 100% rename from src/actions/status.ts rename to core/src/actions/status.ts diff --git a/src/actions/waitUntil.ts b/core/src/actions/waitUntil.ts similarity index 100% rename from src/actions/waitUntil.ts rename to core/src/actions/waitUntil.ts diff --git a/src/backend.ts b/core/src/backend.ts similarity index 100% rename from src/backend.ts rename to core/src/backend.ts diff --git a/src/backends/azure/API.ts b/core/src/backends/azure/API.ts similarity index 100% rename from src/backends/azure/API.ts rename to core/src/backends/azure/API.ts diff --git a/src/backends/azure/AuthenticationPage.tsx b/core/src/backends/azure/AuthenticationPage.tsx similarity index 100% rename from src/backends/azure/AuthenticationPage.tsx rename to core/src/backends/azure/AuthenticationPage.tsx diff --git a/src/backends/azure/implementation.ts b/core/src/backends/azure/implementation.ts similarity index 100% rename from src/backends/azure/implementation.ts rename to core/src/backends/azure/implementation.ts diff --git a/src/backends/azure/index.ts b/core/src/backends/azure/index.ts similarity index 100% rename from src/backends/azure/index.ts rename to core/src/backends/azure/index.ts diff --git a/src/backends/bitbucket/API.ts b/core/src/backends/bitbucket/API.ts similarity index 100% rename from src/backends/bitbucket/API.ts rename to core/src/backends/bitbucket/API.ts diff --git a/src/backends/bitbucket/AuthenticationPage.tsx b/core/src/backends/bitbucket/AuthenticationPage.tsx similarity index 100% rename from src/backends/bitbucket/AuthenticationPage.tsx rename to core/src/backends/bitbucket/AuthenticationPage.tsx diff --git a/src/backends/bitbucket/git-lfs-client.ts b/core/src/backends/bitbucket/git-lfs-client.ts similarity index 100% rename from src/backends/bitbucket/git-lfs-client.ts rename to core/src/backends/bitbucket/git-lfs-client.ts diff --git a/src/backends/bitbucket/implementation.ts b/core/src/backends/bitbucket/implementation.ts similarity index 100% rename from src/backends/bitbucket/implementation.ts rename to core/src/backends/bitbucket/implementation.ts diff --git a/src/backends/bitbucket/index.ts b/core/src/backends/bitbucket/index.ts similarity index 100% rename from src/backends/bitbucket/index.ts rename to core/src/backends/bitbucket/index.ts diff --git a/src/backends/git-gateway/AuthenticationPage.tsx b/core/src/backends/git-gateway/AuthenticationPage.tsx similarity index 100% rename from src/backends/git-gateway/AuthenticationPage.tsx rename to core/src/backends/git-gateway/AuthenticationPage.tsx diff --git a/src/backends/git-gateway/GitHubAPI.ts b/core/src/backends/git-gateway/GitHubAPI.ts similarity index 100% rename from src/backends/git-gateway/GitHubAPI.ts rename to core/src/backends/git-gateway/GitHubAPI.ts diff --git a/src/backends/git-gateway/GitLabAPI.ts b/core/src/backends/git-gateway/GitLabAPI.ts similarity index 100% rename from src/backends/git-gateway/GitLabAPI.ts rename to core/src/backends/git-gateway/GitLabAPI.ts diff --git a/src/backends/git-gateway/implementation.tsx b/core/src/backends/git-gateway/implementation.tsx similarity index 100% rename from src/backends/git-gateway/implementation.tsx rename to core/src/backends/git-gateway/implementation.tsx diff --git a/src/backends/git-gateway/index.ts b/core/src/backends/git-gateway/index.ts similarity index 100% rename from src/backends/git-gateway/index.ts rename to core/src/backends/git-gateway/index.ts diff --git a/src/backends/git-gateway/netlify-lfs-client.ts b/core/src/backends/git-gateway/netlify-lfs-client.ts similarity index 100% rename from src/backends/git-gateway/netlify-lfs-client.ts rename to core/src/backends/git-gateway/netlify-lfs-client.ts diff --git a/src/backends/github/API.ts b/core/src/backends/github/API.ts similarity index 100% rename from src/backends/github/API.ts rename to core/src/backends/github/API.ts diff --git a/src/backends/github/AuthenticationPage.tsx b/core/src/backends/github/AuthenticationPage.tsx similarity index 100% rename from src/backends/github/AuthenticationPage.tsx rename to core/src/backends/github/AuthenticationPage.tsx diff --git a/src/backends/github/GraphQLAPI.ts b/core/src/backends/github/GraphQLAPI.ts similarity index 100% rename from src/backends/github/GraphQLAPI.ts rename to core/src/backends/github/GraphQLAPI.ts diff --git a/src/backends/github/fragmentTypes.ts b/core/src/backends/github/fragmentTypes.ts similarity index 100% rename from src/backends/github/fragmentTypes.ts rename to core/src/backends/github/fragmentTypes.ts diff --git a/src/backends/github/fragments.ts b/core/src/backends/github/fragments.ts similarity index 100% rename from src/backends/github/fragments.ts rename to core/src/backends/github/fragments.ts diff --git a/src/backends/github/implementation.tsx b/core/src/backends/github/implementation.tsx similarity index 98% rename from src/backends/github/implementation.tsx rename to core/src/backends/github/implementation.tsx index 9c99be78..65bb3f5b 100644 --- a/src/backends/github/implementation.tsx +++ b/core/src/backends/github/implementation.tsx @@ -19,7 +19,6 @@ import { } from '../../lib/util'; import API, { API_NAME } from './API'; import AuthenticationPage from './AuthenticationPage'; -import GraphQLAPI from './GraphQLAPI'; import type { Octokit } from '@octokit/rest'; import type { Semaphore } from 'semaphore'; @@ -66,7 +65,6 @@ export default class GitHub implements BackendClass { apiRoot: string; mediaFolder?: string; token: string | null; - useGraphql: boolean; _currentUserPromise?: Promise; _userIsOriginMaintainerPromises?: { [key: string]: Promise; @@ -92,7 +90,6 @@ export default class GitHub implements BackendClass { this.branch = config.backend.branch?.trim() || 'main'; this.apiRoot = config.backend.api_root || 'https://api.github.com'; this.token = ''; - this.useGraphql = config.backend.use_graphql || false; this.mediaFolder = config.media_folder; this.lock = asyncLock(); } @@ -179,7 +176,7 @@ export default class GitHub implements BackendClass { async authenticate(state: Credentials) { this.token = state.token as string; - const apiCtor = this.useGraphql ? GraphQLAPI : API; + const apiCtor = API; this.api = new apiCtor({ token: this.token, branch: this.branch, diff --git a/src/backends/github/index.ts b/core/src/backends/github/index.ts similarity index 100% rename from src/backends/github/index.ts rename to core/src/backends/github/index.ts diff --git a/src/backends/github/mutations.ts b/core/src/backends/github/mutations.ts similarity index 100% rename from src/backends/github/mutations.ts rename to core/src/backends/github/mutations.ts diff --git a/src/backends/github/queries.ts b/core/src/backends/github/queries.ts similarity index 100% rename from src/backends/github/queries.ts rename to core/src/backends/github/queries.ts diff --git a/src/backends/github/scripts/createFragmentTypes.ts b/core/src/backends/github/scripts/createFragmentTypes.ts similarity index 100% rename from src/backends/github/scripts/createFragmentTypes.ts rename to core/src/backends/github/scripts/createFragmentTypes.ts diff --git a/src/backends/gitlab/API.ts b/core/src/backends/gitlab/API.ts similarity index 77% rename from src/backends/gitlab/API.ts rename to core/src/backends/gitlab/API.ts index 36e554a0..1e2b718c 100644 --- a/src/backends/gitlab/API.ts +++ b/core/src/backends/gitlab/API.ts @@ -1,7 +1,3 @@ -import { InMemoryCache } from 'apollo-cache-inmemory'; -import { ApolloClient } from 'apollo-client'; -import { setContext } from 'apollo-link-context'; -import { createHttpLink } from 'apollo-link-http'; import { Base64 } from 'js-base64'; import partial from 'lodash/partial'; import result from 'lodash/result'; @@ -20,25 +16,18 @@ import { throwOnConflictingBranches, unsentRequest, } from '../../lib/util'; -import * as queries from './queries'; -import type { NormalizedCacheObject } from 'apollo-cache-inmemory'; -import type { ApolloQueryResult } from 'apollo-client'; -import type { DataFile, ImplementationFile, PersistOptions } from '../../interface'; +import type { DataFile, PersistOptions } from '../../interface'; import type { ApiRequest, FetchError } from '../../lib/util'; import type AssetProxy from '../../valueObjects/AssetProxy'; export const API_NAME = 'GitLab'; -const NO_CACHE = 'no-cache'; - export interface Config { apiRoot?: string; - graphQLAPIRoot?: string; token?: string; branch?: string; repo?: string; - useGraphQL?: boolean; } export interface CommitAuthor { @@ -130,65 +119,20 @@ export function getMaxAccess(groups: { group_access_level: number }[]) { }, groups[0]); } -function batch(items: T[], maxPerBatch: number, action: (items: T[]) => void) { - for (let index = 0; index < items.length; index = index + maxPerBatch) { - const itemsSlice = items.slice(index, index + maxPerBatch); - action(itemsSlice); - } -} - export default class API { apiRoot: string; - graphQLAPIRoot: string; token: string | boolean; branch: string; repo: string; repoURL: string; commitAuthor?: CommitAuthor; - graphQLClient?: ApolloClient; - constructor(config: Config) { this.apiRoot = config.apiRoot || 'https://gitlab.com/api/v4'; - this.graphQLAPIRoot = config.graphQLAPIRoot || 'https://gitlab.com/api/graphql'; this.token = config.token || false; this.branch = config.branch || 'main'; this.repo = config.repo || ''; this.repoURL = `/projects/${encodeURIComponent(this.repo)}`; - if (config.useGraphQL === true) { - this.graphQLClient = this.getApolloClient(); - } - } - - getApolloClient() { - const authLink = setContext((_, { headers }) => { - return { - headers: { - 'Content-Type': 'application/json; charset=utf-8', - ...headers, - authorization: this.token ? `token ${this.token}` : '', - }, - }; - }); - const httpLink = createHttpLink({ uri: this.graphQLAPIRoot }); - return new ApolloClient({ - link: authLink.concat(httpLink), - cache: new InMemoryCache(), - defaultOptions: { - watchQuery: { - fetchPolicy: NO_CACHE, - errorPolicy: 'ignore', - }, - query: { - fetchPolicy: NO_CACHE, - errorPolicy: 'all', - }, - }, - }); - } - - reset() { - return this.graphQLClient?.resetStore(); } withAuthorizationHeaders = (req: ApiRequest) => { @@ -374,102 +318,7 @@ export default class API { }; }; - listAllFilesGraphQL = async (path: string, recursive: boolean, branch: String) => { - const files: FileEntry[] = []; - let blobsPaths; - let cursor; - do { - blobsPaths = await this.graphQLClient!.query({ - query: queries.files, - variables: { repo: this.repo, branch, path, recursive, cursor }, - }); - files.push(...blobsPaths.data.project.repository.tree.blobs.nodes); - cursor = blobsPaths.data.project.repository.tree.blobs.pageInfo.endCursor; - } while (blobsPaths.data.project.repository.tree.blobs.pageInfo.hasNextPage); - - return files; - }; - - readFilesGraphQL = async (files: ImplementationFile[]) => { - const paths = files.map(({ path }) => path); - - type BlobResult = { - project: { repository: { blobs: { nodes: { id: string; data: string }[] } } }; - }; - - const blobPromises: Promise>[] = []; - batch(paths, 90, slice => { - blobPromises.push( - this.graphQLClient!.query({ - query: queries.blobs, - variables: { - repo: this.repo, - branch: this.branch, - paths: slice, - }, - fetchPolicy: 'cache-first', - }), - ); - }); - - type LastCommit = { - id: string; - authoredDate: string; - authorName: string; - author?: { - name: string; - username: string; - publicEmail: string; - }; - }; - - type CommitResult = { - project: { repository: { [tree: string]: { lastCommit: LastCommit } } }; - }; - - const commitPromises: Promise>[] = []; - batch(paths, 8, slice => { - commitPromises.push( - this.graphQLClient!.query({ - query: queries.lastCommits(slice), - variables: { - repo: this.repo, - branch: this.branch, - }, - fetchPolicy: 'cache-first', - }), - ); - }); - - const [blobsResults, commitsResults] = await Promise.all([ - (await Promise.all(blobPromises)).map(result => result.data.project.repository.blobs.nodes), - ( - await Promise.all(commitPromises) - ).map( - result => - Object.values(result.data.project.repository) - .map(({ lastCommit }) => lastCommit) - .filter(Boolean) as LastCommit[], - ), - ]); - - const blobs = blobsResults.flat().map(result => result.data) as string[]; - const metadata = commitsResults.flat().map(({ author, authoredDate, authorName }) => ({ - author: author ? author.name || author.username || author.publicEmail : authorName, - updatedOn: authoredDate, - })); - - const filesWithData = files.map((file, index) => ({ - file: { ...file, ...metadata[index] }, - data: blobs[index], - })); - return filesWithData; - }; - listAllFiles = async (path: string, recursive = false, branch = this.branch) => { - if (this.graphQLClient) { - return await this.listAllFilesGraphQL(path, recursive, branch); - } const entries = []; // eslint-disable-next-line prefer-const let { cursor, entries: initialEntries } = await this.fetchCursorAndEntries({ diff --git a/src/backends/gitlab/AuthenticationPage.tsx b/core/src/backends/gitlab/AuthenticationPage.tsx similarity index 93% rename from src/backends/gitlab/AuthenticationPage.tsx rename to core/src/backends/gitlab/AuthenticationPage.tsx index 3712600c..e0d16e2d 100644 --- a/src/backends/gitlab/AuthenticationPage.tsx +++ b/core/src/backends/gitlab/AuthenticationPage.tsx @@ -3,7 +3,7 @@ import React, { useCallback, useMemo, useState } from 'react'; import AuthenticationPage from '../../components/UI/AuthenticationPage'; import Icon from '../../components/UI/Icon'; -import { ImplicitAuthenticator, NetlifyAuthenticator, PkceAuthenticator } from '../../lib/auth'; +import { NetlifyAuthenticator, PkceAuthenticator } from '../../lib/auth'; import { isNotEmpty } from '../../lib/util/string.util'; import type { MouseEvent } from 'react'; @@ -19,7 +19,6 @@ const LoginButtonIcon = styled(Icon)` const clientSideAuthenticators = { pkce: (config: AuthenticatorConfig) => new PkceAuthenticator(config), - implicit: (config: AuthenticatorConfig) => new ImplicitAuthenticator(config), } as const; const GitLabAuthenticationPage = ({ diff --git a/src/backends/gitlab/implementation.ts b/core/src/backends/gitlab/implementation.ts similarity index 95% rename from src/backends/gitlab/implementation.ts rename to core/src/backends/gitlab/implementation.ts index 18e55c8c..8668541b 100644 --- a/src/backends/gitlab/implementation.ts +++ b/core/src/backends/gitlab/implementation.ts @@ -49,8 +49,6 @@ export default class GitLab implements BackendClass { apiRoot: string; token: string | null; mediaFolder?: string; - useGraphQL: boolean; - graphQLAPIRoot: string; _mediaDisplayURLSem?: Semaphore; @@ -75,8 +73,6 @@ export default class GitLab implements BackendClass { this.apiRoot = config.backend.api_root || 'https://gitlab.com/api/v4'; this.token = ''; this.mediaFolder = config.media_folder; - this.useGraphQL = config.backend.use_graphql || false; - this.graphQLAPIRoot = config.backend.graphql_api_root || 'https://gitlab.com/api/graphql'; this.lock = asyncLock(); } @@ -112,8 +108,6 @@ export default class GitLab implements BackendClass { branch: this.branch, repo: this.repo, apiRoot: this.apiRoot, - useGraphQL: this.useGraphQL, - graphQLAPIRoot: this.graphQLAPIRoot, }); const user = await this.api.user(); const isCollab = await this.api.hasWriteAccess().catch((error: Error) => { @@ -200,7 +194,7 @@ export default class GitLab implements BackendClass { getDifferences: (to, from) => this.api!.getDifferences(to, from), getFileId: path => this.api!.getFileId(path, this.branch), filterFile: file => this.filterFile(folder, file, extension, depth), - customFetch: this.useGraphQL ? files => this.api!.readFilesGraphQL(files) : undefined, + customFetch: undefined, }); return files; diff --git a/src/backends/gitlab/index.ts b/core/src/backends/gitlab/index.ts similarity index 100% rename from src/backends/gitlab/index.ts rename to core/src/backends/gitlab/index.ts diff --git a/src/backends/gitlab/queries.ts b/core/src/backends/gitlab/queries.ts similarity index 100% rename from src/backends/gitlab/queries.ts rename to core/src/backends/gitlab/queries.ts diff --git a/src/backends/index.tsx b/core/src/backends/index.tsx similarity index 100% rename from src/backends/index.tsx rename to core/src/backends/index.tsx diff --git a/src/backends/proxy/AuthenticationPage.tsx b/core/src/backends/proxy/AuthenticationPage.tsx similarity index 100% rename from src/backends/proxy/AuthenticationPage.tsx rename to core/src/backends/proxy/AuthenticationPage.tsx diff --git a/src/backends/proxy/implementation.ts b/core/src/backends/proxy/implementation.ts similarity index 100% rename from src/backends/proxy/implementation.ts rename to core/src/backends/proxy/implementation.ts diff --git a/src/backends/proxy/index.ts b/core/src/backends/proxy/index.ts similarity index 100% rename from src/backends/proxy/index.ts rename to core/src/backends/proxy/index.ts diff --git a/src/backends/test/AuthenticationPage.tsx b/core/src/backends/test/AuthenticationPage.tsx similarity index 100% rename from src/backends/test/AuthenticationPage.tsx rename to core/src/backends/test/AuthenticationPage.tsx diff --git a/src/backends/test/implementation.ts b/core/src/backends/test/implementation.ts similarity index 100% rename from src/backends/test/implementation.ts rename to core/src/backends/test/implementation.ts diff --git a/src/backends/test/index.ts b/core/src/backends/test/index.ts similarity index 100% rename from src/backends/test/index.ts rename to core/src/backends/test/index.ts diff --git a/src/bootstrap.tsx b/core/src/bootstrap.tsx similarity index 100% rename from src/bootstrap.tsx rename to core/src/bootstrap.tsx diff --git a/src/components/App/App.tsx b/core/src/components/App/App.tsx similarity index 100% rename from src/components/App/App.tsx rename to core/src/components/App/App.tsx diff --git a/src/components/App/Header.tsx b/core/src/components/App/Header.tsx similarity index 100% rename from src/components/App/Header.tsx rename to core/src/components/App/Header.tsx diff --git a/src/components/App/MainView.tsx b/core/src/components/App/MainView.tsx similarity index 100% rename from src/components/App/MainView.tsx rename to core/src/components/App/MainView.tsx diff --git a/src/components/App/NotFoundPage.tsx b/core/src/components/App/NotFoundPage.tsx similarity index 100% rename from src/components/App/NotFoundPage.tsx rename to core/src/components/App/NotFoundPage.tsx diff --git a/src/components/Collection/Collection.tsx b/core/src/components/Collection/Collection.tsx similarity index 100% rename from src/components/Collection/Collection.tsx rename to core/src/components/Collection/Collection.tsx diff --git a/src/components/Collection/CollectionControls.tsx b/core/src/components/Collection/CollectionControls.tsx similarity index 100% rename from src/components/Collection/CollectionControls.tsx rename to core/src/components/Collection/CollectionControls.tsx diff --git a/src/components/Collection/CollectionRoute.tsx b/core/src/components/Collection/CollectionRoute.tsx similarity index 100% rename from src/components/Collection/CollectionRoute.tsx rename to core/src/components/Collection/CollectionRoute.tsx diff --git a/src/components/Collection/CollectionSearch.tsx b/core/src/components/Collection/CollectionSearch.tsx similarity index 100% rename from src/components/Collection/CollectionSearch.tsx rename to core/src/components/Collection/CollectionSearch.tsx diff --git a/src/components/Collection/CollectionTop.tsx b/core/src/components/Collection/CollectionTop.tsx similarity index 100% rename from src/components/Collection/CollectionTop.tsx rename to core/src/components/Collection/CollectionTop.tsx diff --git a/src/components/Collection/Entries/Entries.tsx b/core/src/components/Collection/Entries/Entries.tsx similarity index 100% rename from src/components/Collection/Entries/Entries.tsx rename to core/src/components/Collection/Entries/Entries.tsx diff --git a/src/components/Collection/Entries/EntriesCollection.tsx b/core/src/components/Collection/Entries/EntriesCollection.tsx similarity index 100% rename from src/components/Collection/Entries/EntriesCollection.tsx rename to core/src/components/Collection/Entries/EntriesCollection.tsx diff --git a/src/components/Collection/Entries/EntriesSearch.tsx b/core/src/components/Collection/Entries/EntriesSearch.tsx similarity index 100% rename from src/components/Collection/Entries/EntriesSearch.tsx rename to core/src/components/Collection/Entries/EntriesSearch.tsx diff --git a/src/components/Collection/Entries/EntryCard.tsx b/core/src/components/Collection/Entries/EntryCard.tsx similarity index 100% rename from src/components/Collection/Entries/EntryCard.tsx rename to core/src/components/Collection/Entries/EntryCard.tsx diff --git a/src/components/Collection/Entries/EntryListing.tsx b/core/src/components/Collection/Entries/EntryListing.tsx similarity index 100% rename from src/components/Collection/Entries/EntryListing.tsx rename to core/src/components/Collection/Entries/EntryListing.tsx diff --git a/src/components/Collection/FilterControl.tsx b/core/src/components/Collection/FilterControl.tsx similarity index 100% rename from src/components/Collection/FilterControl.tsx rename to core/src/components/Collection/FilterControl.tsx diff --git a/src/components/Collection/GroupControl.tsx b/core/src/components/Collection/GroupControl.tsx similarity index 100% rename from src/components/Collection/GroupControl.tsx rename to core/src/components/Collection/GroupControl.tsx diff --git a/src/components/Collection/NestedCollection.tsx b/core/src/components/Collection/NestedCollection.tsx similarity index 100% rename from src/components/Collection/NestedCollection.tsx rename to core/src/components/Collection/NestedCollection.tsx diff --git a/src/components/Collection/Sidebar.tsx b/core/src/components/Collection/Sidebar.tsx similarity index 100% rename from src/components/Collection/Sidebar.tsx rename to core/src/components/Collection/Sidebar.tsx diff --git a/src/components/Collection/SortControl.tsx b/core/src/components/Collection/SortControl.tsx similarity index 100% rename from src/components/Collection/SortControl.tsx rename to core/src/components/Collection/SortControl.tsx diff --git a/src/components/Collection/ViewStyleControl.tsx b/core/src/components/Collection/ViewStyleControl.tsx similarity index 100% rename from src/components/Collection/ViewStyleControl.tsx rename to core/src/components/Collection/ViewStyleControl.tsx diff --git a/src/components/Editor/Editor.tsx b/core/src/components/Editor/Editor.tsx similarity index 100% rename from src/components/Editor/Editor.tsx rename to core/src/components/Editor/Editor.tsx diff --git a/src/components/Editor/EditorControlPane/EditorControl.tsx b/core/src/components/Editor/EditorControlPane/EditorControl.tsx similarity index 100% rename from src/components/Editor/EditorControlPane/EditorControl.tsx rename to core/src/components/Editor/EditorControlPane/EditorControl.tsx diff --git a/src/components/Editor/EditorControlPane/EditorControlPane.tsx b/core/src/components/Editor/EditorControlPane/EditorControlPane.tsx similarity index 100% rename from src/components/Editor/EditorControlPane/EditorControlPane.tsx rename to core/src/components/Editor/EditorControlPane/EditorControlPane.tsx diff --git a/src/components/Editor/EditorInterface.tsx b/core/src/components/Editor/EditorInterface.tsx similarity index 100% rename from src/components/Editor/EditorInterface.tsx rename to core/src/components/Editor/EditorInterface.tsx diff --git a/src/components/Editor/EditorPreviewPane/EditorPreview.tsx b/core/src/components/Editor/EditorPreviewPane/EditorPreview.tsx similarity index 100% rename from src/components/Editor/EditorPreviewPane/EditorPreview.tsx rename to core/src/components/Editor/EditorPreviewPane/EditorPreview.tsx diff --git a/src/components/Editor/EditorPreviewPane/EditorPreviewContent.tsx b/core/src/components/Editor/EditorPreviewPane/EditorPreviewContent.tsx similarity index 100% rename from src/components/Editor/EditorPreviewPane/EditorPreviewContent.tsx rename to core/src/components/Editor/EditorPreviewPane/EditorPreviewContent.tsx diff --git a/src/components/Editor/EditorPreviewPane/EditorPreviewPane.tsx b/core/src/components/Editor/EditorPreviewPane/EditorPreviewPane.tsx similarity index 100% rename from src/components/Editor/EditorPreviewPane/EditorPreviewPane.tsx rename to core/src/components/Editor/EditorPreviewPane/EditorPreviewPane.tsx diff --git a/src/components/Editor/EditorPreviewPane/PreviewHOC.tsx b/core/src/components/Editor/EditorPreviewPane/PreviewHOC.tsx similarity index 100% rename from src/components/Editor/EditorPreviewPane/PreviewHOC.tsx rename to core/src/components/Editor/EditorPreviewPane/PreviewHOC.tsx diff --git a/src/components/Editor/EditorRoute.tsx b/core/src/components/Editor/EditorRoute.tsx similarity index 100% rename from src/components/Editor/EditorRoute.tsx rename to core/src/components/Editor/EditorRoute.tsx diff --git a/src/components/Editor/EditorToolbar.tsx b/core/src/components/Editor/EditorToolbar.tsx similarity index 100% rename from src/components/Editor/EditorToolbar.tsx rename to core/src/components/Editor/EditorToolbar.tsx diff --git a/src/components/EditorWidgets/Unknown/UnknownControl.tsx b/core/src/components/EditorWidgets/Unknown/UnknownControl.tsx similarity index 100% rename from src/components/EditorWidgets/Unknown/UnknownControl.tsx rename to core/src/components/EditorWidgets/Unknown/UnknownControl.tsx diff --git a/src/components/EditorWidgets/Unknown/UnknownPreview.tsx b/core/src/components/EditorWidgets/Unknown/UnknownPreview.tsx similarity index 100% rename from src/components/EditorWidgets/Unknown/UnknownPreview.tsx rename to core/src/components/EditorWidgets/Unknown/UnknownPreview.tsx diff --git a/src/components/EditorWidgets/index.ts b/core/src/components/EditorWidgets/index.ts similarity index 100% rename from src/components/EditorWidgets/index.ts rename to core/src/components/EditorWidgets/index.ts diff --git a/src/components/MediaLibrary/EmptyMessage.tsx b/core/src/components/MediaLibrary/EmptyMessage.tsx similarity index 100% rename from src/components/MediaLibrary/EmptyMessage.tsx rename to core/src/components/MediaLibrary/EmptyMessage.tsx diff --git a/src/components/MediaLibrary/MediaLibrary.tsx b/core/src/components/MediaLibrary/MediaLibrary.tsx similarity index 100% rename from src/components/MediaLibrary/MediaLibrary.tsx rename to core/src/components/MediaLibrary/MediaLibrary.tsx diff --git a/src/components/MediaLibrary/MediaLibraryButtons.tsx b/core/src/components/MediaLibrary/MediaLibraryButtons.tsx similarity index 100% rename from src/components/MediaLibrary/MediaLibraryButtons.tsx rename to core/src/components/MediaLibrary/MediaLibraryButtons.tsx diff --git a/src/components/MediaLibrary/MediaLibraryCard.tsx b/core/src/components/MediaLibrary/MediaLibraryCard.tsx similarity index 100% rename from src/components/MediaLibrary/MediaLibraryCard.tsx rename to core/src/components/MediaLibrary/MediaLibraryCard.tsx diff --git a/src/components/MediaLibrary/MediaLibraryCardGrid.tsx b/core/src/components/MediaLibrary/MediaLibraryCardGrid.tsx similarity index 100% rename from src/components/MediaLibrary/MediaLibraryCardGrid.tsx rename to core/src/components/MediaLibrary/MediaLibraryCardGrid.tsx diff --git a/src/components/MediaLibrary/MediaLibraryModal.tsx b/core/src/components/MediaLibrary/MediaLibraryModal.tsx similarity index 100% rename from src/components/MediaLibrary/MediaLibraryModal.tsx rename to core/src/components/MediaLibrary/MediaLibraryModal.tsx diff --git a/src/components/MediaLibrary/MediaLibrarySearch.tsx b/core/src/components/MediaLibrary/MediaLibrarySearch.tsx similarity index 100% rename from src/components/MediaLibrary/MediaLibrarySearch.tsx rename to core/src/components/MediaLibrary/MediaLibrarySearch.tsx diff --git a/src/components/MediaLibrary/MediaLibraryTop.tsx b/core/src/components/MediaLibrary/MediaLibraryTop.tsx similarity index 100% rename from src/components/MediaLibrary/MediaLibraryTop.tsx rename to core/src/components/MediaLibrary/MediaLibraryTop.tsx diff --git a/src/components/UI/Alert.tsx b/core/src/components/UI/Alert.tsx similarity index 100% rename from src/components/UI/Alert.tsx rename to core/src/components/UI/Alert.tsx diff --git a/src/components/UI/AuthenticationPage.tsx b/core/src/components/UI/AuthenticationPage.tsx similarity index 100% rename from src/components/UI/AuthenticationPage.tsx rename to core/src/components/UI/AuthenticationPage.tsx diff --git a/src/components/UI/Confirm.tsx b/core/src/components/UI/Confirm.tsx similarity index 100% rename from src/components/UI/Confirm.tsx rename to core/src/components/UI/Confirm.tsx diff --git a/src/components/UI/ErrorBoundary.tsx b/core/src/components/UI/ErrorBoundary.tsx similarity index 100% rename from src/components/UI/ErrorBoundary.tsx rename to core/src/components/UI/ErrorBoundary.tsx diff --git a/src/components/UI/FieldLabel.tsx b/core/src/components/UI/FieldLabel.tsx similarity index 100% rename from src/components/UI/FieldLabel.tsx rename to core/src/components/UI/FieldLabel.tsx diff --git a/src/components/UI/FileUploadButton.tsx b/core/src/components/UI/FileUploadButton.tsx similarity index 100% rename from src/components/UI/FileUploadButton.tsx rename to core/src/components/UI/FileUploadButton.tsx diff --git a/src/components/UI/GoBackButton.tsx b/core/src/components/UI/GoBackButton.tsx similarity index 100% rename from src/components/UI/GoBackButton.tsx rename to core/src/components/UI/GoBackButton.tsx diff --git a/src/components/UI/Icon.tsx b/core/src/components/UI/Icon.tsx similarity index 100% rename from src/components/UI/Icon.tsx rename to core/src/components/UI/Icon.tsx diff --git a/src/components/UI/Icon/icons.tsx b/core/src/components/UI/Icon/icons.tsx similarity index 100% rename from src/components/UI/Icon/icons.tsx rename to core/src/components/UI/Icon/icons.tsx diff --git a/src/components/UI/Icon/images/_index.tsx b/core/src/components/UI/Icon/images/_index.tsx similarity index 100% rename from src/components/UI/Icon/images/_index.tsx rename to core/src/components/UI/Icon/images/_index.tsx diff --git a/src/components/UI/Icon/images/azure.svg b/core/src/components/UI/Icon/images/azure.svg similarity index 100% rename from src/components/UI/Icon/images/azure.svg rename to core/src/components/UI/Icon/images/azure.svg diff --git a/src/components/UI/Icon/images/bitbucket.svg b/core/src/components/UI/Icon/images/bitbucket.svg similarity index 100% rename from src/components/UI/Icon/images/bitbucket.svg rename to core/src/components/UI/Icon/images/bitbucket.svg diff --git a/src/components/UI/Icon/images/github.svg b/core/src/components/UI/Icon/images/github.svg similarity index 100% rename from src/components/UI/Icon/images/github.svg rename to core/src/components/UI/Icon/images/github.svg diff --git a/src/components/UI/Icon/images/gitlab.svg b/core/src/components/UI/Icon/images/gitlab.svg similarity index 100% rename from src/components/UI/Icon/images/gitlab.svg rename to core/src/components/UI/Icon/images/gitlab.svg diff --git a/src/components/UI/Icon/images/static-cms-logo.svg b/core/src/components/UI/Icon/images/static-cms-logo.svg similarity index 100% rename from src/components/UI/Icon/images/static-cms-logo.svg rename to core/src/components/UI/Icon/images/static-cms-logo.svg diff --git a/src/components/UI/ListItemTopBar.tsx b/core/src/components/UI/ListItemTopBar.tsx similarity index 100% rename from src/components/UI/ListItemTopBar.tsx rename to core/src/components/UI/ListItemTopBar.tsx diff --git a/src/components/UI/Loader.tsx b/core/src/components/UI/Loader.tsx similarity index 100% rename from src/components/UI/Loader.tsx rename to core/src/components/UI/Loader.tsx diff --git a/src/components/UI/NavLink.tsx b/core/src/components/UI/NavLink.tsx similarity index 100% rename from src/components/UI/NavLink.tsx rename to core/src/components/UI/NavLink.tsx diff --git a/src/components/UI/ObjectWidgetTopBar.tsx b/core/src/components/UI/ObjectWidgetTopBar.tsx similarity index 100% rename from src/components/UI/ObjectWidgetTopBar.tsx rename to core/src/components/UI/ObjectWidgetTopBar.tsx diff --git a/src/components/UI/Outline.tsx b/core/src/components/UI/Outline.tsx similarity index 100% rename from src/components/UI/Outline.tsx rename to core/src/components/UI/Outline.tsx diff --git a/src/components/UI/ScrollTop.tsx b/core/src/components/UI/ScrollTop.tsx similarity index 100% rename from src/components/UI/ScrollTop.tsx rename to core/src/components/UI/ScrollTop.tsx diff --git a/src/components/UI/SettingsDropdown.tsx b/core/src/components/UI/SettingsDropdown.tsx similarity index 100% rename from src/components/UI/SettingsDropdown.tsx rename to core/src/components/UI/SettingsDropdown.tsx diff --git a/src/components/UI/WidgetPreviewContainer.tsx b/core/src/components/UI/WidgetPreviewContainer.tsx similarity index 100% rename from src/components/UI/WidgetPreviewContainer.tsx rename to core/src/components/UI/WidgetPreviewContainer.tsx diff --git a/src/components/UI/index.ts b/core/src/components/UI/index.ts similarity index 100% rename from src/components/UI/index.ts rename to core/src/components/UI/index.ts diff --git a/src/components/UI/styles.tsx b/core/src/components/UI/styles.tsx similarity index 100% rename from src/components/UI/styles.tsx rename to core/src/components/UI/styles.tsx diff --git a/src/components/page/Page.tsx b/core/src/components/page/Page.tsx similarity index 100% rename from src/components/page/Page.tsx rename to core/src/components/page/Page.tsx diff --git a/src/components/snackbar/Snackbars.tsx b/core/src/components/snackbar/Snackbars.tsx similarity index 100% rename from src/components/snackbar/Snackbars.tsx rename to core/src/components/snackbar/Snackbars.tsx diff --git a/src/constants/collectionTypes.ts b/core/src/constants/collectionTypes.ts similarity index 100% rename from src/constants/collectionTypes.ts rename to core/src/constants/collectionTypes.ts diff --git a/src/constants/collectionViews.ts b/core/src/constants/collectionViews.ts similarity index 100% rename from src/constants/collectionViews.ts rename to core/src/constants/collectionViews.ts diff --git a/src/constants/commitProps.ts b/core/src/constants/commitProps.ts similarity index 100% rename from src/constants/commitProps.ts rename to core/src/constants/commitProps.ts diff --git a/src/constants/configSchema.tsx b/core/src/constants/configSchema.tsx similarity index 100% rename from src/constants/configSchema.tsx rename to core/src/constants/configSchema.tsx diff --git a/src/constants/fieldInference.tsx b/core/src/constants/fieldInference.tsx similarity index 100% rename from src/constants/fieldInference.tsx rename to core/src/constants/fieldInference.tsx diff --git a/src/constants/files.ts b/core/src/constants/files.ts similarity index 100% rename from src/constants/files.ts rename to core/src/constants/files.ts diff --git a/src/constants/validationErrorTypes.ts b/core/src/constants/validationErrorTypes.ts similarity index 100% rename from src/constants/validationErrorTypes.ts rename to core/src/constants/validationErrorTypes.ts diff --git a/src/editor-components/editorPlugin.ts b/core/src/editor-components/editorPlugin.ts similarity index 100% rename from src/editor-components/editorPlugin.ts rename to core/src/editor-components/editorPlugin.ts diff --git a/src/editor-components/image/index.tsx b/core/src/editor-components/image/index.tsx similarity index 100% rename from src/editor-components/image/index.tsx rename to core/src/editor-components/image/index.tsx diff --git a/src/editor-components/index.tsx b/core/src/editor-components/index.tsx similarity index 100% rename from src/editor-components/index.tsx rename to core/src/editor-components/index.tsx diff --git a/src/extensions.ts b/core/src/extensions.ts similarity index 100% rename from src/extensions.ts rename to core/src/extensions.ts diff --git a/src/formats/formats.ts b/core/src/formats/formats.ts similarity index 100% rename from src/formats/formats.ts rename to core/src/formats/formats.ts diff --git a/src/formats/frontmatter.ts b/core/src/formats/frontmatter.ts similarity index 100% rename from src/formats/frontmatter.ts rename to core/src/formats/frontmatter.ts diff --git a/src/formats/helpers.ts b/core/src/formats/helpers.ts similarity index 100% rename from src/formats/helpers.ts rename to core/src/formats/helpers.ts diff --git a/src/formats/json.ts b/core/src/formats/json.ts similarity index 100% rename from src/formats/json.ts rename to core/src/formats/json.ts diff --git a/src/formats/toml.ts b/core/src/formats/toml.ts similarity index 100% rename from src/formats/toml.ts rename to core/src/formats/toml.ts diff --git a/src/formats/yaml.ts b/core/src/formats/yaml.ts similarity index 100% rename from src/formats/yaml.ts rename to core/src/formats/yaml.ts diff --git a/src/index.ts b/core/src/index.ts similarity index 100% rename from src/index.ts rename to core/src/index.ts diff --git a/src/integrations/index.ts b/core/src/integrations/index.ts similarity index 100% rename from src/integrations/index.ts rename to core/src/integrations/index.ts diff --git a/src/integrations/providers/algolia/implementation.ts b/core/src/integrations/providers/algolia/implementation.ts similarity index 100% rename from src/integrations/providers/algolia/implementation.ts rename to core/src/integrations/providers/algolia/implementation.ts diff --git a/src/integrations/providers/assetStore/implementation.ts b/core/src/integrations/providers/assetStore/implementation.ts similarity index 100% rename from src/integrations/providers/assetStore/implementation.ts rename to core/src/integrations/providers/assetStore/implementation.ts diff --git a/src/interface.ts b/core/src/interface.ts similarity index 99% rename from src/interface.ts rename to core/src/interface.ts index 58771d40..b660b80b 100644 --- a/src/interface.ts +++ b/core/src/interface.ts @@ -739,8 +739,6 @@ export interface Backend { proxy_url?: string; large_media_url?: string; login?: boolean; - use_graphql?: boolean; - graphql_api_root?: string; use_large_media_transforms_in_media_library?: boolean; identity_url?: string; gateway_url?: string; diff --git a/src/lib/auth/implicit-oauth.ts b/core/src/lib/auth/implicit-oauth.ts similarity index 100% rename from src/lib/auth/implicit-oauth.ts rename to core/src/lib/auth/implicit-oauth.ts diff --git a/src/lib/auth/index.ts b/core/src/lib/auth/index.ts similarity index 100% rename from src/lib/auth/index.ts rename to core/src/lib/auth/index.ts diff --git a/src/lib/auth/netlify-auth.ts b/core/src/lib/auth/netlify-auth.ts similarity index 100% rename from src/lib/auth/netlify-auth.ts rename to core/src/lib/auth/netlify-auth.ts diff --git a/src/lib/auth/pkce-oauth.ts b/core/src/lib/auth/pkce-oauth.ts similarity index 100% rename from src/lib/auth/pkce-oauth.ts rename to core/src/lib/auth/pkce-oauth.ts diff --git a/src/lib/auth/utils.ts b/core/src/lib/auth/utils.ts similarity index 100% rename from src/lib/auth/utils.ts rename to core/src/lib/auth/utils.ts diff --git a/src/lib/consoleError.ts b/core/src/lib/consoleError.ts similarity index 100% rename from src/lib/consoleError.ts rename to core/src/lib/consoleError.ts diff --git a/src/lib/formatters.ts b/core/src/lib/formatters.ts similarity index 100% rename from src/lib/formatters.ts rename to core/src/lib/formatters.ts diff --git a/src/lib/i18n.ts b/core/src/lib/i18n.ts similarity index 100% rename from src/lib/i18n.ts rename to core/src/lib/i18n.ts diff --git a/src/lib/index.tsx b/core/src/lib/index.tsx similarity index 100% rename from src/lib/index.tsx rename to core/src/lib/index.tsx diff --git a/src/lib/phrases.ts b/core/src/lib/phrases.ts similarity index 100% rename from src/lib/phrases.ts rename to core/src/lib/phrases.ts diff --git a/src/lib/registry.ts b/core/src/lib/registry.ts similarity index 100% rename from src/lib/registry.ts rename to core/src/lib/registry.ts diff --git a/src/lib/serializeEntryValues.ts b/core/src/lib/serializeEntryValues.ts similarity index 100% rename from src/lib/serializeEntryValues.ts rename to core/src/lib/serializeEntryValues.ts diff --git a/src/lib/textHelper.ts b/core/src/lib/textHelper.ts similarity index 100% rename from src/lib/textHelper.ts rename to core/src/lib/textHelper.ts diff --git a/src/lib/urlHelper.ts b/core/src/lib/urlHelper.ts similarity index 100% rename from src/lib/urlHelper.ts rename to core/src/lib/urlHelper.ts diff --git a/src/lib/util/API.ts b/core/src/lib/util/API.ts similarity index 100% rename from src/lib/util/API.ts rename to core/src/lib/util/API.ts diff --git a/src/lib/util/APIError.ts b/core/src/lib/util/APIError.ts similarity index 100% rename from src/lib/util/APIError.ts rename to core/src/lib/util/APIError.ts diff --git a/src/lib/util/APIUtils.ts b/core/src/lib/util/APIUtils.ts similarity index 100% rename from src/lib/util/APIUtils.ts rename to core/src/lib/util/APIUtils.ts diff --git a/src/lib/util/AccessTokenError.ts b/core/src/lib/util/AccessTokenError.ts similarity index 100% rename from src/lib/util/AccessTokenError.ts rename to core/src/lib/util/AccessTokenError.ts diff --git a/src/lib/util/Cursor.ts b/core/src/lib/util/Cursor.ts similarity index 100% rename from src/lib/util/Cursor.ts rename to core/src/lib/util/Cursor.ts diff --git a/src/lib/util/__tests__/object.util.ts b/core/src/lib/util/__tests__/object.util.ts similarity index 100% rename from src/lib/util/__tests__/object.util.ts rename to core/src/lib/util/__tests__/object.util.ts diff --git a/src/lib/util/asyncLock.ts b/core/src/lib/util/asyncLock.ts similarity index 100% rename from src/lib/util/asyncLock.ts rename to core/src/lib/util/asyncLock.ts diff --git a/src/lib/util/backendUtil.ts b/core/src/lib/util/backendUtil.ts similarity index 100% rename from src/lib/util/backendUtil.ts rename to core/src/lib/util/backendUtil.ts diff --git a/src/lib/util/collection.util.ts b/core/src/lib/util/collection.util.ts similarity index 100% rename from src/lib/util/collection.util.ts rename to core/src/lib/util/collection.util.ts diff --git a/src/lib/util/events/AlertEvent.ts b/core/src/lib/util/events/AlertEvent.ts similarity index 100% rename from src/lib/util/events/AlertEvent.ts rename to core/src/lib/util/events/AlertEvent.ts diff --git a/src/lib/util/events/ConfirmEvent.ts b/core/src/lib/util/events/ConfirmEvent.ts similarity index 100% rename from src/lib/util/events/ConfirmEvent.ts rename to core/src/lib/util/events/ConfirmEvent.ts diff --git a/src/lib/util/fetch.util.ts b/core/src/lib/util/fetch.util.ts similarity index 100% rename from src/lib/util/fetch.util.ts rename to core/src/lib/util/fetch.util.ts diff --git a/src/lib/util/field.util.ts b/core/src/lib/util/field.util.ts similarity index 100% rename from src/lib/util/field.util.ts rename to core/src/lib/util/field.util.ts diff --git a/src/lib/util/getBlobSHA.ts b/core/src/lib/util/getBlobSHA.ts similarity index 100% rename from src/lib/util/getBlobSHA.ts rename to core/src/lib/util/getBlobSHA.ts diff --git a/src/lib/util/git-lfs.ts b/core/src/lib/util/git-lfs.ts similarity index 100% rename from src/lib/util/git-lfs.ts rename to core/src/lib/util/git-lfs.ts diff --git a/src/lib/util/implementation.ts b/core/src/lib/util/implementation.ts similarity index 100% rename from src/lib/util/implementation.ts rename to core/src/lib/util/implementation.ts diff --git a/src/lib/util/index.ts b/core/src/lib/util/index.ts similarity index 100% rename from src/lib/util/index.ts rename to core/src/lib/util/index.ts diff --git a/src/lib/util/loadScript.ts b/core/src/lib/util/loadScript.ts similarity index 100% rename from src/lib/util/loadScript.ts rename to core/src/lib/util/loadScript.ts diff --git a/src/lib/util/localForage.ts b/core/src/lib/util/localForage.ts similarity index 100% rename from src/lib/util/localForage.ts rename to core/src/lib/util/localForage.ts diff --git a/src/lib/util/media.util.ts b/core/src/lib/util/media.util.ts similarity index 100% rename from src/lib/util/media.util.ts rename to core/src/lib/util/media.util.ts diff --git a/src/lib/util/null.util.ts b/core/src/lib/util/null.util.ts similarity index 100% rename from src/lib/util/null.util.ts rename to core/src/lib/util/null.util.ts diff --git a/src/lib/util/object.util.ts b/core/src/lib/util/object.util.ts similarity index 100% rename from src/lib/util/object.util.ts rename to core/src/lib/util/object.util.ts diff --git a/src/lib/util/path.ts b/core/src/lib/util/path.ts similarity index 100% rename from src/lib/util/path.ts rename to core/src/lib/util/path.ts diff --git a/src/lib/util/promise.ts b/core/src/lib/util/promise.ts similarity index 100% rename from src/lib/util/promise.ts rename to core/src/lib/util/promise.ts diff --git a/src/lib/util/sort.util.ts b/core/src/lib/util/sort.util.ts similarity index 100% rename from src/lib/util/sort.util.ts rename to core/src/lib/util/sort.util.ts diff --git a/src/lib/util/string.util.ts b/core/src/lib/util/string.util.ts similarity index 100% rename from src/lib/util/string.util.ts rename to core/src/lib/util/string.util.ts diff --git a/src/lib/util/transientOptions.ts b/core/src/lib/util/transientOptions.ts similarity index 100% rename from src/lib/util/transientOptions.ts rename to core/src/lib/util/transientOptions.ts diff --git a/src/lib/util/unsentRequest.ts b/core/src/lib/util/unsentRequest.ts similarity index 100% rename from src/lib/util/unsentRequest.ts rename to core/src/lib/util/unsentRequest.ts diff --git a/src/lib/util/validation.util.ts b/core/src/lib/util/validation.util.ts similarity index 100% rename from src/lib/util/validation.util.ts rename to core/src/lib/util/validation.util.ts diff --git a/src/lib/util/window.util.ts b/core/src/lib/util/window.util.ts similarity index 100% rename from src/lib/util/window.util.ts rename to core/src/lib/util/window.util.ts diff --git a/src/lib/widgets/index.ts b/core/src/lib/widgets/index.ts similarity index 100% rename from src/lib/widgets/index.ts rename to core/src/lib/widgets/index.ts diff --git a/src/lib/widgets/stringTemplate.ts b/core/src/lib/widgets/stringTemplate.ts similarity index 100% rename from src/lib/widgets/stringTemplate.ts rename to core/src/lib/widgets/stringTemplate.ts diff --git a/src/lib/widgets/validations.ts b/core/src/lib/widgets/validations.ts similarity index 100% rename from src/lib/widgets/validations.ts rename to core/src/lib/widgets/validations.ts diff --git a/src/locales/bg/index.ts b/core/src/locales/bg/index.ts similarity index 100% rename from src/locales/bg/index.ts rename to core/src/locales/bg/index.ts diff --git a/src/locales/ca/index.ts b/core/src/locales/ca/index.ts similarity index 100% rename from src/locales/ca/index.ts rename to core/src/locales/ca/index.ts diff --git a/src/locales/cs/index.ts b/core/src/locales/cs/index.ts similarity index 100% rename from src/locales/cs/index.ts rename to core/src/locales/cs/index.ts diff --git a/src/locales/da/index.ts b/core/src/locales/da/index.ts similarity index 100% rename from src/locales/da/index.ts rename to core/src/locales/da/index.ts diff --git a/src/locales/de/index.ts b/core/src/locales/de/index.ts similarity index 100% rename from src/locales/de/index.ts rename to core/src/locales/de/index.ts diff --git a/src/locales/en/index.ts b/core/src/locales/en/index.ts similarity index 100% rename from src/locales/en/index.ts rename to core/src/locales/en/index.ts diff --git a/src/locales/es/index.ts b/core/src/locales/es/index.ts similarity index 100% rename from src/locales/es/index.ts rename to core/src/locales/es/index.ts diff --git a/src/locales/fr/index.ts b/core/src/locales/fr/index.ts similarity index 100% rename from src/locales/fr/index.ts rename to core/src/locales/fr/index.ts diff --git a/src/locales/gr/index.ts b/core/src/locales/gr/index.ts similarity index 100% rename from src/locales/gr/index.ts rename to core/src/locales/gr/index.ts diff --git a/src/locales/he/index.ts b/core/src/locales/he/index.ts similarity index 100% rename from src/locales/he/index.ts rename to core/src/locales/he/index.ts diff --git a/src/locales/hr/index.ts b/core/src/locales/hr/index.ts similarity index 100% rename from src/locales/hr/index.ts rename to core/src/locales/hr/index.ts diff --git a/src/locales/hu/index.ts b/core/src/locales/hu/index.ts similarity index 100% rename from src/locales/hu/index.ts rename to core/src/locales/hu/index.ts diff --git a/src/locales/index.ts b/core/src/locales/index.ts similarity index 100% rename from src/locales/index.ts rename to core/src/locales/index.ts diff --git a/src/locales/it/index.ts b/core/src/locales/it/index.ts similarity index 100% rename from src/locales/it/index.ts rename to core/src/locales/it/index.ts diff --git a/src/locales/ja/index.ts b/core/src/locales/ja/index.ts similarity index 100% rename from src/locales/ja/index.ts rename to core/src/locales/ja/index.ts diff --git a/src/locales/ko/index.ts b/core/src/locales/ko/index.ts similarity index 100% rename from src/locales/ko/index.ts rename to core/src/locales/ko/index.ts diff --git a/src/locales/lt/index.ts b/core/src/locales/lt/index.ts similarity index 100% rename from src/locales/lt/index.ts rename to core/src/locales/lt/index.ts diff --git a/src/locales/nb_no/index.ts b/core/src/locales/nb_no/index.ts similarity index 100% rename from src/locales/nb_no/index.ts rename to core/src/locales/nb_no/index.ts diff --git a/src/locales/nl/index.ts b/core/src/locales/nl/index.ts similarity index 100% rename from src/locales/nl/index.ts rename to core/src/locales/nl/index.ts diff --git a/src/locales/nn_no/index.ts b/core/src/locales/nn_no/index.ts similarity index 100% rename from src/locales/nn_no/index.ts rename to core/src/locales/nn_no/index.ts diff --git a/src/locales/pl/index.ts b/core/src/locales/pl/index.ts similarity index 100% rename from src/locales/pl/index.ts rename to core/src/locales/pl/index.ts diff --git a/src/locales/pt/index.ts b/core/src/locales/pt/index.ts similarity index 100% rename from src/locales/pt/index.ts rename to core/src/locales/pt/index.ts diff --git a/src/locales/ro/index.ts b/core/src/locales/ro/index.ts similarity index 100% rename from src/locales/ro/index.ts rename to core/src/locales/ro/index.ts diff --git a/src/locales/ru/index.ts b/core/src/locales/ru/index.ts similarity index 100% rename from src/locales/ru/index.ts rename to core/src/locales/ru/index.ts diff --git a/src/locales/sv/index.ts b/core/src/locales/sv/index.ts similarity index 100% rename from src/locales/sv/index.ts rename to core/src/locales/sv/index.ts diff --git a/src/locales/th/index.ts b/core/src/locales/th/index.ts similarity index 100% rename from src/locales/th/index.ts rename to core/src/locales/th/index.ts diff --git a/src/locales/tr/index.ts b/core/src/locales/tr/index.ts similarity index 100% rename from src/locales/tr/index.ts rename to core/src/locales/tr/index.ts diff --git a/src/locales/uk/index.ts b/core/src/locales/uk/index.ts similarity index 100% rename from src/locales/uk/index.ts rename to core/src/locales/uk/index.ts diff --git a/src/locales/vi/index.ts b/core/src/locales/vi/index.ts similarity index 100% rename from src/locales/vi/index.ts rename to core/src/locales/vi/index.ts diff --git a/src/locales/zh_Hans/index.ts b/core/src/locales/zh_Hans/index.ts similarity index 100% rename from src/locales/zh_Hans/index.ts rename to core/src/locales/zh_Hans/index.ts diff --git a/src/locales/zh_Hant/index.ts b/core/src/locales/zh_Hant/index.ts similarity index 100% rename from src/locales/zh_Hant/index.ts rename to core/src/locales/zh_Hant/index.ts diff --git a/src/media-libraries/cloudinary/index.ts b/core/src/media-libraries/cloudinary/index.ts similarity index 100% rename from src/media-libraries/cloudinary/index.ts rename to core/src/media-libraries/cloudinary/index.ts diff --git a/src/media-libraries/index.tsx b/core/src/media-libraries/index.tsx similarity index 100% rename from src/media-libraries/index.tsx rename to core/src/media-libraries/index.tsx diff --git a/src/media-libraries/uploadcare/index.ts b/core/src/media-libraries/uploadcare/index.ts similarity index 100% rename from src/media-libraries/uploadcare/index.ts rename to core/src/media-libraries/uploadcare/index.ts diff --git a/src/mediaLibrary.ts b/core/src/mediaLibrary.ts similarity index 100% rename from src/mediaLibrary.ts rename to core/src/mediaLibrary.ts diff --git a/src/reducers/auth.ts b/core/src/reducers/auth.ts similarity index 100% rename from src/reducers/auth.ts rename to core/src/reducers/auth.ts diff --git a/src/reducers/collections.ts b/core/src/reducers/collections.ts similarity index 100% rename from src/reducers/collections.ts rename to core/src/reducers/collections.ts diff --git a/src/reducers/combinedReducer.ts b/core/src/reducers/combinedReducer.ts similarity index 100% rename from src/reducers/combinedReducer.ts rename to core/src/reducers/combinedReducer.ts diff --git a/src/reducers/config.ts b/core/src/reducers/config.ts similarity index 100% rename from src/reducers/config.ts rename to core/src/reducers/config.ts diff --git a/src/reducers/cursors.ts b/core/src/reducers/cursors.ts similarity index 100% rename from src/reducers/cursors.ts rename to core/src/reducers/cursors.ts diff --git a/src/reducers/entries.ts b/core/src/reducers/entries.ts similarity index 100% rename from src/reducers/entries.ts rename to core/src/reducers/entries.ts diff --git a/src/reducers/entryDraft.ts b/core/src/reducers/entryDraft.ts similarity index 100% rename from src/reducers/entryDraft.ts rename to core/src/reducers/entryDraft.ts diff --git a/src/reducers/globalUI.ts b/core/src/reducers/globalUI.ts similarity index 100% rename from src/reducers/globalUI.ts rename to core/src/reducers/globalUI.ts diff --git a/src/reducers/index.ts b/core/src/reducers/index.ts similarity index 100% rename from src/reducers/index.ts rename to core/src/reducers/index.ts diff --git a/src/reducers/integrations.ts b/core/src/reducers/integrations.ts similarity index 100% rename from src/reducers/integrations.ts rename to core/src/reducers/integrations.ts diff --git a/src/reducers/mediaLibrary.ts b/core/src/reducers/mediaLibrary.ts similarity index 100% rename from src/reducers/mediaLibrary.ts rename to core/src/reducers/mediaLibrary.ts diff --git a/src/reducers/medias.ts b/core/src/reducers/medias.ts similarity index 100% rename from src/reducers/medias.ts rename to core/src/reducers/medias.ts diff --git a/src/reducers/scroll.ts b/core/src/reducers/scroll.ts similarity index 100% rename from src/reducers/scroll.ts rename to core/src/reducers/scroll.ts diff --git a/src/reducers/search.ts b/core/src/reducers/search.ts similarity index 100% rename from src/reducers/search.ts rename to core/src/reducers/search.ts diff --git a/src/reducers/status.ts b/core/src/reducers/status.ts similarity index 100% rename from src/reducers/status.ts rename to core/src/reducers/status.ts diff --git a/src/routing/history.ts b/core/src/routing/history.ts similarity index 100% rename from src/routing/history.ts rename to core/src/routing/history.ts diff --git a/src/store/hooks.ts b/core/src/store/hooks.ts similarity index 100% rename from src/store/hooks.ts rename to core/src/store/hooks.ts diff --git a/src/store/index.ts b/core/src/store/index.ts similarity index 100% rename from src/store/index.ts rename to core/src/store/index.ts diff --git a/src/store/middleware/waitUntilAction.ts b/core/src/store/middleware/waitUntilAction.ts similarity index 100% rename from src/store/middleware/waitUntilAction.ts rename to core/src/store/middleware/waitUntilAction.ts diff --git a/src/store/slices/snackbars.ts b/core/src/store/slices/snackbars.ts similarity index 100% rename from src/store/slices/snackbars.ts rename to core/src/store/slices/snackbars.ts diff --git a/src/types/constants.d.ts b/core/src/types/constants.d.ts similarity index 100% rename from src/types/constants.d.ts rename to core/src/types/constants.d.ts diff --git a/src/types/css.d.ts b/core/src/types/css.d.ts similarity index 100% rename from src/types/css.d.ts rename to core/src/types/css.d.ts diff --git a/src/types/diacritics.d.ts b/core/src/types/diacritics.d.ts similarity index 100% rename from src/types/diacritics.d.ts rename to core/src/types/diacritics.d.ts diff --git a/src/types/global.d.ts b/core/src/types/global.d.ts similarity index 100% rename from src/types/global.d.ts rename to core/src/types/global.d.ts diff --git a/src/types/ini.d.ts b/core/src/types/ini.d.ts similarity index 100% rename from src/types/ini.d.ts rename to core/src/types/ini.d.ts diff --git a/src/types/markdown.d.ts b/core/src/types/markdown.d.ts similarity index 100% rename from src/types/markdown.d.ts rename to core/src/types/markdown.d.ts diff --git a/src/types/semaphore.d.ts b/core/src/types/semaphore.d.ts similarity index 100% rename from src/types/semaphore.d.ts rename to core/src/types/semaphore.d.ts diff --git a/src/types/svg.d.ts b/core/src/types/svg.d.ts similarity index 100% rename from src/types/svg.d.ts rename to core/src/types/svg.d.ts diff --git a/src/types/tomlify-j0.4.d.ts b/core/src/types/tomlify-j0.4.d.ts similarity index 100% rename from src/types/tomlify-j0.4.d.ts rename to core/src/types/tomlify-j0.4.d.ts diff --git a/src/types/uploadcare.d.ts b/core/src/types/uploadcare.d.ts similarity index 100% rename from src/types/uploadcare.d.ts rename to core/src/types/uploadcare.d.ts diff --git a/src/types/what-the-diff.d.ts b/core/src/types/what-the-diff.d.ts similarity index 100% rename from src/types/what-the-diff.d.ts rename to core/src/types/what-the-diff.d.ts diff --git a/src/valueObjects/AssetProxy.ts b/core/src/valueObjects/AssetProxy.ts similarity index 100% rename from src/valueObjects/AssetProxy.ts rename to core/src/valueObjects/AssetProxy.ts diff --git a/src/valueObjects/EditorComponent.ts b/core/src/valueObjects/EditorComponent.ts similarity index 100% rename from src/valueObjects/EditorComponent.ts rename to core/src/valueObjects/EditorComponent.ts diff --git a/src/valueObjects/Entry.ts b/core/src/valueObjects/Entry.ts similarity index 100% rename from src/valueObjects/Entry.ts rename to core/src/valueObjects/Entry.ts diff --git a/src/widgets/boolean/BooleanControl.tsx b/core/src/widgets/boolean/BooleanControl.tsx similarity index 100% rename from src/widgets/boolean/BooleanControl.tsx rename to core/src/widgets/boolean/BooleanControl.tsx diff --git a/src/widgets/boolean/index.ts b/core/src/widgets/boolean/index.ts similarity index 100% rename from src/widgets/boolean/index.ts rename to core/src/widgets/boolean/index.ts diff --git a/src/widgets/code/CodeControl.tsx b/core/src/widgets/code/CodeControl.tsx similarity index 100% rename from src/widgets/code/CodeControl.tsx rename to core/src/widgets/code/CodeControl.tsx diff --git a/src/widgets/code/CodePreview.tsx b/core/src/widgets/code/CodePreview.tsx similarity index 100% rename from src/widgets/code/CodePreview.tsx rename to core/src/widgets/code/CodePreview.tsx diff --git a/src/widgets/code/SettingsButton.tsx b/core/src/widgets/code/SettingsButton.tsx similarity index 100% rename from src/widgets/code/SettingsButton.tsx rename to core/src/widgets/code/SettingsButton.tsx diff --git a/src/widgets/code/SettingsPane.tsx b/core/src/widgets/code/SettingsPane.tsx similarity index 100% rename from src/widgets/code/SettingsPane.tsx rename to core/src/widgets/code/SettingsPane.tsx diff --git a/src/widgets/code/data/languages-raw.yml b/core/src/widgets/code/data/languages-raw.yml similarity index 100% rename from src/widgets/code/data/languages-raw.yml rename to core/src/widgets/code/data/languages-raw.yml diff --git a/src/widgets/code/data/languages.ts b/core/src/widgets/code/data/languages.ts similarity index 100% rename from src/widgets/code/data/languages.ts rename to core/src/widgets/code/data/languages.ts diff --git a/src/widgets/code/index.ts b/core/src/widgets/code/index.ts similarity index 100% rename from src/widgets/code/index.ts rename to core/src/widgets/code/index.ts diff --git a/src/widgets/code/languageSelectStyles.ts b/core/src/widgets/code/languageSelectStyles.ts similarity index 100% rename from src/widgets/code/languageSelectStyles.ts rename to core/src/widgets/code/languageSelectStyles.ts diff --git a/src/widgets/code/schema.ts b/core/src/widgets/code/schema.ts similarity index 100% rename from src/widgets/code/schema.ts rename to core/src/widgets/code/schema.ts diff --git a/src/widgets/code/scripts/process-languages.ts b/core/src/widgets/code/scripts/process-languages.ts similarity index 100% rename from src/widgets/code/scripts/process-languages.ts rename to core/src/widgets/code/scripts/process-languages.ts diff --git a/src/widgets/colorstring/ColorControl.tsx b/core/src/widgets/colorstring/ColorControl.tsx similarity index 100% rename from src/widgets/colorstring/ColorControl.tsx rename to core/src/widgets/colorstring/ColorControl.tsx diff --git a/src/widgets/colorstring/ColorPreview.tsx b/core/src/widgets/colorstring/ColorPreview.tsx similarity index 100% rename from src/widgets/colorstring/ColorPreview.tsx rename to core/src/widgets/colorstring/ColorPreview.tsx diff --git a/src/widgets/colorstring/index.ts b/core/src/widgets/colorstring/index.ts similarity index 100% rename from src/widgets/colorstring/index.ts rename to core/src/widgets/colorstring/index.ts diff --git a/src/widgets/datetime/DateTimeControl.tsx b/core/src/widgets/datetime/DateTimeControl.tsx similarity index 100% rename from src/widgets/datetime/DateTimeControl.tsx rename to core/src/widgets/datetime/DateTimeControl.tsx diff --git a/src/widgets/datetime/DateTimePreview.tsx b/core/src/widgets/datetime/DateTimePreview.tsx similarity index 100% rename from src/widgets/datetime/DateTimePreview.tsx rename to core/src/widgets/datetime/DateTimePreview.tsx diff --git a/src/widgets/datetime/index.tsx b/core/src/widgets/datetime/index.tsx similarity index 100% rename from src/widgets/datetime/index.tsx rename to core/src/widgets/datetime/index.tsx diff --git a/src/widgets/datetime/schema.ts b/core/src/widgets/datetime/schema.ts similarity index 100% rename from src/widgets/datetime/schema.ts rename to core/src/widgets/datetime/schema.ts diff --git a/src/widgets/file/FilePreview.tsx b/core/src/widgets/file/FilePreview.tsx similarity index 100% rename from src/widgets/file/FilePreview.tsx rename to core/src/widgets/file/FilePreview.tsx diff --git a/src/widgets/file/index.ts b/core/src/widgets/file/index.ts similarity index 100% rename from src/widgets/file/index.ts rename to core/src/widgets/file/index.ts diff --git a/src/widgets/file/schema.ts b/core/src/widgets/file/schema.ts similarity index 100% rename from src/widgets/file/schema.ts rename to core/src/widgets/file/schema.ts diff --git a/src/widgets/file/withFileControl.tsx b/core/src/widgets/file/withFileControl.tsx similarity index 100% rename from src/widgets/file/withFileControl.tsx rename to core/src/widgets/file/withFileControl.tsx diff --git a/src/widgets/image/ImagePreview.tsx b/core/src/widgets/image/ImagePreview.tsx similarity index 100% rename from src/widgets/image/ImagePreview.tsx rename to core/src/widgets/image/ImagePreview.tsx diff --git a/src/widgets/image/index.ts b/core/src/widgets/image/index.ts similarity index 100% rename from src/widgets/image/index.ts rename to core/src/widgets/image/index.ts diff --git a/src/widgets/image/schema.ts b/core/src/widgets/image/schema.ts similarity index 100% rename from src/widgets/image/schema.ts rename to core/src/widgets/image/schema.ts diff --git a/src/widgets/index.tsx b/core/src/widgets/index.tsx similarity index 100% rename from src/widgets/index.tsx rename to core/src/widgets/index.tsx diff --git a/src/widgets/list/ListControl.tsx b/core/src/widgets/list/ListControl.tsx similarity index 100% rename from src/widgets/list/ListControl.tsx rename to core/src/widgets/list/ListControl.tsx diff --git a/src/widgets/list/ListItem.tsx b/core/src/widgets/list/ListItem.tsx similarity index 100% rename from src/widgets/list/ListItem.tsx rename to core/src/widgets/list/ListItem.tsx diff --git a/src/widgets/list/index.ts b/core/src/widgets/list/index.ts similarity index 100% rename from src/widgets/list/index.ts rename to core/src/widgets/list/index.ts diff --git a/src/widgets/list/schema.ts b/core/src/widgets/list/schema.ts similarity index 100% rename from src/widgets/list/schema.ts rename to core/src/widgets/list/schema.ts diff --git a/src/widgets/list/typedListHelpers.ts b/core/src/widgets/list/typedListHelpers.ts similarity index 100% rename from src/widgets/list/typedListHelpers.ts rename to core/src/widgets/list/typedListHelpers.ts diff --git a/src/widgets/map/MapPreview.tsx b/core/src/widgets/map/MapPreview.tsx similarity index 100% rename from src/widgets/map/MapPreview.tsx rename to core/src/widgets/map/MapPreview.tsx diff --git a/src/widgets/map/index.ts b/core/src/widgets/map/index.ts similarity index 100% rename from src/widgets/map/index.ts rename to core/src/widgets/map/index.ts diff --git a/src/widgets/map/schema.ts b/core/src/widgets/map/schema.ts similarity index 100% rename from src/widgets/map/schema.ts rename to core/src/widgets/map/schema.ts diff --git a/src/widgets/map/withMapControl.tsx b/core/src/widgets/map/withMapControl.tsx similarity index 100% rename from src/widgets/map/withMapControl.tsx rename to core/src/widgets/map/withMapControl.tsx diff --git a/src/widgets/markdown/MarkdownControl.tsx b/core/src/widgets/markdown/MarkdownControl.tsx similarity index 100% rename from src/widgets/markdown/MarkdownControl.tsx rename to core/src/widgets/markdown/MarkdownControl.tsx diff --git a/src/widgets/markdown/MarkdownPreview.tsx b/core/src/widgets/markdown/MarkdownPreview.tsx similarity index 100% rename from src/widgets/markdown/MarkdownPreview.tsx rename to core/src/widgets/markdown/MarkdownPreview.tsx diff --git a/src/widgets/markdown/index.ts b/core/src/widgets/markdown/index.ts similarity index 100% rename from src/widgets/markdown/index.ts rename to core/src/widgets/markdown/index.ts diff --git a/src/widgets/markdown/regexHelper.ts b/core/src/widgets/markdown/regexHelper.ts similarity index 100% rename from src/widgets/markdown/regexHelper.ts rename to core/src/widgets/markdown/regexHelper.ts diff --git a/src/widgets/markdown/schema.ts b/core/src/widgets/markdown/schema.ts similarity index 100% rename from src/widgets/markdown/schema.ts rename to core/src/widgets/markdown/schema.ts diff --git a/src/widgets/markdown/serializers.ts b/core/src/widgets/markdown/serializers.ts similarity index 100% rename from src/widgets/markdown/serializers.ts rename to core/src/widgets/markdown/serializers.ts diff --git a/src/widgets/markdown/styles.ts b/core/src/widgets/markdown/styles.ts similarity index 100% rename from src/widgets/markdown/styles.ts rename to core/src/widgets/markdown/styles.ts diff --git a/src/widgets/markdown/types.ts b/core/src/widgets/markdown/types.ts similarity index 100% rename from src/widgets/markdown/types.ts rename to core/src/widgets/markdown/types.ts diff --git a/src/widgets/number/NumberControl.tsx b/core/src/widgets/number/NumberControl.tsx similarity index 100% rename from src/widgets/number/NumberControl.tsx rename to core/src/widgets/number/NumberControl.tsx diff --git a/src/widgets/number/NumberPreview.tsx b/core/src/widgets/number/NumberPreview.tsx similarity index 100% rename from src/widgets/number/NumberPreview.tsx rename to core/src/widgets/number/NumberPreview.tsx diff --git a/src/widgets/number/index.ts b/core/src/widgets/number/index.ts similarity index 100% rename from src/widgets/number/index.ts rename to core/src/widgets/number/index.ts diff --git a/src/widgets/number/schema.ts b/core/src/widgets/number/schema.ts similarity index 100% rename from src/widgets/number/schema.ts rename to core/src/widgets/number/schema.ts diff --git a/src/widgets/object/ObjectControl.tsx b/core/src/widgets/object/ObjectControl.tsx similarity index 100% rename from src/widgets/object/ObjectControl.tsx rename to core/src/widgets/object/ObjectControl.tsx diff --git a/src/widgets/object/ObjectPreview.tsx b/core/src/widgets/object/ObjectPreview.tsx similarity index 100% rename from src/widgets/object/ObjectPreview.tsx rename to core/src/widgets/object/ObjectPreview.tsx diff --git a/src/widgets/object/index.ts b/core/src/widgets/object/index.ts similarity index 100% rename from src/widgets/object/index.ts rename to core/src/widgets/object/index.ts diff --git a/src/widgets/object/schema.ts b/core/src/widgets/object/schema.ts similarity index 100% rename from src/widgets/object/schema.ts rename to core/src/widgets/object/schema.ts diff --git a/src/widgets/relation/RelationControl.tsx b/core/src/widgets/relation/RelationControl.tsx similarity index 100% rename from src/widgets/relation/RelationControl.tsx rename to core/src/widgets/relation/RelationControl.tsx diff --git a/src/widgets/relation/RelationPreview.tsx b/core/src/widgets/relation/RelationPreview.tsx similarity index 100% rename from src/widgets/relation/RelationPreview.tsx rename to core/src/widgets/relation/RelationPreview.tsx diff --git a/src/widgets/relation/index.ts b/core/src/widgets/relation/index.ts similarity index 100% rename from src/widgets/relation/index.ts rename to core/src/widgets/relation/index.ts diff --git a/src/widgets/relation/schema.ts b/core/src/widgets/relation/schema.ts similarity index 100% rename from src/widgets/relation/schema.ts rename to core/src/widgets/relation/schema.ts diff --git a/src/widgets/select/SelectControl.tsx b/core/src/widgets/select/SelectControl.tsx similarity index 100% rename from src/widgets/select/SelectControl.tsx rename to core/src/widgets/select/SelectControl.tsx diff --git a/src/widgets/select/SelectPreview.tsx b/core/src/widgets/select/SelectPreview.tsx similarity index 100% rename from src/widgets/select/SelectPreview.tsx rename to core/src/widgets/select/SelectPreview.tsx diff --git a/src/widgets/select/index.ts b/core/src/widgets/select/index.ts similarity index 100% rename from src/widgets/select/index.ts rename to core/src/widgets/select/index.ts diff --git a/src/widgets/select/schema.ts b/core/src/widgets/select/schema.ts similarity index 100% rename from src/widgets/select/schema.ts rename to core/src/widgets/select/schema.ts diff --git a/src/widgets/string/StringControl.tsx b/core/src/widgets/string/StringControl.tsx similarity index 100% rename from src/widgets/string/StringControl.tsx rename to core/src/widgets/string/StringControl.tsx diff --git a/src/widgets/string/StringPreview.tsx b/core/src/widgets/string/StringPreview.tsx similarity index 100% rename from src/widgets/string/StringPreview.tsx rename to core/src/widgets/string/StringPreview.tsx diff --git a/src/widgets/string/index.ts b/core/src/widgets/string/index.ts similarity index 100% rename from src/widgets/string/index.ts rename to core/src/widgets/string/index.ts diff --git a/src/widgets/text/TextControl.tsx b/core/src/widgets/text/TextControl.tsx similarity index 100% rename from src/widgets/text/TextControl.tsx rename to core/src/widgets/text/TextControl.tsx diff --git a/src/widgets/text/TextPreview.tsx b/core/src/widgets/text/TextPreview.tsx similarity index 100% rename from src/widgets/text/TextPreview.tsx rename to core/src/widgets/text/TextPreview.tsx diff --git a/src/widgets/text/index.ts b/core/src/widgets/text/index.ts similarity index 100% rename from src/widgets/text/index.ts rename to core/src/widgets/text/index.ts diff --git a/tsconfig.json b/core/tsconfig.json similarity index 100% rename from tsconfig.json rename to core/tsconfig.json diff --git a/webpack.config.js b/core/webpack.config.js similarity index 100% rename from webpack.config.js rename to core/webpack.config.js diff --git a/yarn.lock b/core/yarn.lock similarity index 98% rename from yarn.lock rename to core/yarn.lock index fc3ac2e2..4b543413 100644 --- a/yarn.lock +++ b/core/yarn.lock @@ -1646,24 +1646,24 @@ resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA== -"@mui/base@5.0.0-alpha.98": - version "5.0.0-alpha.98" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.98.tgz#d1c89477d74cbfc64a7d1b336a6dbe83d4057ee8" - integrity sha512-c0U51+K2m57MASpRrmNs6qTXSvktDbVcSjD8zCRPbfuwYWERGGwNxwM3/jsBa4dSojTSmLPnOBFDypl74Ds6yQ== +"@mui/base@5.0.0-alpha.102": + version "5.0.0-alpha.102" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.102.tgz#53b07d0b73d3afe1d2a3feb3b43c8188bb821796" + integrity sha512-5e/qAIP+DlkrZxIt/cwnDw/A3ii22WkoEoWKHyu4+oeGs3/1Flh7qLaN4h5EAIBB9TvTEZEUzvmsTInmIj6ghg== dependencies: "@babel/runtime" "^7.19.0" "@emotion/is-prop-valid" "^1.2.0" "@mui/types" "^7.2.0" - "@mui/utils" "^5.10.6" + "@mui/utils" "^5.10.9" "@popperjs/core" "^2.11.6" clsx "^1.2.1" prop-types "^15.8.1" react-is "^18.2.0" -"@mui/core-downloads-tracker@^5.10.6": - version "5.10.7" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.7.tgz#b0dd472438cf769ba10c44ce44b35b597bfa0e17" - integrity sha512-3N0UYVy3MbrHzM3j6f7fIUCZ+bQ1/sSZq143tLxwSssW3Z4AqE83brpr5flEY1Lx+Aowv/cPyQMmZxzRlFCGqw== +"@mui/core-downloads-tracker@^5.10.10": + version "5.10.10" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.10.tgz#a3e5d2f6e5146e9a85d48824c386a31be1746ba3" + integrity sha512-aDuE2PNEh+hAndxEWlZgq7uiFPZKJtnkPDX7v6kSCrMXA32ZaQ6rZi5olmC7DUHt/BaOSxb7N/im/ss0XBkDhA== "@mui/icons-material@5.10.6": version "5.10.6" @@ -1672,53 +1672,53 @@ dependencies: "@babel/runtime" "^7.19.0" -"@mui/material@5.10.6": - version "5.10.6" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.10.6.tgz#46d04b5dd79fe83bdab5322301db1008e0d7c0e3" - integrity sha512-QilW5PAAGSQdN7Cpp4rwSQ1doJAt3ca1a2PHZtr8RLVlpHnXb+qQ8CeDo9+9V2fK5CDNdtTN1F+iJKO43aFBpQ== +"@mui/material@5.10.10": + version "5.10.10" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.10.10.tgz#df780d933c0aa9d4a5272f32c9cc24bf1ea72cff" + integrity sha512-ioLvqY7VvcePz9dnEIRhpiVvtJmAFmvG6rtLXXzVdMmAVbSaelr5Io07mPz/mCyqE+Uv8/4EuJV276DWO7etzA== dependencies: "@babel/runtime" "^7.19.0" - "@mui/base" "5.0.0-alpha.98" - "@mui/core-downloads-tracker" "^5.10.6" - "@mui/system" "^5.10.6" + "@mui/base" "5.0.0-alpha.102" + "@mui/core-downloads-tracker" "^5.10.10" + "@mui/system" "^5.10.10" "@mui/types" "^7.2.0" - "@mui/utils" "^5.10.6" + "@mui/utils" "^5.10.9" "@types/react-transition-group" "^4.4.5" clsx "^1.2.1" - csstype "^3.1.0" + csstype "^3.1.1" prop-types "^15.8.1" react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.10.6": - version "5.10.6" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.10.6.tgz#2c6bb2a4b7034cd402a099bd0349f217584e7b25" - integrity sha512-I/W0QyTLRdEx6py3lKAquKO/rNF/7j+nIOM/xCyI9kU0fcotVTcTY08mKMsS6vrzdWpi6pAkD0wP0KwWy5R5VA== +"@mui/private-theming@^5.10.9": + version "5.10.9" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.10.9.tgz#c427bfa736455703975cdb108dbde6a174ba7971" + integrity sha512-BN7/CnsVPVyBaQpDTij4uV2xGYHHHhOgpdxeYLlIu+TqnsVM7wUeF+37kXvHovxM6xmL5qoaVUD98gDC0IZnHg== dependencies: "@babel/runtime" "^7.19.0" - "@mui/utils" "^5.10.6" + "@mui/utils" "^5.10.9" prop-types "^15.8.1" -"@mui/styled-engine@^5.10.7": - version "5.10.7" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.10.7.tgz#0080319577aec765590e3c2272f6629427a65eb0" - integrity sha512-CCrtW+vvCKEm6pOE/QcutQ+ORC/iE6D1ghscN4l7LE2JXPvTXO/z0yu8Wxug1JEDlWm4r1Qa0PzJe1P9bjKzNA== +"@mui/styled-engine@^5.10.8": + version "5.10.8" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.10.8.tgz#2db411e4278f06f70ccb6b5cd56ace67109513f6" + integrity sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw== dependencies: "@babel/runtime" "^7.19.0" "@emotion/cache" "^11.10.3" csstype "^3.1.1" prop-types "^15.8.1" -"@mui/system@^5.10.6": - version "5.10.7" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.10.7.tgz#c13e5d135967e9689c473a66db4695ff78012701" - integrity sha512-kwyhjjKGsgtBRFl6vSqidDZcNKU5S1juTgm4Xi2fyWxaEbIQb9Sh9y0iVP2bNCJzgDr0alLaENOZOEaDWHISAQ== +"@mui/system@^5.10.10": + version "5.10.10" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.10.10.tgz#fbc34f29a3b62268c3d2b2be92819a35fc52de90" + integrity sha512-TXwtKN0adKpBrZmO+eilQWoPf2veh050HLYrN78Kps9OhlvO70v/2Kya0+mORFhu9yhpAwjHXO8JII/R4a5ZLA== dependencies: "@babel/runtime" "^7.19.0" - "@mui/private-theming" "^5.10.6" - "@mui/styled-engine" "^5.10.7" + "@mui/private-theming" "^5.10.9" + "@mui/styled-engine" "^5.10.8" "@mui/types" "^7.2.0" - "@mui/utils" "^5.10.6" + "@mui/utils" "^5.10.9" clsx "^1.2.1" csstype "^3.1.1" prop-types "^15.8.1" @@ -1728,7 +1728,7 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.0.tgz#91380c2d42420f51f404120f7a9270eadd6f5c23" integrity sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA== -"@mui/utils@^5.10.3", "@mui/utils@^5.10.6": +"@mui/utils@^5.10.3": version "5.10.6" resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.10.6.tgz#98d432d2b05544c46efe356cf095cea3a37c2e59" integrity sha512-g0Qs8xN/MW2M3fLL8197h5J2VB9U+49fLlnKKqC6zy/yus5cZwdT+Gwec+wUMxgwQoxMDn+J8oDWAn28kEOR/Q== @@ -1739,6 +1739,17 @@ prop-types "^15.8.1" react-is "^18.2.0" +"@mui/utils@^5.10.9": + version "5.10.9" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.10.9.tgz#9dc455f9230f43eeb81d96a9a4bdb3855bb9ea39" + integrity sha512-2tdHWrq3+WCy+G6TIIaFx3cg7PorXZ71P375ExuX61od1NOAJP1mK90VxQ8N4aqnj2vmO3AQDkV4oV2Ktvt4bA== + dependencies: + "@babel/runtime" "^7.19.0" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^16.7.1 || ^17.0.0" + prop-types "^15.8.1" + react-is "^18.2.0" + "@mui/x-date-pickers@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-5.0.4.tgz#79a509354eea4bedaa955ee52f37d80256d7e415" @@ -2278,7 +2289,7 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*", "@types/node@>= 8", "@types/node@>=6": +"@types/node@*", "@types/node@>= 8": version "18.7.23" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.23.tgz#75c580983846181ebe5f4abc40fe9dfb2d65665f" integrity sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg== @@ -2472,11 +2483,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/zen-observable@^0.8.0": - version "0.8.3" - resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.3.tgz#781d360c282436494b32fe7d9f7f8e64b3118aa3" - integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== - "@typescript-eslint/eslint-plugin@5.38.0": version "5.38.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz#ac919a199548861012e8c1fb2ec4899ac2bc22ae" @@ -2695,21 +2701,6 @@ resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== -"@wry/context@^0.4.0": - version "0.4.4" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.4.4.tgz#e50f5fa1d6cfaabf2977d1fda5ae91717f8815f8" - integrity sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag== - dependencies: - "@types/node" ">=6" - tslib "^1.9.3" - -"@wry/equality@^0.1.2": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" - integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA== - dependencies: - tslib "^1.9.3" - "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -2853,85 +2844,6 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -apollo-cache-inmemory@1.6.6: - version "1.6.6" - resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz#56d1f2a463a6b9db32e9fa990af16d2a008206fd" - integrity sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A== - dependencies: - apollo-cache "^1.3.5" - apollo-utilities "^1.3.4" - optimism "^0.10.0" - ts-invariant "^0.4.0" - tslib "^1.10.0" - -apollo-cache@1.3.5, apollo-cache@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.5.tgz#9dbebfc8dbe8fe7f97ba568a224bca2c5d81f461" - integrity sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA== - dependencies: - apollo-utilities "^1.3.4" - tslib "^1.10.0" - -apollo-client@2.6.10: - version "2.6.10" - resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.10.tgz#86637047b51d940c8eaa771a4ce1b02df16bea6a" - integrity sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA== - dependencies: - "@types/zen-observable" "^0.8.0" - apollo-cache "1.3.5" - apollo-link "^1.0.0" - apollo-utilities "1.3.4" - symbol-observable "^1.0.2" - ts-invariant "^0.4.0" - tslib "^1.10.0" - zen-observable "^0.8.0" - -apollo-link-context@1.0.20: - version "1.0.20" - resolved "https://registry.yarnpkg.com/apollo-link-context/-/apollo-link-context-1.0.20.tgz#1939ac5dc65d6dff0c855ee53521150053c24676" - integrity sha512-MLLPYvhzNb8AglNsk2NcL9AvhO/Vc9hn2ZZuegbhRHGet3oGr0YH9s30NS9+ieoM0sGT11p7oZ6oAILM/kiRBA== - dependencies: - apollo-link "^1.2.14" - tslib "^1.9.3" - -apollo-link-http-common@^0.2.16: - version "0.2.16" - resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz#756749dafc732792c8ca0923f9a40564b7c59ecc" - integrity sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg== - dependencies: - apollo-link "^1.2.14" - ts-invariant "^0.4.0" - tslib "^1.9.3" - -apollo-link-http@1.5.17: - version "1.5.17" - resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.17.tgz#499e9f1711bf694497f02c51af12d82de5d8d8ba" - integrity sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg== - dependencies: - apollo-link "^1.2.14" - apollo-link-http-common "^0.2.16" - tslib "^1.9.3" - -apollo-link@^1.0.0, apollo-link@^1.2.14: - version "1.2.14" - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" - integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg== - dependencies: - apollo-utilities "^1.3.0" - ts-invariant "^0.4.0" - tslib "^1.9.3" - zen-observable-ts "^0.8.21" - -apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" - integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig== - dependencies: - "@wry/equality" "^0.1.2" - fast-json-stable-stringify "^2.0.0" - ts-invariant "^0.4.0" - tslib "^1.10.0" - argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -4043,7 +3955,7 @@ csso@^4.0.2, csso@^4.2.0: dependencies: css-tree "^1.1.2" -csstype@^3.0.2, csstype@^3.1.0, csstype@^3.1.1: +csstype@^3.0.2, csstype@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== @@ -7602,13 +7514,6 @@ opener@^1.5.1: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -optimism@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.10.3.tgz#163268fdc741dea2fb50f300bedda80356445fd7" - integrity sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw== - dependencies: - "@wry/context" "^0.4.0" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -9535,11 +9440,6 @@ svgo@^2.0.3: picocolors "^1.0.0" stable "^0.1.8" -symbol-observable@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - sywac@^1.2.2: version "1.3.0" resolved "https://registry.yarnpkg.com/sywac/-/sywac-1.3.0.tgz#324789bdb8bd7d0d66625c9144fce81ab5ba6f99" @@ -9705,13 +9605,6 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-invariant@^0.4.0: - version "0.4.4" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" - integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA== - dependencies: - tslib "^1.9.3" - ts-loader@9.4.1: version "9.4.1" resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.4.1.tgz#b6f3d82db0eac5a8295994f8cb5e4940ff6b1060" @@ -9732,7 +9625,7 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.3: +tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -10474,19 +10367,6 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zen-observable-ts@^0.8.21: - version "0.8.21" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" - integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg== - dependencies: - tslib "^1.9.3" - zen-observable "^0.8.0" - -zen-observable@^0.8.0: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== - zwitch@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.2.tgz#91f8d0e901ffa3d66599756dde7f57b17c95dce1" diff --git a/renovate.json b/renovate.json deleted file mode 100644 index 158185f4..00000000 --- a/renovate.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": ["github>netlify/renovate-config:default"], - "ignorePresets": [":prHourlyLimit2"], - "semanticCommits": true, - "dependencyDashboard": true, - "lockFileMaintenance": { - "enabled": true - }, - "packageRules": [ - { - "matchPackagePatterns": ["emotion", "^remark", "slate"], - "major": { - "enabled": false - } - } - ] -} diff --git a/setupTestFramework.js b/setupTestFramework.js deleted file mode 100644 index 62f0a0d8..00000000 --- a/setupTestFramework.js +++ /dev/null @@ -1,13 +0,0 @@ -/* eslint-disable @emotion/no-vanilla */ -import '@testing-library/jest-dom/extend-expect'; -import fetch from 'node-fetch'; - -jest.mock('path', () => { - const actual = jest.requireActual('path'); - return { - ...actual.posix, - }; -}); - -window.fetch = fetch; -window.URL.createObjectURL = jest.fn(); diff --git a/website/.babelrc b/website/.babelrc deleted file mode 100644 index 131352d3..00000000 --- a/website/.babelrc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "presets": ["babel-preset-gatsby"], - "plugins": [ - [ - "prismjs", - { - "languages": ["javascript", "css", "markup", "yaml", "json"], - "plugins": ["line-numbers"], - "theme": "tomorrow", - "css": true - } - ] - ] -} diff --git a/website/.editorconfig b/website/.editorconfig new file mode 100644 index 00000000..5fe0621b --- /dev/null +++ b/website/.editorconfig @@ -0,0 +1,19 @@ +# https://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.js] +quote_type = single +spaces_around_operators = true + +[*.css] +quote_type = single + +[*.md] +trim_trailing_whitespace = false diff --git a/website/.eslintignore b/website/.eslintignore new file mode 100644 index 00000000..1298c04c --- /dev/null +++ b/website/.eslintignore @@ -0,0 +1,5 @@ +node_modules +dist +dev-test +prism.js +next.config.js diff --git a/website/.eslintrc.js b/website/.eslintrc.js new file mode 100644 index 00000000..ce23cbbd --- /dev/null +++ b/website/.eslintrc.js @@ -0,0 +1,131 @@ +module.exports = { + parser: '@typescript-eslint/parser', + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'prettier', + 'plugin:import/recommended', + 'plugin:@typescript-eslint/recommended', + ], + env: { + es6: true, + browser: true, + node: true, + jest: true, + }, + globals: { + STATIC_CMS_CORE_VERSION: false, + CMS_ENV: false, + }, + rules: { + 'no-restricted-imports': 'off', + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: ['@mui/*/*/*', '!@mui/material/test-utils/*'], + message: 'Do not import material imports as 3rd level imports', + allowTypeImports: true, + }, + { + group: ['@mui/material', '!@mui/material/'], + message: 'Please import material imports as defaults or 2nd level imports', + allowTypeImports: true, + }, + ], + }, + ], + 'react-hooks/rules-of-hooks': 'error', // Checks rules of Hooks + 'react-hooks/exhaustive-deps': 'warn', // Checks effect dependencies + 'no-console': [0], + 'react/prop-types': [0], + 'react/require-default-props': 0, + 'import/no-named-as-default': 0, + 'react/react-in-jsx-scope': 'off', + 'import/order': [ + 'error', + { + 'newlines-between': 'always', + groups: [['builtin', 'external'], ['internal', 'parent', 'sibling', 'index'], ['type']], + }, + ], + 'no-duplicate-imports': 'error', + '@emotion/no-vanilla': 'off', + '@emotion/import-from-emotion': 'error', + '@emotion/styled-import': 'error', + 'require-atomic-updates': [0], + 'object-shorthand': ['error', 'always'], + 'prefer-const': [ + 'error', + { + destructuring: 'all', + }, + ], + 'unicorn/prefer-string-slice': 'error', + 'react/no-unknown-property': ['error', { ignore: ['css'] }], + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + }, + plugins: ['babel', '@emotion', 'unicorn', 'react-hooks', '@typescript-eslint'], + settings: { + react: { + version: 'detect', + }, + 'import/resolver': { + node: { + extensions: ['.js', '.jsx', '.ts', '.tsx'], + }, + }, + 'import/core-modules': ['src'], + }, + overrides: [ + { + files: ['*.ts', '*.tsx'], + parser: '@typescript-eslint/parser', + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:@typescript-eslint/recommended', + 'prettier', + 'plugin:import/recommended', + 'plugin:import/typescript', + ], + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + }, + rules: { + 'react/react-in-jsx-scope': 'off', + 'react/prop-types': [0], + 'react/require-default-props': 0, + 'no-duplicate-imports': [0], // handled by @typescript-eslint + '@typescript-eslint/ban-types': [0], // TODO enable in future + '@typescript-eslint/no-non-null-assertion': [0], + '@typescript-eslint/consistent-type-imports': 'error', + '@typescript-eslint/explicit-function-return-type': [0], + '@typescript-eslint/explicit-module-boundary-types': [0], + '@typescript-eslint/no-duplicate-imports': 'error', + '@typescript-eslint/no-use-before-define': [ + 'error', + { functions: false, classes: true, variables: true }, + ], + }, + }, + { + files: ['website/**/*'], + rules: { + 'import/no-unresolved': [0], + }, + }, + ], +}; diff --git a/website/.eslintrc.json b/website/.eslintrc.json new file mode 100644 index 00000000..bffb357a --- /dev/null +++ b/website/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/website/.gitignore b/website/.gitignore index 0174e7b8..c87c9b39 100644 --- a/website/.gitignore +++ b/website/.gitignore @@ -1,3 +1,36 @@ -.cache -public -dist +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/website/.markdownlint.json b/website/.markdownlint.json deleted file mode 100644 index 77811aa6..00000000 --- a/website/.markdownlint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "default": false, - "MD032": true -} diff --git a/website/.nvmrc b/website/.nvmrc deleted file mode 100644 index cbe86a23..00000000 --- a/website/.nvmrc +++ /dev/null @@ -1 +0,0 @@ ---lts diff --git a/website/.prettierignore b/website/.prettierignore new file mode 100644 index 00000000..485fb2a0 --- /dev/null +++ b/website/.prettierignore @@ -0,0 +1,4 @@ +dist/ +bin/ +public/ +.cache/ \ No newline at end of file diff --git a/website/.prettierrc b/website/.prettierrc new file mode 100644 index 00000000..30e01f34 --- /dev/null +++ b/website/.prettierrc @@ -0,0 +1,6 @@ +{ + "arrowParens": "avoid", + "trailingComma": "all", + "singleQuote": true, + "printWidth": 100 +} diff --git a/website/README.md b/website/README.md deleted file mode 100644 index 10ceb6f4..00000000 --- a/website/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Static CMS Website & Docs - -This directory builds staticjscms.github.io/static-cms. If you'd like to propose changes to the site or docs, you'll find the source files in here. - -## Local development - -The site is built with [GatsbyJS](https://gatsbyjs.org/). - -To run the site locally, you'll need to have [Node](https://nodejs.org) and [Yarn](https://yarnpkg.com/en/) installed on your computer. - -From your terminal window, `cd` into the `website` directory of the repo, and run - -```bash -yarn -yarn start -``` - -Then visit http://localhost:8000/ - Gatsby will automatically reload CSS or -refresh the page when stylesheets or content changes. diff --git a/website/content/.keep b/website/content/.keep deleted file mode 100644 index e69de29b..00000000 diff --git a/website/content/blog/welcome-to-simple-cms.md b/website/content/blog/welcome-to-simple-cms.md deleted file mode 100644 index 2a6570e2..00000000 --- a/website/content/blog/welcome-to-simple-cms.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: >- - Welcome to Static CMS -author: Daniel Lautzenheiser -description: >- - Announcing the release of Static CMS v1.0. -twitter_image: /img/static-cms.png -date: 2022-11-30T12:00:00.000Z ---- -Today we’re releasing Static CMS 1.0! \ No newline at end of file diff --git a/website/content/community.json b/website/content/community.json new file mode 100644 index 00000000..5c4ea9ee --- /dev/null +++ b/website/content/community.json @@ -0,0 +1,36 @@ +{ + "title": "Help us build the CMS of the future", + "subtitle": "Get support, give support and find out what's new through the channels below.", + "sections": [ + { + "title": "Support", + "links": [ + { + "title": "Static CMS Slack", + "description": "Live community chat for all things Static CMS", + "url": "https://join.slack.com/t/static-cms/shared_invite/zt-1gvgnf5yv-E4sR17YnEcOy6fLFH9m7bQ" + }, + { + "title": "Static CMS Community", + "description": "Ask and answer questions on GitHub discussions tab", + "url": "https://github.com/StaticJsCMS/static-cms/discussions" + }, + { + "title": "GitHub Issues", + "description": "Report bugs, request features and comment on existing issues", + "url": "https://github.com/StaticJsCMS/static-cms/issues" + } + ] + }, + { + "title": "Development", + "links": [ + { + "title": "GitHub Project", + "description": "Issues board on the Static CMS GitHub organization", + "url": "https://github.com/orgs/StaticJsCMS/projects/1" + } + ] + } + ] +} diff --git a/website/content/config.json b/website/content/config.json new file mode 100644 index 00000000..d653290a --- /dev/null +++ b/website/content/config.json @@ -0,0 +1,30 @@ +{ + "base_url": "https://static-cms.netlify.app/", + "repo_url": "https://github.com/StaticJsCMS/static-cms", + "site_title": "Static CMS | Open Source Content Management System", + "site_description": "Open source content management for your Git workflow. Use Static CMS with any static site generator for a faster and more flexible web project.", + "site_image": "/static-cms-logo.svg", + "site_keywords": ["static", "cms", "staticcms", "netlify"], + "footer": { + "buttons": [ + { + "text": "Twitter", + "url": "https://twitter.com/StaticJsCMS" + }, + { + "text": "GitHub", + "url": "https://github.com/StaticJsCMS/static-cms" + } + ], + "links": [ + { + "text": "Distributed under MIT License", + "url": "https://github.com/StaticJsCMS/static-cms/blob/main/LICENSE" + }, + { + "text": "Code of Conduct", + "url": "https://github.com/StaticJsCMS/static-cms/blob/main/CODE_OF_CONDUCT.md" + } + ] + } +} diff --git a/website/content/docs/add-to-your-site-bundling.mdx b/website/content/docs/add-to-your-site-bundling.mdx new file mode 100644 index 00000000..a1db988e --- /dev/null +++ b/website/content/docs/add-to-your-site-bundling.mdx @@ -0,0 +1,195 @@ +--- +group: Intro +title: Bundling +weight: 5 +--- + +This tutorial guides you through the steps for adding Static CMS via a package manager to a site that's built with a common [static site generator](https://www.staticgen.com/), like Jekyll, Nest, Hugo, Hexo, or Gatsby. Alternatively, you can [start from a template](/docs/start-with-a-template) or dive right into [configuration options](/docs/configuration-options). + +## Installation + +You can also use Static CMS as an npm module. Wherever you import Static CMS, it automatically runs, taking over the current page. Make sure the script that imports it only runs on your CMS page. First install the package and save it to your project: + +```bash +// npm +npm install @staticcms/core + +// yarn +yarn add @staticcms/core +``` + +Then import it (assuming your project has tooling for imports): + +```js +import CMS from '@staticcms/core'; +// Initialize the CMS object +CMS.init(); +// Now the registry is available via the CMS object. +CMS.registerPreviewTemplate('my-template', MyTemplate); +``` + +## Configuration + +Configuration is different for every site, so we'll break it down into parts. Add all the code snippets in this section to your `admin/config.yml` file. + +### Backend + +We're using [Netlify](https://www.netlify.com) for our hosting and authentication in this tutorial, so backend configuration is fairly straightforward. + +For GitHub and GitLab repositories, you can start your Static CMS `config.yml` file with these lines: + +```yaml +backend: + title: git-gateway + branch: master # Branch to update (optional; defaults to master) +``` + +_(For Bitbucket repositories, use the [Bitbucket backend](/docs/bitbucket-backend) instructions instead.)_ + +The configuration above specifies your backend protocol and your publication branch. Git Gateway is an open source API that acts as a proxy between authenticated users of your site and your site repo. (We'll get to the details of that in the [Authentication section](#authentication) below.) If you leave out the `branch` declaration, it defaults to `master`. + +### Media and Public Folders + +Static CMS allows users to upload images directly within the editor. For this to work, the CMS needs to know where to save them. If you already have an `images` folder in your project, you could use its path, possibly creating an `uploads` sub-folder, for example: + +```yaml +# This line should *not* be indented +media_folder: 'images/uploads' # Media files will be stored in the repo under images/uploads +``` + +If you're creating a new folder for uploaded media, you'll need to know where your static site generator expects static files. You can refer to the paths outlined above in [App File Structure](#app-file-structure), and put your media folder in the same location where you put the `admin` folder. + +Note that the`media_folder` file path is relative to the project root, so the example above would work for Jekyll, GitBook, or any other generator that stores static files at the project root. However, it would not work for Hugo, Hexo, Middleman or others that store static files in a subfolder. Here's an example that could work for a Hugo site: + +```yaml +# These lines should *not* be indented +media_folder: 'static/images/uploads' # Media files will be stored in the repo under static/images/uploads +public_folder: '/images/uploads' # The src attribute for uploaded media will begin with /images/uploads +``` + +The configuration above adds a new setting, `public_folder`. While `media_folder` specifies where uploaded files are saved in the repo, `public_folder` indicates where they are found in the published site. Image `src` attributes use this path, which is relative to the file where it's called. For this reason, we usually start the path at the site root, using the opening `/`. + +_If `public_folder` is not set, Static CMS defaults to the same value as `media_folder`, adding an opening `/` if one is not included._ + +### Collections + +Collections define the structure for the different content types on your static site. Since every site is different, the `collections` settings differ greatly from one site to the next. + +Let's say your site has a blog, with the posts stored in `_posts/blog`, and files saved in a date-title format, like `1999-12-31-lets-party.md`. Each post begins with settings in yaml-formatted front matter, like so: + +```yaml +--- +layout: blog +title: "Let's Party" +date: 1999-12-31 11:59:59 -0800 +thumbnail: '/images/prince.jpg' +rating: 5 +--- +This is the post body, where I write about our last chance to party before the Y2K bug destroys us all. +``` + +Given this example, our `collections` settings would look like this in your Static CMS `config.yml` file: + +```yaml +collections: + - title: 'blog' # Used in routes, e.g., /admin/collections/blog + label: 'Blog' # Used in the UI + folder: '_posts/blog' # The path to the folder where the documents are stored + create: true # Allow users to create new documents in this collection + slug: '{{year}}-{{month}}-{{day}}-{{slug}}' # Filename template, e.g., YYYY-MM-DD-title.md + fields: # The fields for each document, usually in front matter + - { label: 'Layout', title: 'layout', widget: 'hidden', default: 'blog' } + - { label: 'Title', title: 'title', widget: 'string' } + - { label: 'Publish Date', title: 'date', widget: 'datetime' } + - { label: 'Featured Image', title: 'thumbnail', widget: 'image' } + - { label: 'Rating (scale of 1-5)', title: 'rating', widget: 'number' } + - { label: 'Body', title: 'body', widget: 'markdown' } +``` + +Let's break that down: + +|Field|Description| +| ---- | --------------------- | +|name|Post type identifier, used in routes. Must be unique.| +|label|What the admin UI calls the post type.| +|folder|Where files of this type are stored, relative to the repo root.| +|create|Set to `true` to allow users to create new files in this collection.| +|slug|Template for filenames. `{{ year }}`, `{{ month }}`, and `{{ day }}` pulls from the post's `date` field or save date. `{{ slug }}` is a url-safe version of the post's `title`. Default is simply `{{ slug }}`.| +|fields|Fields listed here are shown as fields in the content editor, then saved as front matter at the beginning of the document (except for `body`, which follows the front matter).| + +As described above, the `widget` property specifies a built-in or custom UI widget for a given field. When a content editor enters a value into a widget, that value is saved in the document front matter as the value for the `name` specified for that field. A full listing of available widgets can be found in the [Widgets doc](/docs/widgets). + +Based on this example, you can go through the post types in your site and add the appropriate settings to your Static CMS `config.yml` file. Each post type should be listed as a separate node under the `collections` field. See the [Collections reference doc](/docs/configuration-options/#collections) for more configuration options. + +### Filter + +The entries for any collection can be filtered based on the value of a single field. The example collection below only shows post entries with the value `en` in the `language` field. + +```yaml +collections: + - title: 'posts' + label: 'Post' + folder: '_posts' + filter: + field: language + value: en + fields: + - { label: 'Language', title: 'language' } +``` + +## Authentication + +Now that you have your Static CMS files in place and configured, all that's left is to enable authentication. We're using the [Netlify](https://www.netlify.com/) platform here because it's one of the quickest ways to get started, but you can learn about other authentication options in the [Backends](/docs/backends-overview) doc. + +### Setup on Netlify + +Netlify offers a built-in authentication service called Identity. In order to use it, connect your site repo with Netlify. + +### Enable Identity and Git Gateway + +Netlify's Identity and Git Gateway services allow you to manage CMS admin users for your site without requiring them to have an account with your Git host or commit access on your repo. From your site dashboard on Netlify: + +1. Go to **Settings > Identity**, and select **Enable Identity service**. +2. Under **Registration preferences**, select **Open** or **Invite only**. In most cases, you want only invited users to access your CMS, but if you're just experimenting, you can leave it open for convenience. +3. If you'd like to allow one-click login with services like Google and GitHub, check the boxes next to the services you'd like to use, under **External providers**. +4. Scroll down to **Services > Git Gateway**, and click **Enable Git Gateway**. This authenticates with your Git host and generates an API access token. In this case, we're leaving the **Roles** field blank, which means any logged in user may access the CMS. For information on changing this, check the [Netlify Identity documentation](https://www.netlify.com/docs/identity/). + +### Add the Netlify Identity Widget + +With the backend set to handle authentication, now you need a frontend interface to connect to it. The open source Netlify Identity Widget is a drop-in widget made for just this purpose. To include the widget in your site, add the following script tag in two places: + +```html + +``` + +Add this to the `` of your CMS index page at `/admin/index.html`, as well as the `` of your site's main index page. Depending on how your site generator is set up, this may mean you need to add it to the default template, or to a "partial" or "include" template. If you can find where the site stylesheet is linked, that's probably the right place. Alternatively, you can include the script in your site using Netlify's [Script Injection](https://www.netlify.com/docs/inject-analytics-snippets/) feature. + +When a user logs in with the Netlify Identity widget, an access token directs to the site homepage. In order to complete the login and get back to the CMS, redirect the user back to the `/admin/` path. To do this, add the following script before the closing `body` tag of your site's main index page: + +```html + +``` + +Note: This example script requires modern JavaScript and does not work on IE11. For legacy browser support, use function expressions (`function () {}`) in place of the arrow functions (`() => {}`), or use a transpiler such as [Babel](https://babeljs.io/). + +## Accessing the CMS + +Your site CMS is now fully configured and ready for login! + +If you set your registration preference to "Invite only," invite yourself (and anyone else you choose) as a site user. To do this, select the **Identity** tab from your site dashboard, and then select the **Invite users** button. Invited users receive an email invitation with a confirmation link. Clicking the link will take you to your site with a login prompt. + +If you left your site registration open, or for return visits after confirming an email invitation, access your site's CMS at `yoursite.com/admin/`. + +**Note:** No matter where you access Static CMS — whether running locally, in a staging environment, or in your published site — it always fetches and commits files in your hosted repository (for example, on GitHub), on the branch you configured in your Static CMS config.yml file. This means that content fetched in the admin UI matches the content in the repository, which may be different from your locally running site. It also means that content saved using the admin UI saves directly to the hosted repository, even if you're running the UI locally or in staging. + +Happy posting! diff --git a/website/content/docs/add-to-your-site.md b/website/content/docs/add-to-your-site-cdn.mdx similarity index 66% rename from website/content/docs/add-to-your-site.md rename to website/content/docs/add-to-your-site-cdn.mdx index b1ff45bf..2c779238 100644 --- a/website/content/docs/add-to-your-site.md +++ b/website/content/docs/add-to-your-site-cdn.mdx @@ -1,11 +1,10 @@ --- group: Intro -weight: 3 -title: Add to Your Site +title: CDN Hosting +weight: 4 --- -You can adapt Static CMS to a wide variety of projects. It works with any content written in markdown, JSON, YAML, or TOML files, stored in a repo on [GitHub](https://github.com/), [GitLab](https://about.gitlab.com/), or [Bitbucket](https://bitbucket.org). You can also create your own custom backend. -This tutorial guides you through the steps for adding Static CMS to a site that's built with a common [static site generator](https://www.staticgen.com/), like Jekyll, Hugo, Hexo, or Gatsby. Alternatively, you can [start from a template](../start-with-a-template) or dive right into [configuration options](../configuration-options). +This tutorial guides you through the steps for adding Static CMS via a public CDN to a site that's built with a common [static site generator](https://www.staticgen.com/), like Jekyll, Nest, Hugo, Hexo, or Gatsby. Alternatively, you can [start from a template](/docs/start-with-a-template) or dive right into [configuration options](/docs/configuration-options). ## App File Structure @@ -36,48 +35,33 @@ admin └ config.yml ``` -The first file, `admin/index.html`, is the entry point for the Static CMS admin interface. This means that users navigate to `yoursite.com/admin/` to access it. On the code side, it's a basic HTML starter page that loads the Static CMS JavaScript file. The second file, `admin/config.yml`, is the heart of your Static CMS installation, and a bit more complex. The [Configuration](#configuration) section covers the details. +The first file, `admin/index.html`, is the entry point for the Static CMS admin interface. This means that users navigate to `yoursite.com/admin/` to access it. On the code side, it's a basic HTML starter page that loads the Static CMS JavaScript file from a public CDN. The second file, `admin/config.yml`, is the heart of your Static CMS installation, and a bit more complex. The [Configuration](#configuration) section covers the details. -In this example, we pull the `admin/index.html` file from a public CDN. +In this example, we pull the `admin/index.html` file from a public CDN. ```html - + - - - - Content Manager - - - - - + + + + Content Manager + + + + + + ``` -In the code above the `script` is loaded from the `unpkg` CDN. Should there be any issue, `jsDelivr` can be used as an alternative source. Simply set the `src` to `https://cdn.jsdelivr.net/npm/@staticcms/core@%5E0.1.0/dist/static-cms-core.js` - -### Installing with npm - -You can also use Static CMS as an npm module. Wherever you import Static CMS, it automatically runs, taking over the current page. Make sure the script that imports it only runs on your CMS page. First install the package and save it to your project: - -```bash -npm install @staticcms/core --save -``` - -Then import it (assuming your project has tooling for imports): - -```js -import CMS from '@staticcms/core' -// Initialize the CMS object -CMS.init() -// Now the registry is available via the CMS object. -CMS.registerPreviewTemplate('my-template', MyTemplate) -``` +In the code above the `script` is loaded from the `unpkg` CDN. Should there be any issue, `jsDelivr` can be used as an alternative source. Simply set the `src` to `https://cdn.jsdelivr.net/npm/@staticcms/core@%5E1.0.0/dist/static-cms-core.js` ## Configuration -Configuration is different for every site, so we'll break it down into parts. Add all the code snippets in this section to your `admin/config.yml` file. +Configuration is different for every site, so we'll break it down into parts. Add all the code snippets in this section to your `admin/config.yml` file. ### Backend @@ -87,11 +71,11 @@ For GitHub and GitLab repositories, you can start your Static CMS `config.yml` f ```yaml backend: - name: git-gateway + title: git-gateway branch: master # Branch to update (optional; defaults to master) ``` -*(For Bitbucket repositories, use the [Bitbucket backend](/docs/bitbucket-backend) instructions instead.)* +_(For Bitbucket repositories, use the [Bitbucket backend](/docs/bitbucket-backend) instructions instead.)_ The configuration above specifies your backend protocol and your publication branch. Git Gateway is an open source API that acts as a proxy between authenticated users of your site and your site repo. (We'll get to the details of that in the [Authentication section](#authentication) below.) If you leave out the `branch` declaration, it defaults to `master`. @@ -101,22 +85,22 @@ Static CMS allows users to upload images directly within the editor. For this to ```yaml # This line should *not* be indented -media_folder: "images/uploads" # Media files will be stored in the repo under images/uploads +media_folder: 'images/uploads' # Media files will be stored in the repo under images/uploads ``` If you're creating a new folder for uploaded media, you'll need to know where your static site generator expects static files. You can refer to the paths outlined above in [App File Structure](#app-file-structure), and put your media folder in the same location where you put the `admin` folder. -Note that the`media_folder` file path is relative to the project root, so the example above would work for Jekyll, GitBook, or any other generator that stores static files at the project root. However, it would not work for Hugo, Hexo, Middleman or others that store static files in a subfolder. Here's an example that could work for a Hugo site: +Note that the `media_folder` file path is relative to the project root, so the example above would work for Jekyll, GitBook, or any other generator that stores static files at the project root. However, it would not work for Hugo, Next, Hexo, Middleman or others that store static files in a subfolder. Here's an example that could work for a Hugo site: ```yaml # These lines should *not* be indented -media_folder: "static/images/uploads" # Media files will be stored in the repo under static/images/uploads -public_folder: "/images/uploads" # The src attribute for uploaded media will begin with /images/uploads +media_folder: 'static/images/uploads' # Media files will be stored in the repo under static/images/uploads +public_folder: '/images/uploads' # The src attribute for uploaded media will begin with /images/uploads ``` The configuration above adds a new setting, `public_folder`. While `media_folder` specifies where uploaded files are saved in the repo, `public_folder` indicates where they are found in the published site. Image `src` attributes use this path, which is relative to the file where it's called. For this reason, we usually start the path at the site root, using the opening `/`. -*If `public_folder` is not set, Static CMS defaults to the same value as `media_folder`, adding an opening `/` if one is not included.* +_If `public_folder` is not set, Static CMS defaults to the same value as `media_folder`, adding an opening `/` if one is not included._ ### Collections @@ -129,10 +113,9 @@ Let's say your site has a blog, with the posts stored in `_posts/blog`, and file layout: blog title: "Let's Party" date: 1999-12-31 11:59:59 -0800 -thumbnail: "/images/prince.jpg" +thumbnail: '/images/prince.jpg' rating: 5 --- - This is the post body, where I write about our last chance to party before the Y2K bug destroys us all. ``` @@ -140,77 +123,34 @@ Given this example, our `collections` settings would look like this in your Stat ```yaml collections: - - name: "blog" # Used in routes, e.g., /admin/collections/blog - label: "Blog" # Used in the UI - folder: "_posts/blog" # The path to the folder where the documents are stored + - title: 'blog' # Used in routes, e.g., /admin/collections/blog + label: 'Blog' # Used in the UI + folder: '_posts/blog' # The path to the folder where the documents are stored create: true # Allow users to create new documents in this collection - slug: "{{year}}-{{month}}-{{day}}-{{slug}}" # Filename template, e.g., YYYY-MM-DD-title.md + slug: '{{year}}-{{month}}-{{day}}-{{slug}}' # Filename template, e.g., YYYY-MM-DD-title.md fields: # The fields for each document, usually in front matter - - {label: "Layout", name: "layout", widget: "hidden", default: "blog"} - - {label: "Title", name: "title", widget: "string"} - - {label: "Publish Date", name: "date", widget: "datetime"} - - {label: "Featured Image", name: "thumbnail", widget: "image"} - - {label: "Rating (scale of 1-5)", name: "rating", widget: "number"} - - {label: "Body", name: "body", widget: "markdown"} + - { label: 'Layout', title: 'layout', widget: 'hidden', default: 'blog' } + - { label: 'Title', title: 'title', widget: 'string' } + - { label: 'Publish Date', title: 'date', widget: 'datetime' } + - { label: 'Featured Image', title: 'thumbnail', widget: 'image' } + - { label: 'Rating (scale of 1-5)', title: 'rating', widget: 'number' } + - { label: 'Body', title: 'body', widget: 'markdown' } ``` Let's break that down: - - - - - - - - - - - - - - - - - - - - - - - - - -
namePost type identifier, used in routes. Must be unique.
labelWhat the admin UI calls the post type.
folderWhere files of this type are stored, relative to the repo root.
createSet to true to allow users to create new files in this collection. -
slugTemplate for filenames. {{year}}, {{month}}, and {{day}} pulls from the post's date field or save date. {{slug}} is a url-safe version of the post's title. Default is simply {{slug}}. -
fieldsFields listed here are shown as fields in the content editor, then saved as front matter at the beginning of the document (except for body, which follows the front matter). Each field contains the following properties: -
    -
  • label: Field label in the editor UI.
  • -
  • name: Field name in the document front matter.
  • -
  • widget: Determines UI style and value data type (details below).
  • -
  • default (optional): Sets a default value for the field.
  • -
-
+| Field | Description | +| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| name | Post type identifier, used in routes. Must be unique. | +| label | What the admin UI calls the post type. | +| folder | Where files of this type are stored, relative to the repo root. | +| create | Set to `true` to allow users to create new files in this collection. | +| slug | Template for filenames. `{{ year }}`, `{{ month }}`, and `{{ day }}` pulls from the post's `date` field or save date. `{{ slug }}` is a url-safe version of the post's `title`. Default is simply `{{ slug }}`. | +| fields | Fields listed here are shown as fields in the content editor, then saved as front matter at the beginning of the document (except for `body`, which follows the front matter). | -As described above, the `widget` property specifies a built-in or custom UI widget for a given field. When a content editor enters a value into a widget, that value is saved in the document front matter as the value for the `name` specified for that field. A full listing of available widgets can be found in the [Widgets doc](../widgets). +As described above, the `widget` property specifies a built-in or custom UI widget for a given field. When a content editor enters a value into a widget, that value is saved in the document front matter as the value for the `name` specified for that field. A full listing of available widgets can be found in the [Widgets doc](/docs/widgets). -Based on this example, you can go through the post types in your site and add the appropriate settings to your Static CMS `config.yml` file. Each post type should be listed as a separate node under the `collections` field. See the [Collections reference doc](../configuration-options/#collections) for more configuration options. - -### Filter - -The entries for any collection can be filtered based on the value of a single field. The example collection below only shows post entries with the value `en` in the `language` field. - -```yaml -collections: - - name: "posts" - label: "Post" - folder: "_posts" - filter: - field: language - value: en - fields: - - {label: "Language", name: "language"} -``` +Based on this example, you can go through the post types in your site and add the appropriate settings to your Static CMS `config.yml` file. Each post type should be listed as a separate node under the `collections` field. See the [Collections reference doc](/docs/configuration-options/#collections) for more configuration options. ## Authentication @@ -244,10 +184,10 @@ When a user logs in with the Netlify Identity widget, an access token directs to ```html