umbau auf gulp-core

This commit is contained in:
2025-06-03 21:38:40 +02:00
parent a2e298fbc6
commit e406df36a8
12 changed files with 104 additions and 5025 deletions

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "core"]
path = core
url = git@github.com:davidt-de/patrick-gulp-core.git

View File

@@ -1,19 +1,19 @@
# hochzeit.davidt.de
### Setup
Dies ist das **source**-Verzeichnis.
Der Build-Prozess erfolgt mit dem modularen Gulp-Setup [`patrick-gulp-core`](https://github.com/davidt-de/patrick-gulp-core) (eigenes Repository).
Das ist *nur* der **source** Ordner. [CodeKit App](https://codekitapp.com) als Build-tool/Processor.
Die HTML-Dateien basieren auf `.kit`-Templates, die mit [gulp-kit-compile](https://www.npmjs.com/package/gulp-kit-compile) verarbeitet werden.
Variablen, Includes und einfache Logik erleichtern den Aufbau wiederverwendbarer Komponenten.
### Template/Design
html5/sass template basierend auf „Standout“ von [Pixelarity](https://pixelarity.com).
HTML5/SASS-Template auf Basis von **„Standout“** von [Pixelarity](https://pixelarity.com).
### Libraries
- [Composer](https://getcomposer.org) autoload liegt im Verzeichnis `domains` auf dem Webspace. Relativ von hochzeit.davidt.de heißt das: `require '../vendor/autoload.php'`
- [PHP Mailer](https://github.com/PHPMailer/PHPMailer/)
- jQuery (v3.5.1 in `assets/js`)
- [fontawesome icons](https://fontawesome.com/how-to-use/on-the-web/using-with/sass) (neue/weitere Icons in der Datei [_icons-selected.scss](/assets/sass/_icons-selected.scss) hinzufügen, die webfonts werden über npm direkt in den `build/assets/webfonts` Ordner geladen)
- [modernizr](https://modernizr.com) .webp Erkennung (`js/modernizr-webp.js`) _Codekit erstellt aus jpg und png automatisch im build-prozess webp._
- jQuery (v3.6.1, eingebunden in `assets/js`)
- [FontAwesome Icons](https://fontawesome.com/how-to-use/on-the-web/using-with/sass)
Neue bzw. ausgewählte Icons kannst du in der Datei
[`_icons-selected.scss`](/source/assets/sass/_icons-selected.scss) hinzufügen.
Die Webfonts werden automatisch über npm nach `build/assets/webfonts/` kopiert.
### Links
- [htaccess remove extensions](https://tecadmin.net/remove-file-extension-from-url-using-htaccess/)# hochzeit-live

1
core Submodule

Submodule core added at a4c8b4cd68

6
gulpfile.js Executable file
View File

@@ -0,0 +1,6 @@
const core = require('./core');
exports.default = core.dev; // Oder core.build, je nachdem was du starten willst
exports.build = core.build;
exports.dev = core.dev;
exports.deploy = core.deploy;

1
node_modules Symbolic link
View File

@@ -0,0 +1 @@
core/node_modules

View File

@@ -1,15 +1,12 @@
{
"dependencies": {
"@fortawesome/fontawesome-free": "^6.2.1",
"jquery": "^3.6.3"
"name": "davidt.de",
"version": "1.0.0",
"description": "",
"scripts": {
"build": "npx gulp build",
"dev": "npx gulp dev",
"deploy": "npx gulp deploy"
},
"repository": {},
"devDependencies": {},
"license": "UNLICENSED",
"description": "CodeKit created this starter package.json file. You should customize it appropriately.",
"scripts": {},
"optionalDependencies": {},
"author": "",
"name": "codekit-project",
"version": "1.0.0"
}
"license": "UNLICENSED"
}

73
project.config.js Normal file
View File

@@ -0,0 +1,73 @@
module.exports = {
paths: {
source: 'source',
build: 'build',
styles: {
source: 'source/assets/sass/**/*.scss',
entry: [
'source/assets/sass/main.scss' ],
dest: 'build/assets/css'
},
scripts: {
source: 'source/assets/js/**/*.js',
dest: 'build/assets/js'
},
images: {
source: ['source/images/**/**/*.{jpg,jpeg,png}', 'source/assets/css/images/**/*.{jpg,jpeg,png}'],
other: ['source/images/**/**/*.{gif,svg,webp}', 'source/assets/css/images/**/*.{gif,svg,webp}'],
dest: 'build/images'
},
markup: {
source: ['source/**/*.{kit,html,php}'],
entry: ['source/**/*.{kit,html,php}'],
exclude: ['source/elemts.html', 'source/generic.html', 'source/portfolio.html'], // oder einzelne Dateien
dest: 'build'
},
static: {
source: [
'source/assets/**/*',
'!source/assets/sass/**/*',
'!source/assets/css/**/*.css',
'!source/assets/css/images/**/*',
'source/images/kimpatrick_wedding_musicclip.mp4',
'source/robots.txt' // 👈 hier hinzufügen
],
dest: 'build/assets'
},
vendor: {
fontawesome: 'node_modules/@fortawesome/fontawesome-free/webfonts/*',
jquery: 'node_modules/jquery/dist/jquery.min.js',
scrollex: 'node_modules/jquery.scrollex/jquery.scrollex.min.js',
scrolly: 'node_modules/jquery.scrolly/jquery.scrolly.js',
destFonts: 'build/assets/webfonts',
destJs: 'build/assets/js'
},
favicons: {
source: ['source/*.{png,ico,svg,webmanifest}'],
dest: 'build'
}
},
extensionMapping: {
'kontakt': '.php',
//'index': '.php',
'400': '.shtml',
'401': '.shtml',
'403': '.shtml',
'404': '.shtml'
},
serve: {
proxy: 'http://hochzeit.davidt.localhost',
port: 3000,
open: true
},
deploy: {
host: 'davidt-hochzeit@152.53.119.146',
path: '/home/davidt-hochzeit/htdocs/hochzeit.davidt.de',
port: 2222,
excludes: ['.DS_Store', '.git']
}
};

View File

@@ -12,7 +12,7 @@ made with <span class="icon solid fa-heart"></span> in Potsdam
<script src="assets/js/modernizr-webp.js"></script>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrollex.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/jquery.scrolly.js"></script>
<script src="assets/js/jquery.selectorr.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +0,0 @@
/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */
!function(t){function e(t,e,n){return"string"==typeof t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var n=t(window),i=1,o={};n.on("scroll",function(){var e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var s=t(this);if(0==this.length)return s;if(this.length>1){for(var r=0;r<this.length;r++)t(this[r]).scrollex(l);return s}if(s.data("_scrollexId"))return s;var a,u,h,c,p;switch(a=i++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},l),u.mode){case"top":h=function(t,e,n,i,o){return t>=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>=e};break;case"top-only":h=function(t,e,n,i,o){return i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return n>=i&&o>=t}}return c=function(t){var i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var e=t(this);if(0==this.length)return e;if(this.length>1){for(var n=0;n<this.length;n++)t(this[n]).unscrollex();return e}var i,l;return(i=e.data("_scrollexId"))?(l=o[i],window.clearTimeout(l.timeoutId),delete o[i],e.removeData("_scrollexId"),l.options.terminate&&l.options.terminate.apply(this),e):e}}(jQuery);

View File

@@ -1,2 +0,0 @@
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var o,a,f,l,c=e(this);if(this[t]==0)return c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);