Initial commit
This commit is contained in:
113
assets/templates/commands/web/configure-extension.optional
Normal file
113
assets/templates/commands/web/configure-extension.optional
Normal file
@@ -0,0 +1,113 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Description: Auto-configure your TYPO3 extension with demo content and settings
|
||||
## Usage: configure-extension [VERSION]
|
||||
## Example: ddev configure-extension v13
|
||||
|
||||
VERSION=${1:-v13}
|
||||
INSTALL_DIR=/var/www/html/$VERSION
|
||||
|
||||
echo "🔧 Configuring {{EXTENSION_KEY}} extension for $VERSION..."
|
||||
|
||||
# Install Introduction Package for demo content
|
||||
echo "📦 Installing TYPO3 Introduction Package..."
|
||||
composer require typo3/cms-introduction --no-progress -d $INSTALL_DIR
|
||||
|
||||
# Activate Introduction extension
|
||||
echo "✅ Activating Introduction extension..."
|
||||
cd $INSTALL_DIR
|
||||
vendor/bin/typo3 extension:setup --extension=introduction
|
||||
|
||||
# Remove default "main" site created by typo3 setup (Introduction creates its own site)
|
||||
echo "🧹 Removing default site (Introduction package provides its own)..."
|
||||
rm -rf $INSTALL_DIR/config/sites/main
|
||||
|
||||
# Optional: Create site package for extension-specific configuration
|
||||
# Uncomment and customize for extensions needing RTE, TsConfig, or TypoScript setup
|
||||
|
||||
# echo "📝 Creating site configuration package..."
|
||||
# mkdir -p $INSTALL_DIR/public/typo3conf/ext/site_config/Configuration
|
||||
#
|
||||
# cat > $INSTALL_DIR/public/typo3conf/ext/site_config/ext_emconf.php << 'EOF'
|
||||
# <?php
|
||||
# $EM_CONF[$_EXTKEY] = [
|
||||
# 'title' => 'Site Configuration',
|
||||
# 'description' => 'Configuration for {{EXTENSION_KEY}}',
|
||||
# 'category' => 'templates',
|
||||
# 'state' => 'stable',
|
||||
# 'version' => '1.0.0',
|
||||
# 'constraints' => [
|
||||
# 'depends' => [
|
||||
# 'typo3' => '13.4.0-13.4.99',
|
||||
# '{{EXTENSION_KEY}}' => '',
|
||||
# ],
|
||||
# ],
|
||||
# ];
|
||||
# EOF
|
||||
|
||||
# Example: RTE configuration for CKEditor plugins
|
||||
# IMPORTANT: When defining editor.config, YAML replaces the entire block instead of merging!
|
||||
# DO NOT override importModules or externalPlugins - let Plugin.yaml handle them.
|
||||
#
|
||||
# mkdir -p $INSTALL_DIR/public/typo3conf/ext/site_config/Configuration/RTE
|
||||
#
|
||||
# cat > $INSTALL_DIR/public/typo3conf/ext/site_config/Configuration/RTE/Default.yaml << 'EOF'
|
||||
# imports:
|
||||
# - { resource: "EXT:rte_ckeditor/Configuration/RTE/Default.yaml" }
|
||||
# - { resource: "EXT:{{EXTENSION_KEY}}/Configuration/RTE/Plugin.yaml" }
|
||||
#
|
||||
# editor:
|
||||
# config:
|
||||
# # IMPORTANT: DO NOT override importModules here!
|
||||
# # Plugin.yaml provides: importModules: ['@vendor/extension/Plugins/myplugin.js']
|
||||
# # Plugin.yaml provides: externalPlugins: { myplugin: { route: ... } }
|
||||
# # If you need html-support, add it to Plugin.yaml or merge arrays properly
|
||||
#
|
||||
# toolbar:
|
||||
# items:
|
||||
# - heading
|
||||
# - '|'
|
||||
# - bold
|
||||
# - italic
|
||||
# # Add your custom toolbar buttons here
|
||||
# EOF
|
||||
|
||||
# Example: Page TSConfig
|
||||
# mkdir -p $INSTALL_DIR/public/typo3conf/ext/site_config/Configuration/TsConfig/Page
|
||||
#
|
||||
# cat > $INSTALL_DIR/public/typo3conf/ext/site_config/Configuration/TsConfig/Page/Config.tsconfig << 'EOF'
|
||||
# # Add your Page TSConfig here
|
||||
# # Example: RTE.default.preset = default
|
||||
# EOF
|
||||
|
||||
# IMPORTANT: If creating site_config extension, you must register it!
|
||||
# Since site_config is not a composer-installed extension, ext_localconf.php
|
||||
# and ext_tables.php won't be loaded automatically. Instead:
|
||||
#
|
||||
# 1. Register RTE preset in AdditionalConfiguration.php:
|
||||
# cat >> $INSTALL_DIR/config/system/additional.php << 'EOF'
|
||||
#
|
||||
# // Register custom RTE preset
|
||||
# $GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = 'EXT:site_config/Configuration/RTE/Default.yaml';
|
||||
# EOF
|
||||
#
|
||||
# 2. Add Page TSConfig to site configuration:
|
||||
# cat >> $INSTALL_DIR/config/sites/introduction/config.yaml << 'EOF'
|
||||
# pagesTsConfig:
|
||||
# 'RTE.default.preset': 'default'
|
||||
# EOF
|
||||
|
||||
# Flush caches
|
||||
echo "🧹 Flushing caches..."
|
||||
cd $INSTALL_DIR
|
||||
vendor/bin/typo3 cache:flush
|
||||
|
||||
echo "✅ Extension configuration complete!"
|
||||
echo ""
|
||||
echo "📌 Access your TYPO3 installation:"
|
||||
echo " Frontend: https://$VERSION.{{DDEV_SITENAME}}.ddev.site/"
|
||||
echo " Backend: https://$VERSION.{{DDEV_SITENAME}}.ddev.site/typo3/"
|
||||
echo " Username: admin"
|
||||
echo " Password: Password:joh316"
|
||||
echo ""
|
||||
echo "🎨 Your extension is now configured and ready to test!"
|
||||
17
assets/templates/commands/web/generate-index
Executable file
17
assets/templates/commands/web/generate-index
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Description: Generate index.html overview page
|
||||
## Usage: generate-index
|
||||
## Example: ddev generate-index
|
||||
|
||||
EXTENSION_KEY=$(basename "$(pwd)")
|
||||
DDEV_PROJECT=$(ddev describe -j | jq -r '.name' 2>/dev/null || echo "$EXTENSION_KEY")
|
||||
|
||||
# Simple sed-based substitution
|
||||
sed -e "s/{{EXTENSION_NAME}}/$EXTENSION_KEY/g" \
|
||||
-e "s/{{EXTENSION_KEY}}/$EXTENSION_KEY/g" \
|
||||
-e "s/{{DDEV_PROJECT}}/$DDEV_PROJECT/g" \
|
||||
/var/www/html/.ddev/index.html.template > /var/www/html/index.html
|
||||
|
||||
echo "✅ index.html generated successfully!"
|
||||
echo "Access your project at: http://$DDEV_PROJECT.ddev.site/"
|
||||
17
assets/templates/commands/web/generate-makefile
Executable file
17
assets/templates/commands/web/generate-makefile
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Description: Generate Makefile for TYPO3 extension development
|
||||
## Usage: generate-makefile
|
||||
## Example: ddev generate-makefile
|
||||
|
||||
EXTENSION_KEY=$(basename "$(pwd)")
|
||||
DDEV_PROJECT=$(ddev describe -j | jq -r '.name' 2>/dev/null || echo "$EXTENSION_KEY")
|
||||
|
||||
# Simple sed-based substitution
|
||||
sed -e "s/{{EXTENSION_NAME}}/$EXTENSION_KEY/g" \
|
||||
-e "s/{{EXTENSION_KEY}}/$EXTENSION_KEY/g" \
|
||||
-e "s/{{DDEV_PROJECT}}/$DDEV_PROJECT/g" \
|
||||
/var/www/html/.ddev/Makefile.template > /var/www/html/Makefile
|
||||
|
||||
echo "✅ Makefile generated successfully!"
|
||||
echo "Run 'make help' to see available commands"
|
||||
33
assets/templates/commands/web/install-introduction.optional
Normal file
33
assets/templates/commands/web/install-introduction.optional
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Description: Install TYPO3 Introduction Package with demo content
|
||||
## Usage: install-introduction [VERSION]
|
||||
## Example: ddev install-introduction
|
||||
## Example: ddev install-introduction v13
|
||||
|
||||
VERSION=${1:-v13}
|
||||
|
||||
echo "Installing Introduction Package for $VERSION..."
|
||||
|
||||
cd /var/www/html/$VERSION
|
||||
|
||||
# Install introduction package
|
||||
composer require typo3/cms-introduction --no-progress
|
||||
|
||||
# Setup extension
|
||||
vendor/bin/typo3 extension:setup --extension=introduction
|
||||
|
||||
# Flush caches
|
||||
vendor/bin/typo3 cache:flush
|
||||
|
||||
echo "✅ Introduction Package installed successfully!"
|
||||
echo ""
|
||||
echo "Demo content includes:"
|
||||
echo " - 86+ pages with example content"
|
||||
echo " - 226+ content elements"
|
||||
echo " - Multi-language support (EN, DE, DA)"
|
||||
echo " - Bootstrap Package theme"
|
||||
echo ""
|
||||
echo "Access your demo site at:"
|
||||
echo " Frontend: https://${DDEV_SITENAME}.ddev.site/"
|
||||
echo " Backend: https://${DDEV_SITENAME}.ddev.site/typo3/"
|
||||
Reference in New Issue
Block a user