add content and change project layout
							
								
								
									
										9
									
								
								.pugrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,9 @@ | |||||||
|  | module.exports = { | ||||||
|  |   "pretty": true, | ||||||
|  |   "basedir": ".", | ||||||
|  |   // "debug": true, | ||||||
|  |   // "compileDebug": true, | ||||||
|  |   "locals": { | ||||||
|  |     "require": require | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										37
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,37 @@ | |||||||
|  | # intro | ||||||
|  |  | ||||||
|  | this is a manpage-like html template, but tbh it's not really a manpage | ||||||
|  |  | ||||||
|  | created with [pug][pug] and [sass][sass], build with [parcel][parcel]. | ||||||
|  |  | ||||||
|  | ## setup | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  |   # install dependencies | ||||||
|  | $ yarn install | ||||||
|  |   # build the output | ||||||
|  | $ yarn build | ||||||
|  |   # build results are here | ||||||
|  | $ ls dist | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## contents | ||||||
|  |  | ||||||
|  | `/index.pug`: the starting point of the template. | ||||||
|  |  | ||||||
|  | `/vars.pug`: sample variables. copy it to `/vars.local.pug` and edit it. | ||||||
|  |  | ||||||
|  | `/includes`: template parts are located here. | ||||||
|  |  | ||||||
|  | - `include /somefile` from anywhere will look for `somefile` in project root | ||||||
|  | - `include somefile` will be relative to current pug file. | ||||||
|  |  | ||||||
|  | `/assets`: css/sass, scripts, images etc are located here. | ||||||
|  |  | ||||||
|  | `/assets/styles/index.sass`: the starting point of the sass template. | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | [pug]: https://pugjs.org | ||||||
|  | [sass]: https://sass-lang.com | ||||||
|  | [parcel]: https://parceljs.org | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/images/android-chrome-192x192.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/images/android-chrome-512x512.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/images/apple-touch-icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/images/favicon-16x16.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 390 B | 
							
								
								
									
										
											BIN
										
									
								
								assets/images/favicon-32x32.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 781 B | 
							
								
								
									
										
											BIN
										
									
								
								assets/images/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/images/opengraph.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 23 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/media/spell.mp3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								assets/media/spell.ogg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								assets/media/spell.wav
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										51
									
								
								assets/pubkey.asc
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,51 @@ | |||||||
|  | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||||||
|  |  | ||||||
|  | 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 | ||||||
|  | =98Kc | ||||||
|  | -----END PGP PUBLIC KEY BLOCK----- | ||||||
							
								
								
									
										1
									
								
								assets/site.webmanifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | |||||||
|  | {"name":"","short_name":"","icons":[{"src":"./images/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"./images/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} | ||||||
							
								
								
									
										50
									
								
								assets/styles/content.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,50 @@ | |||||||
|  | @import 'variables' | ||||||
|  |  | ||||||
|  | * | ||||||
|  |   scroll-behavior: smooth | ||||||
|  |  | ||||||
|  | a | ||||||
|  |   cursor: pointer | ||||||
|  |  | ||||||
|  | @media print | ||||||
|  |   a.print:after | ||||||
|  |     content: " (" attr(href) ") " | ||||||
|  |     font-size: 50% | ||||||
|  |  | ||||||
|  | .synopsis | ||||||
|  |   .desc > p | ||||||
|  |     // make command line wraps keep indent | ||||||
|  |     margin: 0 | ||||||
|  |     margin-left: 4em | ||||||
|  |     text-indent: -4em | ||||||
|  |     @media (max-width: 600px) | ||||||
|  |       margin-left: 2em | ||||||
|  |       text-indent: -2em | ||||||
|  |  | ||||||
|  | .options, .history | ||||||
|  |   .desc > ul > li | ||||||
|  |     list-style: none | ||||||
|  |   .desc  li > .opt_desc | ||||||
|  |     margin-left: 2em | ||||||
|  |     @media (max-width: 600px) | ||||||
|  |       margin-left: 1em | ||||||
|  |     p | ||||||
|  |       margin-top: 0 | ||||||
|  |  | ||||||
|  | .history | ||||||
|  |   // .job | ||||||
|  |   //   font-weight: bold | ||||||
|  |   // .org | ||||||
|  |   //   font-style: italic | ||||||
|  |   .period | ||||||
|  |     float: right | ||||||
|  |     font-style: italic | ||||||
|  |  | ||||||
|  | #phone-hint | ||||||
|  |   visibility: hidden | ||||||
|  |   opacity: 0 | ||||||
|  | #phone:hover | ||||||
|  |   #phone-hint | ||||||
|  |     opacity: inherit | ||||||
|  |     visibility: inherit | ||||||
|  |     transition: all 1s ease-out | ||||||
							
								
								
									
										10
									
								
								assets/styles/index.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,10 @@ | |||||||
|  | @import 'variables' | ||||||
|  | @import 'npm:@csstools/normalize.css/normalize.css' | ||||||
|  |  | ||||||
|  | * | ||||||
|  |   box-sizing: border-box | ||||||
|  |  | ||||||
|  | @import 'structure' | ||||||
|  | @import 'content' | ||||||
|  | @import 'typography' | ||||||
|  | @import 'scheme' | ||||||
							
								
								
									
										89
									
								
								assets/styles/scheme.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,89 @@ | |||||||
|  |  | ||||||
|  | $bg: #444444 | ||||||
|  | $mg: #222222 | ||||||
|  | $fg: #C8C8C8 | ||||||
|  |  | ||||||
|  | $dim: #A4A4A4 | ||||||
|  | $bright: #D8D8D8 | ||||||
|  | $dimmer: #888888 | ||||||
|  | $brighter: #FBFBFB | ||||||
|  |  | ||||||
|  | $accent1: #98e2ff | ||||||
|  | $accent2: #ffe655 | ||||||
|  | $accent3: #82cdff | ||||||
|  | $accent4: #69f07b | ||||||
|  |  | ||||||
|  | body | ||||||
|  |   background-color: $bg | ||||||
|  |   color: $fg | ||||||
|  | .container | ||||||
|  |   background-color: $bg | ||||||
|  | .content | ||||||
|  |   background-color: $mg | ||||||
|  |   h1, h2, h3, h4, h5, h6 | ||||||
|  |     color: $brighter | ||||||
|  | .main | ||||||
|  |   .target:target | ||||||
|  |     animation: 2s attention ease-out | ||||||
|  |  | ||||||
|  |   .period | ||||||
|  |     color: $dimmer | ||||||
|  | header, footer | ||||||
|  |   color: $dimmer | ||||||
|  |  | ||||||
|  | .dark | ||||||
|  |   color: $bg | ||||||
|  | .dim | ||||||
|  |   color: $dim | ||||||
|  | .dimmer | ||||||
|  |   color: $dimmer | ||||||
|  | .bright | ||||||
|  |   color: $bright | ||||||
|  | .brighter | ||||||
|  |   color: $brighter | ||||||
|  |  | ||||||
|  | .main | ||||||
|  |   b | ||||||
|  |     color: $accent4 | ||||||
|  |   em | ||||||
|  |     color: $accent1 | ||||||
|  |   h1 | ||||||
|  |     color: $fg | ||||||
|  |   .description, .options | ||||||
|  |     em | ||||||
|  |       color: $accent1 | ||||||
|  |   .options b | ||||||
|  |       color: $accent4 | ||||||
|  |   .synopsis | ||||||
|  |     .desc > p > b | ||||||
|  |       color: $accent4 | ||||||
|  |   .history | ||||||
|  |     .job | ||||||
|  |       color: $accent4 | ||||||
|  |  | ||||||
|  | .target a, a.target | ||||||
|  |   text-decoration: none | ||||||
|  |   border: none | ||||||
|  |   color: inherit | ||||||
|  |   &:visited | ||||||
|  |     color: inherit | ||||||
|  |   &:hover | ||||||
|  |     color: inherit | ||||||
|  |  | ||||||
|  | a | ||||||
|  |   text-decoration: none | ||||||
|  |   border-bottom: 1px dotted grey | ||||||
|  |   color: inherit | ||||||
|  |   &:visited | ||||||
|  |     color: inherit | ||||||
|  |   &:hover, &:focus | ||||||
|  |     color: $accent2 | ||||||
|  |  | ||||||
|  | #phone-hint | ||||||
|  |   color: $dimmer | ||||||
|  |  | ||||||
|  | @keyframes attention | ||||||
|  |   70% | ||||||
|  |     color: $accent2 | ||||||
|  |   100% | ||||||
|  |     color: auto | ||||||
							
								
								
									
										97
									
								
								assets/styles/structure.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,97 @@ | |||||||
|  | @import 'variables' | ||||||
|  |  | ||||||
|  | body | ||||||
|  |   padding: 0 | ||||||
|  |   margin: 0 | ||||||
|  |   line-height: 1.5 | ||||||
|  |  | ||||||
|  | .container | ||||||
|  |   max-width: 1200px | ||||||
|  |   margin: 0 auto | ||||||
|  |   padding: 20px | ||||||
|  |   min-height: 100vh | ||||||
|  |  | ||||||
|  | .content | ||||||
|  |   // text-align: justify | ||||||
|  |   max-width: 1000px | ||||||
|  |   margin: 0 auto | ||||||
|  |   padding: 20px 40px | ||||||
|  |   border-radius: 3px | ||||||
|  |   @media (max-width: 600px) | ||||||
|  |     padding: 20px | ||||||
|  |  | ||||||
|  | .main | ||||||
|  |   section | ||||||
|  |     margin-bottom: 1.5*$size | ||||||
|  |   h1 | ||||||
|  |     padding-left: 0 | ||||||
|  |   h2 | ||||||
|  |     padding-left: 2em | ||||||
|  |     @media (max-width: 600px) | ||||||
|  |       padding-left: 1em | ||||||
|  |   .desc | ||||||
|  |     padding-left: 4em | ||||||
|  |     @media (max-width: 600px) | ||||||
|  |       padding-left: 2em | ||||||
|  |   ol, ul | ||||||
|  |     padding-left: 2em | ||||||
|  |     @media (max-width: 600px) | ||||||
|  |       padding-left: 1em | ||||||
|  |     li | ||||||
|  |       // list-style-position: inside | ||||||
|  |       list-style-type: square | ||||||
|  |   .history | ||||||
|  |     .desc > ul > li | ||||||
|  |       margin-bottom: 1.5*$size | ||||||
|  |  | ||||||
|  | header | ||||||
|  |   margin-bottom: 2*$size | ||||||
|  | footer | ||||||
|  |   margin-top: 2*$size | ||||||
|  |  | ||||||
|  | header table, footer table | ||||||
|  |   width: 100% | ||||||
|  |   border-collapse: collapse | ||||||
|  |   border-spacing: 0 | ||||||
|  |   .left, .right | ||||||
|  |     width: 30% | ||||||
|  |   .center | ||||||
|  |     width: 40% | ||||||
|  |   td | ||||||
|  |     word-break: break-word | ||||||
|  |  | ||||||
|  | header | ||||||
|  |   .left, .right | ||||||
|  |     text-transform: uppercase | ||||||
|  | footer | ||||||
|  |   .right | ||||||
|  |     text-transform: uppercase | ||||||
|  |  | ||||||
|  | .left | ||||||
|  |   text-align: left | ||||||
|  | .center | ||||||
|  |   text-align: center | ||||||
|  | .right | ||||||
|  |   text-align: right | ||||||
|  |  | ||||||
|  | // .box { | ||||||
|  | //   display: flex; | ||||||
|  | //   align-items: center; | ||||||
|  | //   justify-content: center; | ||||||
|  | //   width: 100%; | ||||||
|  | //   heigh: 100%; | ||||||
|  | //   padding: 10px; | ||||||
|  | //   box-sizing: border-box; | ||||||
|  | // } | ||||||
|  | // | ||||||
|  | // .box div { | ||||||
|  | //   width: 100%; | ||||||
|  | //   height: 100%; | ||||||
|  | //   padding: 10px; | ||||||
|  | //   margin: 0; | ||||||
|  | //   border: 0; | ||||||
|  | //   box-sizing: border-box; | ||||||
|  | // } | ||||||
|  | // .box p { | ||||||
|  | //     margin: 0 | ||||||
|  | // } | ||||||
							
								
								
									
										24
									
								
								assets/styles/typography.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,24 @@ | |||||||
|  | @import 'variables' | ||||||
|  |  | ||||||
|  | $font: 'IBM Plex Mono' | ||||||
|  | $font_stack: $font, 'SF Mono', 'Liberation Mono', 'Consolas', monospace | ||||||
|  |  | ||||||
|  | @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap') | ||||||
|  | * | ||||||
|  |   font-family: $font_stack | ||||||
|  |  | ||||||
|  | body | ||||||
|  |   font-size: $size | ||||||
|  |  | ||||||
|  | h1, h2, h3, h4, h5, h6 | ||||||
|  |   font-size: $size + 2 | ||||||
|  |   text-transform: uppercase | ||||||
|  |  | ||||||
|  | .header, .footer | ||||||
|  |   // font-size: $size - 1 | ||||||
|  |   text-transform: uppercase | ||||||
|  |   .center | ||||||
|  |     text-transform: capitalize | ||||||
|  | .footer | ||||||
|  |   .left | ||||||
|  |     text-transform: none | ||||||
							
								
								
									
										1
									
								
								assets/styles/variables.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | |||||||
|  | $size: 12pt | ||||||
| @ -0,0 +1,32 @@ | |||||||
|  | include /vars | ||||||
|  | include /includes/mixins/page_id | ||||||
|  |  | ||||||
|  | div.container | ||||||
|  |   div.content | ||||||
|  |  | ||||||
|  |     header | ||||||
|  |       table | ||||||
|  |         tr | ||||||
|  |           td.left #[+page_id()] | ||||||
|  |           td.center= section_name | ||||||
|  |           td.right #[+page_id()] | ||||||
|  |  | ||||||
|  |     section.main | ||||||
|  |       block main-content | ||||||
|  |         include ./sections/name | ||||||
|  |         include ./sections/synopsis | ||||||
|  |         include ./sections/description | ||||||
|  |         include ./sections/options | ||||||
|  |         include ./sections/history | ||||||
|  |         include ./sections/recognition | ||||||
|  |         include ./sections/contact | ||||||
|  |         include ./sections/seealso | ||||||
|  |         include ./sections/copyright | ||||||
|  |  | ||||||
|  |     footer | ||||||
|  |       table | ||||||
|  |         tr | ||||||
|  |           // .left Version #[a(href=source_link) #{short_version}] | ||||||
|  |           td.left Version #{short_version} | ||||||
|  |           td.center= date | ||||||
|  |           td.right #[+page_id()] | ||||||
|  | |||||||
| @ -0,0 +1,20 @@ | |||||||
|  | include /vars | ||||||
|  | block meta | ||||||
|  |   meta(http-equiv="Content-Type" content="text/html;charset=UTF-8") | ||||||
|  |   meta(http-equiv="X-UA-Compatible" content="IE=edge") | ||||||
|  |   meta(name="viewport" content="width=device-width,initial-scale=1.0") | ||||||
|  | block links | ||||||
|  |   link(rel="apple-touch-icon" sizes="180x180" href="./assets/images/apple-touch-icon.png") | ||||||
|  |   link(rel="icon" type="image/png" sizes="32x32" href="./assets/images/favicon-32x32.png") | ||||||
|  |   link(rel="icon" type="image/png" sizes="16x16" href="./assets/images/favicon-16x16.png") | ||||||
|  |   link(rel="manifest" href="./assets/site.webmanifest") | ||||||
|  |   meta(name="author" content=name) | ||||||
|  |   meta(name="description" content=meta_description) | ||||||
|  |   meta(property="og:title" content=name + ' - ' + description) | ||||||
|  |   meta(property="og:description" content=meta_description) | ||||||
|  |   meta(property="og:type" content="website") | ||||||
|  |   meta(property="og:image" content=site_url + "/assets/opengraph.png") | ||||||
|  |   meta(name="twitter:card" content="summary_large_image") | ||||||
|  | block styles | ||||||
|  |   link(rel="stylesheet" href="assets/styles/index.sass") | ||||||
|  | title #{name}(#{section}) | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								includes/mixins/ext_a.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,2 @@ | |||||||
|  | mixin ext_a(href, content, class_name='') | ||||||
|  |   a(href=href target="_blank" rel="external nofollow noopener" class=class_name)= content | ||||||
							
								
								
									
										2
									
								
								includes/mixins/page_id.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,2 @@ | |||||||
|  | mixin page_id() | ||||||
|  |   | #{name}(#{section}) | ||||||
							
								
								
									
										6
									
								
								includes/sections/contact.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,6 @@ | |||||||
|  | section.contact | ||||||
|  |   h1.target#contact: a(href="#contact") contact | ||||||
|  |   .desc | ||||||
|  |     ul | ||||||
|  |       each value, method in contacts | ||||||
|  |         li #{method}: #[em !{value}] | ||||||
							
								
								
									
										11
									
								
								includes/sections/copyright.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,11 @@ | |||||||
|  | include /includes/mixins/ext_a | ||||||
|  |  | ||||||
|  | section.copyright | ||||||
|  |   h1.target#copyright: a(href="#copyright") copyright | ||||||
|  |   .desc | ||||||
|  |     | © #{year} #{first_name} #{last_name}. | ||||||
|  |     br | ||||||
|  |     |  Created with #[+ext_a('https://pugjs.org', 'pug')] | ||||||
|  |     |  and #[+ext_a('https://sass-lang.com', 'sass')]. | ||||||
|  |     |  Built with #[+ext_a('https://parceljs.org', 'parcel')]. | ||||||
|  |     |  Pronunciation generated by #[+ext_a('https://ipa-reader.xyz', 'ipa-reader')]. | ||||||
							
								
								
									
										14
									
								
								includes/sections/description.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,14 @@ | |||||||
|  | section.description | ||||||
|  |   h1.target#description: a(href="#description") description | ||||||
|  |   .desc | ||||||
|  |     p. | ||||||
|  |       Hello! I am a self-taught technology professional with a strong background in | ||||||
|  |       #[em system administration] and #[em general programming], with proven hands-on | ||||||
|  |       experience in #[em modern dev-ops], #[em cloud-ops], and #[em IaC] work domains. | ||||||
|  |     p. | ||||||
|  |       I have a passion for learning and building things that are useful, | ||||||
|  |       sustainable, minimal, and easy to use. I put a lot of care to keep my work | ||||||
|  |       output #[em clean], #[em maintainable] and #[em well-documented]. | ||||||
|  |     p. | ||||||
|  |       I'm also an active member of the open-source culture, always | ||||||
|  |       looking for opportunities to contribute and to assist the community. | ||||||
							
								
								
									
										46
									
								
								includes/sections/history.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,46 @@ | |||||||
|  | section.history | ||||||
|  |   h1.target#history: a(href="#history") history | ||||||
|  |   .desc | ||||||
|  |     // p My professional employment summary with notable duties is listed below. | ||||||
|  |     ul | ||||||
|  |       li #[b.job DevOps Consultant] - #[em.org contract] #[span.period 2021-....] | ||||||
|  |         ul | ||||||
|  |           li adapting classic workloads to serverless architecture | ||||||
|  |           li implementing modern logging and tracing solutions | ||||||
|  |           li providing support for cloud devops processes | ||||||
|  |  | ||||||
|  |       li #[b.job DevOps Engineer] - #[em.org Digital Healthcare Solutions] #[span.period 2021-....] | ||||||
|  |         ul | ||||||
|  |           li supervising kubernetes and classic server workloads | ||||||
|  |           li in charge of cloud infrastructure administration | ||||||
|  |           li managing ci/cd and deployment pipeline | ||||||
|  |           li maintaining total monitoring stack | ||||||
|  |  | ||||||
|  |       li #[b.job TechOps Engineer] - #[em.org Telenor Health] #[span.period 2020-2021] | ||||||
|  |         ul | ||||||
|  |           li provided application support services for engineering | ||||||
|  |           li managed application performance monitoring | ||||||
|  |           li provided support and service automation | ||||||
|  |           li prepared service documentation | ||||||
|  |  | ||||||
|  |       li #[b.job IT Engineer] - #[em.org Taurus] #[span.period 2018-2020] | ||||||
|  |         ul | ||||||
|  |           li maintained local network infrastructure and email service | ||||||
|  |           li created digital service catalog and inventory systems | ||||||
|  |           li implemented document management and backup systems | ||||||
|  |  | ||||||
|  |       li #[b.job Programmer] - #[em.org freelance] #[span.period 2015-2018] | ||||||
|  |         ul | ||||||
|  |           li delivered system automation and scripting projects | ||||||
|  |           li performed front-end web development and debugging | ||||||
|  |           li created web APIs for data parsing and analysis | ||||||
|  |     //- | ||||||
|  |       li #[b.job Technician] - #[em.org community] #[span.period 2012-2015] | ||||||
|  |         ul | ||||||
|  |           li troubleshooting and resolving software problems | ||||||
|  |           li computer hardware and software servicing | ||||||
|  |           li operating system and software support | ||||||
|  |  | ||||||
|  |       //- each history in histories | ||||||
|  |       //-   li #[span.job #{history.job}] #[span.org #{history.org}] | ||||||
|  |       //-     p #[span.works #{history.desc}] | ||||||
							
								
								
									
										14
									
								
								includes/sections/name.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,14 @@ | |||||||
|  | audio#pronounce(controls=false preload="auto") | ||||||
|  |   source(src="assets/media/spell.mp3" type="audio/mpeg") | ||||||
|  |   source(src="assets/media/spell.ogg" type="audio/ogg") | ||||||
|  |   source(src="assets/media/spell.wav" type="audio/wav") | ||||||
|  |  | ||||||
|  | script. | ||||||
|  |   function pronounce() { | ||||||
|  |     var audio = document.getElementById('pronounce') | ||||||
|  |     audio.play() | ||||||
|  |   } | ||||||
|  |  | ||||||
|  | section.name | ||||||
|  |   h1.target#name: a(href="#name") name | ||||||
|  |   .desc #[a(href='#' onclick="pronounce()") #{name}] - #{description} | ||||||
							
								
								
									
										85
									
								
								includes/sections/options.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,85 @@ | |||||||
|  | section.options | ||||||
|  |   h1.target#options: a(href="#options") options | ||||||
|  |   .desc | ||||||
|  |     ul | ||||||
|  |  | ||||||
|  |       li | ||||||
|  |         b.target#sysadmin: a(href="#sysadmin") --sys-admin | ||||||
|  |         .opt_desc | ||||||
|  |           p. | ||||||
|  |             I have in-depth experience of #[em linux server] administration, covering | ||||||
|  |             installation, configuration, optimization, hardening, and maintenance of | ||||||
|  |             various common linux distros such as Ubuntu, CentOS, Oracle, AmazonLinux, ArchLinux etc. | ||||||
|  |           p. | ||||||
|  |             I have hands-on knowledge of #[em DNS] and #[em Email server] administration too. | ||||||
|  |             I can configure and publish secure and performant DNS/Email servers with load balancing. | ||||||
|  |             In fact, I manage my own DNS, email, and web hosting service, and more. | ||||||
|  |           p. | ||||||
|  |             I also have above-average expertise about #[em Windows] systems, with working knowledge of #[em Mac OSX]. | ||||||
|  |  | ||||||
|  |       li | ||||||
|  |         b.target#devops: a(href="#devops") --dev-ops | ||||||
|  |         .opt_desc | ||||||
|  |           p. | ||||||
|  |             I am involved in both classic and modern DevOps practices. I have current knowledge of | ||||||
|  |             container orchestration and management tools such as #[em Docker] and #[em Kubernetes]. | ||||||
|  |             I have professional experience of managing production k8s clusters on #[em AWS] cloud. | ||||||
|  |             I have also worked on converting legacy workloads to #[em serverless] arch and maintaining them. | ||||||
|  |           p. | ||||||
|  |             I can set up a working DevOps environment from scratch, with a working CI/CD pipeline. | ||||||
|  |             I can do this with both modern container-based tools such as #[em k8s], #[em Helm], #[em Argo], | ||||||
|  |             #[em Gitlab/Github CI], as well as with legacy tools such as #[em Ansible] and #[em Jenkins]. | ||||||
|  |           p. | ||||||
|  |             I also have experience of maintaining monitoring and alerting stacks comprised of | ||||||
|  |             #[em prometheus], #[em Grafana], #[em PagerDuty], #[em ELK], as well as in-depth | ||||||
|  |             observability toolkits such as #[em Graylog], #[em NewRelic], #[em DataDog], #[em Splunk] etc. | ||||||
|  |  | ||||||
|  |       li | ||||||
|  |         b.target#backend: a(href="#backend") --back-end | ||||||
|  |         .opt_desc | ||||||
|  |           p. | ||||||
|  |             Backend engineering is another point of interest to me. I have created multiple | ||||||
|  |             backend services with #[em Flask], catering to various production-grade use cases, | ||||||
|  |             as well as #[em api gateways] to establish communication between disparate systems. | ||||||
|  |             I mostly work with #[em Python]; I am also learning #[em Golang] as a low-level option. | ||||||
|  |  | ||||||
|  |       li | ||||||
|  |         b.target#automation: a(href="#automation") --automation | ||||||
|  |         .opt_desc | ||||||
|  |           p. | ||||||
|  |             I try to find a solution that is both efficient and easy to maintain. Automation is | ||||||
|  |             a natual fit in this field. I always look out for any repetitive tasks to convert into | ||||||
|  |             a simple script or button press. Some of my shortcut scripts have actually grown into | ||||||
|  |             full-fledged programs themselves. | ||||||
|  |           p. | ||||||
|  |             I have used #[em Python], #[em shell scripts], #[em Lua], and #[em Ansible] for automation, | ||||||
|  |             as well as trigger-based workflow tools like #[em n8n], #[em inotify] etc. | ||||||
|  |  | ||||||
|  |       li | ||||||
|  |         b.target#contrib: a(href="#contrib") --contrib | ||||||
|  |         .opt_desc | ||||||
|  |           p. | ||||||
|  |             outside of professional life, I am an enthusiastic and active fan of open-source. | ||||||
|  |             I have worked on #[em numerous open-source projects] such as a locale keyboard layout, | ||||||
|  |             a popular regional keyboard input system, a time tracking tool, a regex tool, as well | ||||||
|  |             as plugins for sublime text, vim, and other miscellaneous applications. | ||||||
|  |           p. | ||||||
|  |             I have also contributed with documentation for #[em freecodecamp], #[em ArchLinux wiki], #[em Wikipedia], | ||||||
|  |             and contributed #[em i18n] translations to many open-source projects. | ||||||
|  |           p. | ||||||
|  |             I helped maintain a local online Linux community to welcome new contributors and freshers | ||||||
|  |             into the tech world, and to educate on the values of open-source and digital safety. | ||||||
|  |  | ||||||
|  |       li | ||||||
|  |         b.target#misc: a(href="#misc") --misc | ||||||
|  |         .opt_desc | ||||||
|  |           p. | ||||||
|  |             I am a strong proponent of #[em selfhosting] and owning my data. I wrote an Ansible playbook | ||||||
|  |             to deploy and manange a self-hosted environment that includes webhosting, email, DNS, VPN, RSS, caldav and more. | ||||||
|  |           p. | ||||||
|  |             I'm also interested in the #[em decentralized web]. I closely follow the fediverse and indieweb | ||||||
|  |             movements. | ||||||
|  |           p. | ||||||
|  |             I am a #[strike huge] medium nerd, as is obvious from the design of this page. | ||||||
|  |             I love to tinker with tools, and I'm always looking for interesting stuff to learn, and for new ways to improve my skills. | ||||||
|  |           p #[span.dark I use arch btw.] | ||||||
							
								
								
									
										35
									
								
								includes/sections/recognition.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,35 @@ | |||||||
|  | include /includes/mixins/ext_a | ||||||
|  |  | ||||||
|  | section.achievements | ||||||
|  |   h1.target#achievements: a(href="#achievements") achievements | ||||||
|  |   .desc | ||||||
|  |     ul | ||||||
|  |       li #[b Star Performer 2021], Digital Healthcare Solutions | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://coursera.org/share/90a24b5165900b3e22011c322b4013f8", "Google IT Support Professional") | ||||||
|  |         |, Google | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://coursera.org/share/53e0dc7863382d6253086b8dcac2518d", "AWS DevOps Specialization") | ||||||
|  |         |, AWS | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://coursera.org/share/5b48cc6ac827b619d69056d0d6705b5b", "Google Cloud Digital Leader") | ||||||
|  |         |, Google | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://coursera.org/share/47e5a79207cec44a45fcf2cb0ca1f815", "Python IT Automation Certificate") | ||||||
|  |         |, Google | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://www.credly.com/badges/fc8a7edc-8abb-4068-8a57-3d3c52400c9c/public_url", "Linux & Git Specialization") | ||||||
|  |         |, Linux Foundation | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://www.hackerrank.com/certificates/162646ca14f7", "Python Skill Certificate") | ||||||
|  |         |, HackerRank | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://www.freecodecamp.org/certification/smmy/javascript-algorithms-and-data-structures", "JavaScript DSA Certificate") | ||||||
|  |         |, HackerRank | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://www.hackerrank.com/certificates/76d08910bf9f", "REST API Skil Certificate") | ||||||
|  |         |, HackerRank | ||||||
|  |       li | ||||||
|  |         b: +ext_a("https://www.hackerrank.com/certificates/dcdb6c3c4463", "Problem Solving Skill Certificate") | ||||||
|  |         |, HackerRank | ||||||
|  |       li #[b Recognized Contributor], Wikipedia | ||||||
							
								
								
									
										4
									
								
								includes/sections/section.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,4 @@ | |||||||
|  | section.<section-name> | ||||||
|  |   a.target#<section_name>(href="#<section_name>"): h1 <section_name> | ||||||
|  |   .desc | ||||||
|  |     <section-content> | ||||||
							
								
								
									
										13
									
								
								includes/sections/seealso.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,13 @@ | |||||||
|  | section.seealso | ||||||
|  |   h1.target#seealso: a(href="#seealso") see also | ||||||
|  |   .desc | ||||||
|  |     p | ||||||
|  |       a(href="https://bdeshi.space" target="_blank").print: b articles | ||||||
|  |       |(7), | ||||||
|  |       | | ||||||
|  |       a(href="https://github.com/bdeshi" target="_blank" rel="external nofollow noopener noreferrer").print: b github | ||||||
|  |       |(1) | ||||||
|  |       //- | ||||||
|  |         | | ||||||
|  |         | | ||||||
|  |         a(href="./portfolio.pug") #[b portfolio](7), | ||||||
							
								
								
									
										26
									
								
								includes/sections/synopsis.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,26 @@ | |||||||
|  | section.synopsis | ||||||
|  |   h1.target#synopsis: a(href="#synopsis") synopsis | ||||||
|  |   .desc | ||||||
|  |     p #[b #{name}] | ||||||
|  |       |  --#[a(href="#sysadmin") sys-admin] | ||||||
|  |       | | ||||||
|  |       span.dimmer [#[em linux], #[em server] ...] | ||||||
|  |       |  --#[a(href='#devops') dev-ops] | ||||||
|  |       | | ||||||
|  |       span.dimmer [#[em cloud], #[em k8s], #[em iac] ...] | ||||||
|  |     p #[b #{name}] | ||||||
|  |       |  --#[a(href='#backend') back-end] --#[a(href="#automation") automation] | ||||||
|  |       | | ||||||
|  |       span.dimmer [#[em python], #[em shell] ...] | ||||||
|  |     p #[b #{name}] | ||||||
|  |       |  --#[a(href='#contrib') contrib] | ||||||
|  |       | | ||||||
|  |       span.dimmer [#[em opensource], #[em education] ...] | ||||||
|  |     p #[b #{name}] | ||||||
|  |       |  --#[a(href='#misc') misc] | ||||||
|  |       | | ||||||
|  |       span.dimmer [#[em selfhoster], #[em nerd] ...] | ||||||
|  |     p #[b #{name}] | ||||||
|  |       |  --#[a(href='#history') history] --#[a(href='#contact') contact] | ||||||
|  |       | | ||||||
|  |       span.dimmer [#[em --help]] | ||||||
| @ -1,7 +1,7 @@ | |||||||
| include vars | include /vars | ||||||
| doctype html | doctype html | ||||||
| head | head | ||||||
|   include includes/head |   include /includes/head | ||||||
| body | body | ||||||
|   include includes/body |   include /includes/body | ||||||
| include includes/tail | include /includes/tail | ||||||
|  | |||||||
| @ -3,8 +3,11 @@ | |||||||
|   "version": "0.0.1", |   "version": "0.0.1", | ||||||
|   "license": "CC-BY-4.0", |   "license": "CC-BY-4.0", | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|  |     "@csstools/normalize.css": "^12.0.0", | ||||||
|  |     "@parcel/packager-raw-url": "2.5.0", | ||||||
|     "@parcel/transformer-pug": "2.5.0", |     "@parcel/transformer-pug": "2.5.0", | ||||||
|     "@parcel/transformer-sass": "2.5.0", |     "@parcel/transformer-sass": "2.5.0", | ||||||
|  |     "@parcel/transformer-webmanifest": "2.5.0", | ||||||
|     "parcel": "^2.5.0" |     "parcel": "^2.5.0" | ||||||
|   }, |   }, | ||||||
|   "scripts": { |   "scripts": { | ||||||
|  | |||||||
							
								
								
									
										37
									
								
								portfolio.pug
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,37 @@ | |||||||
|  | include /vars | ||||||
|  | doctype html | ||||||
|  | head | ||||||
|  |   meta(http-equiv="Content-Type" content="text/html;charset=UTF-8") | ||||||
|  |   meta(http-equiv="X-UA-Compatible" content="IE=edge") | ||||||
|  |   meta(name="viewport" content="width=device-width,initial-scale=1.0") | ||||||
|  |   <link rel="apple-touch-icon" sizes="180x180" href="./assets/images/apple-touch-icon.png"> | ||||||
|  |   <link rel="icon" type="image/png" sizes="32x32" href="./assets/images/favicon-32x32.png"> | ||||||
|  |   <link rel="icon" type="image/png" sizes="16x16" href="./assets/images/favicon-16x16.png"> | ||||||
|  |   <link rel="manifest" href="./assets/site.webmanifest"> | ||||||
|  |   link(rel="stylesheet" href="assets/styles/index.sass") | ||||||
|  |   title portfolio(7) | ||||||
|  | body | ||||||
|  |   div.container | ||||||
|  |     div.content | ||||||
|  |       header.header | ||||||
|  |         .left portfolio(7) | ||||||
|  |         .center= section_name | ||||||
|  |         .right portfolio(7) | ||||||
|  |       section.main | ||||||
|  |         section#name | ||||||
|  |           h1 name | ||||||
|  |           .desc portfolio - projects by sammay_sarkar | ||||||
|  |         section#description | ||||||
|  |           h1 description | ||||||
|  |           .desc | ||||||
|  |             p This portfolio only lists personal hobby projects. | ||||||
|  |             p Installing projects. Please check back later. | ||||||
|  |         section#seealso | ||||||
|  |           h1 see also | ||||||
|  |           .desc | ||||||
|  |             p | ||||||
|  |               a(href="/") #[b sammay_sarkar](7) | ||||||
|  |       footer.footer | ||||||
|  |         .left Version #[a(href=source_link) #{version}] | ||||||
|  |         .center= date | ||||||
|  |         .right portfolio(7) | ||||||
							
								
								
									
										2
									
								
								vars.pug
									
									
									
									
									
								
							
							
						
						| @ -1,3 +1,3 @@ | |||||||
| - | - | ||||||
|   var variable = 'value' |   var variable = 'value' | ||||||
| include vars.local | include vars.local.pug | ||||||
|  | |||||||
							
								
								
									
										23
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						| @ -36,6 +36,11 @@ | |||||||
|     "@babel/helper-validator-identifier" "^7.16.7" |     "@babel/helper-validator-identifier" "^7.16.7" | ||||||
|     to-fast-properties "^2.0.0" |     to-fast-properties "^2.0.0" | ||||||
|  |  | ||||||
|  | "@csstools/normalize.css@^12.0.0": | ||||||
|  |   version "12.0.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4" | ||||||
|  |   integrity sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg== | ||||||
|  |  | ||||||
| "@lezer/common@^0.15.0", "@lezer/common@^0.15.7": | "@lezer/common@^0.15.0", "@lezer/common@^0.15.7": | ||||||
|   version "0.15.12" |   version "0.15.12" | ||||||
|   resolved "https://registry.yarnpkg.com/@lezer/common/-/common-0.15.12.tgz#2f21aec551dd5fd7d24eb069f90f54d5bc6ee5e9" |   resolved "https://registry.yarnpkg.com/@lezer/common/-/common-0.15.12.tgz#2f21aec551dd5fd7d24eb069f90f54d5bc6ee5e9" | ||||||
| @ -428,6 +433,14 @@ | |||||||
|     globals "^13.2.0" |     globals "^13.2.0" | ||||||
|     nullthrows "^1.1.1" |     nullthrows "^1.1.1" | ||||||
|  |  | ||||||
|  | "@parcel/packager-raw-url@2.5.0": | ||||||
|  |   version "2.5.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@parcel/packager-raw-url/-/packager-raw-url-2.5.0.tgz#e95e1a38c3581bf5b5cd57aa6cfc6742ac5cce29" | ||||||
|  |   integrity sha512-NIdmuuivotlIFTG8NU6SwR39wkDqzBSnEHjiLopZuj0bRY2PPnEeIHK0aoNayo8UOJOSthflwFKFW4goAb1S/w== | ||||||
|  |   dependencies: | ||||||
|  |     "@parcel/plugin" "2.5.0" | ||||||
|  |     "@parcel/utils" "2.5.0" | ||||||
|  |  | ||||||
| "@parcel/packager-raw@2.5.0": | "@parcel/packager-raw@2.5.0": | ||||||
|   version "2.5.0" |   version "2.5.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.5.0.tgz#ce0103c26667c93e5c04eda92691363e93aecb1a" |   resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.5.0.tgz#ce0103c26667c93e5c04eda92691363e93aecb1a" | ||||||
| @ -670,6 +683,16 @@ | |||||||
|     posthtml-render "^3.0.0" |     posthtml-render "^3.0.0" | ||||||
|     semver "^5.7.1" |     semver "^5.7.1" | ||||||
|  |  | ||||||
|  | "@parcel/transformer-webmanifest@2.5.0": | ||||||
|  |   version "2.5.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@parcel/transformer-webmanifest/-/transformer-webmanifest-2.5.0.tgz#2892c3103bbee93a07ab5f756acd5a18e84172df" | ||||||
|  |   integrity sha512-7RtE4f+QUzQqXHJ9kVL80x0xrOYdI7EDBl0jZbJ3Kiec8hE/aB1I3c2bmjyU44tGnd3z9mLzmRS9IaU/gZvXkw== | ||||||
|  |   dependencies: | ||||||
|  |     "@mischnic/json-sourcemap" "^0.1.0" | ||||||
|  |     "@parcel/diagnostic" "2.5.0" | ||||||
|  |     "@parcel/plugin" "2.5.0" | ||||||
|  |     "@parcel/utils" "2.5.0" | ||||||
|  |  | ||||||
| "@parcel/types@2.5.0": | "@parcel/types@2.5.0": | ||||||
|   version "2.5.0" |   version "2.5.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.5.0.tgz#e3818d4358f849ac2593605b98366b8e156ab533" |   resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.5.0.tgz#e3818d4358f849ac2593605b98366b8e156ab533" | ||||||
|  | |||||||