+ hvg-blog-general theme

This commit is contained in:
felegy
2022-06-08 21:34:12 +02:00
parent 74c7fd73ce
commit 039d95726c
15 changed files with 333 additions and 13 deletions

11
.dev/020-xdebug.ini Normal file
View File

@@ -0,0 +1,11 @@
zend_extension = xdebug.so
; Xdebug
[XDebug]
xdebug.max_nesting_level = 256
xdebug.show_exception_trace = 0
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_host = ${XDEBUG_HOST}

View File

@@ -6,8 +6,11 @@ mkdir -p /tmp/build_cache /tmp/env;
rm -rf /app/.heroku /app/.profile.d /app/vendor/*
STACK=heroku-20 "$PHP_BUILDPACK/bin/compile" /app /tmp/build_cache /tmp/env; \
STACK=heroku-20 "$PHP_BUILDPACK/bin/compile" /app /tmp/build_cache /tmp/env;
cp -v config/mailhog.ini /app/.heroku/php/etc/php/conf.d/225-mailhog.ini;
rm -rf /app/vendor/*
composer install
rm -rf /app/vendor/*;
composer install;
exec .dev/xdebug-install.sh;

View File

@@ -18,7 +18,7 @@ server {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Host $host;
proxy_pass http://wordpress:3000;
}
}

73
.dev/xdebug-install.sh Executable file
View File

@@ -0,0 +1,73 @@
#!/usr/bin/env bash
# Define directories.
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
XDEBUG_VERSION=${XDEBUG_VERSION-3.1.5}
# echo colors
LED='\033[0;34m'
OK='\033[0;32m'
NC='\033[0m' # No Color
#############
###########################################################################
# COMPILE PHP xDebug
###########################################################################
XDEBUG_RELEASE_URI="https://xdebug.org/files/xdebug-$XDEBUG_VERSION.tgz";
SRC_PATH="/tmp";
XDEBUG_SRC_PATH=$SRC_PATH/xdebug-$XDEBUG_VERSION
echo -e "${LED}XDEBUG${NC} Download $XDEBUG_RELEASE_URI ..."
curl -# $XDEBUG_RELEASE_URI| tar --warning=none -xz -C $SRC_PATH
echo -e "${OK}done${NC}"
# Build from repo
#echo -e "${LED}XDEBUG${NC} Cloning source to $XDEBUG_SRC_PATH ..."
#git clone git://github.com/xdebug/xdebug.git $XDEBUG_SRC_PATH
#echo -e "${OK}done${NC}"
LOGDIR="${PWD}/.log"
mkdir -p "${LOGDIR}"
LOGFILE="${LOGDIR}/xdebug_build.log"
echo -e "${LED}XDEBUG${NC} Compile at $XDEBUG_SRC_PATH ..."
(
cd $XDEBUG_SRC_PATH
echo $PWD
echo -e "`date +%H:%M:%S` : Scan workspace" > $LOGFILE
ls -la >> $LOGFILE 2>&1
echo -e "`date +%H:%M:%S` : Starting work" >> $LOGFILE
phpize >> $LOGFILE 2>&1
./configure --enable-xdebug >> $LOGFILE 2>&1
make -k >> $LOGFILE 2>&1
echo -e "${OK}done${NC}"
###########################################################################
# INSTALL PHP xDebug
###########################################################################
EXTENSION_PATH=$( php-config --extension-dir );
LIB_PATH="$( php-config --prefix )/lib"
INSTALL_PATH=$( php-config --ini-dir );
XDEBUG_INI="020-xdebug.ini";
XDEBUG_INI_PATH=$SCRIPT_DIR/$XDEBUG_INI;
echo -e "${LED}XDEBUG${NC} Install bin to $EXTENSION_PATH ..."
cp -v modules/*.so $EXTENSION_PATH
cp -v modules/*.la $LIB_PATH
echo -e "${OK}done${NC}"
echo -e "${LED}XDEBUG${NC} Install ini to $INSTALL_PATH ..."
if [ ! -f $XDEBUG_INI_PATH ]; then
echo "zend_extension = xdebug.so" >> $XDEBUG_INI_PATH
fi
cp -v $XDEBUG_INI_PATH $INSTALL_PATH/$XDEBUG_INI
echo -e "${OK}done${NC}"
echo -e "${LED}XDEBUG${NC} All Install ${OK}done${NC}"
###########################################################################
)
exit 0

6
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "daily"

3
.gitignore vendored
View File

@@ -1,6 +1,8 @@
# Application
web/app/plugins/*
!web/app/plugins/.gitkeep
web/app/themes/*
!web/app/themes/.gitkeep
web/app/mu-plugins/*/
web/app/upgrade
web/app/uploads/*
@@ -23,6 +25,7 @@ web/.htaccess
.*/*
!.**/.gitkeep
!.dev/*
!.github/*
# Composer
/vendor

View File

@@ -4,7 +4,7 @@ alias d-wp="docker-compose run --rm --entrypoint=wp wordpress"
alias d-heroku="docker-compose run --rm --entrypoint=heroku wordpress"
alias d-bash="docker-compose run --rm --entrypoint=bash wordpress -l"
alias dc-build="docker-compose build --pull --no-cache"
alias dc-init="docker-compose run --rm --entrypoint ".dev/init.sh" wordpress"
alias dc-init="docker-compose run --rm --entrypoint '.dev/init.sh' wordpress"
alias dc-up="docker-compose up -d"
alias dc-down="docker-compose down"
alias dc-destroy="docker-compose down -v"

11
.source_me.ps1 Normal file
View File

@@ -0,0 +1,11 @@
Set-Alias -Name d-composer -Value "docker-compose run --rm --entrypoint -Value composer wordpress"
Set-Alias -Name d-wp -Value "docker-compose run --rm --entrypoint -Value wp wordpress"
Set-Alias -Name d-heroku -Value "docker-compose run --rm --entrypoint -Value heroku wordpress"
Set-Alias -Name d-bash -Value "docker-compose run --rm --entrypoint -Value bash wordpress -l"
Set-Alias -Name dc-build -Value "docker-compose build --pull --no-cache"
Set-Alias -Name dc-init -Value "docker-compose run --rm --entrypoint '.dev/init.sh' wordpress"
Set-Alias -Name dc-up -Value "docker-compose up -d"
Set-Alias -Name dc-down -Value "docker-compose down"
Set-Alias -Name dc-destroy -Value "docker-compose down -v"
Set-Alias -Name g-clean -Value "git clean -xd"
Set-Alias -Name g-mk-deploy -Value "git archive -o deploy.tar.gz HEAD"

View File

@@ -2,7 +2,7 @@ ARG UID=1000
ARG GID=1000
ARG USER_NAME=heroku
FROM heroku/heroku:20 AS base
FROM heroku/heroku:20-build AS base
RUN \
apt-get -qq update; \
apt-get install -y --no-install-recommends \

View File

@@ -0,0 +1,8 @@
HVG Blog
```
mkcert \
-cert-file .dev/nginx/lndo.site.crt \
-key-file .dev/nginx/lndo.site.key \
*.lndo.site
```

View File

@@ -32,6 +32,10 @@
{
"type": "vcs",
"url": "https://github.com/hvg-dev/hvg-blog-muplugin"
},
{
"type": "vcs",
"url": "https://github.com/hvg-dev/hvg-blog-general"
}
],
"require": {
@@ -51,7 +55,10 @@
"roots/wordpress": "^6.0",
"roots/wp-config": "^1.0.0",
"roots/wp-password-bcrypt": "^1.1.0",
"wpackagist-theme/twentytwentytwo": "^1.2",
"hvg-dev/hvg-blog-muplugin": "dev-main",
"hvg-dev/hvg-blog-general": "dev-main",
"wpackagist-plugin/wp-webhooks": "^2.0",
"wpackagist-plugin/code-snippets": "^3.1"
},

73
composer.lock generated
View File

@@ -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": "67712c4ba219189964d41855c6c1b5e4",
"content-hash": "784b886c29915068e70bf3fcd927abca",
"packages": [
{
"name": "composer/installers",
@@ -212,12 +212,52 @@
],
"time": "2021-11-21T21:41:47+00:00"
},
{
"name": "hvg-dev/hvg-blog-general",
"version": "dev-main",
"source": {
"type": "git",
"url": "git@github.com:hvg-dev/hvg-blog-general.git",
"reference": "91b04b1dbe9d2e1698f90131bd07ba626e66473d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/hvg-dev/hvg-blog-general/zipball/91b04b1dbe9d2e1698f90131bd07ba626e66473d",
"reference": "91b04b1dbe9d2e1698f90131bd07ba626e66473d",
"shasum": ""
},
"require": {
"php": ">=5.6"
},
"default-branch": true,
"type": "wordpress-theme",
"license": [
"GPL-2.0-or-later"
],
"authors": [
{
"name": "Contributors",
"homepage": "https://github.com/Automattic/_s/graphs/contributors"
}
],
"description": "Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.",
"homepage": "https://github.com/Automattic/_s",
"keywords": [
"Themes",
"WordPress"
],
"support": {
"source": "https://github.com/hvg-dev/hvg-blog-general/tree/main",
"issues": "https://github.com/hvg-dev/hvg-blog-general/issues"
},
"time": "2022-06-08T18:27:15+00:00"
},
{
"name": "hvg-dev/hvg-blog-muplugin",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/hvg-dev/hvg-blog-muplugin.git",
"url": "git@github.com:hvg-dev/hvg-blog-muplugin.git",
"reference": "5a237fcba344b4cdf3bb355e08f81dc198eaef08"
},
"dist": {
@@ -1183,6 +1223,24 @@
},
"type": "wordpress-plugin",
"homepage": "https://wordpress.org/plugins/wp-webhooks/"
},
{
"name": "wpackagist-theme/twentytwentytwo",
"version": "1.2",
"source": {
"type": "svn",
"url": "https://themes.svn.wordpress.org/twentytwentytwo/",
"reference": "1.2"
},
"dist": {
"type": "zip",
"url": "https://downloads.wordpress.org/theme/twentytwentytwo.1.2.zip"
},
"require": {
"composer/installers": "^1.0 || ^2.0"
},
"type": "wordpress-theme",
"homepage": "https://wordpress.org/themes/twentytwentytwo/"
}
],
"packages-dev": [
@@ -1237,12 +1295,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "e9efa06fbfa1dc84b9d6475eb7270aec6ee9a841"
"reference": "961eba35293ca2e5b37bc281a63836243b35058a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/e9efa06fbfa1dc84b9d6475eb7270aec6ee9a841",
"reference": "e9efa06fbfa1dc84b9d6475eb7270aec6ee9a841",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/961eba35293ca2e5b37bc281a63836243b35058a",
"reference": "961eba35293ca2e5b37bc281a63836243b35058a",
"shasum": ""
},
"conflict": {
@@ -1503,7 +1561,7 @@
"pimcore/data-hub": "<1.2.4",
"pimcore/pimcore": "<10.4",
"pocketmine/bedrock-protocol": "<8.0.2",
"pocketmine/pocketmine-mp": "<4.2.10",
"pocketmine/pocketmine-mp": ">= 4.0.0-BETA5, < 4.4.2|<4.2.10",
"pressbooks/pressbooks": "<5.18",
"prestashop/autoupgrade": ">=4,<4.10.1",
"prestashop/contactform": ">1.0.1,<4.3",
@@ -1727,7 +1785,7 @@
"type": "tidelift"
}
],
"time": "2022-06-06T22:04:51+00:00"
"time": "2022-06-07T22:04:20+00:00"
},
{
"name": "squizlabs/php_codesniffer",
@@ -1790,6 +1848,7 @@
"minimum-stability": "dev",
"stability-flags": {
"hvg-dev/hvg-blog-muplugin": 20,
"hvg-dev/hvg-blog-general": 20,
"roave/security-advisories": 20
},
"prefer-stable": true,

View File

@@ -127,6 +127,13 @@ if (file_exists($env_config)) {
require_once $env_config;
}
$hvgblog_config = __DIR__ . '/hvgblog.php';
if (file_exists($hvgblog_config)) {
require_once $hvgblog_config;
}
Config::apply();
/**

131
config/hvgblog.php Normal file
View File

@@ -0,0 +1,131 @@
<?php
use Roots\WPConfig\Config;
use function Env\env;
/**
* Redis Cache Config
*/
$redis_url = parse_url( env( 'REDIS_URL' ) );
if ( isset( $redis_url['host'] ) ) {
define( 'WP_REDIS_USER', trim( $redis_url['user'] ) );
define( 'WP_REDIS_PASSWORD', trim( $redis_url['pass'] ) );
define( 'WP_REDIS_HOST', trim( $redis_url['host'] ) );
define( 'WP_REDIS_PORT', trim( $redis_url['port'], '/' ) );
if ( env( 'WP_REDIS_MAXTTL' ) ) {
define( 'WP_REDIS_MAXTTL', env( 'WP_REDIS_MAXTTL' ) );
}
if ( env( 'WP_REDIS_DISABLED' ) ) {
define( 'WP_REDIS_DISABLED', env( 'WP_REDIS_DISABLED' ) );
}
}
/**
* S3 Uploads Config
*/
if (env('BUCKET_NAME')) {
if(env('USE_CDN')) {
Config::define('S3_UPLOADS_BUCKET', env('BUCKET_NAME') . '/' . Config::get('BLOG_SLUG') );
} else {
Config::define('S3_UPLOADS_BUCKET', env('BUCKET_NAME'));
}
Config::define('S3_UPLOADS_KEY', env('AWS_ACCESS_KEY_ID'));
Config::define('S3_UPLOADS_SECRET', env('AWS_SECRET_ACCESS_KEY'));
Config::define('S3_UPLOADS_REGION', env('AWS_REGION'));
}
/**
* S3 Uploads Config with Bucketeer
*/
if (env('BUCKETEER_BUCKET_NAME')) {
if(env('USE_CDN')) {
Config::define('S3_UPLOADS_BUCKET', env('BUCKETEER_BUCKET_NAME') . '/' . Config::get('BLOG_SLUG') );
} else {
Config::define('S3_UPLOADS_BUCKET', env('BUCKETEER_BUCKET_NAME'));
}
Config::define('S3_UPLOADS_BUCKET', env('BUCKETEER_BUCKET_NAME'));
Config::define('S3_UPLOADS_KEY', env('BUCKETEER_AWS_ACCESS_KEY_ID'));
Config::define('S3_UPLOADS_SECRET', env('BUCKETEER_AWS_SECRET_ACCESS_KEY'));
Config::define('S3_UPLOADS_REGION', env('BUCKETEER_AWS_REGION'));
}
/**
* S3 Uploads Config custom settings
*/
Config::define('S3_UPLOADS_HTTP_CACHE_CONTROL', 30 * 24 * 60 * 60);
if (env('S3_UPLOADS_BUCKET_URL')) {
Config::define('S3_UPLOADS_BUCKET_URL', env('S3_UPLOADS_BUCKET_URL'));
}
/**
* S3 Uploads Config local dev settings
*/
if (env('S3_UPLOADS_USE_LOCAL')) {
Config::define('S3_UPLOADS_USE_LOCAL', env('S3_UPLOADS_USE_LOCAL'));
}
/**
* SendGrid settings.
*/
if (env('SENDGRID_API_KEY')) {
Config::define('SENDGRID_API_KEY', env('SENDGRID_API_KEY'));
}
/**
* Mailgun and SMTP settings.
*/
if (env('MAILGUN_API_KEY')) {
Config::define('MAILGUN_API_KEY', env('MAILGUN_API_KEY'));
Config::define('MAILGUN_DOMAIN', env('MAILGUN_DOMAIN'));
Config::define('MAILGUN_PUBLIC_KEY', env('MAILGUN_PUBLIC_KEY'));
Config::define('SMTP_DOMAIN', env('MAILGUN_DOMAIN'));
Config::define('SMTP_LOGIN', env('MAILGUN_SMTP_LOGIN'));
Config::define('SMTP_PASSWORD', env('MAILGUN_SMTP_PASSWORD'));
Config::define('SMTP_PORT', env('MAILGUN_SMTP_PORT'));
Config::define('SMTP_SERVER', env('MAILGUN_SMTP_SERVER'));
Config::define('SMTP_SECURE', env('SMTP_SECURE') ?? 'tls');
} else {
Config::define('SMTP_DOMAIN', env('SMTP_DOMAIN') ?? '');
Config::define('SMTP_LOGIN', env('SMTP_LOGIN') ?? '');
Config::define('SMTP_PASSWORD', env('SMTP_PASSWORD') ?? '');
Config::define('SMTP_PORT', env('SMTP_PORT') ?? '1025');
Config::define('SMTP_SERVER', env('SMTP_SERVER') ?? 'mailsmtp');
Config::define('SMTP_SECURE', env('SMTP_SECURE') ?? '');
}
Config::define('TZ', env('TZ') ?? 'Europe/Budapest');
date_default_timezone_set(Config::get('TZ'));
if (env('WPLANG')) {
Config::define('WPLANG', env('WPLANG'));
}
/**
* Google Analytics
*/
if (env('GA_CODE')) {
Config::define('GA_CODE', env('GA_CODE'));
} else {
Config::define('GA_CODE', '');
}
/**
* Google Tagmanager
*/
if (env('GTM_CODE')) {
Config::define('GTM_CODE', env('GTM_CODE'));
} else {
Config::define('GTM_CODE', '');
}
/**
* Cloudflare settings.
*/
if (env('CLOUDFLARE_API_KEY') && env('CLOUDFLARE_EMAIL')) {
Config::define('CLOUDFLARE_API_KEY', env('CLOUDFLARE_API_KEY'));
Config::define('CLOUDFLARE_EMAIL', env('CLOUDFLARE_EMAIL'));
}

View File

@@ -27,6 +27,7 @@ services:
- "--env=/dev/null"
environment:
HISTFILE: ${HISTFILE-/tmp/.bash_history}
XDEBUG_HOST: ${XDEBUG_HOST-host.docker.internal}
env_file: ./.env
volumes:
- ./:/app