[TASK] Init
This commit is contained in:
commit
0c49ea7efa
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/node_modules/
|
||||||
|
/_site/
|
57
eleventy.config.js
Normal file
57
eleventy.config.js
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import path from 'path';
|
||||||
|
import prettier from 'prettier';
|
||||||
|
import pugPlugin from "@11ty/eleventy-plugin-pug";
|
||||||
|
import sass from 'sass';
|
||||||
|
import {deleteSync} from 'del';
|
||||||
|
|
||||||
|
export default function(eleventyConfig) {
|
||||||
|
deleteSync('_site/*');
|
||||||
|
eleventyConfig.setInputDirectory('src');
|
||||||
|
eleventyConfig.addPlugin(pugPlugin);
|
||||||
|
eleventyConfig.addPassthroughCopy('src/styles/bulma.min.css', {debug: true});
|
||||||
|
eleventyConfig.addPassthroughCopy('src/images/*', {debug: true});
|
||||||
|
eleventyConfig.addPassthroughCopy('src/fonts/*', {debug: true});
|
||||||
|
eleventyConfig.addTemplateFormats("sass");
|
||||||
|
eleventyConfig.addExtension("sass", {
|
||||||
|
outputFileExtension: "css",
|
||||||
|
useLayouts: false,
|
||||||
|
compile: async function (inputContent, inputPath) {
|
||||||
|
let parsed = path.parse(inputPath);
|
||||||
|
if(parsed.name.startsWith("_")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let result = sass.compileString(inputContent, {
|
||||||
|
loadPaths: [
|
||||||
|
parsed.dir || ".",
|
||||||
|
this.config.dir.includes,
|
||||||
|
],
|
||||||
|
syntax: 'indented',
|
||||||
|
});
|
||||||
|
this.addDependencies(inputPath, result.loadedUrls);
|
||||||
|
return async (data) => {
|
||||||
|
return result.css;
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
eleventyConfig.addNunjucksAsyncShortcode('svgIcon', async (src, alt, sizes) => {
|
||||||
|
let metadata = await Image(src, {
|
||||||
|
formats: ['svg'],
|
||||||
|
dryRun: true,
|
||||||
|
});
|
||||||
|
return metadata.svg[0].buffer.toString();
|
||||||
|
});
|
||||||
|
eleventyConfig.addTransform("prettier", function (content) {
|
||||||
|
if ((this.page.outputPath || "").endsWith(".html")) {
|
||||||
|
let prettified = prettier.format(content, {
|
||||||
|
bracketSameLine: true,
|
||||||
|
printWidth: 512,
|
||||||
|
parser: "html",
|
||||||
|
tabWidth: 2
|
||||||
|
});
|
||||||
|
return prettified;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If not an HTML output, return content as-is
|
||||||
|
return content;
|
||||||
|
});
|
||||||
|
};
|
2830
package-lock.json
generated
Normal file
2830
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
21
package.json
Normal file
21
package.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"name": "portfolio",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"type": "module",
|
||||||
|
"dependencies": {
|
||||||
|
"@11ty/eleventy": "^3.1.2",
|
||||||
|
"@11ty/eleventy-plugin-pug": "^1.0.0",
|
||||||
|
"bulma": "^1.0.4",
|
||||||
|
"del": "^8.0.0",
|
||||||
|
"prettier": "^3.6.2",
|
||||||
|
"sass": "^1.91.0"
|
||||||
|
}
|
||||||
|
}
|
BIN
src/fonts/source-code-pro-v30-latin-700.woff2
Normal file
BIN
src/fonts/source-code-pro-v30-latin-700.woff2
Normal file
Binary file not shown.
BIN
src/fonts/source-code-pro-v30-latin-regular.woff2
Normal file
BIN
src/fonts/source-code-pro-v30-latin-regular.woff2
Normal file
Binary file not shown.
BIN
src/fonts/source-sans-3-v18-latin-700.woff2
Normal file
BIN
src/fonts/source-sans-3-v18-latin-700.woff2
Normal file
Binary file not shown.
BIN
src/fonts/source-sans-3-v18-latin-regular.woff2
Normal file
BIN
src/fonts/source-sans-3-v18-latin-regular.woff2
Normal file
Binary file not shown.
1
src/images/nav-arrow-down.svg
Normal file
1
src/images/nav-arrow-down.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg width="24px" height="24px" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" color="#000000"><path d="M6 9L12 15L18 9" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>
|
After Width: | Height: | Size: 241 B |
1
src/images/open-new-window.svg
Normal file
1
src/images/open-new-window.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg width="24px" height="24px" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg" color="#000000"><path d="M21 3L15 3M21 3L12 12M21 3V9" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M21 13V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3H11" stroke-width="1.5" stroke-linecap="round"></path></svg>
|
After Width: | Height: | Size: 408 B |
BIN
src/images/portfolio.png
Normal file
BIN
src/images/portfolio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 724 KiB |
BIN
src/images/sandeep-s1nDVsVgDVQ-unsplash.jpg
Normal file
BIN
src/images/sandeep-s1nDVsVgDVQ-unsplash.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 459 KiB |
97
src/index.pug
Normal file
97
src/index.pug
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
doctype html
|
||||||
|
html(lang = 'de')
|
||||||
|
head
|
||||||
|
title Portfolio
|
||||||
|
meta(charset = 'utf-8')
|
||||||
|
meta(name = 'viewport', content = 'width=device-width, initial-scale=1')
|
||||||
|
link(rel = 'stylesheet', href = 'styles/bulma.min.css')
|
||||||
|
link(rel = 'stylesheet', href = 'styles/screen.css')
|
||||||
|
body
|
||||||
|
//-https://iconoir.com/
|
||||||
|
section.hero.is-fullheight
|
||||||
|
.hero-body
|
||||||
|
div.container
|
||||||
|
.hero-text
|
||||||
|
h1.title
|
||||||
|
| Vorname Nachname
|
||||||
|
p.subtitle
|
||||||
|
| Titel
|
||||||
|
.hero-foot
|
||||||
|
div.container
|
||||||
|
a(href = '#content')
|
||||||
|
.svg-icon.svg-arrow-down
|
||||||
|
include images/nav-arrow-down.svg
|
||||||
|
section.section#content
|
||||||
|
.container
|
||||||
|
.columns
|
||||||
|
.column.content.is-5
|
||||||
|
h2 Projekt 1
|
||||||
|
p.
|
||||||
|
Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.
|
||||||
|
Quisque in ultrices lectus. Nulla at urna diam. Proin sodales
|
||||||
|
lobortis libero eu facilisis. In sem urna, aliquam vel consectetur
|
||||||
|
sit amet, pulvinar sit amet lectus. Quisque molestie dapibus
|
||||||
|
libero non pellentesque.
|
||||||
|
ul
|
||||||
|
li Vivamus quam arcu, dictum quis hendrerit eget
|
||||||
|
li Lobortis eu felis. Nulla felis velit
|
||||||
|
li Ornare ac porttitor ut, rhoncus eu ipsum.
|
||||||
|
div
|
||||||
|
a.button(href = 'https://www.example.com')
|
||||||
|
span Zur Website
|
||||||
|
span.icon
|
||||||
|
include images/open-new-window.svg
|
||||||
|
.column.is-7
|
||||||
|
figure.image
|
||||||
|
img.image-screenshot(src = 'images/portfolio.png')
|
||||||
|
section.section
|
||||||
|
.container
|
||||||
|
.columns
|
||||||
|
.column.content.is-5
|
||||||
|
h2 Projekt 2
|
||||||
|
p.
|
||||||
|
Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.
|
||||||
|
Quisque in ultrices lectus. Nulla at urna diam. Proin sodales
|
||||||
|
lobortis libero eu facilisis. In sem urna, aliquam vel consectetur
|
||||||
|
sit amet, pulvinar sit amet lectus. Quisque molestie dapibus
|
||||||
|
libero non pellentesque.
|
||||||
|
ul
|
||||||
|
li Vivamus quam arcu, dictum quis hendrerit eget
|
||||||
|
li Lobortis eu felis. Nulla felis velit
|
||||||
|
li Ornare ac porttitor ut, rhoncus eu ipsum.
|
||||||
|
div
|
||||||
|
a.button(href = 'https://www.example.com')
|
||||||
|
span Zur Website
|
||||||
|
span.icon
|
||||||
|
include images/open-new-window.svg
|
||||||
|
.column.is-7
|
||||||
|
figure.image
|
||||||
|
img.image-screenshot(src = 'images/portfolio.png')
|
||||||
|
section.section
|
||||||
|
.container
|
||||||
|
.columns
|
||||||
|
.column.content.is-5
|
||||||
|
h2 Projekt 3
|
||||||
|
p.
|
||||||
|
Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.
|
||||||
|
Quisque in ultrices lectus. Nulla at urna diam. Proin sodales
|
||||||
|
lobortis libero eu facilisis. In sem urna, aliquam vel consectetur
|
||||||
|
sit amet, pulvinar sit amet lectus. Quisque molestie dapibus
|
||||||
|
libero non pellentesque.
|
||||||
|
ul
|
||||||
|
li Vivamus quam arcu, dictum quis hendrerit eget
|
||||||
|
li Lobortis eu felis. Nulla felis velit
|
||||||
|
li Ornare ac porttitor ut, rhoncus eu ipsum.
|
||||||
|
div
|
||||||
|
a.button(href = 'https://www.example.com')
|
||||||
|
span Zur Website
|
||||||
|
span.icon
|
||||||
|
include images/open-new-window.svg
|
||||||
|
.column.is-7
|
||||||
|
figure.image
|
||||||
|
img.image-screenshot(src = 'images/portfolio.png')
|
||||||
|
footer.footer
|
||||||
|
.container.content
|
||||||
|
p Hintergrundbild von XY über unsplash.com
|
||||||
|
p
|
||||||
|
| https://unsplash.com/de/fotos/eine-nahaufnahme-einer-computertastatur-mit-verschwommenem-hintergrund-s1nDVsVgDVQ
|
35
src/styles/_fonts.css
Normal file
35
src/styles/_fonts.css
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/* source-sans-3-regular - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
|
||||||
|
font-family: 'Source Sans 3';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: url('../fonts/source-sans-3-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* source-sans-3-700 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
|
||||||
|
font-family: 'Source Sans 3';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: url('../fonts/source-sans-3-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* source-code-pro-regular - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
|
||||||
|
font-family: 'Source Code Pro';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: url('../fonts/source-code-pro-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* source-code-pro-700 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
|
||||||
|
font-family: 'Source Code Pro';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: url('../fonts/source-code-pro-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
|
||||||
|
}
|
3
src/styles/bulma.min.css
vendored
Normal file
3
src/styles/bulma.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
61
src/styles/screen.sass
Normal file
61
src/styles/screen.sass
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
@use 'fonts.css'
|
||||||
|
:root
|
||||||
|
--bulma-radius: 0
|
||||||
|
html
|
||||||
|
scroll-behavior: smooth
|
||||||
|
body
|
||||||
|
font-family: 'Source Sans 3', sans-serif
|
||||||
|
.hero
|
||||||
|
background-image: url("../images/sandeep-s1nDVsVgDVQ-unsplash.jpg")
|
||||||
|
background-size: cover
|
||||||
|
background-position: center
|
||||||
|
.hero-text
|
||||||
|
font-size: 200%
|
||||||
|
background-color: rgba(31, 34, 41, 0.5)
|
||||||
|
padding: 1.5rem
|
||||||
|
margin: 0 -1.5rem
|
||||||
|
p,
|
||||||
|
h1
|
||||||
|
color: #fff
|
||||||
|
@media screen and (min-width:1024px)
|
||||||
|
padding: 48px
|
||||||
|
margin: 0 -48px
|
||||||
|
img
|
||||||
|
&.image-screenshot
|
||||||
|
border: 1px solid #999
|
||||||
|
|
||||||
|
.svg-icon.svg-arrow-down
|
||||||
|
width: 80px
|
||||||
|
display: block
|
||||||
|
margin: 0 auto
|
||||||
|
svg
|
||||||
|
width: 80px
|
||||||
|
stroke: #fff
|
||||||
|
body
|
||||||
|
position: static
|
||||||
|
h1, h2
|
||||||
|
font-family: 'Source Code Pro', monospace
|
||||||
|
.hero-body
|
||||||
|
@media screen and (min-width:1024px)
|
||||||
|
h1
|
||||||
|
font-size: 200%
|
||||||
|
.subtitle
|
||||||
|
font-size: 120%
|
||||||
|
h2
|
||||||
|
border-bottom: 1px solid var(--bulma-body-color)
|
||||||
|
padding-bottom: .5714em
|
||||||
|
.button
|
||||||
|
border: 0
|
||||||
|
border-bottom: 1px solid var(--bulma-body-color)
|
||||||
|
box-shadow: none
|
||||||
|
span + span
|
||||||
|
margin-left: 10px
|
||||||
|
.icon
|
||||||
|
display: inline-block
|
||||||
|
stroke: var(--bulma-body-color)
|
||||||
|
position: relative
|
||||||
|
bottom: 2px
|
||||||
|
&,
|
||||||
|
svg
|
||||||
|
width: 16px
|
||||||
|
height: 16px
|
Loading…
x
Reference in New Issue
Block a user