diff options
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | config.toml | 164 | ||||
-rw-r--r-- | content/_index.md | 37 | ||||
-rw-r--r-- | content/about.md | 35 | ||||
m--------- | themes/gruvhugo | 0 | ||||
-rw-r--r-- | themes/gruvhugo.patch | 125 | ||||
m--------- | themes/researcher | 0 |
8 files changed, 83 insertions, 285 deletions
diff --git a/.gitmodules b/.gitmodules index 73b449d..726a2e4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "themes/gruvhugo"] path = themes/gruvhugo url = https://gitlab.com/avron/gruvhugo.git +[submodule "themes/researcher"] + path = themes/researcher + url = https://github.com/ojroques/hugo-researcher.git @@ -1,6 +1,6 @@ # rgdd.se This website is built using [Hugo](https://gohugo.io/) and the -[gruvhugo](https://gitlab.com/avron/gruvhugo) theme. It is deployed on a VPS. +[researcher](https://github.com/ojroques/hugo-researcher) theme. ## Quick start after cloning 1. Run `git submodule update --init --recursive`, then apply themes patch. @@ -12,7 +12,7 @@ to install extended Hugo. ## Create a new post Blog posts live in the `content/post` directory. You can use Hugo to generate -a basic template (`hugo new posts/mypost.md`), or peak at a previous post. +a basic template (`hugo new post/mypost.md`), or peak at a previous post. ## Generate a new website that can be published 1. Check that it runs as expected locally (see quick start, step 3). diff --git a/config.toml b/config.toml index 3326d20..4c8540f 100644 --- a/config.toml +++ b/config.toml @@ -1,130 +1,48 @@ -baseurl = "https://www.rgdd.se" -title = "rgdd" -languageCode = "en-us" -paginate = "10" # Number of posts per page -#------------------------------------------------------------------------------- -# DEFAULT SETTINGS -#------------------------------------------------------------------------------- - -# Default Theme -theme= "gruvhugo" - -# Default Post Extension -defaultExtension= "html" - -# Default metadata format for newly created frontmatter using -# hugo new command. "toml", "yaml", or "json" -metaDataFormat= "toml" - -[taxonomies] - tag = "tags" - category = "categories" - series = "series" - -[params.main] - enabled = true - enableKatex = true - metaKeywords = "Rasmus Dahlberg, rgdd" - headerTitle = "rgdd" - copyright = "© 2021 Rasmus Dahlberg. <a href=\"https://creativecommons.org/licenses/by/4.0/\">Some rights reserved</a>." - name = "Rasmus Dahlberg" - img = "img/author.jpg" - img_title = "Rasmus Dahlberg and his cat Cece in a forest." - quote = "Long-term sustainability requires a sound work-life balance" - description= "PhD student at Karlstad University, Sweden. Software engineer at Mullvad VPN. I am passionate about transparency logs, anonymity networks, and Linux. Off-work I cook, walk, socialize, lift weights, and spoil my cat." - licenseUrl = "" - - # Social icons - [[params.social]] - name = "instagram" +title = "rgdd.se" +baseURL = "https://www.rgdd.se" +theme = "researcher" +disableKinds = ["taxonomy", "term"] +enableEmoji = true + +[params] + author = "Rasmus Dahlberg" + description = "A simple monospaced resume theme for Hugo." + favicon = "" # path to a .ico to use as favicon + logo = "" # url or path to a logo to put in the header + [params.footer] + text = "" + url = "o" + [params.style] # appearance options (can be omitted) + fontFamily = "Luxi Mono" + pageWidth = "750px" + avatarSize = "90px" + colorBlack = "#696969" # dark gray instead + colorRed = "#006400" # dark green instead + [[params.socialIcons]] + icon = "fab fa-instagram" + title = "Instagram" url = "https://www.instagram.com/__rgdd" - - [[params.social]] - name = "twitter" - url = "https://twitter.com/__rgdd" - - [[params.social]] - name = "github" + [[params.socialIcons]] + icon = "fab fa-twitter" + title = "Twitter" + url = "https://twitter.com/__rgdd" + [[params.socialIcons]] + icon = "fab fa-github" + title = "GitHub" url = "https://github.com/rgdd" + [[params.socialIcons]] + icon = "fas fa-envelope" + title = "E-mail" + url = "mailto:rasmus@mullvad.net" - [[params.social]] - name = "email" - url = "mailto:rasmus@mullvad.net" - -[params.style] - # add path to custom CSS files here - custom_css = [] - # add path to custom SCSS files here - custom_scss = [] +[permalinks] + "/" = "/:filename" [menu] [[menu.main]] - identifier = "about" - name = "About" - url = "about" - - [[menu.main]] - identifier = "post" - name = "Blog" - url = "post/" + name = "Blog" + url = "/post" + weight = 1 -[markup] - defaultMarkdownHandler = "goldmark" - [markup.asciidocExt] - backend = "html5" - docType = "article" - extensions = [] - failureLevel = "fatal" - noHeaderOrFooter = true - safeMode = "unsafe" - sectionNumbers = false - trace = false - verbose = true - workingFolderCurrent = false - [markup.asciidocExt.attributes] - [markup.blackFriday] - angledQuotes = false - footnoteAnchorPrefix = "" - footnoteReturnLinkContents = "" - fractions = true - hrefTargetBlank = false - latexDashes = true - nofollowLinks = false - noreferrerLinks = false - plainIDAnchors = true - skipHTML = false - smartDashes = true - smartypants = true - smartypantsQuotesNBSP = false - taskLists = true - [markup.goldmark] - [markup.goldmark.extensions] - definitionList = true - footnote = true - linkify = true - strikethrough = true - table = true - taskList = true - typographer = true - [markup.goldmark.parser] - attribute = true - autoHeadingID = true - autoHeadingIDType = "github" - [markup.goldmark.renderer] - hardWraps = false - unsafe = false - xhtml = false - [markup.highlight] - codeFences = true - guessSyntax = false - hl_Lines = "" - lineNoStart = 1 - lineNos = false - lineNumbersInTable = true - noClasses = true - style = "monokai" - tabWidth = 4 - [markup.tableOfContents] - endLevel = 3 - ordered = false - startLevel = 2 +[markup.goldmark.renderer] + unsafe = true # allow raw HTML in markdown files diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..e78a549 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,37 @@ +--- +title: "rgdd.se" +--- +{{< figure class="avatar" src="img/author.jpg" alt="avatar">}} + +PhD student at Karlstad University. Software engineer at Mullvad VPN. +I am passionate about transparency logs, anonymity networks, and Linux. I have +a keen interest for the overlap between research, engineering, and operations. +Off-work I cook, walk, socialize, lift weights, and spoil my cat. + +# Project involvement +- [Sigsum]: a free and open source project project that makes a signer's +key-usage transparent. It can be used as a building block to secure the supply +chain and more. +- [System Transparency]: an open source project that provides a security +architecture for bare metal servers. A system's entire boot chain becomes +protected and auditable. + +[Sigsum]: https://www.sigsum.org +[System Transparency]: https://www.system-transparency.org + +# Selected publications +- Rasmus Dahlberg, Tobias Pulls, Tom Ritter, and Paul Syverson. +[Privacy-Preserving \& Incrementally-Deployable Support for Certificate Transparency in Tor](https://petsymposium.org/2021/files/papers/issue2/popets-2021-0024.pdf). +PETS (2021) +- Tobias Pulls and Rasmus Dahlberg. +[Website Fingerprinting with Website Oracles](https://petsymposium.org/2020/files/papers/issue1/popets-2020-0013.pdf). +PETS (2020) +- Rasmus Dahlberg, Tobias Pulls, Jonathan Vestin, Toke Høiland-Jørgensen, and Andreas Kassler. +[Aggregation-Based Certificate Transparency Gossip](https://arxiv.org/pdf/1806.08817.pdf). +SECUREWARE (2019) +- Tobias Pulls and Rasmus Dahlberg. +[Steady: A Simple End-to-End Secure Logging System](https://eprint.iacr.org/2018/737.pdf). +NordSec (2018) + +# Contact +Direct message via email, Twitter, or IRC. Rasmus Dahlberg is rgdd @ OFTC.net. diff --git a/content/about.md b/content/about.md deleted file mode 100644 index 11ef13a..0000000 --- a/content/about.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "About" ---- -Rasmus Dahlberg is a cyber security practitioner that is located in Karlstad, -Sweden. He is interested in the overlap between research, engineering, and -operations. Experience includes applied cryptography and networking, e.g., in -the forms of secure logging systems and their applications, anonymity networks -like Tor, and kernel programming. - -Currently employed by Mullvad VPN and Karlstad University. Involved in - [Sigsum](https://www.sigsum.org) -and - [System Transparency](https://www.system-transparency.org). - -# Selected publications -- Rasmus Dahlberg, Tobias Pulls, Tom Ritter, and Paul Syverson. -[Privacy-Preserving \& Incrementally-Deployable Support for Certificate Transparency in Tor](https://petsymposium.org/2021/files/papers/issue2/popets-2021-0024.pdf). -In: PETS -(2021) -- Tobias Pulls and Rasmus Dahlberg. -[Website Fingerprinting with Website Oracles](https://petsymposium.org/2020/files/papers/issue1/popets-2020-0013.pdf). -In: PETS -(2020) -- Rasmus Dahlberg, Tobias Pulls, Jonathan Vestin, Toke Høiland-Jørgensen, and Andreas Kassler. -[Aggregation-Based Certificate Transparency Gossip](https://arxiv.org/pdf/1806.08817.pdf). -In: SECUREWARE -(2019) -- Tobias Pulls and Rasmus Dahlberg. -[Steady: A Simple End-to-End Secure Logging System](https://eprint.iacr.org/2018/737.pdf). -In: NordSec -(2018) - -# Contact -Feel free to direct message via email, Twitter, and IRC. Rasmus Dahlberg is -rgdd @ OFTC.net. diff --git a/themes/gruvhugo b/themes/gruvhugo deleted file mode 160000 -Subproject 509e36e8bfd7c5901abc215d16ceb1031f22bbc diff --git a/themes/gruvhugo.patch b/themes/gruvhugo.patch deleted file mode 100644 index 1aecf4e..0000000 --- a/themes/gruvhugo.patch +++ /dev/null @@ -1,125 +0,0 @@ -From a492b06748ccaecdef081383b58663b2227826a1 Mon Sep 17 00:00:00 2001 -From: Rasmus Dahlberg <rasmus@mullvad.net> -Date: Sat, 18 Dec 2021 15:16:29 +0100 -Subject: [PATCH 1/3] removed reading time - ---- - layouts/_default/list.html | 2 +- - layouts/_default/single.html | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/layouts/_default/list.html b/layouts/_default/list.html -index a48fd24..edcdf26 100644 ---- a/layouts/_default/list.html -+++ b/layouts/_default/list.html -@@ -20,7 +20,7 @@ - {{ if .Params.Author }} - by <a class="link" href="{{ .Params.AuthorUrl }}">{{ .Params.Author }}</a></h3> - {{ end }} -- <h4>{{ .PublishDate.Format "January 2, 2006" }} | Reading Time: {{.ReadingTime}} min </h4> -+ <h4>{{ .PublishDate.Format "January 2, 2006" }}</h4> - <span class="tags"> - {{range .Params.Tags }} - <h5><a class="tag" href='{{ "tags/" | absURL }}{{.}}'>{{.}}</a></h5> -diff --git a/layouts/_default/single.html b/layouts/_default/single.html -index c850e85..d99b1c6 100644 ---- a/layouts/_default/single.html -+++ b/layouts/_default/single.html -@@ -9,7 +9,7 @@ - <p>By <a href="{{ .Params.AuthorUrl }}">{{ .Params.Author }}</a></p> - {{ end }} - <p class="post-dets">Published on: {{ .PublishDate.Format "January 2, 2006"}} -- | Reading Time: {{.ReadingTime}} min | Last Modified : {{ .Page.Lastmod.Format "January 2, 2006" }} -+ | Last Modified : {{ .Page.Lastmod.Format "January 2, 2006" }} - <br> - </p> - <span class="tags"> --- -2.20.1 - - -From 2348d5b7ef451215ecf7b46a3fa78161668feb6b Mon Sep 17 00:00:00 2001 -From: Rasmus Dahlberg <rasmus@mullvad.net> -Date: Sat, 18 Dec 2021 15:53:06 +0100 -Subject: [PATCH 2/3] only print date - ---- - layouts/_default/single.html | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/layouts/_default/single.html b/layouts/_default/single.html -index d99b1c6..5da97d6 100644 ---- a/layouts/_default/single.html -+++ b/layouts/_default/single.html -@@ -8,9 +8,7 @@ - {{ if .Params.Author }} - <p>By <a href="{{ .Params.AuthorUrl }}">{{ .Params.Author }}</a></p> - {{ end }} --<p class="post-dets">Published on: {{ .PublishDate.Format "January 2, 2006"}} -- | Last Modified : {{ .Page.Lastmod.Format "January 2, 2006" }} -- <br> -+<p class="post-dets"> {{ .PublishDate.Format "January 2, 2006"}} <br> - </p> - <span class="tags"> - {{range .Params.Tags }} --- -2.20.1 - - -From 509e36e8bfd7c5901abc215d16ceb1031f22bbcc Mon Sep 17 00:00:00 2001 -From: Rasmus Dahlberg <rasmus@mullvad.net> -Date: Sat, 18 Dec 2021 16:54:22 +0100 -Subject: [PATCH 3/3] always use dark mode - ---- - layouts/partials/header.html | 27 +-------------------------- - 1 file changed, 1 insertion(+), 26 deletions(-) - -diff --git a/layouts/partials/header.html b/layouts/partials/header.html -index 2b5f53f..7b71199 100644 ---- a/layouts/partials/header.html -+++ b/layouts/partials/header.html -@@ -3,15 +3,6 @@ - <h2><a href="{{.Site.BaseURL}}" - style="text-decoration: none; color: inherit;">{{ .Site.Params.main.headerTitle }}</a></h2> - </div> -- <div class="color-scheme"> -- <input type="checkbox" class="checkbox" id="chk" /> -- <label class="label" for="chk"> -- <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="moon" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"></path></svg> -- <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="sun" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 160c-52.9 0-96 43.1-96 -- 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"></path></svg> -- <div class="ball"></div> -- </label> -- </div> - </div> - <script> - const themeSetter = (theme) => { -@@ -19,23 +10,7 @@ - localStorage.setItem('theme', theme) - blockSwitcher() - } -- -- const blockSwitcher = () => [...document.getElementsByTagName("BLOCKQUOTE")] -- .forEach(b => b.classList.toggle('dark')) -- -- const styleSwapper = () => { -- document.body.classList.add('back-transition') -- if (localStorage.getItem('theme') === 'dark') themeSetter('light') -- else if (localStorage.getItem('theme') === 'light') themeSetter('dark') -- } -- -- if (localStorage.getItem('theme') === 'dark'){ -- themeSetter('dark') -- document.addEventListener("DOMContentLoaded", blockSwitcher) -- } -- else localStorage.setItem('theme', 'light') -- -- document.getElementById('chk').addEventListener('change',styleSwapper); -+ themeSetter('dark') - - window.addEventListener("scroll", () => { - let height = document.documentElement.scrollHeight --- -2.20.1 - diff --git a/themes/researcher b/themes/researcher new file mode 160000 +Subproject dae5f676aa1e97f33f3d0c9bf4deb4957108caa |