├── .docksal ├── .gitignore ├── commands │ ├── backend │ │ └── reinstall │ ├── init │ └── test ├── docksal.env ├── docksal.yml ├── settings │ ├── .env │ ├── cors.services.yml │ ├── settings.local.php │ └── settings.php └── start │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon.ico │ ├── index.php │ ├── logo.svg │ └── site.webmanifest ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── workflows-backup │ └── tests.yml └── workflows │ └── split-repos.yml ├── .gitignore ├── README.md ├── backend ├── .gitignore └── starters │ └── development │ ├── .editorconfig │ ├── .gitattributes │ ├── .github │ └── workflows │ │ └── auto_close_prs.yml │ ├── .gitignore │ ├── LICENSE.md │ ├── composer.json │ ├── composer.lock │ ├── config │ └── .htaccess │ ├── keys │ └── .gitkeep │ ├── load.environment.php │ └── web │ ├── .csslintrc │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .ht.router.php │ ├── .htaccess │ ├── INSTALL.txt │ ├── README.md │ ├── autoload.php │ ├── example.gitignore │ ├── index.php │ ├── modules │ ├── README.txt │ └── custom │ │ ├── powerstack_api │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── composer.json │ │ ├── powerstack_api.info.yml │ │ └── powerstack_api.install │ │ ├── powerstack_demo_content │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── composer.json │ │ ├── config │ │ │ └── install │ │ │ │ ├── core.entity_form_display.node.page.default.yml │ │ │ │ ├── core.entity_view_display.node.page.default.yml │ │ │ │ ├── field.field.node.page.field_page_builder.yml │ │ │ │ ├── field.storage.node.field_page_builder.yml │ │ │ │ ├── node.type.page.yml │ │ │ │ └── node.type.post.yml │ │ ├── powerstack_demo_content.info.yml │ │ └── powerstack_demo_content.install │ │ ├── powerstack_page_builder │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── composer.json │ │ ├── config │ │ │ └── install │ │ │ │ ├── core.entity_form_display.paragraph.hero.default.yml │ │ │ │ ├── core.entity_form_display.paragraph.stat.default.yml │ │ │ │ ├── core.entity_form_display.paragraph.stats.default.yml │ │ │ │ ├── core.entity_form_display.paragraph.text.default.yml │ │ │ │ ├── core.entity_view_display.paragraph.hero.default.yml │ │ │ │ ├── core.entity_view_display.paragraph.stat.default.yml │ │ │ │ ├── core.entity_view_display.paragraph.stats.default.yml │ │ │ │ ├── core.entity_view_display.paragraph.text.default.yml │ │ │ │ ├── field.field.paragraph.hero.field_description.yml │ │ │ │ ├── field.field.paragraph.hero.field_subtitle.yml │ │ │ │ ├── field.field.paragraph.hero.field_title.yml │ │ │ │ ├── field.field.paragraph.stat.field_description.yml │ │ │ │ ├── field.field.paragraph.stat.field_stat.yml │ │ │ │ ├── field.field.paragraph.stat.field_title.yml │ │ │ │ ├── field.field.paragraph.stats.field_stat_ref.yml │ │ │ │ ├── field.field.paragraph.text.field_text.yml │ │ │ │ ├── field.field.paragraph.text.field_title.yml │ │ │ │ ├── field.storage.paragraph.field_description.yml │ │ │ │ ├── field.storage.paragraph.field_stat.yml │ │ │ │ ├── field.storage.paragraph.field_stat_ref.yml │ │ │ │ ├── field.storage.paragraph.field_subtitle.yml │ │ │ │ ├── field.storage.paragraph.field_text.yml │ │ │ │ └── field.storage.paragraph.field_title.yml │ │ ├── powerstack_page_builder.info.yml │ │ ├── powerstack_page_builder.install │ │ └── powerstack_page_builder.module │ │ └── powerstack_page_builder_base │ │ ├── .github │ │ └── workflows │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── composer.json │ │ ├── config │ │ └── install │ │ │ ├── paragraphs.paragraphs_type.hero.yml │ │ │ ├── paragraphs.paragraphs_type.stat.yml │ │ │ ├── paragraphs.paragraphs_type.stats.yml │ │ │ └── paragraphs.paragraphs_type.text.yml │ │ └── powerstack_page_builder_base.info.yml │ ├── profiles │ ├── README.txt │ └── custom │ │ └── powerstack_profile │ │ ├── .github │ │ └── workflows │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── assets │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo-nav-light.svg │ │ ├── composer.json │ │ ├── config │ │ └── install │ │ │ ├── filter.format.basic_html.yml │ │ │ ├── filter.format.full_html.yml │ │ │ ├── gin.settings.yml │ │ │ └── system.theme.yml │ │ └── powerstack_profile.info.yml │ ├── robots.txt │ ├── sites │ ├── README.txt │ ├── default │ │ ├── cors.services.yml │ │ ├── default.services.yml │ │ ├── default.settings.php │ │ ├── files │ │ │ └── .gitkeep │ │ └── settings.php │ ├── development.services.yml │ ├── example.settings.local.php │ └── example.sites.php │ ├── themes │ └── README.txt │ ├── update.php │ └── web.config ├── docs ├── .github │ └── workflows │ │ └── auto_close_prs.yml ├── .gitignore ├── .structurizr │ ├── eula.properties │ ├── images │ │ ├── Context-thumbnail.png │ │ ├── softwareSystem-thumbnail.png │ │ └── thumbnail.png │ ├── index │ │ ├── _0.cfe │ │ ├── _0.cfs │ │ ├── _0.si │ │ ├── segments_1 │ │ └── write.lock │ └── logs │ │ └── structurizr.log ├── .yarn │ └── releases │ │ └── yarn-sources.cjs ├── .yarnrc.yml ├── LICENSE.md ├── README.md ├── architecture-diagrams │ ├── workspace.dsl │ └── workspace.json ├── gatsby-config.js ├── gatsby-node.js ├── images │ ├── hero-demo.gif │ ├── logo-manifest.png │ ├── logo-nav-dark.svg │ └── logo-nav-light.svg ├── package.json ├── pages │ ├── code-of-conduct.mdx │ ├── contributing.mdx │ ├── docs │ │ ├── 1-Introduction │ │ │ ├── getting-started.mdx │ │ │ ├── images │ │ │ │ └── overview │ │ │ │ │ └── Power-Stack.png │ │ │ └── overview.mdx │ │ ├── 2-Core_concepts │ │ │ ├── apps.mdx │ │ │ ├── components.mdx │ │ │ ├── design.mdx │ │ │ ├── layers.mdx │ │ │ ├── services.mdx │ │ │ ├── themes.mdx │ │ │ └── utilities.mdx │ │ ├── 3-Development │ │ │ ├── config-variables.mdx │ │ │ ├── packages.mdx │ │ │ └── scripts.mdx │ │ ├── 5-Guides │ │ │ ├── dashboard.mdx │ │ │ ├── images │ │ │ │ └── dashboard │ │ │ │ │ └── Dashboard.png │ │ │ └── local-development.mdx │ │ └── 6-Reference │ │ │ ├── known-issues.mdx │ │ │ └── useful-links.mdx │ ├── drafts │ │ ├── 4-Components │ │ │ ├── column.mdx │ │ │ ├── image.mdx │ │ │ ├── section.mdx │ │ │ ├── text.mdx │ │ │ └── title.mdx │ │ ├── field-groups.mdx │ │ └── fields.mdx │ ├── index.mdx │ └── roadmap.mdx ├── partials │ ├── code-of-conduct.mdx │ ├── contributing.mdx │ └── getting-started.mdx ├── src │ └── smooth-doc │ │ ├── components │ │ ├── AppHeader.js │ │ ├── AppNav.js │ │ ├── Article.js │ │ ├── Button.js │ │ ├── CarbonAd.js │ │ ├── Code.js │ │ ├── ColorModeSwitcher.js │ │ ├── DocLayout.js │ │ ├── DocSearch.js │ │ ├── Feature.js │ │ ├── Head.js │ │ ├── Hero.js │ │ ├── Input.js │ │ ├── MDX.js │ │ ├── Nav.js │ │ ├── NotFound.js │ │ ├── PageLayout.js │ │ ├── PageWrapper.js │ │ ├── RootWrapper.js │ │ ├── SEO.js │ │ ├── ScreenContainer.js │ │ ├── SiblingNav.js │ │ ├── SideNav.js │ │ ├── Table.js │ │ ├── TableOfContents.js │ │ ├── Theme.js │ │ └── index.js │ │ └── theme.js └── yarn.lock ├── frontend ├── .eslintrc.js ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .yarn │ ├── plugins │ │ └── @yarnpkg │ │ │ └── plugin-version.cjs │ └── releases │ │ └── yarn-3.2.2.cjs ├── .yarnrc.yml ├── LICENSE.md ├── babel.config.js ├── deprecated-packages │ ├── @powerstack │ │ ├── docker-webpack-polling │ │ │ ├── .github │ │ │ │ └── workflows │ │ │ │ │ └── auto_close_prs.yml │ │ │ ├── LICENSE.md │ │ │ ├── gatsby-node.js │ │ │ ├── index.js │ │ │ └── package.json │ │ └── drupal-oauth-connector │ │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ │ ├── LICENSE.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── src │ │ │ └── Auth.js │ ├── gatsby-plugin-craftjs │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ │ └── pages │ │ │ └── edit │ │ │ └── new │ │ │ └── [...].js │ ├── gatsby-plugin-tinacms-pagebuilder │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── __tests__ │ │ │ ├── fieldUtils.test.js │ │ │ └── listUtils.test.js │ │ ├── gatsby-config.js │ │ ├── gatsby-node.js │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ │ ├── api │ │ │ └── fetch │ │ │ │ ├── getRequestUtils.js │ │ │ │ └── postRequestUtils.js │ │ │ ├── contexts │ │ │ └── PageBuilderContext.js │ │ │ ├── pages │ │ │ └── edit │ │ │ │ ├── new │ │ │ │ └── [...].js │ │ │ │ └── page │ │ │ │ └── [...].js │ │ │ └── utils │ │ │ ├── fieldUtils.js │ │ │ ├── inits.js │ │ │ ├── listUtils.js │ │ │ └── tinaUtils.js │ ├── gatsby-plugin-tinacms │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── gatsby-browser.js │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ │ └── DrupalMediaStore.js │ ├── gatsby-theme-core-design-system │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── gatsby-config.js │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ │ ├── components │ │ │ ├── Accordions │ │ │ │ ├── Accordion.js │ │ │ │ └── AccordionList.js │ │ │ ├── Blocks │ │ │ │ ├── Column.js │ │ │ │ └── Section.js │ │ │ ├── Features │ │ │ │ ├── Feature.js │ │ │ │ └── FeatureList.js │ │ │ ├── Footers │ │ │ │ └── Footer.js │ │ │ ├── Headers │ │ │ │ └── Header.js │ │ │ ├── Heros │ │ │ │ └── Hero.js │ │ │ ├── Images │ │ │ │ ├── Image.js │ │ │ │ └── ImageList.js │ │ │ ├── Layout │ │ │ │ └── Layout.js │ │ │ ├── Misc │ │ │ │ └── Seo.js │ │ │ ├── Signposts │ │ │ │ ├── SignpostDefault.js │ │ │ │ ├── SignpostEmailSignup.js │ │ │ │ ├── SignpostList.js │ │ │ │ └── SignpostShareprice.js │ │ │ ├── Sliders │ │ │ │ ├── Slider.js │ │ │ │ └── SliderList.js │ │ │ └── Text │ │ │ │ ├── Paragraph.js │ │ │ │ └── Title.js │ │ │ └── images │ │ │ ├── icon.png │ │ │ └── quantum.svg │ ├── gatsby-theme-drupal-admin │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── gatsby-config.js │ │ ├── gatsby-node.js │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ │ ├── components │ │ │ ├── Buttons │ │ │ │ ├── LoginLogoutButton.js │ │ │ │ ├── NotificationsButton.js │ │ │ │ ├── SearchButton.js │ │ │ │ ├── SettingsButton.js │ │ │ │ └── ToggleColorModeButton.js │ │ │ ├── Cards │ │ │ │ └── ContentCard.js │ │ │ ├── Headers │ │ │ │ └── Header.js │ │ │ ├── Layout │ │ │ │ └── Layout.js │ │ │ └── Menus │ │ │ │ └── DrupalAdminMenu.js │ │ │ ├── gatsby-plugin-theme-ui │ │ │ └── index.js │ │ │ ├── images │ │ │ └── logo.svg │ │ │ └── pages │ │ │ └── admin │ │ │ ├── [...].js │ │ │ ├── add-content.js │ │ │ ├── content.js │ │ │ └── login.js │ └── gatsby-theme-tina-edit │ │ ├── .github │ │ └── workflows │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── gatsby-config.js │ │ ├── gatsby-node.js │ │ ├── index.js │ │ ├── package.json │ │ ├── src │ │ └── pages │ │ │ └── edit │ │ │ └── page │ │ │ └── [...].js │ │ ├── templates │ │ └── data.json │ │ └── utils │ │ └── GetRequestUtils.js ├── package.json ├── packages │ ├── next-drupal │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── jest.config.cjs │ │ ├── jest.setup.ts │ │ ├── package.json │ │ ├── src │ │ │ ├── deprecated.ts │ │ │ ├── draft-constants.ts │ │ │ ├── draft.ts │ │ │ ├── drupal-client.ts │ │ │ ├── index.ts │ │ │ ├── jsonapi-errors.ts │ │ │ ├── logger.ts │ │ │ ├── navigation.ts │ │ │ ├── next-drupal-fetch.ts │ │ │ ├── next-drupal.ts │ │ │ └── types │ │ │ │ ├── deprecated.ts │ │ │ │ ├── drupal-client.ts │ │ │ │ ├── drupal.ts │ │ │ │ ├── index.ts │ │ │ │ ├── next-drupal-fetch.ts │ │ │ │ ├── next-drupal.ts │ │ │ │ ├── options.ts │ │ │ │ └── resource.ts │ │ ├── tests │ │ │ ├── .eslintrc.json │ │ │ ├── DrupalClient │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── pages-router-methods.test.ts.snap │ │ │ │ ├── constructor.test.ts │ │ │ │ └── pages-router-methods.test.ts │ │ │ ├── Logger │ │ │ │ └── logger.test.ts │ │ │ ├── NextDrupal │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic-methods.test.ts.snap │ │ │ │ │ └── resource-methods.test.ts.snap │ │ │ │ ├── basic-methods.test.ts │ │ │ │ ├── constructor.test.ts │ │ │ │ ├── crud-methods.test.ts │ │ │ │ └── resource-methods.test.ts │ │ │ ├── NextDrupalFetch │ │ │ │ ├── basic-methods.test.ts │ │ │ │ ├── constructor.test.ts │ │ │ │ ├── fetch-methods.test.ts │ │ │ │ └── getters-setters.test.ts │ │ │ ├── __mocks__ │ │ │ │ ├── next.ts │ │ │ │ └── next │ │ │ │ │ └── headers.ts │ │ │ ├── draft │ │ │ │ └── draft.test.ts │ │ │ └── utils │ │ │ │ ├── index.ts │ │ │ │ ├── mocks │ │ │ │ ├── data.ts │ │ │ │ ├── fetch.ts │ │ │ │ ├── index.ts │ │ │ │ └── logger.ts │ │ │ │ └── rpc.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ └── utils │ │ ├── .github │ │ └── workflows │ │ │ └── auto_close_prs.yml │ │ ├── LICENSE.md │ │ ├── __tests__ │ │ └── Utils.test.js │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ └── Utils.js ├── starters │ └── development │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── .nvmrc │ │ ├── .prettierignore │ │ ├── .prettierrc.json │ │ ├── .yarnrc.yml │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── app │ │ ├── [...slug] │ │ │ └── page.tsx │ │ ├── admin │ │ │ ├── content │ │ │ │ └── page.tsx │ │ │ ├── login │ │ │ │ └── page.tsx │ │ │ └── settings │ │ │ │ └── page.tsx │ │ ├── api │ │ │ ├── auth │ │ │ │ └── [...nextauth] │ │ │ │ │ └── route.ts │ │ │ └── revalidate │ │ │ │ └── route.ts │ │ ├── blocks │ │ │ ├── Hero │ │ │ │ ├── Dots.tsx │ │ │ │ ├── Hero.module.css │ │ │ │ └── Hero.tsx │ │ │ ├── Stats │ │ │ │ ├── Stats.module.css │ │ │ │ └── Stats.tsx │ │ │ └── Text │ │ │ │ ├── Text.module.css │ │ │ │ └── Text.tsx │ │ ├── create │ │ │ └── page │ │ │ │ └── new │ │ │ │ └── page.tsx │ │ ├── edit │ │ │ ├── [...puckPath] │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ └── page.tsx │ │ ├── favicon.ico │ │ └── layout.tsx │ │ ├── components.json │ │ ├── components │ │ ├── Footer │ │ │ ├── Footer.module.css │ │ │ └── Footer.tsx │ │ ├── Header │ │ │ ├── Header.module.css │ │ │ └── Header.tsx │ │ ├── admin │ │ │ └── Header │ │ │ │ └── Header.tsx │ │ ├── drupal │ │ │ ├── Article.tsx │ │ │ ├── ArticleTeaser.tsx │ │ │ └── BasicPage.tsx │ │ ├── navigation │ │ │ ├── HeaderNav.tsx │ │ │ └── Link.tsx │ │ └── ui │ │ │ ├── badge.tsx │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── sheet.tsx │ │ │ ├── sonner.tsx │ │ │ └── table.tsx │ │ ├── images │ │ ├── logo-nav-light.svg │ │ └── logo-nav-small.svg │ │ ├── lib │ │ ├── drupal.ts │ │ ├── get-page.ts │ │ ├── trigger-revalidation.ts │ │ └── utils.ts │ │ ├── middleware.ts │ │ ├── next.config.js │ │ ├── package.json │ │ ├── postcss.config.cjs │ │ ├── puck.config.tsx │ │ ├── styles │ │ └── globals.css │ │ ├── tailwind.config.ts │ │ ├── theme.ts │ │ └── tsconfig.json └── yarn.lock ├── package-config.json └── scripts ├── .github └── workflows │ └── auto_close_prs.yml ├── LICENSE.md ├── development └── backend │ ├── update_dependencies.sh │ └── update_install_dependencies_and_reinstall_cms.sh ├── misc ├── generate-tree.sh ├── globals.sh └── startup.sh ├── setup ├── backend │ ├── install_cms.sh │ └── install_dependencies.sh ├── docs │ └── install_dependencies.sh ├── frontend │ └── install_dependencies.sh ├── init.sh ├── init_env_file.sh ├── setup.sh └── startup.sh └── testing ├── backend └── code_formatting.sh ├── frontend ├── code_formatting.sh └── tests.sh ├── init.sh └── setup.sh /.docksal/.gitignore: -------------------------------------------------------------------------------- 1 | docksal-local.env 2 | docksal-local.yml 3 | !settings/.env -------------------------------------------------------------------------------- /.docksal/commands/backend/reinstall: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | . ./scripts/development/backend/update_install_dependencies_and_reinstall_cms.sh 3 | -------------------------------------------------------------------------------- /.docksal/commands/init: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | time . ./scripts/setup/init.sh -------------------------------------------------------------------------------- /.docksal/commands/test: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ## Test site installation 4 | ## 5 | ## Usage: fin test 6 | 7 | # Abort if anything fails 8 | set -e 9 | 10 | # Debug mode switch 11 | if [[ "${DEBUG}" != "" ]]; then 12 | set -x 13 | fi 14 | 15 | echo "Testing home page..." 16 | curl -sL -I http://${VIRTUAL_HOST} | grep "HTTP/1.1 200 OK" 17 | curl -sL http://${VIRTUAL_HOST} | grep "My Drupal 9 Site" 18 | echo "Testing login page..." 19 | curl -sL -I http://${VIRTUAL_HOST}/user/login | grep "HTTP/1.1 200 OK" 20 | -------------------------------------------------------------------------------- /.docksal/docksal.env: -------------------------------------------------------------------------------- 1 | # This is a shared configuration file that is intended to be stored in the project repo. 2 | # To override a variable locally: 3 | # - create .docksal/docksal-local.env file and local variable overrides there 4 | # - add .docksal/docksal-local.env to .gitignore 5 | # 6 | # After editing, apply changes with 'fin up' 7 | 8 | # Where the backend docroot is located. Docksal defaults to "docroot" 9 | DOCROOT=web 10 | 11 | CLI_IMAGE=docksal/cli:php8.2-3.6 12 | 13 | # MySQL settings. 14 | # MySQL will be exposed on a random port. By default. This sets it to 3306 15 | MYSQL_PORT_MAPPING='0:3306' 16 | 17 | # Disable debugging by default 18 | XDEBUG_ENABLED=0 19 | 20 | # Define which starters to use 21 | BACKEND_STARTER="development" 22 | FRONTEND_STARTER="development" -------------------------------------------------------------------------------- /.docksal/settings/.env: -------------------------------------------------------------------------------- 1 | GATSBY_DRUPAL_HOST= 2 | GATSBY_CLIENT_ID= 3 | GATSBY_CLIENT_SECRET= 4 | GATSBY_DRUPAL_KEY= 5 | GATSBY_HOST= -------------------------------------------------------------------------------- /.docksal/settings/cors.services.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | cors.config: 3 | enabled: true 4 | # Specify allowed headers, like 'x-allowed-header'. 5 | allowedHeaders: [ 'x-csrf-token','authorization','content-type','accept','origin','x-requested-with', 'access-control-allow-origin','x-allowed-header','*' ] 6 | # Specify allowed request methods, specify ['*'] to allow all possible ones. 7 | allowedMethods: [ '*' ] 8 | # Configure requests allowed from specific origins. 9 | allowedOrigins: [ 'AO_REPLACE_ME' ] 10 | # Sets the Access-Control-Expose-Headers header. 11 | exposedHeaders: false 12 | # Sets the Access-Control-Max-Age header. 13 | maxAge: false 14 | # Sets the Access-Control-Allow-Credentials header. 15 | supportsCredentials: true 16 | -------------------------------------------------------------------------------- /.docksal/start/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerstackdev/power-stack/d26150cb0a0afca4df08471bca96dc4714415986/.docksal/start/android-chrome-192x192.png -------------------------------------------------------------------------------- /.docksal/start/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerstackdev/power-stack/d26150cb0a0afca4df08471bca96dc4714415986/.docksal/start/android-chrome-512x512.png -------------------------------------------------------------------------------- /.docksal/start/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerstackdev/power-stack/d26150cb0a0afca4df08471bca96dc4714415986/.docksal/start/apple-touch-icon.png -------------------------------------------------------------------------------- /.docksal/start/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerstackdev/power-stack/d26150cb0a0afca4df08471bca96dc4714415986/.docksal/start/favicon-16x16.png -------------------------------------------------------------------------------- /.docksal/start/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerstackdev/power-stack/d26150cb0a0afca4df08471bca96dc4714415986/.docksal/start/favicon-32x32.png -------------------------------------------------------------------------------- /.docksal/start/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerstackdev/power-stack/d26150cb0a0afca4df08471bca96dc4714415986/.docksal/start/favicon.ico -------------------------------------------------------------------------------- /.docksal/start/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows-backup/tests.yml: -------------------------------------------------------------------------------- 1 | name: Testing 2 | on: push 3 | jobs: 4 | frontend-tests: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: actions/checkout@v2 8 | - name: Install modules 9 | run: cd frontend && yarn 10 | - name: Run tests 11 | run: sh ./scripts/testing/frontend/tests.sh -------------------------------------------------------------------------------- /.github/workflows/split-repos.yml: -------------------------------------------------------------------------------- 1 | name: "Split repos" 2 | 3 | on: 4 | push: 5 | # Only trigger for specific branches or changes in specific paths. 6 | branches: 7 | - '*' 8 | paths: 9 | - '**packages/**' 10 | - '**/starters/**' 11 | - '**/docs/**' 12 | # Tag push events should be ignored, they will be handled with the create event below. 13 | tags-ignore: 14 | - '*' 15 | create: 16 | tags: 17 | - '*' 18 | delete: 19 | tags: 20 | - '*' 21 | 22 | jobs: 23 | sync_commits: 24 | runs-on: ubuntu-latest 25 | name: Sync commits 26 | if: github.repository == 'powerstackdev/power-stack' # Execute this workflow job only on the main repository. 27 | steps: 28 | - uses: actions/checkout@v4 29 | with: 30 | persist-credentials: false 31 | fetch-depth: 0 32 | 33 | # Add a personal access token to the repository secrets. This will allow the splitter action to push the new commits 34 | - uses: frankdejonge/use-github-token@1.1.0 35 | with: 36 | authentication: 'username:${{ secrets.PERSONAL_GITHUB_TOKEN }}' 37 | user_name: 'Power Stack Bot' 38 | user_email: 'no-reply@powerstack.dev' 39 | 40 | # Cache the splitsh executable to speedup future runs 41 | - name: Cache splitsh-lite 42 | uses: actions/cache@v4 43 | with: 44 | path: './splitsh' 45 | key: '${{ runner.os }}-splitsh-v101' 46 | 47 | # Sync commits and tags for the configured subtree splits 48 | - name: subtree split 49 | uses: acrobat/subtree-splitter@v1.1.4 50 | with: 51 | config-path: ./package-config.json # Reference the location where you saved your config file 52 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/node_modules/* 2 | **/vendor/* 3 | **/.cache/* 4 | **/public/* 5 | **.env* 6 | !*docksal.env 7 | **/.idea/* -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ -------------------------------------------------------------------------------- /backend/starters/development/.editorconfig: -------------------------------------------------------------------------------- 1 | # Drupal editor configuration normalization 2 | # @see http://editorconfig.org/ 3 | 4 | # This is the top-most .editorconfig file; do not search in parent directories. 5 | root = true 6 | 7 | # All files. 8 | [*] 9 | end_of_line = LF 10 | indent_style = space 11 | indent_size = 2 12 | charset = utf-8 13 | trim_trailing_whitespace = true 14 | insert_final_newline = true 15 | 16 | [composer.{json,lock}] 17 | indent_size = 4 18 | -------------------------------------------------------------------------------- /backend/starters/development/.github/workflows/auto_close_prs.yml: -------------------------------------------------------------------------------- 1 | name: Auto Closer PR 2 | 3 | on: 4 | pull_request_target: 5 | types: [opened] 6 | 7 | jobs: 8 | run: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: superbrothers/close-pull-request@v3 12 | with: 13 | # Optional. Post a issue comment just before closing a pull request. 14 | comment: | 15 | Hi, thank you for your contribution. 16 | Unfortunately, this repository is read-only. It's a split from our main monorepo repository. 17 | We'd like to kindly ask you to move the contribution there - https://github.com/powerstackdev/power-stack. 18 | We'll check it, review it and give you feed back right way. 19 | Thank you. -------------------------------------------------------------------------------- /backend/starters/development/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore directories generated by Composer 2 | /drush/contrib/ 3 | /vendor/ 4 | /web/core/ 5 | /web/modules/contrib/ 6 | /web/themes/contrib/ 7 | /web/profiles/contrib/ 8 | /web/libraries/ 9 | 10 | # Ignore sensitive information 11 | /web/sites/*/settings.local.php 12 | 13 | # Ignore Drupal's file directory 14 | /web/sites/*/files/* 15 | 16 | # Ignore SimpleTest multi-site environment. 17 | /web/sites/simpletest 18 | 19 | # Ignore files generated by PhpStorm 20 | /.idea/ 21 | 22 | # Ignore .env files as they are personal 23 | /.env 24 | !load.environment.php 25 | 26 | *keys/* 27 | 28 | !*.gitkeep* 29 | -------------------------------------------------------------------------------- /backend/starters/development/config/.htaccess: -------------------------------------------------------------------------------- 1 | # Deny all requests from Apache 2.4+. 2 | 3 | Require all denied 4 | 5 | 6 | # Deny all requests from Apache 2.0-2.2. 7 | 8 | Deny from all 9 | 10 | 11 | # Turn off all options we don't need. 12 | Options -Indexes -ExecCGI -Includes -MultiViews 13 | 14 | # Set the catch-all handler to prevent scripts from being executed. 15 | SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006 16 | 17 | # Override the handler again if we're run later in the evaluation list. 18 | SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003 19 | 20 | 21 | # If we know how to do it safely, disable the PHP engine entirely. 22 | 23 | php_flag engine off 24 | -------------------------------------------------------------------------------- /backend/starters/development/keys/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerstackdev/power-stack/d26150cb0a0afca4df08471bca96dc4714415986/backend/starters/development/keys/.gitkeep -------------------------------------------------------------------------------- /backend/starters/development/load.environment.php: -------------------------------------------------------------------------------- 1 | load(); 17 | } 18 | catch (InvalidPathException $e) { 19 | // Do nothing. Production environments rarely use .env files. 20 | } 21 | -------------------------------------------------------------------------------- /backend/starters/development/web/.csslintrc: -------------------------------------------------------------------------------- 1 | --errors=box-model, 2 | display-property-grouping, 3 | duplicate-background-images, 4 | duplicate-properties, 5 | empty-rules, 6 | ids, 7 | import, 8 | important, 9 | known-properties, 10 | outline-none, 11 | overqualified-elements, 12 | qualified-headings, 13 | shorthand, 14 | star-property-hack, 15 | text-indent, 16 | underscore-property-hack, 17 | unique-headings, 18 | unqualified-attributes, 19 | vendor-prefix, 20 | zero-units 21 | --ignore=adjoining-classes, 22 | box-sizing, 23 | bulletproof-font-face, 24 | compatible-vendor-prefixes, 25 | errors, 26 | fallback-colors, 27 | floats, 28 | font-faces, 29 | font-sizes, 30 | gradients, 31 | import-ie-limit, 32 | order-alphabetical, 33 | regex-selectors, 34 | rules-count, 35 | selector-max, 36 | selector-max-approaching, 37 | selector-newline, 38 | universal-selector 39 | --exclude-list=core/assets, 40 | vendor 41 | -------------------------------------------------------------------------------- /backend/starters/development/web/.eslintignore: -------------------------------------------------------------------------------- 1 | core/**/* 2 | vendor/**/* 3 | sites/**/files/**/* 4 | libraries/**/* 5 | sites/**/libraries/**/* 6 | profiles/**/libraries/**/* 7 | **/js_test_files/**/* 8 | **/node_modules/**/* 9 | -------------------------------------------------------------------------------- /backend/starters/development/web/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./core/.eslintrc.json" 3 | } 4 | -------------------------------------------------------------------------------- /backend/starters/development/web/INSTALL.txt: -------------------------------------------------------------------------------- 1 | 2 | Read core/INSTALL.txt for detailed installation instructions for your Drupal 3 | website. 4 | -------------------------------------------------------------------------------- /backend/starters/development/web/autoload.php: -------------------------------------------------------------------------------- 1 | handle($request); 20 | $response->send(); 21 | 22 | $kernel->terminate($request, $response); 23 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_api/.github/workflows/auto_close_prs.yml: -------------------------------------------------------------------------------- 1 | name: Auto Closer PR 2 | 3 | on: 4 | pull_request_target: 5 | types: [opened] 6 | 7 | jobs: 8 | run: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: superbrothers/close-pull-request@v3 12 | with: 13 | # Optional. Post a issue comment just before closing a pull request. 14 | comment: | 15 | Hi, thank you for your contribution. 16 | Unfortunately, this repository is read-only. It's a split from our main monorepo repository. 17 | We'd like to kindly ask you to move the contribution there - https://github.com/powerstackdev/power-stack. 18 | We'll check it, review it and give you feed back right way. 19 | Thank you. -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_api/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "powerstack/api", 3 | "description": "Basic setup for the Headless API", 4 | "version": "0.0.1", 5 | "keywords": [ 6 | "Drupal" 7 | ], 8 | "license": "GPL-2.0+", 9 | "repositories": { 10 | "0": { 11 | "type": "composer", 12 | "url": "https://packages.drupal.org/8" 13 | }, 14 | "1": { 15 | "type": "composer", 16 | "url": "https://asset-packagist.org" 17 | } 18 | }, 19 | "require": { 20 | "drupal/simple_oauth": "^5.0", 21 | "drupal/next": "^2.0@beta" 22 | }, 23 | "extra": { 24 | "patches": { 25 | "drupal/subrequests": { 26 | "Get same results on different request": "https://www.drupal.org/files/issues/2019-07-18/change_request_type-63049395-09.patch" 27 | }, 28 | "drupal/decoupled_router": { 29 | "Unable to resolve path on node in other language than default": "https://www.drupal.org/files/issues/2022-11-30/decouple_router-3111456-resolve-language-issue-58.patch" 30 | } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_api/powerstack_api.info.yml: -------------------------------------------------------------------------------- 1 | name: API 2 | type: module 3 | description: Base setup for Headless API 4 | package: Power Stack 5 | core_version_requirement: ^8 || ^9 || ^10 6 | 7 | dependencies: 8 | - drupal:jsonapi 9 | - powerstack_demo_content:powerstack_demo_content 10 | - simple_oauth:simple_oauth 11 | - next:next 12 | - next:next_extras 13 | - next:next_jsonapi -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_demo_content/.github/workflows/auto_close_prs.yml: -------------------------------------------------------------------------------- 1 | name: Auto Closer PR 2 | 3 | on: 4 | pull_request_target: 5 | types: [opened] 6 | 7 | jobs: 8 | run: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: superbrothers/close-pull-request@v3 12 | with: 13 | # Optional. Post a issue comment just before closing a pull request. 14 | comment: | 15 | Hi, thank you for your contribution. 16 | Unfortunately, this repository is read-only. It's a split from our main monorepo repository. 17 | We'd like to kindly ask you to move the contribution there - https://github.com/powerstackdev/power-stack. 18 | We'll check it, review it and give you feed back right way. 19 | Thank you. -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_demo_content/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "powerstack/demo_content", 3 | "description": "Basic setup for the Headless API", 4 | "version": "0.0.1", 5 | "keywords": [ 6 | "Drupal" 7 | ], 8 | "license": "GPL-2.0+", 9 | "repositories": { 10 | "0": { 11 | "type": "composer", 12 | "url": "https://packages.drupal.org/8" 13 | }, 14 | "1": { 15 | "type": "composer", 16 | "url": "https://asset-packagist.org" 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_demo_content/config/install/core.entity_view_display.node.page.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.node.page.field_page_builder 6 | - node.type.page 7 | module: 8 | - entity_reference_revisions 9 | - user 10 | _core: 11 | default_config_hash: hEuHnol50L_plcQo784W9dwchRuZQb6oVaJkzjY3KlI 12 | id: node.page.default 13 | targetEntityType: node 14 | bundle: page 15 | mode: default 16 | content: 17 | field_page_builder: 18 | type: entity_reference_revisions_entity_view 19 | label: above 20 | settings: 21 | view_mode: default 22 | link: '' 23 | third_party_settings: { } 24 | weight: 101 25 | region: content 26 | links: 27 | settings: { } 28 | third_party_settings: { } 29 | weight: 100 30 | region: content 31 | hidden: 32 | langcode: true 33 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_demo_content/config/install/field.field.node.page.field_page_builder.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.node.field_page_builder 6 | - node.type.page 7 | - paragraphs.paragraphs_type.hero 8 | - paragraphs.paragraphs_type.stats 9 | - paragraphs.paragraphs_type.text 10 | module: 11 | - entity_reference_revisions 12 | _core: 13 | default_config_hash: LbfUPe3CAedD200qzWG6zgnEcB9sqgN7FsG49wYGJXQ 14 | id: node.page.field_page_builder 15 | field_name: field_page_builder 16 | entity_type: node 17 | bundle: page 18 | label: 'Page builder' 19 | description: '' 20 | required: false 21 | translatable: false 22 | default_value: { } 23 | default_value_callback: '' 24 | settings: 25 | handler: 'default:paragraph' 26 | handler_settings: 27 | target_bundles: 28 | hero: hero 29 | text: text 30 | stats: stats 31 | negate: 0 32 | target_bundles_drag_drop: 33 | hero: 34 | weight: 6 35 | enabled: true 36 | stat: 37 | weight: 5 38 | enabled: false 39 | stats: 40 | weight: 7 41 | enabled: true 42 | text: 43 | weight: 6 44 | enabled: true 45 | field_type: entity_reference_revisions 46 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_demo_content/config/install/field.storage.node.field_page_builder.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - entity_reference_revisions 6 | - node 7 | - paragraphs 8 | _core: 9 | default_config_hash: IL98aeygwRUSt96feOyI-lmCQ7TYNhYrWsSlzknK4k0 10 | id: node.field_page_builder 11 | field_name: field_page_builder 12 | entity_type: node 13 | type: entity_reference_revisions 14 | settings: 15 | target_type: paragraph 16 | module: entity_reference_revisions 17 | locked: false 18 | cardinality: -1 19 | translatable: true 20 | indexes: { } 21 | persist_with_no_fields: false 22 | custom_storage: false 23 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_demo_content/config/install/node.type.page.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: { } 4 | _core: 5 | default_config_hash: aYESmZu0Q6SS-9TdLwi10WxGcxG3p2ZkFc-klO8D_f4 6 | name: Page 7 | type: page 8 | description: 'A page content type.' 9 | help: null 10 | new_revision: true 11 | preview_mode: 1 12 | display_submitted: true 13 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_demo_content/config/install/node.type.post.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: { } 4 | _core: 5 | default_config_hash: w-unT_MJAbOkYJ6PV62Qa2dxCjQWMWD4J2VPdn83Usc 6 | name: Post 7 | type: post 8 | description: 'A post content type.' 9 | help: null 10 | new_revision: true 11 | preview_mode: 1 12 | display_submitted: true 13 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_demo_content/powerstack_demo_content.info.yml: -------------------------------------------------------------------------------- 1 | name: Demo Content 2 | type: module 3 | description: Basic content 4 | package: Power Stack 5 | core_version_requirement: ^8 || ^9 || ^10 6 | 7 | dependencies: 8 | - powerstack_page_builder:powerstack_page_builder -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/.github/workflows/auto_close_prs.yml: -------------------------------------------------------------------------------- 1 | name: Auto Closer PR 2 | 3 | on: 4 | pull_request_target: 5 | types: [opened] 6 | 7 | jobs: 8 | run: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: superbrothers/close-pull-request@v3 12 | with: 13 | # Optional. Post a issue comment just before closing a pull request. 14 | comment: | 15 | Hi, thank you for your contribution. 16 | Unfortunately, this repository is read-only. It's a split from our main monorepo repository. 17 | We'd like to kindly ask you to move the contribution there - https://github.com/powerstackdev/power-stack. 18 | We'll check it, review it and give you feed back right way. 19 | Thank you. -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "powerstack/page_builder", 3 | "description": "Basic setup for the Drupal Page Builder settings", 4 | "version": "0.0.1", 5 | "keywords": [ 6 | "Drupal" 7 | ], 8 | "license": "GPL-2.0+", 9 | "repositories": { 10 | "0": { 11 | "type": "composer", 12 | "url": "https://packages.drupal.org/8" 13 | }, 14 | "1": { 15 | "type": "composer", 16 | "url": "https://asset-packagist.org" 17 | } 18 | }, 19 | "require": { 20 | "drupal/paragraphs": "^1.14", 21 | "drupal/field_group": "^3.4", 22 | "drupal/pathauto": "^1.8" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/core.entity_form_display.paragraph.hero.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.paragraph.hero.field_description 6 | - field.field.paragraph.hero.field_subtitle 7 | - field.field.paragraph.hero.field_title 8 | - paragraphs.paragraphs_type.hero 9 | id: paragraph.hero.default 10 | targetEntityType: paragraph 11 | bundle: hero 12 | mode: default 13 | content: 14 | field_description: 15 | type: string_textarea 16 | weight: 2 17 | region: content 18 | settings: 19 | rows: 5 20 | placeholder: '' 21 | third_party_settings: { } 22 | field_subtitle: 23 | type: string_textfield 24 | weight: 1 25 | region: content 26 | settings: 27 | size: 60 28 | placeholder: '' 29 | third_party_settings: { } 30 | field_title: 31 | type: string_textfield 32 | weight: 0 33 | region: content 34 | settings: 35 | size: 60 36 | placeholder: '' 37 | third_party_settings: { } 38 | hidden: 39 | created: true 40 | status: true 41 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/core.entity_form_display.paragraph.stat.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.paragraph.stat.field_description 6 | - field.field.paragraph.stat.field_stat 7 | - field.field.paragraph.stat.field_title 8 | - paragraphs.paragraphs_type.stat 9 | id: paragraph.stat.default 10 | targetEntityType: paragraph 11 | bundle: stat 12 | mode: default 13 | content: 14 | field_description: 15 | type: string_textarea 16 | weight: 2 17 | region: content 18 | settings: 19 | rows: 5 20 | placeholder: '' 21 | third_party_settings: { } 22 | field_stat: 23 | type: string_textfield 24 | weight: 1 25 | region: content 26 | settings: 27 | size: 60 28 | placeholder: '' 29 | third_party_settings: { } 30 | field_title: 31 | type: string_textfield 32 | weight: 0 33 | region: content 34 | settings: 35 | size: 60 36 | placeholder: '' 37 | third_party_settings: { } 38 | hidden: 39 | created: true 40 | status: true 41 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/core.entity_form_display.paragraph.stats.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.paragraph.stats.field_stat_ref 6 | - paragraphs.paragraphs_type.stats 7 | module: 8 | - paragraphs 9 | id: paragraph.stats.default 10 | targetEntityType: paragraph 11 | bundle: stats 12 | mode: default 13 | content: 14 | field_stat_ref: 15 | type: paragraphs 16 | weight: 0 17 | region: content 18 | settings: 19 | title: Paragraph 20 | title_plural: Paragraphs 21 | edit_mode: open 22 | closed_mode: summary 23 | autocollapse: none 24 | closed_mode_threshold: 0 25 | add_mode: dropdown 26 | form_display_mode: default 27 | default_paragraph_type: '' 28 | features: 29 | collapse_edit_all: collapse_edit_all 30 | duplicate: duplicate 31 | third_party_settings: { } 32 | hidden: 33 | created: true 34 | status: true 35 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/core.entity_form_display.paragraph.text.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.paragraph.text.field_text 6 | - field.field.paragraph.text.field_title 7 | - paragraphs.paragraphs_type.text 8 | module: 9 | - text 10 | _core: 11 | default_config_hash: MFwQ_e96ZqygJh2DWYf8UW8j3Uq7TSQ3e2Mr-wNYmHE 12 | id: paragraph.text.default 13 | targetEntityType: paragraph 14 | bundle: text 15 | mode: default 16 | content: 17 | field_text: 18 | type: text_textarea 19 | weight: 1 20 | region: content 21 | settings: 22 | rows: 5 23 | placeholder: '' 24 | third_party_settings: { } 25 | field_title: 26 | type: string_textfield 27 | weight: 0 28 | region: content 29 | settings: 30 | size: 60 31 | placeholder: '' 32 | third_party_settings: { } 33 | hidden: 34 | created: true 35 | status: true 36 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/core.entity_view_display.paragraph.hero.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.paragraph.hero.field_description 6 | - field.field.paragraph.hero.field_subtitle 7 | - field.field.paragraph.hero.field_title 8 | - paragraphs.paragraphs_type.hero 9 | id: paragraph.hero.default 10 | targetEntityType: paragraph 11 | bundle: hero 12 | mode: default 13 | content: 14 | field_description: 15 | type: basic_string 16 | label: above 17 | settings: { } 18 | third_party_settings: { } 19 | weight: 2 20 | region: content 21 | field_subtitle: 22 | type: string 23 | label: above 24 | settings: 25 | link_to_entity: false 26 | third_party_settings: { } 27 | weight: 1 28 | region: content 29 | field_title: 30 | type: string 31 | label: above 32 | settings: 33 | link_to_entity: false 34 | third_party_settings: { } 35 | weight: 0 36 | region: content 37 | hidden: { } 38 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/core.entity_view_display.paragraph.stat.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.paragraph.stat.field_description 6 | - field.field.paragraph.stat.field_stat 7 | - field.field.paragraph.stat.field_title 8 | - paragraphs.paragraphs_type.stat 9 | id: paragraph.stat.default 10 | targetEntityType: paragraph 11 | bundle: stat 12 | mode: default 13 | content: 14 | field_description: 15 | type: basic_string 16 | label: above 17 | settings: { } 18 | third_party_settings: { } 19 | weight: 2 20 | region: content 21 | field_stat: 22 | type: string 23 | label: above 24 | settings: 25 | link_to_entity: false 26 | third_party_settings: { } 27 | weight: 0 28 | region: content 29 | field_title: 30 | type: string 31 | label: above 32 | settings: 33 | link_to_entity: false 34 | third_party_settings: { } 35 | weight: 0 36 | region: content 37 | hidden: { } 38 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/core.entity_view_display.paragraph.stats.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.paragraph.stats.field_stat_ref 6 | - paragraphs.paragraphs_type.stats 7 | module: 8 | - entity_reference_revisions 9 | id: paragraph.stats.default 10 | targetEntityType: paragraph 11 | bundle: stats 12 | mode: default 13 | content: 14 | field_stat_ref: 15 | type: entity_reference_revisions_entity_view 16 | label: above 17 | settings: 18 | view_mode: default 19 | link: '' 20 | third_party_settings: { } 21 | weight: 0 22 | region: content 23 | hidden: { } 24 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/core.entity_view_display.paragraph.text.default.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.field.paragraph.text.field_text 6 | - field.field.paragraph.text.field_title 7 | - paragraphs.paragraphs_type.text 8 | module: 9 | - text 10 | _core: 11 | default_config_hash: qx6bPrE3qRaqqiskBDs2pUaRZwEj8S0Al80XLtPEi8M 12 | id: paragraph.text.default 13 | targetEntityType: paragraph 14 | bundle: text 15 | mode: default 16 | content: 17 | field_text: 18 | type: text_default 19 | label: above 20 | settings: { } 21 | third_party_settings: { } 22 | weight: 0 23 | region: content 24 | field_title: 25 | type: string 26 | label: above 27 | settings: 28 | link_to_entity: false 29 | third_party_settings: { } 30 | weight: 1 31 | region: content 32 | hidden: { } 33 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.hero.field_description.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_description 6 | - paragraphs.paragraphs_type.hero 7 | id: paragraph.hero.field_description 8 | field_name: field_description 9 | entity_type: paragraph 10 | bundle: hero 11 | label: Description 12 | description: '' 13 | required: false 14 | translatable: false 15 | default_value: { } 16 | default_value_callback: '' 17 | settings: { } 18 | field_type: string_long 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.hero.field_subtitle.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_subtitle 6 | - paragraphs.paragraphs_type.hero 7 | id: paragraph.hero.field_subtitle 8 | field_name: field_subtitle 9 | entity_type: paragraph 10 | bundle: hero 11 | label: Subtitle 12 | description: '' 13 | required: false 14 | translatable: false 15 | default_value: { } 16 | default_value_callback: '' 17 | settings: { } 18 | field_type: string 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.hero.field_title.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_title 6 | - paragraphs.paragraphs_type.hero 7 | id: paragraph.hero.field_title 8 | field_name: field_title 9 | entity_type: paragraph 10 | bundle: hero 11 | label: title 12 | description: '' 13 | required: false 14 | translatable: false 15 | default_value: { } 16 | default_value_callback: '' 17 | settings: { } 18 | field_type: string 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.stat.field_description.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_description 6 | - paragraphs.paragraphs_type.stat 7 | id: paragraph.stat.field_description 8 | field_name: field_description 9 | entity_type: paragraph 10 | bundle: stat 11 | label: Description 12 | description: '' 13 | required: false 14 | translatable: false 15 | default_value: { } 16 | default_value_callback: '' 17 | settings: { } 18 | field_type: string_long 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.stat.field_stat.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_stat 6 | - paragraphs.paragraphs_type.stat 7 | id: paragraph.stat.field_stat 8 | field_name: field_stat 9 | entity_type: paragraph 10 | bundle: stat 11 | label: Stat 12 | description: '' 13 | required: false 14 | translatable: false 15 | default_value: { } 16 | default_value_callback: '' 17 | settings: { } 18 | field_type: string 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.stat.field_title.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_title 6 | - paragraphs.paragraphs_type.stat 7 | id: paragraph.stat.field_title 8 | field_name: field_title 9 | entity_type: paragraph 10 | bundle: stat 11 | label: Title 12 | description: '' 13 | required: false 14 | translatable: false 15 | default_value: { } 16 | default_value_callback: '' 17 | settings: { } 18 | field_type: string 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.stats.field_stat_ref.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_stat_ref 6 | - paragraphs.paragraphs_type.stat 7 | - paragraphs.paragraphs_type.stats 8 | module: 9 | - entity_reference_revisions 10 | id: paragraph.stats.field_stat_ref 11 | field_name: field_stat_ref 12 | entity_type: paragraph 13 | bundle: stats 14 | label: Stat 15 | description: '' 16 | required: false 17 | translatable: false 18 | default_value: { } 19 | default_value_callback: '' 20 | settings: 21 | handler: 'default:paragraph' 22 | handler_settings: 23 | target_bundles: 24 | stat: stat 25 | negate: 0 26 | target_bundles_drag_drop: 27 | hero: 28 | weight: 6 29 | enabled: false 30 | stat: 31 | weight: 5 32 | enabled: true 33 | stats: 34 | weight: 7 35 | enabled: false 36 | text: 37 | weight: 8 38 | enabled: false 39 | field_type: entity_reference_revisions 40 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.text.field_text.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_text 6 | - paragraphs.paragraphs_type.text 7 | module: 8 | - text 9 | id: paragraph.text.field_text 10 | field_name: field_text 11 | entity_type: paragraph 12 | bundle: text 13 | label: Text 14 | description: '' 15 | required: false 16 | translatable: false 17 | default_value: { } 18 | default_value_callback: '' 19 | settings: { } 20 | field_type: text_long 21 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.field.paragraph.text.field_title.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - field.storage.paragraph.field_title 6 | - paragraphs.paragraphs_type.text 7 | id: paragraph.text.field_title 8 | field_name: field_title 9 | entity_type: paragraph 10 | bundle: text 11 | label: Title 12 | description: '' 13 | required: false 14 | translatable: false 15 | default_value: { } 16 | default_value_callback: '' 17 | settings: { } 18 | field_type: string 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.storage.paragraph.field_description.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - paragraphs 6 | id: paragraph.field_description 7 | field_name: field_description 8 | entity_type: paragraph 9 | type: string_long 10 | settings: 11 | case_sensitive: false 12 | module: core 13 | locked: false 14 | cardinality: 1 15 | translatable: true 16 | indexes: { } 17 | persist_with_no_fields: false 18 | custom_storage: false 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.storage.paragraph.field_stat.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - paragraphs 6 | id: paragraph.field_stat 7 | field_name: field_stat 8 | entity_type: paragraph 9 | type: string 10 | settings: 11 | max_length: 255 12 | case_sensitive: false 13 | is_ascii: false 14 | module: core 15 | locked: false 16 | cardinality: 1 17 | translatable: true 18 | indexes: { } 19 | persist_with_no_fields: false 20 | custom_storage: false 21 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.storage.paragraph.field_stat_ref.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - entity_reference_revisions 6 | - paragraphs 7 | id: paragraph.field_stat_ref 8 | field_name: field_stat_ref 9 | entity_type: paragraph 10 | type: entity_reference_revisions 11 | settings: 12 | target_type: paragraph 13 | module: entity_reference_revisions 14 | locked: false 15 | cardinality: -1 16 | translatable: true 17 | indexes: { } 18 | persist_with_no_fields: false 19 | custom_storage: false 20 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.storage.paragraph.field_subtitle.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - paragraphs 6 | id: paragraph.field_subtitle 7 | field_name: field_subtitle 8 | entity_type: paragraph 9 | type: string 10 | settings: 11 | max_length: 255 12 | case_sensitive: false 13 | is_ascii: false 14 | module: core 15 | locked: false 16 | cardinality: 1 17 | translatable: true 18 | indexes: { } 19 | persist_with_no_fields: false 20 | custom_storage: false 21 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.storage.paragraph.field_text.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - paragraphs 6 | - text 7 | id: paragraph.field_text 8 | field_name: field_text 9 | entity_type: paragraph 10 | type: text_long 11 | settings: { } 12 | module: text 13 | locked: false 14 | cardinality: 1 15 | translatable: true 16 | indexes: { } 17 | persist_with_no_fields: false 18 | custom_storage: false 19 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/config/install/field.storage.paragraph.field_title.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - paragraphs 6 | id: paragraph.field_title 7 | field_name: field_title 8 | entity_type: paragraph 9 | type: string 10 | settings: 11 | max_length: 255 12 | case_sensitive: false 13 | is_ascii: false 14 | module: core 15 | locked: false 16 | cardinality: 1 17 | translatable: true 18 | indexes: { } 19 | persist_with_no_fields: false 20 | custom_storage: false 21 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/powerstack_page_builder.info.yml: -------------------------------------------------------------------------------- 1 | name: Page Builder 2 | type: module 3 | description: Base setup for Page Builder 4 | package: Power Stack 5 | core_version_requirement: ^8 || ^9 || ^10 6 | 7 | dependencies: 8 | - paragraphs:paragraphs_type_permissions 9 | - powerstack_page_builder_base:powerstack_page_builder_base 10 | - field_group:field_group -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder/powerstack_page_builder.install: -------------------------------------------------------------------------------- 1 | grantPermission($permission); 18 | } 19 | $role->save(); 20 | } 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder_base/.github/workflows/auto_close_prs.yml: -------------------------------------------------------------------------------- 1 | name: Auto Closer PR 2 | 3 | on: 4 | pull_request_target: 5 | types: [opened] 6 | 7 | jobs: 8 | run: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: superbrothers/close-pull-request@v3 12 | with: 13 | # Optional. Post a issue comment just before closing a pull request. 14 | comment: | 15 | Hi, thank you for your contribution. 16 | Unfortunately, this repository is read-only. It's a split from our main monorepo repository. 17 | We'd like to kindly ask you to move the contribution there - https://github.com/powerstackdev/power-stack. 18 | We'll check it, review it and give you feed back right way. 19 | Thank you. -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder_base/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "powerstack/page_builder_base", 3 | "description": "Basic setup for the Power Stack paragraphs", 4 | "version": "0.0.1", 5 | "keywords": [ 6 | "Drupal" 7 | ], 8 | "license": "GPL-2.0+", 9 | "repositories": { 10 | "0": { 11 | "type": "composer", 12 | "url": "https://packages.drupal.org/8" 13 | }, 14 | "1": { 15 | "type": "composer", 16 | "url": "https://asset-packagist.org" 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder_base/config/install/paragraphs.paragraphs_type.hero.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: { } 4 | id: hero 5 | label: Hero 6 | icon_uuid: null 7 | icon_default: null 8 | description: '' 9 | behavior_plugins: { } 10 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder_base/config/install/paragraphs.paragraphs_type.stat.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: { } 4 | id: stat 5 | label: Stat 6 | icon_uuid: null 7 | icon_default: null 8 | description: '' 9 | behavior_plugins: { } 10 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder_base/config/install/paragraphs.paragraphs_type.stats.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: { } 4 | id: stats 5 | label: Stats 6 | icon_uuid: null 7 | icon_default: null 8 | description: '' 9 | behavior_plugins: { } 10 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder_base/config/install/paragraphs.paragraphs_type.text.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: { } 4 | id: text 5 | label: Text 6 | icon_uuid: null 7 | icon_default: null 8 | description: '' 9 | behavior_plugins: { } 10 | -------------------------------------------------------------------------------- /backend/starters/development/web/modules/custom/powerstack_page_builder_base/powerstack_page_builder_base.info.yml: -------------------------------------------------------------------------------- 1 | name: Page builder base 2 | type: module 3 | description: Base setup for Power Stack Page builder base 4 | package: Power Stack 5 | core_version_requirement: ^8 || ^9 || ^10 6 | 7 | dependencies: 8 | - paragraphs:paragraphs 9 | - paragraphs:paragraphs_type_permissions -------------------------------------------------------------------------------- /backend/starters/development/web/profiles/README.txt: -------------------------------------------------------------------------------- 1 | Installation profiles define additional steps that run after the base 2 | installation of Drupal is completed. They may also offer additional 3 | functionality and change the behavior of the site. 4 | 5 | WHAT TO PLACE IN THIS DIRECTORY? 6 | -------------------------------- 7 | 8 | Place downloaded and custom installation profiles in this directory. 9 | Note that installation profiles are generally provided as part of a Drupal 10 | distribution. 11 | 12 | DOWNLOAD ADDITIONAL DISTRIBUTIONS 13 | --------------------------------- 14 | 15 | Contributed distributions from the Drupal community may be downloaded at 16 | https://www.drupal.org/project/project_distribution. 17 | 18 | MULTISITE CONFIGURATION 19 | ----------------------- 20 | 21 | In multisite configurations, installation profiles found in this directory are 22 | available to all sites during their initial site installation. 23 | 24 | MORE INFORMATION 25 | ---------------- 26 | 27 | Refer to the "Installation profiles" section of the README.md in the Drupal 28 | root directory for further information on extending Drupal with custom profiles. 29 | -------------------------------------------------------------------------------- /backend/starters/development/web/profiles/custom/powerstack_profile/.github/workflows/auto_close_prs.yml: -------------------------------------------------------------------------------- 1 | name: Auto Closer PR 2 | 3 | on: 4 | pull_request_target: 5 | types: [opened] 6 | 7 | jobs: 8 | run: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: superbrothers/close-pull-request@v3 12 | with: 13 | # Optional. Post a issue comment just before closing a pull request. 14 | comment: | 15 | Hi, thank you for your contribution. 16 | Unfortunately, this repository is read-only. It's a split from our main monorepo repository. 17 | We'd like to kindly ask you to move the contribution there - https://github.com/powerstackdev/power-stack. 18 | We'll check it, review it and give you feed back right way. 19 | Thank you. -------------------------------------------------------------------------------- /backend/starters/development/web/profiles/custom/powerstack_profile/assets/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/powerstackdev/power-stack/d26150cb0a0afca4df08471bca96dc4714415986/backend/starters/development/web/profiles/custom/powerstack_profile/assets/images/favicon.ico -------------------------------------------------------------------------------- /backend/starters/development/web/profiles/custom/powerstack_profile/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "powerstack/profile", 3 | "type": "drupal-profile", 4 | "description": "Base installation profile for Power Stack", 5 | "version": "1.0.0", 6 | "keywords": [ 7 | "Drupal" 8 | ], 9 | "license": "GPL-2.0+", 10 | "repositories": { 11 | "0": { 12 | "type": "composer", 13 | "url": "https://packages.drupal.org/8" 14 | } 15 | }, 16 | "homepage": "https://www.drupal.org/project/powerstack_profile", 17 | "authors": [ 18 | { 19 | "name": "Your name here", 20 | "homepage": "https://www.drupal.org/u/your_name_here", 21 | "role": "Maintainer" 22 | }, 23 | { 24 | "name": "Contributors", 25 | "homepage": "https://www.drupal.org/node/NID/committers", 26 | "role": "Contributors" 27 | } 28 | ], 29 | "support": { 30 | "issues": "https://www.drupal.org/project/issues/powerstack_profile", 31 | "source": "http://cgit.drupalcode.org/powerstack_profile" 32 | }, 33 | "require": { 34 | "drupal/gin": "^3.0", 35 | "powerstack/api": "^0.0.1", 36 | "powerstack/page_builder": "^0.0.1", 37 | "powerstack/page_builder_base": "^0.0.1", 38 | "powerstack/permissions": "^0.0.1" 39 | }, 40 | "minimum-stability": "dev", 41 | "prefer-stable": true, 42 | "require-dev": { 43 | "tmdk/composer-workspaces-plugin": "dev-overrides" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /backend/starters/development/web/profiles/custom/powerstack_profile/config/install/filter.format.basic_html.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - editor 6 | name: 'Basic HTML' 7 | format: basic_html 8 | weight: 0 9 | roles: 10 | - authenticated 11 | filters: 12 | filter_html: 13 | id: filter_html 14 | provider: filter 15 | status: true 16 | weight: -10 17 | settings: 18 | allowed_html: '