master
commit
25e21e9165
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"name": "Minimal Template",
|
||||
"description": "A minimal Template for the Lumino CMS",
|
||||
"image": "https://ik.imagekit.io/areya/tr:ar-5-3,w-800/krys-amon-mrdlxnP7hSg-unsplash_lHJMkV3q6.jpg",
|
||||
"version": "2.1",
|
||||
"author": {
|
||||
"name": "Areya Webservices",
|
||||
"link": "https://www.areya.de/"
|
||||
},
|
||||
"lumino-version": {"min": "2.4", "max": "2.4"}
|
||||
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
<div id="footer">
|
||||
<div class="container">
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-6 text-md-start text-center mt-3">
|
||||
Erstellt mit dem <a href="https://www.areya.de/software/cms">Areya CMS
|
||||
<svg style="width: 11px; fill: black" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M440,256H424a8,8,0,0,0-8,8V464a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V112A16,16,0,0,1,48,96H248a8,8,0,0,0,8-8V72a8,8,0,0,0-8-8H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V264A8,8,0,0,0,440,256ZM500,0,364,.34a12,12,0,0,0-12,12v10a12,12,0,0,0,12,12L454,34l.7.71L131.51,357.86a12,12,0,0,0,0,17l5.66,5.66a12,12,0,0,0,17,0L477.29,57.34l.71.7-.34,90a12,12,0,0,0,12,12h10a12,12,0,0,0,12-12L512,12A12,12,0,0,0,500,0Z"/></svg>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-12 col-sm-6 text-md-end text-center mt-3">
|
||||
<a href="{{url('/agb')}}">AGB</a>
|
||||
|
|
||||
<a href="{{url('/datenschutz')}}">Datenschutz</a>
|
||||
|
|
||||
<a href="{{url('/impressum')}}">Impressum</a>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,84 @@
|
|||
@if(App::environment('production'))
|
||||
@if (!empty(config('settings.facebook')))
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s)
|
||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
fbq('init', "{{config('settings.facebook') }}");
|
||||
fbq('track', 'PageView');
|
||||
</script>
|
||||
<noscript>
|
||||
<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id={{config('settings.facebook') }}&ev=PageView&noscript=1"/>
|
||||
</noscript>
|
||||
@endif
|
||||
|
||||
<!-- Hotjar Tracking Code -->
|
||||
@if (!empty(config('settings.hotjar')))
|
||||
<script>
|
||||
(function(h,o,t,j,a,r){
|
||||
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
|
||||
h._hjSettings={hjid:{{config('settings.hotjar')}},hjsv:6};
|
||||
a=o.getElementsByTagName('head')[0];
|
||||
r=o.createElement('script');r.async=1;
|
||||
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
|
||||
a.appendChild(r);
|
||||
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
|
||||
</script>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
@if (!empty(config('settings.analytics')))
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id={{config('settings.analytics')}}"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', "{{config('settings.analytics')}}");
|
||||
</script>
|
||||
@endif
|
||||
@if (!empty(config('settings.intercom')) && !empty(config('settings.intercom_key')))
|
||||
@if(Auth::check())
|
||||
@php ($hash_hmac = hash_hmac('sha256', Auth::user()->id, config('settings.intercom_key')))
|
||||
<script>
|
||||
window.intercomSettings = {
|
||||
app_id: "{{config('settings.intercom')}}",
|
||||
user_hash: "{{$hash_hmac}}",
|
||||
user_id: "{{Auth::user()->id}}",
|
||||
name: "{{Auth::user()->name}}",
|
||||
email: "{{Auth::user()->email}}",
|
||||
created_at: "{{strtotime(Auth::user()->created_at)}}",
|
||||
avatar: '{"type":"avatar", "image_url": "{{Auth::user()->gravatar()}}"}',
|
||||
custom_launcher_selector:'.btn-intercom'
|
||||
};
|
||||
</script>
|
||||
@elseif(isset($invitedUser) && $invitedUser->invite != null)
|
||||
@php ($hash_hmac = hash_hmac('sha256', $invitedUser->id, config('settings.intercom_key')))
|
||||
<script>
|
||||
window.intercomSettings = {
|
||||
app_id: "{{config('settings.intercom')}}",
|
||||
user_hash: "{{$hash_hmac}}",
|
||||
user_id: "{{$invitedUser->id}}",
|
||||
name: "{{$invitedUser->name}}",
|
||||
email: "{{$invitedUser->email}}",
|
||||
created_at: "{{strtotime($invitedUser->created_at)}}",
|
||||
avatar: '{"type":"avatar", "image_url": "{{$invitedUser->gravatar()}}"}',
|
||||
custom_launcher_selector:'.btn-intercom'
|
||||
};
|
||||
</script>
|
||||
@else
|
||||
<script>
|
||||
window.intercomSettings = {app_id: "{{config('settings.intercom')}}"};
|
||||
</script>
|
||||
@endif
|
||||
<script>
|
||||
(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/qffjq6ts';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);};if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();
|
||||
</script>
|
||||
@endif
|
||||
@endif
|
|
@ -0,0 +1,131 @@
|
|||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no">
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=rMBWbbb2wK">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=rMBWbbb2wK">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=rMBWbbb2wK">
|
||||
<link rel="manifest" href="/site.webmanifest?v=rMBWbbb2wK">
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg?v=rMBWbbb2wK" color="#5bbad5">
|
||||
<link rel="shortcut icon" href="/favicon.ico?v=rMBWbbb2wK">
|
||||
<meta name="msapplication-TileColor" content="#f49c35">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
@if (\Route::currentRouteName() == 'content' and isset($list))
|
||||
<title>{{removeHtmlTags(showListTitle($list, $filters))}}</title>
|
||||
<!-- Para colocar title do SEO exemplo: $listModel->seo_title -->
|
||||
<meta name="description" content="Finden Sie hier Ihren Job in der Region {{ $list->name }} und bewerben Sie sich ohne Registrierung bei Top-Arbeitgebern.">
|
||||
<meta property="og:description" content="Finden Sie hier Ihren Job in der Region {{ $list->name }} und bewerben Sie sich ohne Registrierung bei Top-Arbeitgebern.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Aktuelle Stellenangebote in {{ $list->name }}">
|
||||
<meta property="og:site_name" content="{{ config('settings.name') }}">
|
||||
<meta property="og:url" content="{{ \Request::url() }}">
|
||||
@if ($list->image)
|
||||
<meta property="og:image" content="{{ asset('uploads/lists/' . $list->image) }}">
|
||||
@else
|
||||
<meta property="og:image" content="{{ asset('uploads/' . config('settings.image')) }}">
|
||||
@endif
|
||||
|
||||
<link rel="canonical" href="{{url('/') .'/'. $list->slug }}" />
|
||||
|
||||
|
||||
|
||||
@elseif (\Route::currentRouteName() == 'author.get' and isset($author))
|
||||
<title>Offene Jobangebote bei {{ $author->name }}</title>
|
||||
<meta name="description" content="Finden Sie hier Ihren Job bei {{ $author->name }} und bewerben Sie sich direkt online">
|
||||
<meta property="og:description" content="Finden Sie hier Ihren Job bei {{ $author->name }} und bewerben Sie sich direkt online">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Offene Jobangebote bei {{ $author->name }}">
|
||||
<meta property="og:site_name" content="{{ config('settings.name') }}">
|
||||
<meta property="og:url" content="{{ \Request::url() }}">
|
||||
<meta property="og:image" content="{{ $author->gravatar() }}?s=120&d=identicon&r=PG">
|
||||
@elseif (Route::currentRouteName() == 'content' and isset($content))
|
||||
<title>{{ $content->title }}</title>
|
||||
<!-- Para colocar title do SEO exemplo: $nach->seo_title -->
|
||||
@isset($content->data_fields['stellenbeschreibung'])
|
||||
<meta name="description" content="{!! \Str::limit(strip_tags($content->data_fields['stellenbeschreibung']), 285, ' ...') !!}">
|
||||
<meta property="og:description" content="{!! \Str::limit(strip_tags($content->data_fields['stellenbeschreibung']), 285, ' ...') !!}">
|
||||
@endisset
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="article:author" content="{{ $content->user->name }}">
|
||||
<meta property="article:published_time" content="{{ $content->created_at }}">
|
||||
<meta property="og:title" content="Stellenangebot: {{ $content->title}}">
|
||||
<meta property="og:site_name" content="{{ config('settings.name') }}">
|
||||
<meta property="og:url" content="{{ \Request::url() }}">
|
||||
@if ($content->image)
|
||||
<meta property="og:image" content="{{ asset('uploads/' . $content->image) }}">
|
||||
@else
|
||||
<meta property="og:image" content="{{ $content->user->gravatar() }}">
|
||||
@endif
|
||||
@if(App::environment('production'))
|
||||
<?php
|
||||
$employmentType = "";
|
||||
if(isset($content->data_fields['beschaftigungsart'])){
|
||||
if ($content->data_fields['beschaftigungsart'] == 'Praktikum') {
|
||||
$employmentType = "INTERN";
|
||||
}
|
||||
if ($content->data_fields['beschaftigungsart'] == 'Vollzeit') {
|
||||
$employmentType = "FULL_TIME";
|
||||
}
|
||||
if ($content->data_fields['beschaftigungsart'] == 'Teilzeit') {
|
||||
$employmentType = "PART_TIME";
|
||||
}
|
||||
if ($content->data_fields['beschaftigungsart'] == 'Ausbildung') {
|
||||
$employmentType = "INTERN";
|
||||
}
|
||||
}
|
||||
function escapeJsonString($value)
|
||||
{
|
||||
$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
|
||||
$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
|
||||
$result = str_replace($escapers, $replacements, $value);
|
||||
return $result;
|
||||
}
|
||||
?>
|
||||
@isset ($content->data_fields['arbeitsort']['postalCode'])
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org/",
|
||||
"@type": "JobPosting",
|
||||
"title": "{{ $content->title }}",
|
||||
"description": "{!! escapeJsonString($content->data_fields['stellenbeschreibung']) !!}",
|
||||
"datePosted": "{{ $content->updated_at->format('Y-m-d') }}",
|
||||
"validThrough": "{{ $content->updated_at->addDays(90)->toIso8601String() }}",
|
||||
"employmentType": "{{ $employmentType }}",
|
||||
"hiringOrganization": {
|
||||
"@type": "Organization",
|
||||
"name": "{{ $content->user->name }}",
|
||||
"sameAs": "{{ isset($content->user->social_networks['site']) ? $content->user->social_networks['site'] : '' }}",
|
||||
"logo": "{{ $content->user->gravatar() }}?s=120&d=identicon&r=PG"
|
||||
},
|
||||
"jobLocation": {
|
||||
"@type": "Place",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "{{ $content->data_fields['arbeitsort']['streetAddress'] }}",
|
||||
"addressLocality": "{{ $content->data_fields['arbeitsort']['addressLocality'] }}",
|
||||
"addressRegion": "{{ $content->data_fields['arbeitsort']['addressRegion'] }}",
|
||||
"postalCode": "{{ $content->data_fields['arbeitsort']['postalCode'] }}",
|
||||
"addressCountry": "{{ $content->data_fields['arbeitsort']['addressCountry'] }}"
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endisset
|
||||
@endif
|
||||
@else
|
||||
<title>@yield('meta_title', '')</title>
|
||||
<meta name="description" content="@yield('meta_description', \Str::limit(strip_tags(config('settings.description')), 285, ' ...'))">
|
||||
<meta property="og:description" content="@yield('meta_og_description', \Str::limit(strip_tags(config('settings.description')), 285, ' ...'))">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="@yield('meta_og_title', config('settings.name'))">
|
||||
<meta property="og:site_name" content="@yield('meta_og_site_name', config('settings.name'))">
|
||||
<meta property="og:url" content="{{ \Request::url() }}">
|
||||
<meta property="og:image" content="@yield('meta_og_image', asset('uploads/' . config('settings.image')))">
|
||||
<link rel="canonical" href="{{ \Request::url() }}" />
|
||||
@endif
|
||||
|
||||
@if (!empty(config('settings.favicon_image')))
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('uploads/' . config('settings.favicon_image')) }}">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ asset('uploads/' . config('settings.favicon_image')) }}">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/' . config('settings.favicon_image')) }}">
|
||||
@endif
|
|
@ -0,0 +1,136 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<div id="container"></div>
|
||||
<script type="module">
|
||||
import * as THREE from 'https://cdn.jsdelivr.net/npm/three@0.121.1/build/three.module.js';
|
||||
import {
|
||||
OrbitControls
|
||||
} from 'https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/controls/OrbitControls.js';
|
||||
import {
|
||||
GLTFLoader
|
||||
} from 'https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/loaders/GLTFLoader.js';
|
||||
import {
|
||||
RGBELoader
|
||||
} from 'https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/loaders/RGBELoader.js';
|
||||
|
||||
let container;
|
||||
let camera, scene, renderer;
|
||||
let controls;
|
||||
const clock = new THREE.Clock();
|
||||
var envMap;
|
||||
|
||||
init();
|
||||
animate();
|
||||
|
||||
function init() {
|
||||
|
||||
container = document.getElementById('container');
|
||||
|
||||
//
|
||||
scene = new THREE.Scene();
|
||||
console.log(scene)
|
||||
|
||||
//
|
||||
renderer = new THREE.WebGLRenderer({
|
||||
alpha: true,
|
||||
antialias: true
|
||||
});
|
||||
renderer.setPixelRatio(window.devicePixelRatio);
|
||||
renderer.setSize(window.innerWidth, window.innerHeight);
|
||||
renderer.toneMapping = THREE.ACESFilmicToneMapping;
|
||||
renderer.xr.enabled = true;
|
||||
renderer.localClippingEnabled = true;
|
||||
renderer.physicallyCorrectLights = true;
|
||||
renderer.outputEncoding = THREE.sRGBEncoding;
|
||||
renderer.toneMappingExposure = 0.7;
|
||||
container.appendChild(renderer.domElement);
|
||||
|
||||
var pmremGenerator = new THREE.PMREMGenerator(renderer);
|
||||
pmremGenerator.compileEquirectangularShader();
|
||||
|
||||
camera = new THREE.PerspectiveCamera(55, window.innerWidth / window.innerHeight, 0.01, 20000);
|
||||
camera.position.set(0, 0, 10);
|
||||
|
||||
//
|
||||
new RGBELoader()
|
||||
.setDataType(THREE.UnsignedByteType)
|
||||
.setPath('../')
|
||||
.load("resources/views/template/minimal-theme/files/photo_studio_01_1k.hdr", function (texture2) {
|
||||
envMap = pmremGenerator.fromEquirectangular(texture2).texture;
|
||||
scene.environment = envMap;
|
||||
texture2.dispose();
|
||||
pmremGenerator.dispose();
|
||||
});
|
||||
|
||||
//
|
||||
const loader = new GLTFLoader();
|
||||
loader.setPath('../');
|
||||
loader.load('resources/views/template/minimal-theme/files/room5.glb', function (gltf) {
|
||||
|
||||
gltf.scene.traverse(function (child) {
|
||||
if (child.material) {
|
||||
if (child.name == "Object_6") {
|
||||
child.material.map.wrapS = THREE.RepeatWrapping;
|
||||
child.material.map.wrapT = THREE.RepeatWrapping;
|
||||
child.material.map.repeat.x = 10;
|
||||
child.material.map.repeat.y = 10;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
scene.add(gltf.scene);
|
||||
});
|
||||
|
||||
//
|
||||
const loader2 = new GLTFLoader();
|
||||
loader2.setPath('../');
|
||||
loader2.load('resources/views/template/minimal-theme/files/car.glb', function (gltf) {
|
||||
|
||||
gltf.scene.scale.set(30, 30, 30);
|
||||
gltf.scene.position.set(10, 0, 12);
|
||||
|
||||
var bb = new THREE.Box3()
|
||||
bb.setFromObject(gltf.scene);
|
||||
bb.center(controls.target);
|
||||
|
||||
scene.add(gltf.scene);
|
||||
});
|
||||
|
||||
//
|
||||
controls = new OrbitControls(camera, renderer.domElement);
|
||||
controls.maxPolarAngle = Math.PI * 0.495;
|
||||
controls.target.set(11, 5, 12);
|
||||
controls.minDistance = 0.5;
|
||||
controls.maxDistance = 14;
|
||||
controls.enableDamping = true; // an animation loop is required when either damping or auto-rotation are enabled
|
||||
controls.dampingFactor = 0.05;
|
||||
controls.update();
|
||||
|
||||
//
|
||||
window.addEventListener('resize', onWindowResize);
|
||||
}
|
||||
|
||||
function onWindowResize() {
|
||||
camera.aspect = window.innerWidth / window.innerHeight;
|
||||
camera.updateProjectionMatrix();
|
||||
renderer.setSize(window.innerWidth, window.innerHeight);
|
||||
}
|
||||
|
||||
function animate() {
|
||||
renderer.setAnimationLoop(render);
|
||||
}
|
||||
|
||||
function render(timestamp, frame) {
|
||||
renderer.render(scene, camera);
|
||||
controls.update();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,16 @@
|
|||
<!doctype html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<head>
|
||||
@include('template.'.config('settings.template').'.content.includes.meta')
|
||||
@include('template.'.config('settings.template').'.content.includes.css')
|
||||
@include('template.'.config('settings.template').'.content.includes.integrations')
|
||||
@yield('head')
|
||||
</head>
|
||||
<body>
|
||||
@yield('content')
|
||||
@include('template.'.config('settings.template').'.content.includes.footer')
|
||||
@include('template.'.config('settings.template').'.content.includes.scripts')
|
||||
@yield('scripts')
|
||||
@yield('end_scripts')
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
Impressum
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue