commit a85a692e3f19766815283805fff8697a07d14179 Author: Nikurasu Date: Fri Apr 29 15:25:15 2022 +0200 First Commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..566d07c --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +/build_local/ +/cache/ +/node_modules/ +/vendor/ +/.idea/ +/.vscode/ +npm-debug.log +/package-lock.json +/composer.lock +/build_production/ +/build_staging/ diff --git a/bootstrap.php b/bootstrap.php new file mode 100644 index 0000000..5262407 --- /dev/null +++ b/bootstrap.php @@ -0,0 +1,17 @@ +beforeBuild(function (Jigsaw $jigsaw) { + * // Your code here + * }); + */ diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..c76d91c --- /dev/null +++ b/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "tightenco/jigsaw": "^1.3" + } +} diff --git a/config.php b/config.php new file mode 100644 index 0000000..d2724c8 --- /dev/null +++ b/config.php @@ -0,0 +1,34 @@ + false, + 'baseUrl' => '', + 'title' => 'Socialtree', + 'author' => 'Nikurasu', + 'design' => 'main', + 'description' => 'A simple website to display links to social media accounts', + 'collections' => [], + 'imageName' => 'NikuPB.webp', + 'links' => [ + [ + 'color' => 'youtube', + 'link' => 'https://youtube.com', + 'text' => 'Hier klicken', + 'platform' => 'youtube' + ], + [ + 'color' => 'youtube', + 'link' => 'https://twitter.com', + 'platform' => 'twitter' + ], + [ + 'link' => 'https://deviantart.com', + 'platform' => 'twitter', + 'text' => 'Ein Link' + ], + [ + 'link' => 'https://twitter.com', + 'platform' => 'mastodon' + ] + ], +]; diff --git a/config.production.php b/config.production.php new file mode 100644 index 0000000..cfb52e6 --- /dev/null +++ b/config.production.php @@ -0,0 +1,5 @@ + true, +]; diff --git a/package.json b/package.json new file mode 100644 index 0000000..6b7bba7 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "private": true, + "scripts": { + "dev": "mix", + "watch": "mix watch", + "staging": "NODE_ENV=staging mix", + "prod": "mix --production" + }, + "devDependencies": { + "laravel-mix": "^6.0.39", + "laravel-mix-jigsaw": "^1.5.0", + "postcss": "^8.2.4", + "sass": "^1.51.0", + "sass-loader": "^12.6.0" + } +} diff --git a/source/_assets/js/main.js b/source/_assets/js/main.js new file mode 100644 index 0000000..e69de29 diff --git a/source/_assets/sass/main.sass b/source/_assets/sass/main.sass new file mode 100644 index 0000000..96eec08 --- /dev/null +++ b/source/_assets/sass/main.sass @@ -0,0 +1,18 @@ +body + margin: 0 + padding: 0 + display: flex + justify-content: center + +.mainContainer + margin-top: 3rem + + h1 + text-align: center + font-family: sans-serif + font-weight: 400 + + img + height: 8rem + width: auto + border-radius: 100% diff --git a/source/_layouts/main.blade.php b/source/_layouts/main.blade.php new file mode 100644 index 0000000..b551043 --- /dev/null +++ b/source/_layouts/main.blade.php @@ -0,0 +1,15 @@ + + + + + + + + {{ $page->author . " | " . $page->title }} + + + + + @yield('body') + + diff --git a/source/assets/build/css/main.css b/source/assets/build/css/main.css new file mode 100644 index 0000000..61dbd4b --- /dev/null +++ b/source/assets/build/css/main.css @@ -0,0 +1,20 @@ +body { + margin: 0; + padding: 0; + display: flex; + justify-content: center; +} + +.mainContainer { + margin-top: 3rem; +} +.mainContainer h1 { + text-align: center; + font-family: sans-serif; + font-weight: 400; +} +.mainContainer img { + height: 8rem; + width: auto; + border-radius: 100%; +} diff --git a/source/assets/build/js/main.js b/source/assets/build/js/main.js new file mode 100644 index 0000000..ce9bee8 --- /dev/null +++ b/source/assets/build/js/main.js @@ -0,0 +1,169 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./source/_assets/js/main.js": +/*!***********************************!*\ + !*** ./source/_assets/js/main.js ***! + \***********************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "./source/_assets/sass/main.sass": +/*!***************************************!*\ + !*** ./source/_assets/sass/main.sass ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// extracted by mini-css-extract-plugin + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/chunk loaded */ +/******/ (() => { +/******/ var deferred = []; +/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { +/******/ if(chunkIds) { +/******/ priority = priority || 0; +/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; +/******/ deferred[i] = [chunkIds, fn, priority]; +/******/ return; +/******/ } +/******/ var notFulfilled = Infinity; +/******/ for (var i = 0; i < deferred.length; i++) { +/******/ var [chunkIds, fn, priority] = deferred[i]; +/******/ var fulfilled = true; +/******/ for (var j = 0; j < chunkIds.length; j++) { +/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { +/******/ chunkIds.splice(j--, 1); +/******/ } else { +/******/ fulfilled = false; +/******/ if(priority < notFulfilled) notFulfilled = priority; +/******/ } +/******/ } +/******/ if(fulfilled) { +/******/ deferred.splice(i--, 1) +/******/ var r = fn(); +/******/ if (r !== undefined) result = r; +/******/ } +/******/ } +/******/ return result; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ "/js/main": 0, +/******/ "css/main": 0 +/******/ }; +/******/ +/******/ // no chunk on demand loading +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ return __webpack_require__.O(result); +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module depends on other loaded chunks and execution need to be delayed +/******/ __webpack_require__.O(undefined, ["css/main"], () => (__webpack_require__("./source/_assets/js/main.js"))) +/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["css/main"], () => (__webpack_require__("./source/_assets/sass/main.sass"))) +/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/source/assets/build/mix-manifest.json b/source/assets/build/mix-manifest.json new file mode 100644 index 0000000..24e0039 --- /dev/null +++ b/source/assets/build/mix-manifest.json @@ -0,0 +1,4 @@ +{ + "/js/main.js": "/js/main.js?id=e9ff9bdfe6299cba8475000be0e17fd2", + "/css/main.css": "/css/main.css?id=46a431ae19ed72d43b6de8e5f9a8a912" +} diff --git a/source/assets/images/NikuPB.webp b/source/assets/images/NikuPB.webp new file mode 100644 index 0000000..6b6945d Binary files /dev/null and b/source/assets/images/NikuPB.webp differ diff --git a/source/assets/images/jigsaw.png b/source/assets/images/jigsaw.png new file mode 100644 index 0000000..e69de29 diff --git a/source/index.blade.php b/source/index.blade.php new file mode 100644 index 0000000..1344d50 --- /dev/null +++ b/source/index.blade.php @@ -0,0 +1,29 @@ +@extends('_layouts.main') + +@section('body') +
+ +

{{ $page->author }}

+
+ @foreach ($page->links as $link) + @if (isset($link['text']) && isset($link['color'])) + + @elseif (!isset($link['text']) && isset($link['color'])) + + @elseif (isset($link['text']) && !isset($link['color'])) + + @else + + @endif + @endforeach +
+
+@endsection diff --git a/webpack.mix.js b/webpack.mix.js new file mode 100644 index 0000000..42c7e8f --- /dev/null +++ b/webpack.mix.js @@ -0,0 +1,13 @@ +const mix = require('laravel-mix'); +require('laravel-mix-jigsaw'); + +mix.disableSuccessNotifications(); +mix.setPublicPath('source/assets/build'); + +mix.jigsaw() + .js('source/_assets/js/main.js', 'js') + .sass('source/_assets/sass/main.sass', 'css') + .options({ + processCssUrls: false, + }) + .version();