base structure

This commit is contained in:
Gianmarco Pettinato 2021-10-04 18:24:20 +02:00
parent b594f57468
commit a99ee9fa45
30 changed files with 823 additions and 118 deletions

13
list of cv Normal file
View File

@ -0,0 +1,13 @@
lista delle cose da mettere in cv
Laurea in scienze informatiche all'università di Padova.
Questo sito web
Greenpass scanner web; with Marco Celadin
GoCart project; with Marco Celadin
Server in casa - {server git, reverse proxy}
Tirocinio di due mesi ad Athesys.
Stampante 3d rpi
swe typescript, docker, serverless-framework - { latex multi compiler, serverless service, docker }
Pao c++ - Qontainer
Antrlr parser 1 e 2; with Mariano Sciacco
Telegram bot alternativestudio
Progetto Leonardo - ICT in Saxon Hill Academy Dean

292
package-lock.json generated
View File

@ -8,9 +8,12 @@
"name": "mycv",
"version": "0.0.1",
"dependencies": {
"json-schema-to-typescript": "^10.1.5"
"@fortawesome/fontawesome-free": "^5.15.4",
"json-schema-to-typescript": "^10.1.5",
"milligram": "^1.4.1"
},
"devDependencies": {
"@sveltejs/adapter-static": "^1.0.0-next.20",
"@sveltejs/kit": "next",
"@typescript-eslint/eslint-plugin": "^4.31.1",
"@typescript-eslint/parser": "^4.31.1",
@ -22,6 +25,7 @@
"svelte": "^3.42.6",
"svelte-check": "^2.2.6",
"svelte-preprocess": "^4.9.4",
"svelte-preprocess-markdown": "^2.7.3",
"tslib": "^2.3.1",
"typescript": "^4.4.3"
}
@ -185,6 +189,15 @@
"node": ">= 4"
}
},
"node_modules/@fortawesome/fontawesome-free": {
"version": "5.15.4",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==",
"hasInstallScript": true,
"engines": {
"node": ">=6"
}
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
@ -258,6 +271,12 @@
"node": ">= 8.0.0"
}
},
"node_modules/@sveltejs/adapter-static": {
"version": "1.0.0-next.20",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.20.tgz",
"integrity": "sha512-vutVoloX35E6QnnrNofToOWn/er/Li2yoR15NbTPZ26Gp3M6A2ckQJNMJrDbBA5XZsktNIXchIVGaADnKIJrow==",
"dev": true
},
"node_modules/@sveltejs/kit": {
"version": "1.0.0-next.179",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.179.tgz",
@ -1531,6 +1550,15 @@
"integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
"dev": true
},
"node_modules/front-matter": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/front-matter/-/front-matter-3.2.1.tgz",
"integrity": "sha512-YUhgEhbL6tG+Ok3vTGIoSDKqcr47aSDvyhEqIv8B+YuBJFsPnOiArNXTPp2yO07NL+a0L4+2jXlKlKqyVcsRRA==",
"dev": true,
"dependencies": {
"js-yaml": "^3.13.1"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@ -1689,6 +1717,20 @@
"node": ">= 4"
}
},
"node_modules/import-cwd": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
"integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"import-from": "^3.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@ -1705,6 +1747,31 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/import-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
"integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"resolve-from": "^5.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/import-from/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"optional": true,
"peer": true,
"engines": {
"node": ">=8"
}
},
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@ -1908,6 +1975,17 @@
"node": ">= 0.8.0"
}
},
"node_modules/lilconfig": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz",
"integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==",
"dev": true,
"optional": true,
"peer": true,
"engines": {
"node": ">=10"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
@ -1960,6 +2038,18 @@
"sourcemap-codec": "^1.4.4"
}
},
"node_modules/marked": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz",
"integrity": "sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw==",
"dev": true,
"bin": {
"marked": "bin/marked"
},
"engines": {
"node": ">= 8.16.2"
}
},
"node_modules/memoizee": {
"version": "0.4.15",
"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
@ -2002,6 +2092,14 @@
"node": ">=8.6"
}
},
"node_modules/milligram": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/milligram/-/milligram-1.4.1.tgz",
"integrity": "sha512-RCgh/boHhcXWOUfKJWm3RJRoUeaEguoipDg0mJ31G0tFfvcpWMUlO1Zlqqr12K4kAXfDlllaidu0x7PaL2PTFg==",
"dependencies": {
"normalize.css": "~8.0.1"
}
},
"node_modules/min-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@ -2102,6 +2200,11 @@
"node": ">=0.10.0"
}
},
"node_modules/normalize.css": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@ -2209,6 +2312,34 @@
"url": "https://opencollective.com/postcss/"
}
},
"node_modules/postcss-load-config": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz",
"integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"import-cwd": "^3.0.0",
"lilconfig": "^2.0.3",
"yaml": "^1.10.2"
},
"engines": {
"node": ">= 10"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
"peerDependencies": {
"ts-node": ">=9.0.0"
},
"peerDependenciesMeta": {
"ts-node": {
"optional": true
}
}
},
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@ -2437,6 +2568,23 @@
"rimraf": "bin.js"
}
},
"node_modules/sass": {
"version": "1.42.1",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.42.1.tgz",
"integrity": "sha512-/zvGoN8B7dspKc5mC6HlaygyCBRvnyzzgD5khiaCfglWztY99cYoiTUksVx11NlnemrcfH5CEaCpsUKoW0cQqg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0"
},
"bin": {
"sass": "sass.js"
},
"engines": {
"node": ">=8.9.0"
}
},
"node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
@ -2713,6 +2861,16 @@
}
}
},
"node_modules/svelte-preprocess-markdown": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/svelte-preprocess-markdown/-/svelte-preprocess-markdown-2.7.3.tgz",
"integrity": "sha512-KJkIDNp41r1qfdKY6dRtYnADV0anYKYlJ2k+DX5SbXRDqKxZJN8UlFiuW/c1XoT1lQ1bE5QQe9uzWJgJrQPnzw==",
"dev": true,
"dependencies": {
"front-matter": "^3.2.1",
"marked": "^1.0.0"
}
},
"node_modules/table": {
"version": "6.7.2",
"resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz",
@ -2953,6 +3111,17 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
"optional": true,
"peer": true,
"engines": {
"node": ">= 6"
}
}
},
"dependencies": {
@ -3091,6 +3260,11 @@
}
}
},
"@fortawesome/fontawesome-free": {
"version": "5.15.4",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
},
"@humanwhocodes/config-array": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
@ -3149,6 +3323,12 @@
"picomatch": "^2.2.2"
}
},
"@sveltejs/adapter-static": {
"version": "1.0.0-next.20",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.20.tgz",
"integrity": "sha512-vutVoloX35E6QnnrNofToOWn/er/Li2yoR15NbTPZ26Gp3M6A2ckQJNMJrDbBA5XZsktNIXchIVGaADnKIJrow==",
"dev": true
},
"@sveltejs/kit": {
"version": "1.0.0-next.179",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.179.tgz",
@ -4056,6 +4236,15 @@
"integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
"dev": true
},
"front-matter": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/front-matter/-/front-matter-3.2.1.tgz",
"integrity": "sha512-YUhgEhbL6tG+Ok3vTGIoSDKqcr47aSDvyhEqIv8B+YuBJFsPnOiArNXTPp2yO07NL+a0L4+2jXlKlKqyVcsRRA==",
"dev": true,
"requires": {
"js-yaml": "^3.13.1"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@ -4165,6 +4354,17 @@
"integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
"dev": true
},
"import-cwd": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
"integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"import-from": "^3.0.0"
}
},
"import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@ -4175,6 +4375,27 @@
"resolve-from": "^4.0.0"
}
},
"import-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
"integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"resolve-from": "^5.0.0"
},
"dependencies": {
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"optional": true,
"peer": true
}
}
},
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@ -4335,6 +4556,14 @@
"type-check": "~0.4.0"
}
},
"lilconfig": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz",
"integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==",
"dev": true,
"optional": true,
"peer": true
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
@ -4384,6 +4613,12 @@
"sourcemap-codec": "^1.4.4"
}
},
"marked": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz",
"integrity": "sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw==",
"dev": true
},
"memoizee": {
"version": "0.4.15",
"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
@ -4422,6 +4657,14 @@
"picomatch": "^2.2.3"
}
},
"milligram": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/milligram/-/milligram-1.4.1.tgz",
"integrity": "sha512-RCgh/boHhcXWOUfKJWm3RJRoUeaEguoipDg0mJ31G0tFfvcpWMUlO1Zlqqr12K4kAXfDlllaidu0x7PaL2PTFg==",
"requires": {
"normalize.css": "~8.0.1"
}
},
"min-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@ -4501,6 +4744,11 @@
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
"normalize.css": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@ -4577,6 +4825,19 @@
"source-map-js": "^0.6.2"
}
},
"postcss-load-config": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz",
"integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"import-cwd": "^3.0.0",
"lilconfig": "^2.0.3",
"yaml": "^1.10.2"
}
},
"prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@ -4721,6 +4982,17 @@
}
}
},
"sass": {
"version": "1.42.1",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.42.1.tgz",
"integrity": "sha512-/zvGoN8B7dspKc5mC6HlaygyCBRvnyzzgD5khiaCfglWztY99cYoiTUksVx11NlnemrcfH5CEaCpsUKoW0cQqg==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0"
}
},
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
@ -4886,6 +5158,16 @@
"strip-indent": "^3.0.0"
}
},
"svelte-preprocess-markdown": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/svelte-preprocess-markdown/-/svelte-preprocess-markdown-2.7.3.tgz",
"integrity": "sha512-KJkIDNp41r1qfdKY6dRtYnADV0anYKYlJ2k+DX5SbXRDqKxZJN8UlFiuW/c1XoT1lQ1bE5QQe9uzWJgJrQPnzw==",
"dev": true,
"requires": {
"front-matter": "^3.2.1",
"marked": "^1.0.0"
}
},
"table": {
"version": "6.7.2",
"resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz",
@ -5062,6 +5344,14 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
"optional": true,
"peer": true
}
}
}

View File

@ -2,7 +2,7 @@
"name": "mycv",
"version": "0.0.1",
"scripts": {
"update-model":"json2ts ./src/model/schema.json ./src/model/job.d.ts",
"update-model": "json2ts ./src/model/schema.json ./src/model/job.d.ts",
"dev": "svelte-kit dev",
"build": "svelte-kit build",
"preview": "svelte-kit preview",
@ -12,6 +12,7 @@
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ."
},
"devDependencies": {
"@sveltejs/adapter-static": "^1.0.0-next.20",
"@sveltejs/kit": "next",
"@typescript-eslint/eslint-plugin": "^4.31.1",
"@typescript-eslint/parser": "^4.31.1",
@ -23,11 +24,14 @@
"svelte": "^3.42.6",
"svelte-check": "^2.2.6",
"svelte-preprocess": "^4.9.4",
"svelte-preprocess-markdown": "^2.7.3",
"tslib": "^2.3.1",
"typescript": "^4.4.3"
},
"type": "module",
"dependencies": {
"json-schema-to-typescript": "^10.1.5"
"@fortawesome/fontawesome-free": "^5.15.4",
"json-schema-to-typescript": "^10.1.5",
"milligram": "^1.4.1"
}
}

View File

@ -3,6 +3,8 @@
<head>
<meta charset="utf-8" />
<link rel="icon" href="/favicon.png" />
<link rel="stylesheet" href="/main.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1" />
%svelte.head%
</head>

3
src/app.scss Normal file
View File

@ -0,0 +1,3 @@
:root {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

View File

@ -0,0 +1,60 @@
<script lang="ts">
</script>
<div class="aboutMe">
<img src="/profile_pic.jpg" alt="profile" class="profile" />
<div class="info">
<h1>Gianmarco Pettinato</h1>
<p>Back-end developer GNU/Linux user </p>
<div>
<a href="https://twitter.com/jatus_93"><i class="fab fa-twitter"></i></a>
<a href="https://www.linkedin.com/in/gianmarco-pettinato/"><i class="fab fa-linkedin-in"></i></a>
<a href="https://t.me/jatus_93"><i class="fab fa-telegram-plane"></i></a>
<a href="mailto:gianmarco@pettinato.eu"><i class="fas fa-at"></i></a>
</div>
</div>
</div>
<style lang="scss">
@import './static/colors.scss';
@import '/node_modules/@fortawesome/fontawesome-free/css/all.css';
.aboutMe{
padding: 1vh;
display: flex;
flex-direction: row;
min-width: 370px;
max-width: 550px;
width: 40vw;
height: auto;
align-items: center;
background-color: $cultured;
border-style: solid;
border-width: 0.1px;
border-color: $rich-black-fogra-29;
border-radius: 10px;
box-shadow: -12px 26px 25px -14px $rich-black-fogra-29;
-webkit-box-shadow: -12px 26px 25px -14px $rich-black-fogra-29;
-moz-box-shadow: -12px 26px 25px -14px $rich-black-fogra-29;
}
.profile{
border-radius: 50%;
height: 150px;
border: solid $rich-black-fogra-29 1px;
box-shadow: -1px 2px 2px -1px $rich-black-fogra-29;
-webkit-box-shadow: -1px 2px 2px -1px $rich-black-fogra-29;
-moz-box-shadow: -1px 2px 2px -1px $rich-black-fogra-29;
}
.info{
text-align: center;
color: $rich-black-fogra-29;
width: auto;
margin-left: 20px;
}
a,a:visited{
font-size: 1.5em;
color: $rich-black-fogra-29;
}
</style>

View File

@ -0,0 +1,12 @@
<script lang="ts">
export const status = 'test string';
</script>
<div class="header">
<!-- <p>page header</p> -->
</div>
<style lang="scss">
@import './static/colors.scss';
.header{
background-color: red;
}
</style>

View File

@ -0,0 +1,109 @@
<script lang="ts">
import data from '../model/data'
import type { Schema } from 'src/model/job';
export let currentLanguage = 'it'
import { onMount, tick } from 'svelte';
const jobs:Schema[] = data.default as Schema[];
onMount(()=>{
console.log(jobs[0]);
})
</script>
<div class="jobsContainer">
{#each jobs as job }
<div class="job container">
<h2>{job.title[currentLanguage]}</h2>
<div class="added-info">
{job.year.start} - {job.year.end}
</div>
<div class="job-content">
<div class="images-container">
{#each job.images as image }
<img src="{image}" alt="realtive to the article"/>
{/each}
</div>
<div class="text-content {job.images.length!=0 ?'left':''}">
<p>{job.content[currentLanguage]}</p>
<div class="added-info">
<div>
{#each job.collaborators as collaborator}
<a href={collaborator.ref}>{collaborator.name}{collaborator.surname}</a>
{/each}
</div>
<div>
{#each job.languages as language}
{language+" "}
{/each}
</div>
<div>
{#each job.tecnologies as tecnology}
{tecnology+" "}
{/each}
</div>
</div>
</div>
</div>
</div>
{/each}
</div>
<style lang="scss">
@import './static/colors.scss';
.container{
background-color: $cultured;
border-style: solid;
border-width: 0.1px;
border-color: $rich-black-fogra-29;
border-radius: 10px;
box-shadow: -12px 26px 25px -14px $rich-black-fogra-29;
-webkit-box-shadow: -12px 26px 25px -14px $rich-black-fogra-29;
-moz-box-shadow: -12px 26px 25px -14px $rich-black-fogra-29;
}
.jobsContainer{
width: 80%;
height: auto;
background-color: $steel-blue;
border-radius: 10px;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
padding: 30px;
max-width: 1280px;
}
.job{
background-color: $cultured;
min-height: 300px;
height: auto;
width: 90%;
margin-bottom: 20px;
text-align: center;
padding-top: 1vh;
padding-bottom: 2vh;
}
.job-content{
text-align: center;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 2vw;
}
.text-content{
height: auto;
}
.added-info{
font-size: 13px;
}
.images-container{
display: flex;
flex-direction: column;
margin-right: 30px;
}
img{
width: 30vw;
max-width: 500px;
max-height: 500px;
}
</style>

View File

@ -1,18 +1,93 @@
{
"year": {
"start": "2021-10-01",
"end": "2021-10-02"
[
{
"year": {
"start": "2021-10-01",
"end": "2021-10-02"
},
"title": {"en":"This web site","it":"Questo sito web"},
"content": {"en":"I'have created this web site as CV","it":"Ho creato questo sito web per raccogliere, in maniera semplice ed efficiente, tutti i miei lavori ed esperienze. Ho realizzato questa pagina utilizzando Typescript con il framework Svelte e le classi css invece le ho gestite a mano"},
"collaborators": [],
"languages": [
"typescript",
"JSON-schema"
],
"tecnologies": [
"Svelte",
"Nodejs"
],
"images":["https://via.placeholder.com/500"]
},
"title": {"en":"This web site","it":"Questo sito web"},
"content": {"en":"I'have created this web site as CV","it":"Ho creato questo sito web come curriculum"},
"collaborators": [],
"languages": [
"typescript",
"JSON-schema"
],
"tecnologies": [
"Svelte",
"Nodejs"
],
"immagies":[]
}
{
"year": {
"start": "2021-10-01",
"end": "2021-10-02"
},
"title": {"en":"This web site","it":"Questo sito web"},
"content": {"en":"I'have created this web site as CV","it":"Ho creato questo sito web per raccogliere, in maniera semplice ed efficiente, tutti i miei lavori ed esperienze. Ho realizzato questa pagina utilizzando Typescript con il framework Svelte e le classi css invece le ho gestite a mano"},
"collaborators": [],
"languages": [
"typescript",
"JSON-schema"
],
"tecnologies": [
"Svelte",
"Nodejs"
],
"images":["https://via.placeholder.com/500"]
},
{
"year": {
"start": "2021-10-01",
"end": "2021-10-02"
},
"title": {"en":"This web site","it":"Questo sito web"},
"content": {"en":"I'have created this web site as CV","it":"Ho creato questo sito web per raccogliere, in maniera semplice ed efficiente, tutti i miei lavori ed esperienze. Ho realizzato questa pagina utilizzando Typescript con il framework Svelte e le classi css invece le ho gestite a mano"},
"collaborators": [],
"languages": [
"typescript",
"JSON-schema"
],
"tecnologies": [
"Svelte",
"Nodejs"
],
"images":["https://via.placeholder.com/500"]
},
{
"year": {
"start": "2021-10-01",
"end": "2021-10-02"
},
"title": {"en":"This web site","it":"Questo sito web"},
"content": {"en":"I'have created this web site as CV","it":"Ho creato questo sito web per raccogliere, in maniera semplice ed efficiente, tutti i miei lavori ed esperienze. Ho realizzato questa pagina utilizzando Typescript con il framework Svelte e le classi css invece le ho gestite a mano"},
"collaborators": [],
"languages": [
"typescript",
"JSON-schema"
],
"tecnologies": [
"Svelte",
"Nodejs"
],
"images":["https://via.placeholder.com/500"]
},
{
"year": {
"start": "2021-10-01",
"end": "2021-10-02"
},
"title": {"en":"This web site","it":"Questo sito web"},
"content": {"en":"I'have created this web site as CV","it":"Ho creato questo sito web per raccogliere, in maniera semplice ed efficiente, tutti i miei lavori ed esperienze. Ho realizzato questa pagina utilizzando Typescript con il framework Svelte e le classi css invece le ho gestite a mano"},
"collaborators": [],
"languages": [
"typescript",
"JSON-schema"
],
"tecnologies": [
"Svelte",
"Nodejs"
],
"images":["https://via.placeholder.com/500"]
}
]

3
src/model/data.ts Normal file
View File

@ -0,0 +1,3 @@
import * as data from './data.json';
export default data as unknown[];

6
src/model/job.d.ts vendored
View File

@ -5,7 +5,7 @@
* and run json-schema-to-typescript to regenerate this file.
*/
export type Schema = {
export interface Schema {
year: {
start: string;
end: string;
@ -29,6 +29,6 @@ export type Schema = {
}[];
languages: string[];
tecnologies: string[];
immagies: string[];
images: string[];
[k: string]: unknown;
}[];
}

View File

@ -1,103 +1,100 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"year": {
"type": "object",
"properties": {
"year": {
"type": "object",
"properties": {
"start": {
"type": "string"
},
"end": {
"type": "string"
}
},
"required": [
"start",
"end"
]
},
"title": {
"type": "object",
"properties": {
"en": {
"type": "string"
},
"it": {
"type": "string"
}
},
"required": [
"en",
"it"
]
},
"content": {
"type": "object",
"properties": {
"en": {
"type": "string"
},
"it": {
"type": "string"
}
},
"required": [
"en",
"it"
]
},
"collaborators": {
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"name": {
"type": "string"
},
"end": {
"surname": {
"type": "string"
},
"ref": {
"type": "string"
}
},
"required": [
"start",
"end"
"name",
"surname",
"ref"
]
},
"title": {
"type": "object",
"properties": {
"en": {
"type": "string"
},
"it": {
"type": "string"
}
},
"required": [
"en",
"it"
]
},
"content": {
"type": "object",
"properties": {
"en": {
"type": "string"
},
"it": {
"type": "string"
}
},
"required": [
"en",
"it"
]
},
"collaborators": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"surname": {
"type": "string"
},
"ref": {
"type": "string"
}
},
"required": [
"name",
"surname",
"ref"
]
}
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"tecnologies": {
"type": "array",
"items": {
"type": "string"
}
},
"immagies": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"year",
"title",
"content",
"collaborators",
"languages",
"tecnologies",
"immagies"
]
}
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"tecnologies": {
"type": "array",
"items": {
"type": "string"
}
},
"images": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"year",
"title",
"content",
"collaborators",
"languages",
"tecnologies",
"images"
]
}

View File

@ -1,2 +1,51 @@
<h1>Welcome to SvelteKit</h1>
<p>Visit <a href="https://kit.svelte.dev">kit.svelte.dev</a> to read the documentation</p>
<script lang="ts">
// import Header from "$elem/header.svelte";
import AboutMe from "$elem/aboutMe.svelte";
import Jobs from "$elem/jobs.svelte";
</script>
<div class="maindiv">
<div class="about">
<AboutMe/>
</div>
<div class="jobs">
<Jobs/>
</div>
</div>
<style lang="scss">
@import "./static/colors.scss";
.maindiv {
width: 100vw;
height: 100vh;
background-color: $cultured;
margin: 0;
color: $rich-black-fogra-29;
display: flex;
align-items: center;
justify-content:flex-start;
flex-flow: column;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
// font-family: Exo2-RegularCondensed;
}
.about{
width: 100vw;
min-height: 200px;
height: 15%;
max-height: 300px;
background-color: $middle-blue-green;
display: flex;
align-items: center;
justify-content:center;
}
.jobs{
background-color: $navajo-white;
display: flex;
flex-direction: column;
align-items: center;
justify-content:flex-start;
width: 100vw;
height: 100vh;
overflow: auto;
}
</style>

BIN
static/Exo2-BlackCondensed.otf Executable file

Binary file not shown.

BIN
static/Exo2-BoldCondensed.otf Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
static/Exo2-LightCondensed.otf Executable file

Binary file not shown.

BIN
static/Exo2-MediumCondensed.otf Executable file

Binary file not shown.

BIN
static/Exo2-RegularCondensed.otf Executable file

Binary file not shown.

BIN
static/Exo2-SemiBoldCondensed.otf Executable file

Binary file not shown.

BIN
static/Exo2-ThinCondensed.otf Executable file

Binary file not shown.

8
static/colors.scss Normal file
View File

@ -0,0 +1,8 @@
/* SCSS HEX */
$cultured: #f2f2f2ff;
$rich-black-fogra-29: #011627ff;
$navajo-white: #ffddadff;
$middle-blue-green: #9ad5d3ff;
$steel-blue: #3a7ca5ff;
/* SCSS Gradient */

12
static/elements.scss Normal file
View File

@ -0,0 +1,12 @@
// @import url(./static/colors.scss);
.box-with-shadow {
background-color: $cultured;
border-style: solid;
border-width: 0.1px;
border-color: $sonic-silver ;
border-radius: 10px;
box-shadow: -12px 26px 25px -14px $sonic-silver;
-webkit-box-shadow: -12px 26px 25px -14px $sonic-silver;
-moz-box-shadow: -12px 26px 25px -14px $sonic-silver;
}

39
static/fonts.scss Normal file
View File

@ -0,0 +1,39 @@
@font-face {
font-family: Exo2-BlackCondensed;
src: url(Exo2-BlackCondensed.otf);
}
@font-face {
font-family: Exo2-BoldCondensed;
src: url(Exo2-BoldCondensed.otf);
}
@font-face {
font-family: Exo2-ExtraBoldCondensed;
src: url(Exo2-ExtraBoldCondensed.otf);
}
@font-face {
font-family: Exo2-ExtraLightCondensed;
src: url(Exo2-ExtraLightCondensed.otf);
}
@font-face {
font-family: Exo2-MediumCondensed;
src: url(Exo2-MediumCondensed.otf);
}
@font-face {
font-family: Exo2-RegularCondensed;
src: url(Exo2-RegularCondensed.otf);
}
@font-face {
font-family: Exo2-SemiBoldCondensed;
src: url(Exo2-SemiBoldCondensed.otf);
}
@font-face {
font-family: Exo2-ThinCondensed;
src: url(Exo2-ThinCondensed.otf);
}

7
static/main.css Normal file
View File

@ -0,0 +1,7 @@
body{
height: 100%;
width: 100%;
padding: 0;
margin: 0;
font-family: CortisasPro-Regular;
}

BIN
static/profile_pic.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -1,14 +1,34 @@
import preprocess from 'svelte-preprocess';
import adapter from '@sveltejs/adapter-static';
import {markdown} from 'svelte-preprocess-markdown';
import path from 'path';
/** @type {import('@sveltejs/kit').Config} */
const config = {
// Consult https://github.com/sveltejs/svelte-preprocess
// for more information about preprocessors
preprocess: preprocess(),
preprocess: [preprocess({
sass: true,
typescript: true
}), markdown()],
kit: {
// hydrate the <div id="svelte"> element in src/app.html
target: '#svelte'
target: '#svelte',
vite:{
resolve:{
alias:{
$elem: path.resolve('src/elements'),
// $model: path.resolve('src/model')
}
}
},
adapter: adapter({
// default options are shown
pages: 'build',
assets: 'build',
fallback: null
}),
}
};

View File

@ -24,7 +24,9 @@
"checkJs": true,
"paths": {
"$lib": ["src/lib"],
"$lib/*": ["src/lib/*"]
"$lib/*": ["src/lib/*"],
"$elem":["src/elements"],
// "$model":["src/model"]
}
},
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/**/*.svelte"]