diff --git a/README.md b/README.md index bc2ab4a..4dfc163 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # LinkMeUp -Welcome to the LinkMeUp project! This is a sleek, lightweight single-page application designed to consolidate an individual's social media and internet presence into one central location. Built with simplicity and performance in mind, the project uses minimalistic yet powerful web technologies. +This is a sleek, lightweight single-page application designed to consolidate an individual's social media and internet presence into one central location. Built with simplicity and performance in mind, the project uses minimalistic yet powerful web technologies. ## Features diff --git a/build.js b/build.js index c0b8ae9..076e94d 100644 --- a/build.js +++ b/build.js @@ -44,7 +44,7 @@ function inlineCSS(html, css) { } function copyImages(srcDir, destDir) { - if (!fs.existsSync(destDir)){ + if (!fs.existsSync(destDir)) { fs.mkdirSync(destDir, { recursive: true }); } @@ -71,6 +71,7 @@ function build() { const imagesDestPath = path.join(distPath, 'images'); const faviconSrcPath = path.join(__dirname, 'public', 'favicons'); const faviconDestPath = path.join(distPath); + const headTemplatePath = path.join(__dirname, 'src', 'templates', 'head-template.hbs'); const headerTemplatePath = path.join(__dirname, 'src', 'templates', 'header-template.hbs'); const linksTemplatePath = path.join(__dirname, 'src', 'templates', 'social-links-template.hbs'); const footerTemplatePath = path.join(__dirname, 'src', 'templates', 'footer-template.hbs'); @@ -87,6 +88,8 @@ function build() { // Pass the current year to the Handlebars data data.currentYear = currentYear; + const activeTheme = data.theme; + // Output titles from data.json data.socialLinks.forEach(link => console.log(link.name)); @@ -94,16 +97,17 @@ function build() { css = minimizeCSS(css); // Compile HTML with Handlebars + const headHtml = compileTemplate(headTemplatePath, data); const headerHtml = compileTemplate(headerTemplatePath, data); const socialLinksHtml = compileTemplate(linksTemplatePath, data); const footerHtml = compileTemplate(footerTemplatePath, data); // Replace placeholder in base HTML with compiled HTML let finalHtml = baseHtml - .replace('', headerHtml) - .replace('', socialLinksHtml) - .replace('', footerHtml); - + .replace('', headHtml) + .replace('', headerHtml) + .replace('', socialLinksHtml) + .replace('', footerHtml); finalHtml = inlineCSS(finalHtml, css); finalHtml = minimizeHTML(finalHtml); diff --git a/public/images/xing.svg b/public/images/xing.svg new file mode 100644 index 0000000..6bf270e --- /dev/null +++ b/public/images/xing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/index.html b/public/index.html index cabdbc2..d501e26 100644 --- a/public/index.html +++ b/public/index.html @@ -1,20 +1,13 @@ - - - - - LinkMeUp - - +
-
+
-
+
- \ No newline at end of file diff --git a/public/styles/main.css b/public/styles/main.css index 3f358fe..0b814cf 100644 --- a/public/styles/main.css +++ b/public/styles/main.css @@ -10,12 +10,22 @@ html { } body { - margin: 2rem; + margin: 2rem 0; + width: 100%; } header { text-align: center; - padding: 1rem; + padding: 2rem 0; + max-width: 100%; +} + +header h1 { + font-size: 4rem; +} + +header h2 { + font-size: 2rem; } footer { @@ -26,9 +36,15 @@ footer { padding: 1rem; } +footer a { + text-decoration: none; +} + main { + padding: 2.5rem; margin: 1.7rem auto; - max-width: 1000px; + max-width: 100%; + max-width: 1100px; text-align: center; align-items: center; align-content: center; @@ -56,7 +72,7 @@ main hr { } .link:hover { - transform: scale(1.05); + transform: scale(1.15); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } @@ -82,4 +98,24 @@ main hr { .link h2 { font-size: 24px; +} + +@media (max-width: 700px) { + header { + padding: 1rem 0; + } + main { + padding: 0.3rem 1.7rem; + margin: 0.7rem auto; + } + main hr { + margin: 1.7rem auto; + } + footer { + text-align: center; + position: relative; + bottom: 0; + width: 100%; + padding: 1rem; + } } \ No newline at end of file diff --git a/src/data.json b/src/data.json index 87c55ff..1db592c 100644 --- a/src/data.json +++ b/src/data.json @@ -1,4 +1,11 @@ { + "head": { + "title": "LinkMeUp WieErWill", + "description": "Get all weblinks of WieErWill.", + "keywords": "social media links, software architecture, web development, single-page application, web performance", + "url": "https://link.wieerwill.de/", + "logo": "favicons/android-chrome-192x192.png" + }, "header": { "title": "WieErWill", "subtitle": "Programmed for Adventure, Coded for Curiosity" @@ -31,6 +38,12 @@ "icon": "linkedin.svg", "backgroundColor": "#39CCCC" }, + { + "name": "Xing", + "url": "https://xing.de/profile/Robert_Jeutter", + "icon": "xing.svg", + "backgroundColor": "#39CCCC" + }, { "name": "[Matrix]", "url": "https://matrix.to/#/@wieerwill:matrix.org", @@ -56,4 +69,4 @@ "backgroundColor": "#FF4500" } ] -} +} \ No newline at end of file diff --git a/src/templates/footer-template.hbs b/src/templates/footer-template.hbs index 741a427..d816e91 100644 --- a/src/templates/footer-template.hbs +++ b/src/templates/footer-template.hbs @@ -1,3 +1,3 @@ + \ No newline at end of file diff --git a/src/templates/head-template.hbs b/src/templates/head-template.hbs new file mode 100644 index 0000000..00c40c1 --- /dev/null +++ b/src/templates/head-template.hbs @@ -0,0 +1,26 @@ + + + + + + + + + LinkMeUp WieErWill + + + + + + + \ No newline at end of file diff --git a/src/templates/header-template.hbs b/src/templates/header-template.hbs index 26682f6..fabbbc7 100644 --- a/src/templates/header-template.hbs +++ b/src/templates/header-template.hbs @@ -1,6 +1,6 @@

{{header.title}}

{{#if header.subtitle}} -

{{header.subtitle}}

+

{{header.subtitle}}

{{/if}}