change theme
This commit is contained in:
37
assets/css/schemes/okami.css
Normal file
37
assets/css/schemes/okami.css
Normal file
@ -0,0 +1,37 @@
|
||||
/* Congo scheme */
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
/* Gray */
|
||||
--color-neutral-50: 248, 250, 252;
|
||||
--color-neutral-100: 241, 245, 249;
|
||||
--color-neutral-200: 226, 232, 240;
|
||||
--color-neutral-300: 203, 213, 225;
|
||||
--color-neutral-400: 148, 163, 184;
|
||||
--color-neutral-500: 100, 116, 139;
|
||||
--color-neutral-600: 71, 85, 105;
|
||||
--color-neutral-700: 51, 65, 85;
|
||||
--color-neutral-800: 30, 41, 59;
|
||||
--color-neutral-900: 15, 23, 42;
|
||||
/* Violet */
|
||||
--color-primary-50: 245, 243, 255;
|
||||
--color-primary-100: 237, 233, 254;
|
||||
--color-primary-200: 221, 214, 254;
|
||||
--color-primary-300: 196, 181, 253;
|
||||
--color-primary-400: 167, 139, 250;
|
||||
--color-primary-500: 139, 92, 246;
|
||||
--color-primary-600: 124, 58, 237;
|
||||
--color-primary-700: 109, 40, 217;
|
||||
--color-primary-800: 91, 33, 182;
|
||||
--color-primary-900: 76, 29, 149;
|
||||
/* Fuchsia */
|
||||
--color-secondary-50: 253, 244, 255;
|
||||
--color-secondary-100: 250, 232, 255;
|
||||
--color-secondary-200: 245, 208, 254;
|
||||
--color-secondary-300: 240, 171, 252;
|
||||
--color-secondary-400: 232, 121, 249;
|
||||
--color-secondary-500: 217, 70, 239;
|
||||
--color-secondary-600: 192, 38, 211;
|
||||
--color-secondary-700: 162, 28, 175;
|
||||
--color-secondary-800: 134, 25, 143;
|
||||
--color-secondary-900: 112, 26, 117;
|
||||
}
|
@ -15,10 +15,15 @@ name = "Blog"
|
||||
pageRef = "posts"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "About"
|
||||
pageRef = "about"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Works"
|
||||
pageRef = "works"
|
||||
weight = 20
|
||||
weight = 30
|
||||
|
||||
# [[main]]
|
||||
# name = "Categories"
|
||||
|
@ -5,7 +5,7 @@
|
||||
# Refer to the theme docs for more details about each of these parameters.
|
||||
# https://jpanther.github.io/congo/docs/configuration/#theme-parameters
|
||||
|
||||
colorScheme = "congo"
|
||||
colorScheme = "okami"
|
||||
defaultAppearance = "light" # valid options: light or dark
|
||||
autoSwitchAppearance = true
|
||||
footer.showAppearanceSwitcher = true
|
||||
|
@ -6,63 +6,3 @@ description: "This is adr1enbe4udou1n blog."
|
||||
{{< lead >}}
|
||||
A 🧔🌍💻 aka senior web developer @Bretagne 🇫🇷
|
||||
{{< /lead >}}
|
||||
|
||||
Hi folks, I'm a web lover actually working [@Cesson-Sévigné](https://fr.wikipedia.org/wiki/Cesson-S%C3%A9vign%C3%A9), mastering :
|
||||
|
||||
* [`ASP.NET Core`](https://docs.microsoft.com/fr-fr/aspnet/core/?view=aspnetcore-6.0) with `C#` and [`Laravel`](https://laravel.com/) as favorite backend frameworks
|
||||
* [`Vue 3`](https://vuejs.org/) by [*Composition API*](https://vuejs.org/guide/extras/composition-api-faq.html) with [`Typescript`](https://www.typescriptlang.org/)
|
||||
* *Utility-first CSS frameworks* as [`Tailwind`](https://tailwindcss.com/) / [`Windi CSS`](https://windicss.org/) / [`UnoCSS`](https://github.com/unocss/unocss), but also comfortable with [`Sass`](https://sass-lang.com/) with **BEM** implementation
|
||||
|
||||
I can develop proper API design following [**DDD / Hexa**](https://en.wikipedia.org/wiki/Domain-driven_design) principles if applicable. In addition to above `.NET` and `PHP` backend stacks, I'm also confident with :
|
||||
|
||||
* [`Nest.js`](https://nestjs.com/) associated to [`MikroORM`](https://mikro-orm.io/) (*Typescript*)
|
||||
* [`FastAPI`](https://fastapi.tiangolo.com/) with [`SQLAlchemy`](https://www.sqlalchemy.org/) (*Python*)
|
||||
* [`Spring Boot`](https://spring.io/projects/spring-boot) with `Hibernate` as main JPA implementation (*Java*)
|
||||
|
||||
I encourage `TDD` or at least proper **integration tests** on any backend frameworks, following **AAA** aka *Arrange Act Assert* principle :
|
||||
|
||||
* `PHPUnit` or [`Pest`](https://pestphp.com/) for *PHP*
|
||||
* [`NUnit.net`](https://nunit.org/) or [`xUnit.net`](https://xunit.net/) with [`Fluent Assertions`](https://github.com/fluentassertions/fluentassertions) for *.NET Core*
|
||||
* `JUnit` with [`REST Assured`](https://rest-assured.io/) for *Spring Boot*
|
||||
* `Jest` and `pytest` on respective *NodeJS* end *Python* stacks
|
||||
|
||||
Fully embracing app containerization with `Docker` and `Kubernetes`, from local, staging to production, I push to use properly configured **CI/CD** whenever possible in order to enforce **continuous automatized testing, linting and code styling** at many languages ([`ESLint`](https://eslint.org/), [`Prettier`](https://prettier.io/), [`PHP CS fixer`](https://cs.symfony.com/), [`PHPStan`](https://github.com/phpstan/phpstan), [`Black`](https://black.readthedocs.io/en/stable/), [`mypy`](http://mypy-lang.org/), [`Google Java Format`](https://github.com/google/google-java-format), [`Spotless`](https://github.com/diffplug/spotless), and so on...).
|
||||
|
||||
Mastering installations and maintenance of `Docker Swarm` or bare metal `Kubernetes` clusters with **HA** architecture. Here some cloud native tools solutions I generally use :
|
||||
|
||||
* [`HAProxy`] for **high-availability** across multiple frontend workers
|
||||
* [`Traefik`](https://traefik.io/traefik/) as main automatic service discovery / ingress controller
|
||||
* [`cert-manager`](https://cert-manager.io/) as central certificate solution for Kubernetes cluster
|
||||
* [`Portainer`](https://www.portainer.io/) as simple GUI for containers management
|
||||
* [`Loki`](https://grafana.com/oss/loki/), [`Prometheus`](https://prometheus.io) and [`Jaeger`](https://www.jaegertracing.io/) as respective *logging*, *metrics* and *tracing* tools
|
||||
* [`Grafana`](https://grafana.com) as GUI dashboard builder, designed for *Ops*
|
||||
* [`Gitea`](https://gitea.io/) or [`GitLab`](https://about.gitlab.com/) as self-hosted *VCS*
|
||||
* [`SonarQube`](https://www.sonarqube.org/) for automatic quality code scan
|
||||
* [`Drone`](https://www.drone.io/) or [`Concourse`](https://concourse-ci.org/) as *CI* solutions
|
||||
* [`Flux CD v2`](https://fluxcd.io/) as main *CD* solution for Kubernetes, allowing **GitOps** cluster management
|
||||
|
||||
I can install and manage primary-replica databases clusters, mainly [`PostgreSQL`](https://www.postgresql.org/) and [`MySQL`](https://www.mysql.com/fr/), whether bare-metal or cloud managed with Kubernetes (statefulsets), with Prometheus metrics exporters.
|
||||
|
||||
For *load testing*, I can write scenarios for both [`K6`](https://k6.io/) and [`Locust`](https://locust.io/), coupled with proper time series DB as [`InfluxDB`](https://www.influxdata.com/) and `Grafana` as visualization tool. For advanced application performance analysis, I tend to use [`OpenTelemetry`](https://opentelemetry.io/) as collection tools for proper metrics that can be exposed to `Prometheus`, and tracing, ready to export into `Jaeger`.
|
||||
|
||||
Have some experiences with many mid-range cloud providers as [Digital Ocean](https://www.digitalocean.com/), [Hetzner](https://www.hetzner.com/), [OVH](https://www.ovhcloud.com/), [Scaleway](https://www.scaleway.com/), and some knowledge on [Terraform](https://www.terraform.io/) as main [*IaC*](https://en.wikipedia.org/wiki/Infrastructure_as_code) tool and [Salt](https://docs.saltproject.io/) as cluster wide configuration management.
|
||||
|
||||
Some notes of this blog :
|
||||
|
||||
* Powered by [`Hugo`](https://gohugo.io/)
|
||||
* Hosted on **Hetzner Cloud**, fully **GitOps managed** from my own [`Terraform project`](https://github.com/adr1enbe4udou1n/terraform-hcloud-k0s)
|
||||
* Running on bare-metal `Kubernetes` multi-nodes cluster from [`k0s`](https://k0sproject.io/) distribution
|
||||
* **HA** setup using **Hetzner LB**, targeting 2 worker nodes, with **Postgres cluster** (managed on same Kubernetes cluster)
|
||||
* `Traefik` as reverse proxy, configured for HA 🛣️
|
||||
* `cert-manager` with wildcard certificate 📜
|
||||
* Source code on my own [`Gitea`](https://gitea.okami101.io/adr1enbe4udou1n/blog)
|
||||
* Compiled by my own [`Concourse`](https://concourse.okami101.io) instance as a final docker container image into self-hosted private registry (**CI** 🏗️)
|
||||
* Automatically deployed by `Flux CD v2` to the Kubernetes cluster from [central Git source](https://gitea.okami101.io/adr1enbe4udou1n/flux-source/) (**CD** 🚀)
|
||||
* Fully monitored by self-hosted Kube Prometheus Stack 📊
|
||||
* Tracked with [`Matomo`](https://matomo.okami101.io/) 📈
|
||||
|
||||
All above tools are 💯% self-hosted ! Just sadly missing my own Homelab with Proxmox because no fiber 😿
|
||||
|
||||
Seems [overkill](https://twitter.com/memenetes/status/1559208569588912132) ? Yeah, but why not ? I'm not able to write a single post without all that 😿
|
||||
|
||||
See some of [my open sourced works]({{< ref "works" >}} "Okami101 Works").
|
||||
|
64
content/about.md
Normal file
64
content/about.md
Normal file
@ -0,0 +1,64 @@
|
||||
---
|
||||
title: "About me"
|
||||
layout: "simple"
|
||||
---
|
||||
|
||||
Hi folks, I'm a web lover actually working [@Cesson-Sévigné](https://fr.wikipedia.org/wiki/Cesson-S%C3%A9vign%C3%A9), mastering :
|
||||
|
||||
* [`ASP.NET Core`](https://docs.microsoft.com/fr-fr/aspnet/core/?view=aspnetcore-6.0) with `C#` and [`Laravel`](https://laravel.com/) as favorite backend frameworks
|
||||
* [`Vue 3`](https://vuejs.org/) by [*Composition API*](https://vuejs.org/guide/extras/composition-api-faq.html) with [`Typescript`](https://www.typescriptlang.org/)
|
||||
* *Utility-first CSS frameworks* as [`Tailwind`](https://tailwindcss.com/) / [`Windi CSS`](https://windicss.org/) / [`UnoCSS`](https://github.com/unocss/unocss), but also comfortable with [`Sass`](https://sass-lang.com/) with **BEM** implementation
|
||||
|
||||
I can develop proper API design following [**DDD / Hexa**](https://en.wikipedia.org/wiki/Domain-driven_design) principles if applicable. In addition to above `.NET` and `PHP` backend stacks, I'm also confident with :
|
||||
|
||||
* [`Nest.js`](https://nestjs.com/) associated to [`MikroORM`](https://mikro-orm.io/) (*Typescript*)
|
||||
* [`FastAPI`](https://fastapi.tiangolo.com/) with [`SQLAlchemy`](https://www.sqlalchemy.org/) (*Python*)
|
||||
* [`Spring Boot`](https://spring.io/projects/spring-boot) with `Hibernate` as main JPA implementation (*Java*)
|
||||
|
||||
I encourage `TDD` or at least proper **integration tests** on any backend frameworks, following **AAA** aka *Arrange Act Assert* principle :
|
||||
|
||||
* `PHPUnit` or [`Pest`](https://pestphp.com/) for *PHP*
|
||||
* [`NUnit.net`](https://nunit.org/) or [`xUnit.net`](https://xunit.net/) with [`Fluent Assertions`](https://github.com/fluentassertions/fluentassertions) for *.NET Core*
|
||||
* `JUnit` with [`REST Assured`](https://rest-assured.io/) for *Spring Boot*
|
||||
* `Jest` and `pytest` on respective *NodeJS* end *Python* stacks
|
||||
|
||||
Fully embracing app containerization with `Docker` and `Kubernetes`, from local, staging to production, I push to use properly configured **CI/CD** whenever possible in order to enforce **continuous automatized testing, linting and code styling** at many languages ([`ESLint`](https://eslint.org/), [`Prettier`](https://prettier.io/), [`PHP CS fixer`](https://cs.symfony.com/), [`PHPStan`](https://github.com/phpstan/phpstan), [`Black`](https://black.readthedocs.io/en/stable/), [`mypy`](http://mypy-lang.org/), [`Google Java Format`](https://github.com/google/google-java-format), [`Spotless`](https://github.com/diffplug/spotless), and so on...).
|
||||
|
||||
Mastering installations and maintenance of `Docker Swarm` or bare metal `Kubernetes` clusters with **HA** architecture. Here some cloud native tools solutions I generally use :
|
||||
|
||||
* [`HAProxy`] for **high-availability** across multiple frontend workers
|
||||
* [`Traefik`](https://traefik.io/traefik/) as main automatic service discovery / ingress controller
|
||||
* [`cert-manager`](https://cert-manager.io/) as central certificate solution for Kubernetes cluster
|
||||
* [`Portainer`](https://www.portainer.io/) as simple GUI for containers management
|
||||
* [`Loki`](https://grafana.com/oss/loki/), [`Prometheus`](https://prometheus.io) and [`Jaeger`](https://www.jaegertracing.io/) as respective *logging*, *metrics* and *tracing* tools
|
||||
* [`Grafana`](https://grafana.com) as GUI dashboard builder, designed for *Ops*
|
||||
* [`Gitea`](https://gitea.io/) or [`GitLab`](https://about.gitlab.com/) as self-hosted *VCS*
|
||||
* [`SonarQube`](https://www.sonarqube.org/) for automatic quality code scan
|
||||
* [`Drone`](https://www.drone.io/) or [`Concourse`](https://concourse-ci.org/) as *CI* solutions
|
||||
* [`Flux CD v2`](https://fluxcd.io/) as main *CD* solution for Kubernetes, allowing **GitOps** cluster management
|
||||
|
||||
I can install and manage primary-replica databases clusters, mainly [`PostgreSQL`](https://www.postgresql.org/) and [`MySQL`](https://www.mysql.com/fr/), whether bare-metal or cloud managed with Kubernetes (statefulsets), with Prometheus metrics exporters.
|
||||
|
||||
For *load testing*, I can write scenarios for both [`K6`](https://k6.io/) and [`Locust`](https://locust.io/), coupled with proper time series DB as [`InfluxDB`](https://www.influxdata.com/) and `Grafana` as visualization tool. For advanced application performance analysis, I tend to use [`OpenTelemetry`](https://opentelemetry.io/) as collection tools for proper metrics that can be exposed to `Prometheus`, and tracing, ready to export into `Jaeger`.
|
||||
|
||||
Have some experiences with many mid-range cloud providers as [Digital Ocean](https://www.digitalocean.com/), [Hetzner](https://www.hetzner.com/), [OVH](https://www.ovhcloud.com/), [Scaleway](https://www.scaleway.com/), and some knowledge on [Terraform](https://www.terraform.io/) as main [*IaC*](https://en.wikipedia.org/wiki/Infrastructure_as_code) tool and [Salt](https://docs.saltproject.io/) as cluster wide configuration management.
|
||||
|
||||
Some notes of this blog :
|
||||
|
||||
* Powered by [`Hugo`](https://gohugo.io/)
|
||||
* Hosted on **Hetzner Cloud**, fully **GitOps managed** from my own [`Terraform project`](https://github.com/adr1enbe4udou1n/terraform-hcloud-k0s)
|
||||
* Running on bare-metal `Kubernetes` multi-nodes cluster from [`k0s`](https://k0sproject.io/) distribution
|
||||
* **HA** setup using **Hetzner LB**, targeting 2 worker nodes, with **Postgres cluster** (managed on same Kubernetes cluster)
|
||||
* `Traefik` as reverse proxy, configured for HA 🛣️
|
||||
* `cert-manager` with wildcard certificate 📜
|
||||
* Source code on my own [`Gitea`](https://gitea.okami101.io/adr1enbe4udou1n/blog)
|
||||
* Compiled by my own [`Concourse`](https://concourse.okami101.io) instance as a final docker container image into self-hosted private registry (**CI** 🏗️)
|
||||
* Automatically deployed by `Flux CD v2` to the Kubernetes cluster from [central Git source](https://gitea.okami101.io/adr1enbe4udou1n/flux-source/) (**CD** 🚀)
|
||||
* Fully monitored by self-hosted Kube Prometheus Stack 📊
|
||||
* Tracked with [`Matomo`](https://matomo.okami101.io/) 📈
|
||||
|
||||
All above tools are 💯% self-hosted ! Just sadly missing my own Homelab with Proxmox because no fiber 😿
|
||||
|
||||
Seems [overkill](https://twitter.com/memenetes/status/1559208569588912132) ? Yeah, but why not ? I'm not able to write a single post without all that 😿
|
||||
|
||||
See some of [my open sourced works]({{< ref "works" >}} "Okami101 Works").
|
15
layouts/_default/simple.html
Normal file
15
layouts/_default/simple.html
Normal file
@ -0,0 +1,15 @@
|
||||
{{ define "main" }}
|
||||
<article>
|
||||
<header>
|
||||
{{ if .Params.showBreadcrumbs | default (.Site.Params.article.showBreadcrumbs | default false) }}
|
||||
{{ partial "breadcrumbs.html" . }}
|
||||
{{ end }}
|
||||
<h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral text-center">
|
||||
{{ .Title | emojify }}
|
||||
</h1>
|
||||
</header>
|
||||
<section class="mt-6 prose dark:prose-invert mx-auto">
|
||||
{{ .Content | emojify }}
|
||||
</section>
|
||||
</article>
|
||||
{{ end }}
|
@ -32,10 +32,6 @@
|
||||
{{- end }}
|
||||
</p>
|
||||
|
||||
<a href="https://yesterweb.org/no-to-web3/">
|
||||
<img src="https://auzziejay.com/images/noweb32.gif" alt="No to Web3" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<a href="/privacy-policy" class="hidden md:block text-sm text-neutral-500 dark:text-neutral-400 mr-2 lg:mr-8">
|
||||
|
@ -1,29 +1,25 @@
|
||||
<article class="flex flex-col items-center {{ if not .Site.Params.homepage.showRecent }}
|
||||
<div class="h-full flex flex-col">
|
||||
<article
|
||||
class="flex flex-col grow items-center justify-center text-center {{ if not .Site.Params.homepage.showRecent }}
|
||||
h-full
|
||||
{{ end }}">
|
||||
<header class="flex flex-col items-center mb-8">
|
||||
{{ with .Site.Author.image }}
|
||||
{{ $authorImage := resources.Get . }}
|
||||
{{ if $authorImage }}
|
||||
{{ $authorImage := $authorImage.Fill "288x288" }}
|
||||
<img class="mb-2 rounded-full w-36 h-36" width="144" height="144" alt="Author"
|
||||
src="{{ $authorImage.RelPermalink }}" />
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<h1 class="text-4xl font-extrabold">
|
||||
{{ .Site.Author.name | default .Site.Title }}
|
||||
</h1>
|
||||
{{ with .Site.Author.headline }}
|
||||
<h2 class="text-xl text-neutral-500 dark:text-neutral-400">
|
||||
{{ . }}
|
||||
</h2>
|
||||
{{ end }}
|
||||
<div class="mt-1 text-2xl">
|
||||
{{ partialCached "author-links.html" . }}
|
||||
</div>
|
||||
</header>
|
||||
<section class="prose dark:prose-invert">{{ .Content | emojify }}</section>
|
||||
{{ end }}"
|
||||
>
|
||||
<header class="flex flex-col items-center mb-3">
|
||||
<h1 class="text-4xl font-extrabold">
|
||||
{{ .Site.Author.name | default .Site.Title }}
|
||||
</h1>
|
||||
{{ with .Site.Author.headline }}
|
||||
<h2 class="text-xl text-neutral-500 dark:text-neutral-400">
|
||||
{{ . | markdownify | emojify }}
|
||||
</h2>
|
||||
{{ end }}
|
||||
<div class="mt-1 text-2xl">
|
||||
{{ partialCached "author-links.html" . }}
|
||||
</div>
|
||||
</header>
|
||||
<section class="prose dark:prose-invert">{{ .Content | emojify }}</section>
|
||||
</article>
|
||||
<section>
|
||||
{{ partial "recent-articles.html" . }}
|
||||
</section>
|
||||
{{ partial "recent-articles.html" . }}
|
||||
</section>
|
||||
</div>
|
Reference in New Issue
Block a user