Skip to content

Commit 76223af

Browse files
committed
First commit
0 parents  commit 76223af

File tree

12 files changed

+246
-0
lines changed

12 files changed

+246
-0
lines changed

.github/workflows/hugo.yaml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Sample workflow for building and deploying a Hugo site to GitHub Pages
2+
name: Deploy Hugo site to Pages
3+
4+
on:
5+
# Runs on pushes targeting the default branch
6+
push:
7+
branches:
8+
- main
9+
10+
# Allows you to run this workflow manually from the Actions tab
11+
workflow_dispatch:
12+
13+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
14+
permissions:
15+
contents: read
16+
pages: write
17+
id-token: write
18+
19+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
20+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
21+
concurrency:
22+
group: "pages"
23+
cancel-in-progress: false
24+
25+
# Default to bash
26+
defaults:
27+
run:
28+
shell: bash
29+
30+
jobs:
31+
# Build job
32+
build:
33+
runs-on: ubuntu-latest
34+
env:
35+
HUGO_VERSION: 0.124.0
36+
steps:
37+
- name: Install Hugo CLI
38+
run: |
39+
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
40+
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
41+
- name: Install Dart Sass
42+
run: sudo snap install dart-sass
43+
- name: Checkout
44+
uses: actions/checkout@v4
45+
with:
46+
submodules: recursive
47+
fetch-depth: 0
48+
- name: Setup Pages
49+
id: pages
50+
uses: actions/configure-pages@v4
51+
- name: Install Node.js dependencies
52+
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
53+
- name: Build with Hugo
54+
env:
55+
# For maximum backward compatibility with Hugo modules
56+
HUGO_ENVIRONMENT: production
57+
HUGO_ENV: production
58+
run: |
59+
hugo \
60+
--gc \
61+
--minify \
62+
--baseURL "${{ steps.pages.outputs.base_url }}/"
63+
- name: Upload artifact
64+
uses: actions/upload-pages-artifact@v3
65+
with:
66+
path: ./public
67+
68+
# Deployment job
69+
deploy:
70+
environment:
71+
name: github-pages
72+
url: ${{ steps.deployment.outputs.page_url }}
73+
runs-on: ubuntu-latest
74+
needs: build
75+
steps:
76+
- name: Deploy to GitHub Pages
77+
id: deployment
78+
uses: actions/deploy-pages@v4
79+

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/public/
2+
/resources/_gen/
3+
/assets/jsconfig.json
4+
hugo_stats.json
5+
6+
# Executable may be added to repository
7+
hugo.exe
8+
hugo.darwin
9+
hugo.linux
10+
11+
# Temporary lock file while building
12+
/.hugo_build.lock

.gitmodules

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[submodule "smol"]
2+
path = smol
3+
url = https://github.com/colorchestra/smol
4+
[submodule "themes/smol"]
5+
path = themes/smol
6+
url = https://github.com/colorchestra/smol
7+
[submodule "themes/archie"]
8+
path = themes/archie
9+
url = https://github.com/athul/archie

archetypes/default.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
3+
date = {{ .Date }}
4+
draft = true
5+
+++

assets/css/figure.css

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
figure.floatright {
2+
width: auto\9*0.3;
3+
height: auto;
4+
float: right;
5+
margin-top: 6px;
6+
margin-left: 10px;
7+
}
8+
9+
figure.floatleft {
10+
width: auto\9*0.3;
11+
height: auto;
12+
float: left;
13+
margin-top: 6px;
14+
margin-right: 10px;
15+
}

assets/images/me.jpg

1.24 MB
Loading

content/posts/about.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
+++
2+
title = 'About'
3+
date = 2024-05-26T10:35:50+02:00
4+
draft = false
5+
+++
6+
7+
## Who am I?
8+
9+
{{< figure class="floatleft" src="images/me.jpg" width="180" >}}
10+
11+
I am a software engineer driven by achievements. An enthusiast teammate who loves building software and pushing projects forward. Thanks to this mindset, I also participated in entrepreneurship adventures and enjoyed product and management positions. My interests, initially focused on software engineering, have grown along the way: system engineering, strategy, business and management.
12+
13+
I’m currently working for the cloud provider [3DS Outscale](https://fr.outscale.com/) in a team whose goal is developing a disruptive version of an IAM (Identity and Access Management). On the menu: distributed authorization with [Biscuit token](https://www.biscuitsec.org/) and only one authentication system per user, with uncorrelated tenants.
14+
15+
## What is this site?
16+
17+
A place to keep my own writings. The topics of the articles I publish cover a broad range of software development, from technical tutorial to software team management. I prioritize subjects that seem little covered to me or on which I can bring an original vision. However, I might also publish articles on my hobbies: guitar improvisation, sailing, video games? But not too often to keep time for practice!
18+
19+
## To learn about new posts
20+
21+
The best source is the site's [RSS Feed](/index.xml) which you can subscribe to with any RSS reader. I also post about new material on [X](https://twitter.com/He_aDc) (Twitter) to gather eventual feedback from readers.
22+
23+
## History
24+
25+
I grew up in Toulouse, France. I went to Polytech Montpellier from 2010-4 where I got a MEng in Computer Science and Microelectronics. After graduating, I came back to Toulouse working as a developer on the [warehouse management system](https://en.wikipedia.org/wiki/Warehouse_management_system) of an e-commerce thrid-party [logistics company](https://lemans.e-logik.fr/?gad_source=1&gclid=CjwKCAjwx-CyBhAqEiwAeOcTdTXp0g8Zo0NWolLNqNd3LeL6YCoz6BhppcTP-vhq6uxnT-9uS0fjKhoCAMoQAvD_BwE).
26+
27+
Two years later, I took the opportunity to create a video game start-up with associates. I learned a lot about entrepreneurship and autonomy.
28+
29+
Then I moved to Paris and joined [Neqo](https://www.neqo.eu/) a corporate start-up, several months after its creation as a technical lead. In three years, I assembled a team of five developers and managed them to create two business intelligence SaaS applications used by procurement departments of large companies and administrations.
30+
31+
I quit Neqo to combine passion and work as a game developer freelancer. I mainly worked on a personal project: a [pvp multiplayer video game](https://www.youtube.com/watch?v=ibAhIvJ0JPc). Because of the difficulty of finding funds and interesting missions, I had to resign myself and look for a new, exciting project.
32+
33+
That's how I joined the cloud provider industry by integrating Oustcale in 2023. I'm really glad to have found a project with many challenges and a great team where I'm not confined by a limited role.
34+
35+
I'm currently living in Rennes, France, working partially remotely.

content/posts/actix-middleware.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
title = 'Actix Middleware'
3+
date = 2024-04-29T18:04:25+02:00
4+
draft = true
5+
+++

hugo.toml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
baseURL = 'https://tristan.germain.com/'
2+
title = 'Tristan Germain'
3+
theme = "archie"
4+
googleAnalytics = "G-MX928QYSFW"
5+
languageCode = "en-us"
6+
copyright = "© Tristan Germain"
7+
8+
paginate=3 # articles per page
9+
10+
[params]
11+
mode="dark"
12+
useCDN=false
13+
subtitle ="Thanks to authors who shared their knowledge for free on the internet, I can overcome software development challenges. This website is my way of giving back. I’m writing about stuff I learnt along the way, which I hope brings something new to the table."
14+
customcss=["css/figure.css"]
15+
16+
[[params.social]]
17+
name = "Twitter"
18+
icon = "twitter"
19+
url = "https://twitter.com/He_aDc"
20+
21+
[[params.social]]
22+
name = "GitHub"
23+
icon = "github"
24+
url = "https://github.com/Tipnos"
25+
26+
[[params.social]]
27+
name = "LinkedIn"
28+
icon = "linkedin"
29+
url = "https://www.linkedin.com/in/tristan-germain-15784297/"
30+
31+
[[menu.main]]
32+
name = "Home"
33+
url = "/"
34+
weight = 1
35+
36+
[[menu.main]]
37+
name = "Posts"
38+
url = "/posts"
39+
weight = 2
40+
41+
[[menu.main]]
42+
name = "About"
43+
url = "/posts/about"
44+
weight = 4
45+
46+
[[menu.main]]
47+
name = "Tags"
48+
url = "/tags"
49+
weight = 5

layouts/partials/footer.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<footer>
2+
<div style="display:flex">
3+
{{- range $index, $key := .Site.Params.Social -}}
4+
<a class="soc" href="{{ $key.url }}" rel="me" title="{{ $key.name }}"><i data-feather="{{ $key.icon }}"></i></a>
5+
<a class="border"></a>
6+
{{- end -}}
7+
</div>
8+
<div class="footer-info">
9+
{{ dateFormat "2006" now }} {{ with .Site.Copyright }} {{ . }} {{ end }}
10+
</div>
11+
</footer>
12+
{{ if not .Site.IsServer }}
13+
{{ template "_internal/google_analytics.html" . }}
14+
{{ end }}
15+
16+
{{- if (isset .Site.Params "social") -}}
17+
<script>
18+
feather.replace()
19+
</script>
20+
{{- end -}}
21+

layouts/partials/head.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<header>
2+
{{ template "_internal/google_analytics.html" . }}
3+
<div class="main">
4+
<a href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a>
5+
</div>
6+
<nav>
7+
{{ range .Site.Menus.main }}
8+
<a href="{{ .URL }}">{{ .Name }}</a>
9+
{{ end }}
10+
{{ if eq .Site.Params.mode "toggle" -}}
11+
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
12+
<script src="{{ .Site.BaseURL }}js/themetoggle.js"></script>
13+
{{ end }}
14+
</nav>
15+
</header>

themes/archie

Submodule archie added at a1ecb22

0 commit comments

Comments
 (0)