diff --git a/composer.lock b/composer.lock
index b85d87c638..9f635edeeb 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "463baaa6537b3eb870d3b5895c3932ec",
+ "content-hash": "6b5dfed78a8570d072e58fa09a37a636",
"packages": [
{
"name": "asm89/stack-cors",
@@ -1655,6 +1655,26 @@
"relative": true
}
},
+ {
+ "name": "drupal/devshop_gin",
+ "version": "2.x-dev",
+ "dist": {
+ "type": "path",
+ "url": "src/Drupal/Themes/devshop_gin",
+ "reference": "9a2c31db96772d84028d299c3e53cf6b083b9f62"
+ },
+ "type": "drupal-theme",
+ "authors": [
+ {
+ "name": "Jon Pugh",
+ "email": "jon@thinkdrop.net"
+ }
+ ],
+ "description": "DevShop theme, based on Gin.",
+ "transport-options": {
+ "relative": true
+ }
+ },
{
"name": "drupal/eva",
"version": "3.1.0",
@@ -1718,6 +1738,127 @@
"source": "https://git.drupalcode.org/project/eva"
}
},
+ {
+ "name": "drupal/gin",
+ "version": "3.0.0-rc13",
+ "source": {
+ "type": "git",
+ "url": "https://git.drupalcode.org/project/gin.git",
+ "reference": "8.x-3.0-rc13"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/gin-8.x-3.0-rc13.zip",
+ "reference": "8.x-3.0-rc13",
+ "shasum": "7b8e9d7ae6fe6de7de0bba930200fe80b437eefe"
+ },
+ "require": {
+ "drupal/core": "^9 || ^10 || ^11",
+ "drupal/gin_toolbar": "^1.0@beta"
+ },
+ "type": "drupal-theme",
+ "extra": {
+ "drupal": {
+ "version": "8.x-3.0-rc13",
+ "datestamp": "1720416342",
+ "security-coverage": {
+ "status": "not-covered",
+ "message": "RC releases are not covered by Drupal security advisories."
+ }
+ }
+ },
+ "notification-url": "https://packages.drupal.org/8/downloads",
+ "scripts": {
+ "phpcs": [
+ "phpcs -s --runtime-set ignore_warnings_on_exit 1 --runtime-set ignore_errors_on_exit 0 'web/modules/custom'"
+ ]
+ },
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Sascha Eggenberger (saschaeggi)",
+ "homepage": "https://www.drupal.org/u/saschaeggi",
+ "role": "Maintainer"
+ }
+ ],
+ "description": "For a better Admin and Content Editor Experience.",
+ "homepage": "https://www.drupal.org/project/gin",
+ "support": {
+ "source": "https://git.drupalcode.org/project/gin",
+ "issues": "https://www.drupal.org/project/issues/gin"
+ },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/saschaeggi"
+ },
+ {
+ "type": "other",
+ "url": "https://paypal.me/saschaeggi"
+ }
+ ]
+ },
+ {
+ "name": "drupal/gin_toolbar",
+ "version": "1.0.0-rc6",
+ "source": {
+ "type": "git",
+ "url": "https://git.drupalcode.org/project/gin_toolbar.git",
+ "reference": "8.x-1.0-rc6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/gin_toolbar-8.x-1.0-rc6.zip",
+ "reference": "8.x-1.0-rc6",
+ "shasum": "542def14b9a5435efb4e021d384fa3f7b0fc6e78"
+ },
+ "require": {
+ "drupal/core": "^9 || ^10 || ^11"
+ },
+ "type": "drupal-module",
+ "extra": {
+ "drupal": {
+ "version": "8.x-1.0-rc6",
+ "datestamp": "1718368950",
+ "security-coverage": {
+ "status": "not-covered",
+ "message": "RC releases are not covered by Drupal security advisories."
+ }
+ }
+ },
+ "notification-url": "https://packages.drupal.org/8/downloads",
+ "license": [
+ "GPL-2.0+"
+ ],
+ "authors": [
+ {
+ "name": "Sascha Eggenberger (saschaeggi)",
+ "homepage": "https://www.drupal.org/u/saschaeggi",
+ "role": "Maintainer"
+ }
+ ],
+ "description": "Gin Toolbar for Frontend use",
+ "homepage": "https://www.drupal.org/project/gin_toolbar",
+ "keywords": [
+ "Drupal"
+ ],
+ "support": {
+ "source": "http://cgit.drupalcode.org/gin_toolbar",
+ "issues": "https://www.drupal.org/project/issues/gin_toolbar"
+ },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/saschaeggi"
+ },
+ {
+ "type": "other",
+ "url": "https://paypal.me/saschaeggi"
+ }
+ ]
+ },
{
"name": "drupal/key_auth",
"version": "2.2.0",
@@ -12470,6 +12611,8 @@
"minimum-stability": "dev",
"stability-flags": {
"drupal/devshop": 20,
+ "drupal/gin": 5,
+ "drupal/gin_toolbar": 5,
"drupal/site": 20,
"drupal/site_manager": 20
},
diff --git a/config/sync/.htaccess b/config/sync/.htaccess
deleted file mode 100644
index b0dc5406e6..0000000000
--- a/config/sync/.htaccess
+++ /dev/null
@@ -1,24 +0,0 @@
-# Deny all requests from Apache 2.4+.
-
- Require all denied
-
-
-# Deny all requests from Apache 2.0-2.2.
-
- Deny from all
-
-
-# Turn off all options we don't need.
-Options -Indexes -ExecCGI -Includes -MultiViews
-
-# Set the catch-all handler to prevent scripts from being executed.
-SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
-
- # Override the handler again if we're run later in the evaluation list.
- SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
-
-
-# If we know how to do it safely, disable the PHP engine entirely.
-
- php_flag engine off
-
\ No newline at end of file
diff --git a/src/Drupal/Themes/devshop_gin/composer.json b/src/Drupal/Themes/devshop_gin/composer.json
new file mode 100644
index 0000000000..19295bca42
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/composer.json
@@ -0,0 +1,13 @@
+{
+ "name": "drupal/devshop_gin",
+ "description": "DevShop theme, based on Gin.",
+ "type": "drupal-theme",
+ "authors": [
+ {
+ "name": "Jon Pugh",
+ "email": "jon@thinkdrop.net"
+ }
+ ],
+ "minimum-stability": "dev",
+ "require": {}
+}
diff --git a/src/Drupal/Themes/devshop_gin/config/install/devshop_gin.settings.yml b/src/Drupal/Themes/devshop_gin/config/install/devshop_gin.settings.yml
new file mode 100644
index 0000000000..e18e250dad
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/config/install/devshop_gin.settings.yml
@@ -0,0 +1,2 @@
+# Default settings of DevShop Gin theme.
+example: 'foo'
diff --git a/src/Drupal/Themes/devshop_gin/config/schema/devshop_gin.schema.yml b/src/Drupal/Themes/devshop_gin/config/schema/devshop_gin.schema.yml
new file mode 100644
index 0000000000..516a3aadc5
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/config/schema/devshop_gin.schema.yml
@@ -0,0 +1,8 @@
+# Schema for the configuration files of the DevShop Gin theme.
+devshop_gin.settings:
+ type: theme_settings
+ label: 'DevShop Gin settings'
+ mapping:
+ example:
+ type: string
+ label: Example
diff --git a/src/Drupal/Themes/devshop_gin/css/base/elements.css b/src/Drupal/Themes/devshop_gin/css/base/elements.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/block.css b/src/Drupal/Themes/devshop_gin/css/component/block.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/breadcrumb.css b/src/Drupal/Themes/devshop_gin/css/component/breadcrumb.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/buttons.css b/src/Drupal/Themes/devshop_gin/css/component/buttons.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/field.css b/src/Drupal/Themes/devshop_gin/css/component/field.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/form.css b/src/Drupal/Themes/devshop_gin/css/component/form.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/header.css b/src/Drupal/Themes/devshop_gin/css/component/header.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/menu.css b/src/Drupal/Themes/devshop_gin/css/component/menu.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/messages.css b/src/Drupal/Themes/devshop_gin/css/component/messages.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/node.css b/src/Drupal/Themes/devshop_gin/css/component/node.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/sidebar.css b/src/Drupal/Themes/devshop_gin/css/component/sidebar.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/table.css b/src/Drupal/Themes/devshop_gin/css/component/table.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/component/tabs.css b/src/Drupal/Themes/devshop_gin/css/component/tabs.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/layout/layout.css b/src/Drupal/Themes/devshop_gin/css/layout/layout.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/css/theme/print.css b/src/Drupal/Themes/devshop_gin/css/theme/print.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Drupal/Themes/devshop_gin/devshop_gin.breakpoints.yml b/src/Drupal/Themes/devshop_gin/devshop_gin.breakpoints.yml
new file mode 100644
index 0000000000..a20db6075b
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/devshop_gin.breakpoints.yml
@@ -0,0 +1,30 @@
+devshop_gin.extra_small:
+ label: mobile
+ mediaQuery: ''
+ weight: 0
+ multipliers:
+ - 1x
+devshop_gin.small:
+ label: mobile
+ mediaQuery: 'all and (min-width: 576px) and (max-width: 767px)'
+ weight: 1
+ multipliers:
+ - 1x
+devshop_gin.medium:
+ label: narrow
+ mediaQuery: 'all and (min-width: 768px) and (max-width: 991px)'
+ weight: 2
+ multipliers:
+ - 1x
+devshop_gin.large:
+ label: wide
+ mediaQuery: 'all and (min-width: 992px) and (max-width: 1199px)'
+ weight: 3
+ multipliers:
+ - 1x
+devshop_gin.extra_large:
+ label: wide
+ mediaQuery: 'all and (min-width: 1200px)'
+ weight: 4
+ multipliers:
+ - 1x
diff --git a/src/Drupal/Themes/devshop_gin/devshop_gin.info.yml b/src/Drupal/Themes/devshop_gin/devshop_gin.info.yml
new file mode 100644
index 0000000000..ab0387c796
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/devshop_gin.info.yml
@@ -0,0 +1,20 @@
+name: DevShop Gin
+type: theme
+base theme: gin
+description: DevShop Front-end
+package: DevShop
+core_version_requirement: ^10
+libraries:
+ - devshop_gin/global
+regions:
+ header: 'Header'
+ primary_menu: 'Primary menu'
+ secondary_menu: 'Secondary menu'
+ page_top: 'Page top'
+ page_bottom: 'Page bottom'
+ featured: 'Featured'
+ breadcrumb: 'Breadcrumb'
+ content: 'Content'
+ sidebar_first: 'Sidebar first'
+ sidebar_second: 'Sidebar second'
+ footer: 'Footer'
diff --git a/src/Drupal/Themes/devshop_gin/devshop_gin.libraries.yml b/src/Drupal/Themes/devshop_gin/devshop_gin.libraries.yml
new file mode 100644
index 0000000000..11f1ac2c4d
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/devshop_gin.libraries.yml
@@ -0,0 +1,24 @@
+# Main theme library.
+global:
+ js:
+ js/devshop-gin.js: {}
+ css:
+ base:
+ css/base/elements.css: {}
+ component:
+ css/component/block.css: {}
+ css/component/breadcrumb.css: {}
+ css/component/field.css: {}
+ css/component/form.css: {}
+ css/component/header.css: {}
+ css/component/menu.css: {}
+ css/component/messages.css: {}
+ css/component/node.css: {}
+ css/component/sidebar.css: {}
+ css/component/table.css: {}
+ css/component/tabs.css: {}
+ css/component/buttons.css: {}
+ layout:
+ css/layout/layout.css: {}
+ theme:
+ css/theme/print.css: { media: print }
diff --git a/src/Drupal/Themes/devshop_gin/devshop_gin.theme b/src/Drupal/Themes/devshop_gin/devshop_gin.theme
new file mode 100644
index 0000000000..3c6bb5fde2
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/devshop_gin.theme
@@ -0,0 +1,29 @@
+
+
+ DevShop
+
diff --git a/src/Drupal/Themes/devshop_gin/package.json b/src/Drupal/Themes/devshop_gin/package.json
new file mode 100644
index 0000000000..cfea35ea81
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/package.json
@@ -0,0 +1,10 @@
+{
+ "name": "devshop_gin",
+ "private": true,
+ "scripts": {
+ "livereload": "livereload --exclusions node_modules/ --exts 'css,js,twig,theme,apng,avif,gif,jpg,jpeg,jfif,pjpeg,pjp,png,svg,webp'"
+ },
+ "devDependencies": {
+ "livereload": "^0.9.3"
+ }
+}
diff --git a/src/Drupal/Themes/devshop_gin/theme-settings.php b/src/Drupal/Themes/devshop_gin/theme-settings.php
new file mode 100644
index 0000000000..387d408df4
--- /dev/null
+++ b/src/Drupal/Themes/devshop_gin/theme-settings.php
@@ -0,0 +1,29 @@
+ 'details',
+ '#title' => t('DevShop Gin'),
+ '#open' => TRUE,
+ ];
+
+ $form['devshop_gin']['example'] = [
+ '#type' => 'textfield',
+ '#title' => t('Example'),
+ '#default_value' => theme_get_setting('example'),
+ ];
+
+}