Update site and move to sr.ht
5
archetypes/default.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
date = {{ .Date }}
|
||||
draft = true
|
||||
+++
|
19
content/_index.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: home
|
||||
description: "The personal writings and expressions of Grayfox, otherwise known as you too and everyone else. It is a loving and silly place."
|
||||
---
|
||||
<img
|
||||
id="personal"
|
||||
src="/images/me.jpg"
|
||||
alt="My face">
|
||||
|
||||
## vasilis valatsos (βασίλης βαλατσός)
|
||||
|
||||
### machine learning | reinforcement learning | natural languages
|
||||
|
||||
I am interested in the world in all of it's offerings; when I am not exploring man made constructs, like logic, physics, and most recently ai, I like to think about the ways we occupy space.
|
||||
|
||||
m.sc. in mathematics (statistics and data science),<br/>
|
||||
university of turin,<br/>
|
||||
[m-thesis](/pdf/mthesis.pdf): implemented ppo in a custom environment named pneuma
|
||||
|
51
hugo.toml
Normal file
|
@ -0,0 +1,51 @@
|
|||
baseurl = "https://www.valatsos.gr"
|
||||
enableEmoji = true
|
||||
footnotereturnlinkcontents = "↩"
|
||||
ignoreFiles = ["\\.Rmd$", "_files$", "_cache$"]
|
||||
languageCode = "en-us"
|
||||
title = "valatsos"
|
||||
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
[markup.highlight]
|
||||
anchorLineNos = false
|
||||
codeFences = true
|
||||
guessSyntax = false
|
||||
hl_Lines = ""
|
||||
lineAnchors = ""
|
||||
lineNoStart = 1
|
||||
lineNos = false
|
||||
lineNumbersInTable = true
|
||||
noClasses = true
|
||||
style = "monokai"
|
||||
tabWidth = 4
|
||||
|
||||
[permalinks]
|
||||
post = "/post/:year/:month/:day/:slug/"
|
||||
|
||||
[[menu.main]]
|
||||
name = "life"
|
||||
url = "/life/"
|
||||
weight = 2
|
||||
|
||||
[[menu.main]]
|
||||
name = "apotheke"
|
||||
url = "https://apotheke.earth"
|
||||
weight = 3
|
||||
|
||||
[[menu.main]]
|
||||
name = "cv"
|
||||
url = "/pdf/CV.pdf"
|
||||
weight = 4
|
||||
|
||||
[[menu.feed]]
|
||||
name = "contact"
|
||||
url = "mailto:valatsosvasilis@gmail.com"
|
||||
|
||||
[params]
|
||||
custom_css = ["css/theme-override.css"]
|
||||
description = "A simple, minimal website, based on the hugo-classic theme."
|
||||
footer = """
|
||||
[github/aethrvmn](https://github.com/aethrvmn) | [sr.ht:~aethrvmn](https://git.sr.ht/~aethrvmn) | [@aethrvmn@sigmoid.social](https://sigmoid.social/@aethrvmn) | [t.me/aethrvmn](https://t.me/aethrvmn)
|
||||
"""
|
5
layouts/404.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
{{ partial "header.html" . }}
|
||||
|
||||
404 - You once were found. But now you're lost.
|
||||
|
||||
{{ partial "footer.html" . }}
|
1
layouts/_default/_markup/render-link.html
Normal file
|
@ -0,0 +1 @@
|
|||
<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if or (strings.HasPrefix .Destination "http") (strings.HasSuffix .Destination "pdf") }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
|
21
layouts/_default/list.html
Normal file
|
@ -0,0 +1,21 @@
|
|||
{{ partial "header.html" . }}
|
||||
|
||||
<div class="content-wrapper">
|
||||
{{if not .IsHome }}
|
||||
<h1>{{ .Title | markdownify }}</h1>
|
||||
{{ end }}
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
<ul>
|
||||
{{ $pages := .Pages }}
|
||||
{{ if .IsHome }}{{ $pages = .Site.RegularPages }}{{ end }}
|
||||
{{ range (where $pages "Section" "!=" "") }}
|
||||
<li>
|
||||
<span class="date">{{ .Date.Format "2006/01/02" }}</span>
|
||||
<a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{ partial "footer.html" . }}
|
30
layouts/_default/single.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
{{ partial "header.html" . }}
|
||||
<div class="article-meta">
|
||||
<h1><span class="title">{{ .Title | markdownify }}</span></h1>
|
||||
{{ with .Params.author }}<h2 class="author">{{ . }}</h2>{{ end }}
|
||||
{{ if .Params.date }}<h2 class="date">{{ .Date.Format "2006/01/02" }}</h2>{{ end }}
|
||||
<p class="terms">
|
||||
{{ range $i := (slice "categories" "tags") }}
|
||||
{{ with ($.Param $i) }}
|
||||
{{ $i | title }}: {{ range $k := . }}<a href="{{ relURL (print "/" $i "/" $k | urlize) }}">{{$k}}</a> {{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{{ if .Params.toc }}
|
||||
{{ with .TableOfContents }}
|
||||
<div id="table-of-contents">
|
||||
<h2>Table of Contents</h2>
|
||||
{{ . | safeHTML }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<div class="content-wrapper">
|
||||
<main>
|
||||
{{ .Content }}
|
||||
<a href="/"> >> Home</a>
|
||||
</main>
|
||||
</div>
|
||||
{{ partial "footer.html" . }}
|
13
layouts/_default/terms.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
{{ partial "header.html" . }}
|
||||
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
<ul class="terms">
|
||||
{{ range .Data.Terms }}
|
||||
<li>
|
||||
<a href="{{ .Page.Permalink }}">{{ .Page.Title }}</a> ({{ .Count }})
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
|
||||
{{ partial "footer.html" . }}
|
1
layouts/partials/foot_custom.html
Normal file
|
@ -0,0 +1 @@
|
|||
<a rel="me" href="https://sigmoid.social/@aethrvmn"></a>
|
35
layouts/partials/footer.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
<footer>
|
||||
{{ partial "foot_custom.html" . }}
|
||||
<!-- Automagically centers images. Original Author Yihui Xie: https://yihui.name -->
|
||||
<script>
|
||||
(function() {
|
||||
function center_el(tagName) {
|
||||
var tags = document.getElementsByTagName(tagName), i, tag;
|
||||
for (i = 0; i < tags.length; i++) {
|
||||
tag = tags[i];
|
||||
var parent = tag.parentElement;
|
||||
// center an image if it is the only element of its parent
|
||||
if (parent.childNodes.length === 1) {
|
||||
// if there is a link on image, check grandparent
|
||||
if (parent.nodeName === 'A') {
|
||||
parent = parent.parentElement;
|
||||
if (parent.childNodes.length != 1) continue;
|
||||
}
|
||||
if (parent.nodeName === 'P') parent.style.textAlign = 'center';
|
||||
}
|
||||
}
|
||||
}
|
||||
var tagNames = ['img', 'embed', 'object'];
|
||||
for (var i = 0; i < tagNames.length; i++) {
|
||||
center_el(tagNames[i]);
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
{{ with .Site.Params.footer }}
|
||||
<hr/>
|
||||
{{ . | markdownify }}
|
||||
{{ end }}
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
0
layouts/partials/head_custom.html
Normal file
48
layouts/partials/header.html
Normal file
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ .Site.LanguageCode }}">
|
||||
<head>
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png">
|
||||
<link rel="manifest" href="/images/site.webmanifest">
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.Description }}{{ end }}">
|
||||
<title>{{ .Title }} | {{ .Site.Title }}</title>
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}" />
|
||||
<link rel="stylesheet" href="{{ "/css/fonts.css" | relURL }}" />
|
||||
{{ range .Site.Params.custom_css -}}
|
||||
<link rel="stylesheet" href="{{ . | absURL }}">
|
||||
{{- end }}
|
||||
{{ partial "head_custom.html" . }}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header>
|
||||
<nav>
|
||||
<ul>
|
||||
{{ $title := lower .Title }}
|
||||
{{ $section := lower .Section }}
|
||||
<li class="pull-left {{ if .IsHome }}current{{ end }}">
|
||||
<a href="{{ .Site.BaseURL }}">~/home</a>
|
||||
</li>
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ $name := lower .Name }}
|
||||
<li class="pull-left {{ if eq $name $title }}current{{ else if eq $section $name }}current{{ else if eq $title (pluralize $name) }}current{{ end }}">
|
||||
<a href="{{ .URL }}" target="{{ if gt .Weight 2 }}_blank{{ end }}">~/{{ lower .Name }}</a>
|
||||
</li>
|
||||
{{end}}
|
||||
|
||||
{{ range .Site.Menus.feed }}
|
||||
{{ $name := lower .Name}}
|
||||
<li class="pull-right">
|
||||
<a href="{{ .URL }}">~/{{ lower .Name}}</a>
|
||||
</li>
|
||||
{{end}}
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
|
4
layouts/robots.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
# robots.txt
|
||||
User-agent: *
|
||||
Disallow:
|
||||
Disallow: /cgi-bin/
|
34
static/css/fonts.css
Normal file
|
@ -0,0 +1,34 @@
|
|||
@import url('https://fonts.googleapis.com/css2?family=GFS+Didot&display=swap');
|
||||
|
||||
html {
|
||||
font-family:
|
||||
'GFS Didot',
|
||||
sans-serif,
|
||||
'Apple Color Emoji',
|
||||
'Segoe UI Emoji',
|
||||
'Segoe UI Symbol';
|
||||
}
|
||||
|
||||
@supports (font-variation-settings: normal) {
|
||||
html { font-family:
|
||||
'GFS Didot',
|
||||
sans-serif,
|
||||
'Apple Color Emoji',
|
||||
'Segoe UI Emoji',
|
||||
'Segoe UI Symbol';
|
||||
}
|
||||
}
|
||||
|
||||
code {
|
||||
font-family:
|
||||
-apple-system,
|
||||
BlinkMacSystemFont,
|
||||
"Segoe UI",
|
||||
Helvetica,
|
||||
Arial,
|
||||
sans-serif,
|
||||
"Apple Color Emoji",
|
||||
"Segoe UI Emoji",
|
||||
"Segoe UI Symbol";
|
||||
font-size: 85%;
|
||||
}
|
239
static/css/style.css
Normal file
|
@ -0,0 +1,239 @@
|
|||
/* Dark mode */
|
||||
@media (prefers-color-scheme: dark) {
|
||||
body {
|
||||
background-color: #2d2a2e;
|
||||
color: #f7f6f3;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
background: #2d2a2e;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #ac9c6d;
|
||||
}
|
||||
|
||||
header {
|
||||
background: #2d2a2e;
|
||||
border-bottom: 2px dotted #EBC3DB;
|
||||
|
||||
}
|
||||
|
||||
.article-meta, .menu a {
|
||||
background: #393E41;
|
||||
color: white;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: auto;
|
||||
border-top: 1px solid #666;
|
||||
border-bottom: 1px solid #666;
|
||||
}
|
||||
table thead th { border-bottom: 1px solid #666; }
|
||||
th, td { padding: 5px; }
|
||||
tr:nth-child(even) { background: #666 }
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Light mode */
|
||||
@media (prefers-color-scheme: light) {
|
||||
blockquote {
|
||||
background: #f9f9f9;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #613DC1;
|
||||
}
|
||||
|
||||
header {
|
||||
background: #613DC1;
|
||||
}
|
||||
|
||||
.article-meta, .menu a {
|
||||
background: #E8DBC5;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: auto;
|
||||
border-top: 1px solid #666;
|
||||
border-bottom: 1px solid #666;
|
||||
}
|
||||
table thead th { border-bottom: 1px solid #ddd; }
|
||||
th, td { padding: 5px; }
|
||||
tr:nth-child(even) { background: #eee }
|
||||
|
||||
}
|
||||
|
||||
|
||||
body {
|
||||
max-width: 800px;
|
||||
margin: auto;
|
||||
padding: .2em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
/* Table of Contents, if wanted
|
||||
|
||||
Add to yaml:
|
||||
|
||||
output:
|
||||
blogdown::html_page:
|
||||
toc: true
|
||||
|
||||
*/
|
||||
|
||||
#TableOfContents, #TOC {
|
||||
border: 1px solid #eee;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Header and Footer */
|
||||
.menu li { display: inline-block; }
|
||||
.article-meta, .menu a {
|
||||
text-decoration: none;
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
border-style: dotted;
|
||||
border-width: 1px;
|
||||
margin: 20px 0px 20px 0px;
|
||||
}
|
||||
|
||||
.terms { font-size: .9em; }
|
||||
.menu, .article-meta, footer { text-align: center; }
|
||||
.title { font-size: 1.1em; }
|
||||
footer a { text-decoration: none; }
|
||||
|
||||
.pull-left {
|
||||
float: left
|
||||
}
|
||||
.pull-right {
|
||||
float: right
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Adjust background at your leisure! */
|
||||
header {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 1.75rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
header ul,
|
||||
header ol {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none
|
||||
}
|
||||
header nav {
|
||||
padding: 0 0.5rem
|
||||
}
|
||||
|
||||
header a {
|
||||
color: #fff;
|
||||
line-height: 1.75rem;
|
||||
padding: 0 0.5rem
|
||||
}
|
||||
header a:hover,
|
||||
header .current a {
|
||||
color: #fff
|
||||
}
|
||||
|
||||
/* Code Boxes */
|
||||
pre {
|
||||
border: 2px solid #EBC3DB;
|
||||
padding: 1em;
|
||||
overflow-x: auto;
|
||||
}
|
||||
pre code { background: none; }
|
||||
|
||||
code {
|
||||
background-color: light-dark(#D6D6D6, #888);
|
||||
border-radius: 3px;
|
||||
padding: 0.2em;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
/* Images, tables, misc. */
|
||||
img, iframe, video {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
main {
|
||||
hyphens: auto;
|
||||
max-width: 650px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
line-height: 1.7em;
|
||||
hyphens: auto;
|
||||
display: block;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
main a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #ccc;
|
||||
padding: 3px 1em 3px;
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
padding: 0px 12px 0px 12px;
|
||||
}
|
||||
|
||||
#personal {
|
||||
min-width: 40px;
|
||||
max-width: 200px;
|
||||
float: right;
|
||||
padding: 10px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#table-of-contents {
|
||||
}
|
||||
|
||||
/* Small devices, phones */
|
||||
@media only screen and (min-width : 480px) {
|
||||
#foxy {
|
||||
min-width: 40px;
|
||||
float: center;
|
||||
padding: 10px 10px 10px 20px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* 在大屏幕上应用特定样式 */
|
||||
@media screen and (min-width: 768px) {
|
||||
#table-of-contents {
|
||||
position: fixed; /* 固定定位,使其悬浮在页面上 */
|
||||
top: 50%; /* 上边距为50% */
|
||||
right: 15px; /* 右边距为0,将其放在右侧 */
|
||||
transform: translateY(-50%); /* 使用transform来垂直居中 */
|
||||
background-color: #f0f0f0; /* 设置背景颜色 */
|
||||
padding: 10px; /* 添加一些内边距以增加可读性 */
|
||||
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); /* 添加阴影效果 */
|
||||
width: 250px; /* 设置宽度 */
|
||||
max-height: 70vh; /* 设置最大高度为视口的70% */
|
||||
overflow-y: auto; /* 添加垂直滚动条 */
|
||||
}
|
||||
}
|
||||
|
5
static/css/theme-override.css
Normal file
|
@ -0,0 +1,5 @@
|
|||
footer { font-size: 90%; }
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
}
|
BIN
static/images/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
static/images/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
static/images/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
static/images/favicon-16x16.png
Normal file
After Width: | Height: | Size: 187 B |
BIN
static/images/favicon-32x32.png
Normal file
After Width: | Height: | Size: 234 B |
BIN
static/images/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
static/images/me.jpg
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
static/images/partywizard.gif
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
static/images/screenshot.png
Normal file
After Width: | Height: | Size: 358 KiB |
BIN
static/images/tn.png
Normal file
After Width: | Height: | Size: 127 KiB |