chore: add skills to the about page
Some checks failed
continuous-integration/drone/push Build is failing
1
.gitignore
vendored
@ -9,6 +9,7 @@
|
|||||||
/themes/
|
/themes/
|
||||||
/public/
|
/public/
|
||||||
/static/
|
/static/
|
||||||
|
/assets/sprites/
|
||||||
/resources/
|
/resources/
|
||||||
|
|
||||||
# hugo
|
# hugo
|
||||||
|
@ -71,6 +71,37 @@ Sep 2010 - Jun 2013
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Skills
|
||||||
|
|
||||||
|
{{< columns >}}
|
||||||
|
|
||||||
|
## Operations
|
||||||
|
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- spellchecker-disable -->
|
||||||
|
{{% progress title=Linux value=90 icon=geeklab_tux %}}
|
||||||
|
{{% progress title=Ansible value=100 icon=geeklab_ansible %}}
|
||||||
|
{{% progress title=Terraform value=80 icon=geeklab_terraform %}}
|
||||||
|
{{% progress title=Docker value=80 icon=geeklab_docker %}}
|
||||||
|
{{% progress title=Kubernetes value=15 icon=geeklab_kubernetes %}}
|
||||||
|
<!-- spellchecker-enable -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
|
<--->
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- spellchecker-disable -->
|
||||||
|
{{% progress title=Python value=90 icon=geeklab_python %}}
|
||||||
|
{{% progress title=Golang value=70 icon=geeklab_golang %}}
|
||||||
|
<!-- spellchecker-enable -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
|
{{< /columns >}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Contact
|
## Contact
|
||||||
|
|
||||||
<!-- prettier-ignore-start -->
|
<!-- prettier-ignore-start -->
|
||||||
|
1124
package-lock.json
generated
@ -6,10 +6,12 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "run-s prep build:*",
|
"build": "run-s prep build:*",
|
||||||
"build:webpack": "webpack --mode=production",
|
"build:webpack": "webpack --mode=production",
|
||||||
"start": "run-s prep build:webpack ; npm run start:hugo",
|
"start": "run-s prep:clean prep:make svg build:webpack ; run-s start:hugo",
|
||||||
"start:hugo": "hugo server -D -F",
|
"start:hugo": "hugo server -D -F",
|
||||||
|
"svg": "run-s svg:*",
|
||||||
|
"svg:sprite": "svg-sprite -C svgsprite.config.json 'src/icons/*.svg'",
|
||||||
"prep": "run-s prep:*",
|
"prep": "run-s prep:*",
|
||||||
"prep:clean": "shx rm -rf build/ static/",
|
"prep:clean": "shx rm -rf build/ static/ assets/sprites/",
|
||||||
"prep:make": "shx mkdir -p build/"
|
"prep:make": "shx mkdir -p build/"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -26,6 +28,7 @@
|
|||||||
"prettier": "2.7.1",
|
"prettier": "2.7.1",
|
||||||
"prettier-plugin-go-template": "0.0.13",
|
"prettier-plugin-go-template": "0.0.13",
|
||||||
"shx": "0.3.4",
|
"shx": "0.3.4",
|
||||||
|
"svg-sprite": "2.0.0",
|
||||||
"webpack": "5.74.0",
|
"webpack": "5.74.0",
|
||||||
"webpack-cli": "4.10.0",
|
"webpack-cli": "4.10.0",
|
||||||
"webpack-favicons": "1.3.8"
|
"webpack-favicons": "1.3.8"
|
||||||
|
5
src/icons/ansible.svg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<!-- Generated by IcoMoon.io -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
||||||
|
<title>ansible</title>
|
||||||
|
<path d="M14.156 15.297l6.248 4.927-4.136-10.216zM16 0c-8.839 0-16 7.161-16 16s7.161 16 16 16 16-7.161 16-16-7.161-16-16-16zM23.729 23.073c-0.015 0.628-0.537 1.123-1.167 1.107-0.315 0-0.555-0.12-0.885-0.391l-8.253-6.667-2.772 6.937h-2.397l6.996-16.807c0.165-0.419 0.569-0.693 1.019-0.675 0.435-0.019 0.84 0.252 0.989 0.675l6.365 15.325c0.060 0.148 0.107 0.312 0.107 0.464-0.001 0.012-0.001 0.012-0.001 0.031z"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 579 B |
5
src/icons/docker.svg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<!-- Generated by IcoMoon.io -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
||||||
|
<title>docker</title>
|
||||||
|
<path d="M6.426 23.030c-0.912 0-1.739-0.747-1.739-1.654s0.747-1.658 1.74-1.658c0.997 0 1.747 0.747 1.747 1.656s-0.829 1.654-1.748 1.655zM27.778 14.012c-0.18-1.323-1-2.4-2.080-3.227l-0.42-0.333-0.339 0.413c-0.659 0.747-0.92 2.071-0.84 3.060 0.080 0.749 0.32 1.494 0.739 2.072-0.339 0.173-0.757 0.333-1.080 0.503-0.76 0.249-1.499 0.333-2.24 0.333h-21.389l-0.080 0.493c-0.16 1.576 0.080 3.227 0.749 4.721l0.325 0.58v0.080c2 3.311 5.561 4.801 9.438 4.801 7.46 0 13.578-3.227 16.478-10.179 1.9 0.083 3.819-0.413 4.721-2.235l0.24-0.413-0.4-0.249c-1.080-0.659-2.56-0.747-3.8-0.413zM17.099 12.689h-3.238v3.227h3.24v-3.23zM17.099 8.631h-3.238v3.227h3.24v-3.223zM17.099 4.492h-3.238v3.227h3.24v-3.227zM21.060 12.689h-3.219v3.227h3.227v-3.23zM9.061 12.689h-3.218v3.227h3.23v-3.23zM13.102 12.689h-3.2v3.227h3.219v-3.23zM5.061 12.689h-3.195v3.227h3.238v-3.23zM13.102 8.631h-3.2v3.227h3.219v-3.223zM9.041 8.631h-3.192v3.227h3.218v-3.223z"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
5
src/icons/golang.svg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<!-- Generated by IcoMoon.io -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
||||||
|
<title>golang</title>
|
||||||
|
<path d="M2.415 13.642c-0.063 0-0.077-0.031-0.047-0.079l0.328-0.42c0.031-0.047 0.108-0.077 0.171-0.077h5.562c0.061 0 0.077 0.047 0.047 0.093l-0.265 0.404c-0.031 0.048-0.109 0.093-0.156 0.093zM0.063 15.075c-0.063 0-0.079-0.031-0.047-0.077l0.327-0.421c0.031-0.047 0.109-0.077 0.172-0.077h7.104c0.063 0 0.093 0.047 0.077 0.093l-0.124 0.373c-0.016 0.063-0.077 0.093-0.14 0.093zM3.834 16.509c-0.063 0-0.079-0.047-0.047-0.093l0.217-0.389c0.031-0.047 0.093-0.093 0.156-0.093h3.116c0.063 0 0.093 0.047 0.093 0.109l-0.031 0.373c0 0.063-0.063 0.109-0.109 0.109zM20.005 13.362c-0.981 0.249-1.652 0.436-2.617 0.685-0.235 0.061-0.249 0.077-0.453-0.156-0.232-0.265-0.404-0.436-0.731-0.592-0.983-0.483-1.933-0.343-2.82 0.233-1.060 0.685-1.605 1.699-1.589 2.96 0.015 1.247 0.872 2.275 2.103 2.447 1.060 0.14 1.947-0.233 2.649-1.028 0.14-0.172 0.264-0.359 0.42-0.577h-3.006c-0.327 0-0.405-0.203-0.296-0.467 0.203-0.483 0.576-1.293 0.795-1.699 0.067-0.148 0.214-0.249 0.384-0.249 0.002 0 0.004 0 0.006 0h5.67c-0.031 0.421-0.031 0.841-0.093 1.263-0.174 1.165-0.627 2.201-1.289 3.069l0.012-0.016c-1.121 1.48-2.587 2.4-4.44 2.648-1.527 0.203-2.945-0.093-4.19-1.027-1.153-0.873-1.808-2.027-1.979-3.46-0.203-1.699 0.296-3.225 1.324-4.565 1.107-1.448 2.571-2.368 4.362-2.695 1.464-0.265 2.867-0.093 4.128 0.763 0.827 0.547 1.417 1.293 1.808 2.197 0.093 0.14 0.031 0.219-0.156 0.265zM25.162 21.978c-1.419-0.032-2.712-0.437-3.802-1.372-0.883-0.748-1.494-1.793-1.679-2.979l-0.004-0.027c-0.28-1.76 0.203-3.319 1.263-4.705 1.137-1.496 2.508-2.275 4.362-2.601 1.589-0.28 3.085-0.125 4.44 0.795 1.231 0.84 1.995 1.979 2.197 3.473 0.264 2.104-0.343 3.817-1.792 5.282-1.028 1.044-2.291 1.697-3.74 1.993-0.42 0.079-0.84 0.093-1.245 0.141zM28.869 15.683c-0.015-0.203-0.015-0.359-0.045-0.515-0.28-1.543-1.699-2.415-3.178-2.072-1.449 0.327-2.384 1.247-2.727 2.711-0.28 1.216 0.312 2.447 1.433 2.945 0.857 0.373 1.713 0.327 2.54-0.093 1.231-0.64 1.9-1.636 1.977-2.976z"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
5
src/icons/kubernetes.svg
Normal file
After Width: | Height: | Size: 5.6 KiB |
5
src/icons/python.svg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<!-- Generated by IcoMoon.io -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
||||||
|
<title>python</title>
|
||||||
|
<path d="M18.985 0.319l1.194 0.265 0.968 0.345 0.783 0.398 0.597 0.425 0.451 0.451 0.332 0.451 0.212 0.438 0.133 0.398 0.053 0.345 0.027 0.265-0.013 0.172v7.085l-0.066 0.836-0.172 0.73-0.279 0.61-0.345 0.504-0.398 0.411-0.438 0.332-0.464 0.252-0.464 0.186-0.438 0.133-0.398 0.093-0.345 0.053-0.279 0.027h-7.92l-0.915 0.066-0.783 0.186-0.663 0.292-0.544 0.358-0.438 0.425-0.358 0.464-0.265 0.478-0.199 0.491-0.133 0.464-0.093 0.425-0.053 0.358-0.027 0.279v4.060h-2.959l-0.279-0.040-0.371-0.093-0.425-0.159-0.464-0.239-0.478-0.345-0.478-0.478-0.464-0.61-0.425-0.783-0.371-0.968-0.279-1.167-0.186-1.393-0.066-1.632 0.080-1.619 0.212-1.38 0.318-1.154 0.425-0.942 0.478-0.756 0.531-0.584 0.557-0.438 0.557-0.318 0.531-0.212 0.478-0.133 0.425-0.066 0.318-0.013h0.212l0.080 0.013h10.826v-1.101h-7.748l-0.013-3.648-0.027-0.491 0.066-0.451 0.146-0.411 0.226-0.371 0.332-0.345 0.411-0.305 0.504-0.265 0.584-0.239 0.677-0.199 0.769-0.159 0.849-0.133 0.942-0.080 1.021-0.053 1.114-0.027 1.685 0.066zM10.627 2.946l-0.305 0.438-0.106 0.544 0.106 0.544 0.305 0.451 0.438 0.292 0.544 0.119 0.544-0.119 0.438-0.292 0.305-0.451 0.106-0.544-0.106-0.544-0.305-0.438-0.438-0.292-0.544-0.119-0.544 0.119zM27.993 8.186l0.371 0.080 0.425 0.159 0.464 0.239 0.478 0.358 0.478 0.464 0.464 0.623 0.425 0.783 0.371 0.968 0.279 1.167 0.186 1.38 0.066 1.632-0.080 1.632-0.212 1.38-0.318 1.141-0.425 0.942-0.478 0.756-0.531 0.597-0.557 0.438-0.557 0.318-0.531 0.212-0.478 0.119-0.425 0.066-0.318 0.027-0.212-0.013h-10.906v1.088h7.748l0.013 3.662 0.027 0.478-0.066 0.451-0.146 0.411-0.226 0.385-0.332 0.332-0.411 0.318-0.504 0.265-0.584 0.226-0.677 0.199-0.769 0.172-0.849 0.119-0.942 0.093-1.021 0.053-1.114 0.013-1.685-0.053-1.42-0.186-1.194-0.265-0.968-0.332-0.783-0.398-0.597-0.438-0.451-0.451-0.332-0.451-0.212-0.438-0.133-0.398-0.053-0.332-0.027-0.265 0.013-0.172v-7.085l0.066-0.849 0.172-0.716 0.279-0.61 0.345-0.504 0.398-0.425 0.438-0.318 0.464-0.265 0.464-0.186 0.438-0.133 0.398-0.080 0.345-0.053 0.279-0.027 0.172-0.013h7.748l0.915-0.066 0.783-0.186 0.663-0.279 0.544-0.371 0.438-0.425 0.358-0.464 0.265-0.478 0.199-0.478 0.133-0.464 0.093-0.425 0.053-0.371 0.027-0.279v-4.060h2.773l0.186 0.013zM19.409 27.092l-0.305 0.438-0.106 0.544 0.106 0.544 0.305 0.438 0.438 0.305 0.544 0.106 0.544-0.106 0.438-0.305 0.305-0.438 0.106-0.544-0.106-0.544-0.305-0.438-0.438-0.305-0.544-0.106-0.544 0.106z"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
5
src/icons/terraform.svg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<!-- Generated by IcoMoon.io -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
||||||
|
<title>terraform</title>
|
||||||
|
<path d="M11.029 5.645l9.939 5.049v10.096l-9.939-5.049zM22.057 10.694v10.096l9.943-5.049v-10.096zM0 0.011v10.096l9.939 5.049v-10.096zM11.029 26.941l9.939 5.049v-10.092l-9.939-5.049z"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 354 B |
5
src/icons/tux.svg
Normal file
After Width: | Height: | Size: 7.0 KiB |
35
svgsprite.config.json
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"shape": {
|
||||||
|
"id": {
|
||||||
|
"generator": "geeklab_%s"
|
||||||
|
},
|
||||||
|
"dimension": {
|
||||||
|
"maxWidth": 22,
|
||||||
|
"maxHeight": 22,
|
||||||
|
"attributes": false
|
||||||
|
},
|
||||||
|
"spacing": {
|
||||||
|
"padding": 5,
|
||||||
|
"box": "content"
|
||||||
|
},
|
||||||
|
"dest": "build/icons"
|
||||||
|
},
|
||||||
|
"svg": {
|
||||||
|
"xmlDeclaration": false,
|
||||||
|
"rootAttributes": {
|
||||||
|
"class": "svg-sprite"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mode": {
|
||||||
|
"defs": {
|
||||||
|
"dest": "build/sprites/",
|
||||||
|
"sprite": "geeklab.svg",
|
||||||
|
"bust": false
|
||||||
|
},
|
||||||
|
"stack": {
|
||||||
|
"dest": "build/img/",
|
||||||
|
"sprite": "geeklab-stack.svg",
|
||||||
|
"bust": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -26,6 +26,15 @@ module.exports = {
|
|||||||
{
|
{
|
||||||
from: "**/*",
|
from: "**/*",
|
||||||
context: path.resolve(__dirname, "src", "static")
|
context: path.resolve(__dirname, "src", "static")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
from: "sprites/*.svg",
|
||||||
|
to: path.resolve(__dirname, "assets"),
|
||||||
|
context: path.resolve(__dirname, "build")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
from: "img/*.svg",
|
||||||
|
context: path.resolve(__dirname, "build")
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}),
|
}),
|
||||||
|