diff --git a/assets/img/exist.jpg b/assets/img/exist.jpg
new file mode 100644
index 0000000..30c3cb5
Binary files /dev/null and b/assets/img/exist.jpg differ
diff --git a/assets/img/me.jpg b/assets/img/me.jpg
new file mode 100644
index 0000000..940197f
Binary files /dev/null and b/assets/img/me.jpg differ
diff --git a/assets/img/mv-logo.png b/assets/img/mv-logo.png
new file mode 100644
index 0000000..ef383d9
Binary files /dev/null and b/assets/img/mv-logo.png differ
diff --git a/config/_default/config.toml b/config/_default/config.toml
new file mode 100644
index 0000000..ca6bba9
--- /dev/null
+++ b/config/_default/config.toml
@@ -0,0 +1,14 @@
+# -- Site Configuration --
+# Refer to the theme docs for more details about each of these parameters.
+# https://jpanther.github.io/congo/docs/getting-started/
+
+theme = "congo"
+# baseURL = ""
+defaultContentLanguage = "en"
+
+enableRobotsTXT = true
+paginate = 10
+summaryLength = 0
+
+[outputs]
+ home = ["HTML", "RSS", "JSON"]
diff --git a/config/_default/languages.en.toml b/config/_default/languages.en.toml
new file mode 100644
index 0000000..04841b5
--- /dev/null
+++ b/config/_default/languages.en.toml
@@ -0,0 +1,65 @@
+languageCode = "en"
+languageName = "English"
+weight = 1
+
+title = "Congo"
+copyright = "Attribution 4.0 International (CC BY 4.0)"
+
+[params]
+ isoCode = "en"
+ displayName = "EN"
+ rtl = false
+
+ dateFormat = "2 January 2006"
+
+ # mainSections = ["section1", "section2"]
+ # description = "My awesome website"
+
+[author]
+ name = "Marcel Ventosa"
+ image = "img/me.jpg"
+ # headline = "I'm only human"
+ # bio = "A little bit about you"
+ links = [
+ { email = "mailto:marcel@vegancambodia.com" },
+ { link = "https://vegancambodia.com" },
+ # { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" },
+ # { apple = "https://www.apple.com" },
+ # { blogger = "https://username.blogspot.com/" },
+ # { codepen = "https://codepen.io/username" },
+ # { dev = "https://dev.to/username" },
+ # { discord = "https://discord.gg/invitecode" },
+ # { dribbble = "https://dribbble.com/username" },
+ # { facebook = "https://facebook.com/username" },
+ # { flickr = "https://www.flickr.com/photos/username/" },
+ # { foursquare = "https://foursquare.com/username" },
+ # { github = "https://github.com/username" },
+ # { gitlab = "https://gitlab.com/username" },
+ # { google = "https://www.google.com/" },
+ # { hashnode = "https://username.hashnode.dev" },
+ # { instagram = "https://instagram.com/username" },
+ # { keybase = "https://keybase.io/username" },
+ # { kickstarter = "https://www.kickstarter.com/profile/username" },
+ # { lastfm = "https://lastfm.com/user/username" },
+ # { linkedin = "https://linkedin.com/in/username" },
+ # { mastodon = "https://mastodon.instance/@username" },
+ # { medium = "https://medium.com/username" },
+ # { microsoft = "https://www.microsoft.com/" },
+ # { orcid = "https://orcid.org/userid" },
+ # { patreon = "https://www.patreon.com/username" },
+ # { pinterest = "https://pinterest.com/username" },
+ # { reddit = "https://reddit.com/user/username" },
+ # { researchgate = "https://www.researchgate.net/profile/username" },
+ # { slack = "https://workspace.url/team/userid" },
+ # { snapchat = "https://snapchat.com/add/username" },
+ # { soundcloud = "https://soundcloud.com/username" },
+ # { stack-overflow = "https://stackoverflow.com/users/userid/username" },
+ # { steam = "https://steamcommunity.com/profiles/userid" },
+ # { telegram = "https://t.me/username" },
+ # { tiktok = "https://tiktok.com/@username" },
+ # { tumblr = "https://username.tumblr.com" },
+ # { twitch = "https://twitch.tv/username" },
+ # { twitter = "https://twitter.com/username" },
+ # { whatsapp = "https://wa.me/phone-number" },
+ # { youtube = "https://youtube.com/username" },
+ ]
diff --git a/config/_default/markup.toml b/config/_default/markup.toml
new file mode 100644
index 0000000..c5449fc
--- /dev/null
+++ b/config/_default/markup.toml
@@ -0,0 +1,13 @@
+# -- Markup --
+# These settings are required for the theme to function.
+
+[goldmark]
+[goldmark.renderer]
+ unsafe = true
+
+[highlight]
+ noClasses = false
+
+[tableOfContents]
+ startLevel = 2
+ endLevel = 4
diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml
new file mode 100644
index 0000000..5e7aa93
--- /dev/null
+++ b/config/_default/menus.en.toml
@@ -0,0 +1,46 @@
+# -- Main Menu --
+# The main menu is displayed in the header at the top of the page.
+# Acceptable parameters are name, pageRef, page, url, title, weight.
+#
+# The simplest menu configuration is to provide:
+# name = The name to be displayed for this menu link
+# pageRef = The identifier of the page or section to link to
+#
+# By default the menu is ordered alphabetically. This can be
+# overridden by providing a weight value. The menu will then be
+# ordered by weight from lowest to highest.
+
+[[main]]
+ name = "About"
+ pageRef = "about"
+ weight = 10
+
+[[main]]
+ name = "Archives"
+ pageRef = "archives"
+ weight = 15
+
+[[main]]
+ name = "Categories"
+ pageRef = "categories"
+ weight = 20
+
+[[main]]
+ name = "Tags"
+ pageRef = "tags"
+ weight = 30
+
+[[main]]
+ identifier = "search"
+ weight = 99
+ [main.params]
+ action = "search"
+
+# -- Footer Menu --
+# The footer menu is displayed at the bottom of the page, just before
+# the copyright notice. Configure as per the main menu above.
+
+# [[footer]]
+# name = "Tags"
+# pageRef = "tags"
+# weight = 10
diff --git a/config/_default/module.toml b/config/_default/module.toml
new file mode 100644
index 0000000..74f7727
--- /dev/null
+++ b/config/_default/module.toml
@@ -0,0 +1,3 @@
+[hugoVersion]
+ extended = false
+ min = "0.87.0"
diff --git a/config/_default/params.toml b/config/_default/params.toml
new file mode 100644
index 0000000..43be313
--- /dev/null
+++ b/config/_default/params.toml
@@ -0,0 +1,77 @@
+# -- Theme Options --
+# These options control how the theme functions and allow you to
+# customise the display of your website.
+#
+# Refer to the theme docs for more details about each of these parameters.
+# https://jpanther.github.io/congo/docs/configuration/#theme-parameters
+
+colorScheme = "ocean"
+defaultAppearance = "light" # valid options: light or dark
+autoSwitchAppearance = true
+
+enableSearch = true
+enableCodeCopy = true
+enableImageLazyLoading = true
+
+# robots = ""
+fingerprintAlgorithm = "sha256"
+
+[header]
+ layout = "basic" # valid options: basic, hamburger, hybrid, custom
+ logo = "img/mv-logo.png"
+ # logoDark = "img/dark-logo.jpg"
+ showTitle = false
+
+[footer]
+ showCopyright = true
+ showThemeAttribution = true
+ showAppearanceSwitcher = false
+ showScrollToTop = true
+
+[homepage]
+ layout = "page" # valid options: page, profile, custom
+ showRecent = true
+ recentLimit = 50
+
+[article]
+ showDate = true
+ showDateUpdated = false
+ showAuthor = false
+ showBreadcrumbs = false
+ showDraftLabel = true
+ showEdit = false
+ # editURL = "https://github.com/username/repo/"
+ editAppendPath = true
+ showHeadingAnchors = true
+ showPagination = true
+ invertPagination = false
+ showReadingTime = true
+ showTableOfContents = false
+ showTaxonomies = false
+ showWordCount = true
+ showComments = false
+ # sharingLinks = ["facebook", "twitter", "mastodon", "pinterest", "reddit", "linkedin", "email"]
+
+[list]
+ showBreadcrumbs = false
+ showSummary = true
+ showTableOfContents = false
+ showTaxonomies = false
+ groupByYear = true
+ paginationWidth = 1
+
+[sitemap]
+ excludedKinds = ["taxonomy", "term"]
+
+[taxonomy]
+ showTermCount = true
+
+[fathomAnalytics]
+ # site = "ABC12345"
+ # domain = "llama.yoursite.com"
+
+[verification]
+ # google = ""
+ # bing = ""
+ # pinterest = ""
+ # yandex = ""
diff --git a/content/_index.md b/content/_index.md
new file mode 100644
index 0000000..891b09c
--- /dev/null
+++ b/content/_index.md
@@ -0,0 +1,7 @@
+---
+# title: "~mve"
+description: "Marcel Ventosa's personal blog"
+cascade:
+ showReadingTime: true
+---
+# A space for thoughts.
diff --git a/content/about/_index.md b/content/about/_index.md
new file mode 100644
index 0000000..bf810dd
--- /dev/null
+++ b/content/about/_index.md
@@ -0,0 +1,13 @@
+---
+# title: "About me"
+description: "Marcel Ventosa's personal blog"
+---
+# About me
+
+
+
+Hi! My name is Marcel. I’m married, have one daughter, and run a construction consultancy and stamped concrete contracting business in Phnom Penh, Cambodia.
+
+I like traveling and have previously lived in Mexico, the US, Argentina, and Thailand.
+
+I enjoy (think, read about, use or practice) in no particular order: yoga, Emacs, veganism, tinkering, geopolitics, education, and Free Software.
diff --git a/content/about/marcel.jpg b/content/about/marcel.jpg
new file mode 100644
index 0000000..f81bd4e
Binary files /dev/null and b/content/about/marcel.jpg differ
diff --git a/content/archives/2023-06-30/2023-06-30.md b/content/archives/2023-06-30/2023-06-30.md
new file mode 100644
index 0000000..104149f
--- /dev/null
+++ b/content/archives/2023-06-30/2023-06-30.md
@@ -0,0 +1,17 @@
+---
+title: "My First Blog Post"
+date: 2023-06-30
+description: ""
+summary: "Why I am starting this blog."
+---
+
+![Sign at parking lot translated from Khmer to English as Exist](../exist.jpg)
+
+
+A couple of months ago, I stumbled on [Jack Baty](https://baty.net)'s blog, added it to [Elfeed](https://github.com/skeeto/elfeed/), and started reading his daily updates. After a few weeks, I was looking forward to reading them every morning.
+
+Being a digital recluse, I'm still a bit skeptical of my capacity to enjoy sharing tidbits of my life openly online, but what the heck, I'll give it a shot.
+
+A shout-out to Jack for unwittingly coaxing me out of the shell.
+
+Let the experiment begin!
diff --git a/content/archives/2023-06-30/exist.jpg b/content/archives/2023-06-30/exist.jpg
new file mode 100644
index 0000000..30c3cb5
Binary files /dev/null and b/content/archives/2023-06-30/exist.jpg differ
diff --git a/content/archives/2023-07-01.md b/content/archives/2023-07-01.md
new file mode 100644
index 0000000..a23f852
--- /dev/null
+++ b/content/archives/2023-07-01.md
@@ -0,0 +1,25 @@
+---
+title: "On technology"
+date: 2023-07-01
+description: "On enabling useless and potentially harmful technology for the sake of looking cool."
+summary: "Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool."
+tags: ["technology", "dystopia"]
+categories: ["Technology"]
+---
+I arrived at the gym a few weeks ago to notice they were removing the key locks from the lockers and replacing them with some sort of RFID bracelet technology. I chuckled, because this is exactly what I feel is wrong with technolgoy: They replaced a low maintenance time-tested technology (lock and key), with a high-maintenance untested fad consisting of many more moving parts. For starters, each locker now requires a regular battery change. I didn’t open the battery compartment, but it looks like it takes triple A’s.
+
+To be fair with the management, the new technology did solve the perennial problem caused by whatever sequential (FIFO?) system they were using to distribute keys to people as they walked in, and which caused congestion at specific areas of the locker room while leaving the rest of the space completely unused. The digital bracelets can lock any locker, allowing members to choose for themselves. I can think of simpler ways of fixing that problem.
+
+A week or so later, I walked into the lobby and noticed they were changing the check-in system, consisting of an RFID enabled member card scanned on entry, to what appeared to be fingerprint scanners. Bad news, I thought. Sure enough, within a few days the new system was up, and I was asked to scan my finger and get a new membership card to continue using the facilities. I informed them I would not provide my biometrics to enter a gym (or any place for that matter). The only exception being entering and leaving countries and other mandatory government initiatives where I have no choice.
+
+Why do I have a problem with biometrics enabled doors? I makes me feel we’re ushering in a dystopian future we will regret. I see a future where, cheaply and on a massive scale, every door will open (or not) based on each individual: "Sorry citizen, this a "Class A" facility. Based on your socioeconomic profile and psychometric tests (or social credit score?) you are ranked "Class B-". Please step aside."
+
+I have a problem with the data collection itself. Will this database be sold to third parties? Where are the servers located? What kind of firewall is used? This gym is one of the fanciest in town. Who would like to access member data? For what purposes?
+
+I asked politely why they required my fingerprint in addition to the RFID enabled card (which now need not be scanned, but must be deposited at reception to receive towels and locker opening bracelet). They informed me members were sharing their cards with third parties and the owner wanted to fix the problem.
+
+I told them my wife and I use the gym almost every day, and had no desire to share the card with anyone else. I also reminded them of the large TV hanging over the entrance gate and displaying each member’s private information as they scan the card, including a photo (the same photo printed on the card itself), and number of times the door has been accessed since the membership became active. They said they would raise the issue with "The Big Boss."
+
+A few weeks of silence ensued; The Big Boss was out of the country, I was informed. Finally, last week I went to ask again and was told The Big Boss understands and respects my dilemma. There are four of us refuseniks in the entire gym. We will be allowed to finish our yearly membership, but will not be allowed to renew it. I mentioned this drama to an acquaintance who lives in a suburb recently and he laughed and told me his gym has no need for cards or fingerprints: a facial recognition system automatically opens the door.
+
+Meanwhile, at my gym, a security guard scans an RFID enabled card to let me in every time after I show him my old RFID membership card, which I then deposit with the reception to receive a silicon bracelet and two towels, and scans the card again after I exchange the towels and bracelet for the card. I asked them why they wouldn’t make an exception and allow me to have an RFID card that opens the gate, like the guard’s. Not possible, they said, but would I reconsider my position maybe? I told them there’s only one finger I’m going to give them, and it will not be used for biometric scanning.
diff --git a/layouts/partials/extend-footer.html b/layouts/partials/extend-footer.html
new file mode 100644
index 0000000..0d68fe7
--- /dev/null
+++ b/layouts/partials/extend-footer.html
@@ -0,0 +1,3 @@
+
Hi! My name is Marcel. I’m married, have one daughter, and run a construction consultancy and stamped concrete contracting business in Phnom Penh, Cambodia.
+
I like traveling and have previously lived in Mexico, the US, Argentina, and Thailand.
+
I enjoy (think, read about, use or practice) in no particular order: yoga, Emacs, veganism, tinkering, geopolitics, education, and Free Software.
+
+
+
+
+
+
+ There's no articles to list here yet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/about/index.xml b/public/about/index.xml
new file mode 100644
index 0000000..cc867b1
--- /dev/null
+++ b/public/about/index.xml
@@ -0,0 +1,11 @@
+
+
+
+ Congo
+ /about/
+ Recent content on Congo
+ Hugo -- gohugo.io
+ en
+ Attribution 4.0 International (CC BY 4.0)
+
+
diff --git a/public/about/marcel.jpg b/public/about/marcel.jpg
new file mode 100644
index 0000000..f81bd4e
Binary files /dev/null and b/public/about/marcel.jpg differ
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 0000000..56bd4ee
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
new file mode 100644
index 0000000..2d9dd07
Binary files /dev/null and b/public/android-chrome-512x512.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 0000000..dc8ae42
Binary files /dev/null and b/public/apple-touch-icon.png differ
diff --git a/public/archives/2023-06-30/2023-06-30/index.html b/public/archives/2023-06-30/2023-06-30/index.html
new file mode 100644
index 0000000..640438b
--- /dev/null
+++ b/public/archives/2023-06-30/2023-06-30/index.html
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My First Blog Post · Congo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
A couple of months ago, I stumbled on Jack Baty’s blog, added it to Elfeed, and started reading his daily updates. After a few weeks, I was looking forward to reading them every morning.
+
Being a digital recluse, I’m still a bit skeptical of my capacity to enjoy sharing tidbits of my life openly online, but what the heck, I’ll give it a shot.
+
A shout-out to Jack for unwittingly coaxing me out of the shell.
I arrived at the gym a few weeks ago to notice they were removing the key locks from the lockers and replacing them with some sort of RFID bracelet technology. I chuckled, because this is exactly what I feel is wrong with technolgoy: They replaced a low maintenance time-tested technology (lock and key), with a high-maintenance untested fad consisting of many more moving parts. For starters, each locker now requires a regular battery change. I didn’t open the battery compartment, but it looks like it takes triple A’s.
+
To be fair with the management, the new technology did solve the perennial problem caused by whatever sequential (FIFO?) system they were using to distribute keys to people as they walked in, and which caused congestion at specific areas of the locker room while leaving the rest of the space completely unused. The digital bracelets can lock any locker, allowing members to choose for themselves. I can think of simpler ways of fixing that problem.
+
A week or so later, I walked into the lobby and noticed they were changing the check-in system, consisting of an RFID enabled member card scanned on entry, to what appeared to be fingerprint scanners. Bad news, I thought. Sure enough, within a few days the new system was up, and I was asked to scan my finger and get a new membership card to continue using the facilities. I informed them I would not provide my biometrics to enter a gym (or any place for that matter). The only exception being entering and leaving countries and other mandatory government initiatives where I have no choice.
+
Why do I have a problem with biometrics enabled doors? I makes me feel we’re ushering in a dystopian future we will regret. I see a future where, cheaply and on a massive scale, every door will open (or not) based on each individual: “Sorry citizen, this a “Class A” facility. Based on your socioeconomic profile and psychometric tests (or social credit score?) you are ranked “Class B-”. Please step aside.”
+
I have a problem with the data collection itself. Will this database be sold to third parties? Where are the servers located? What kind of firewall is used? This gym is one of the fanciest in town. Who would like to access member data? For what purposes?
+
I asked politely why they required my fingerprint in addition to the RFID enabled card (which now need not be scanned, but must be deposited at reception to receive towels and locker opening bracelet). They informed me members were sharing their cards with third parties and the owner wanted to fix the problem.
+
I told them my wife and I use the gym almost every day, and had no desire to share the card with anyone else. I also reminded them of the large TV hanging over the entrance gate and displaying each member’s private information as they scan the card, including a photo (the same photo printed on the card itself), and number of times the door has been accessed since the membership became active. They said they would raise the issue with “The Big Boss.”
+
A few weeks of silence ensued; The Big Boss was out of the country, I was informed. Finally, last week I went to ask again and was told The Big Boss understands and respects my dilemma. There are four of us refuseniks in the entire gym. We will be allowed to finish our yearly membership, but will not be allowed to renew it. I mentioned this drama to an acquaintance who lives in a suburb recently and he laughed and told me his gym has no need for cards or fingerprints: a facial recognition system automatically opens the door.
+
Meanwhile, at my gym, a security guard scans an RFID enabled card to let me in every time after I show him my old RFID membership card, which I then deposit with the reception to receive a silicon bracelet and two towels, and scans the card again after I exchange the towels and bracelet for the card. I asked them why they wouldn’t make an exception and allow me to have an RFID card that opens the gate, like the guard’s. Not possible, they said, but would I reconsider my position maybe? I told them there’s only one finger I’m going to give them, and it will not be used for biometric scanning.
+
+
diff --git a/public/index.json b/public/index.json
new file mode 100644
index 0000000..384ac7a
--- /dev/null
+++ b/public/index.json
@@ -0,0 +1 @@
+[{"content":"A space for thoughts. # ","date":null,"permalink":"/","section":"","summary":"A space for thoughts.","title":""},{"content":"","date":null,"permalink":"/archives/","section":"Archives","summary":"","title":"Archives"},{"content":"","date":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories"},{"content":"","date":null,"permalink":"/tags/dystopia/","section":"Tags","summary":"","title":"dystopia"},{"content":"I arrived at the gym a few weeks ago to notice they were removing the key locks from the lockers and replacing them with some sort of RFID bracelet technology. I chuckled, because this is exactly what I feel is wrong with technolgoy: They replaced a low maintenance time-tested technology (lock and key), with a high-maintenance untested fad consisting of many more moving parts. For starters, each locker now requires a regular battery change. I didn’t open the battery compartment, but it looks like it takes triple A’s.\nTo be fair with the management, the new technology did solve the perennial problem caused by whatever sequential (FIFO?) system they were using to distribute keys to people as they walked in, and which caused congestion at specific areas of the locker room while leaving the rest of the space completely unused. The digital bracelets can lock any locker, allowing members to choose for themselves. I can think of simpler ways of fixing that problem.\nA week or so later, I walked into the lobby and noticed they were changing the check-in system, consisting of an RFID enabled member card scanned on entry, to what appeared to be fingerprint scanners. Bad news, I thought. Sure enough, within a few days the new system was up, and I was asked to scan my finger and get a new membership card to continue using the facilities. I informed them I would not provide my biometrics to enter a gym (or any place for that matter). The only exception being entering and leaving countries and other mandatory government initiatives where I have no choice.\nWhy do I have a problem with biometrics enabled doors? I makes me feel we’re ushering in a dystopian future we will regret. I see a future where, cheaply and on a massive scale, every door will open (or not) based on each individual: \u0026ldquo;Sorry citizen, this a \u0026ldquo;Class A\u0026rdquo; facility. Based on your socioeconomic profile and psychometric tests (or social credit score?) you are ranked \u0026ldquo;Class B-\u0026rdquo;. Please step aside.\u0026rdquo;\nI have a problem with the data collection itself. Will this database be sold to third parties? Where are the servers located? What kind of firewall is used? This gym is one of the fanciest in town. Who would like to access member data? For what purposes?\nI asked politely why they required my fingerprint in addition to the RFID enabled card (which now need not be scanned, but must be deposited at reception to receive towels and locker opening bracelet). They informed me members were sharing their cards with third parties and the owner wanted to fix the problem.\nI told them my wife and I use the gym almost every day, and had no desire to share the card with anyone else. I also reminded them of the large TV hanging over the entrance gate and displaying each member’s private information as they scan the card, including a photo (the same photo printed on the card itself), and number of times the door has been accessed since the membership became active. They said they would raise the issue with \u0026ldquo;The Big Boss.\u0026rdquo;\nA few weeks of silence ensued; The Big Boss was out of the country, I was informed. Finally, last week I went to ask again and was told The Big Boss understands and respects my dilemma. There are four of us refuseniks in the entire gym. We will be allowed to finish our yearly membership, but will not be allowed to renew it. I mentioned this drama to an acquaintance who lives in a suburb recently and he laughed and told me his gym has no need for cards or fingerprints: a facial recognition system automatically opens the door.\nMeanwhile, at my gym, a security guard scans an RFID enabled card to let me in every time after I show him my old RFID membership card, which I then deposit with the reception to receive a silicon bracelet and two towels, and scans the card again after I exchange the towels and bracelet for the card. I asked them why they wouldn’t make an exception and allow me to have an RFID card that opens the gate, like the guard’s. Not possible, they said, but would I reconsider my position maybe? I told them there’s only one finger I’m going to give them, and it will not be used for biometric scanning.\n","date":"1 July 2023","permalink":"/archives/2023-07-01/","section":"Archives","summary":"Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool.","title":"On technology"},{"content":"","date":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags"},{"content":"","date":null,"permalink":"/tags/technology/","section":"Tags","summary":"","title":"technology"},{"content":"","date":null,"permalink":"/categories/technology/","section":"Categories","summary":"","title":"Technology"},{"content":" A couple of months ago, I stumbled on Jack Baty\u0026rsquo;s blog, added it to Elfeed, and started reading his daily updates. After a few weeks, I was looking forward to reading them every morning.\nBeing a digital recluse, I\u0026rsquo;m still a bit skeptical of my capacity to enjoy sharing tidbits of my life openly online, but what the heck, I\u0026rsquo;ll give it a shot.\nA shout-out to Jack for unwittingly coaxing me out of the shell.\nLet the experiment begin!\n","date":"30 June 2023","permalink":"/archives/2023-06-30/2023-06-30/","section":"Archives","summary":"Why I am starting this blog.","title":"My First Blog Post"},{"content":"About me # Hi! My name is Marcel. I’m married, have one daughter, and run a construction consultancy and stamped concrete contracting business in Phnom Penh, Cambodia.\nI like traveling and have previously lived in Mexico, the US, Argentina, and Thailand.\nI enjoy (think, read about, use or practice) in no particular order: yoga, Emacs, veganism, tinkering, geopolitics, education, and Free Software.\n","date":null,"permalink":"/about/","section":"","summary":"About me # Hi!","title":""}]
\ No newline at end of file
diff --git a/public/index.xml b/public/index.xml
new file mode 100644
index 0000000..e486dae
--- /dev/null
+++ b/public/index.xml
@@ -0,0 +1,30 @@
+
+
+
+ Congo
+ /
+ Recent content on Congo
+ Hugo -- gohugo.io
+ en
+ Attribution 4.0 International (CC BY 4.0)
+ Sat, 01 Jul 2023 00:00:00 +0000
+
+ On technology
+ /archives/2023-07-01/
+ Sat, 01 Jul 2023 00:00:00 +0000
+
+ /archives/2023-07-01/
+ Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool.
+
+
+
+ My First Blog Post
+ /archives/2023-06-30/2023-06-30/
+ Fri, 30 Jun 2023 00:00:00 +0000
+
+ /archives/2023-06-30/2023-06-30/
+ Why I am starting this blog.
+
+
+
+
diff --git a/public/js/appearance.min.022d0ebc3b46a335eb1c7ef79b7f2de143d7cd5156d433638592ef1ce5f8554e.js b/public/js/appearance.min.022d0ebc3b46a335eb1c7ef79b7f2de143d7cd5156d433638592ef1ce5f8554e.js
new file mode 100644
index 0000000..7a04c3f
--- /dev/null
+++ b/public/js/appearance.min.022d0ebc3b46a335eb1c7ef79b7f2de143d7cd5156d433638592ef1ce5f8554e.js
@@ -0,0 +1 @@
+const sitePreference=document.documentElement.getAttribute("data-default-appearance"),userPreference=localStorage.getItem("appearance");function getCSSValue(e){var t=window.getComputedStyle(document.documentElement).getPropertyValue(e);return"rgb("+t.replace(/\s+/g,"")+")"}function setThemeColor(){var e=document.querySelector("meta[name=theme-color]");return document.documentElement.classList.contains("dark")?e.setAttribute("content",getCSSValue("--color-neutral-800")):e.setAttribute("content",getCSSValue("--color-neutral")),!0}(sitePreference==="dark"&&userPreference===null||userPreference==="dark")&&(document.documentElement.classList.add("dark"),setThemeColor()),document.documentElement.getAttribute("data-auto-appearance")==="true"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&userPreference!=="light"&&(document.documentElement.classList.add("dark"),setThemeColor()),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{e.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),setThemeColor()})),window.addEventListener("DOMContentLoaded",e=>{var t=document.querySelectorAll("[id^='appearance-switcher']");t.forEach(e=>{e.addEventListener("click",()=>{document.documentElement.classList.toggle("dark"),setThemeColor(),localStorage.setItem("appearance",document.documentElement.classList.contains("dark")?"dark":"light")}),e.addEventListener("contextmenu",e=>{e.preventDefault(),localStorage.removeItem("appearance")})})})
\ No newline at end of file
diff --git a/public/js/main.bundle.min.75206d23ef83f4908b2bdd2317bf6ddff399e9173a16fff5451c40b8e857cfa8.js b/public/js/main.bundle.min.75206d23ef83f4908b2bdd2317bf6ddff399e9173a16fff5451c40b8e857cfa8.js
new file mode 100644
index 0000000..df357fa
--- /dev/null
+++ b/public/js/main.bundle.min.75206d23ef83f4908b2bdd2317bf6ddff399e9173a16fff5451c40b8e857cfa8.js
@@ -0,0 +1,12 @@
+e=this,t=function(){"use strict";function P(e,t){var n,s=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)),s}function u(e){for(var t,n=1;ne.length)&&(t=e.length);for(var n=0,s=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:1,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,e=new Map,t=Math.pow(10,s);return{get:function(s){if(o=s.match(ge).length,e.has(o))return e.get(o);var o,a=1/Math.pow(o,.5*n),i=parseFloat(Math.round(a*t)/t);return e.set(o,i),i},clear:function(){e.clear()}}}f=function(){function a(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=n.getFn,i=void 0===s?e.getFn:s,o=n.fieldNormWeight,r=void 0===o?e.fieldNormWeight:o;t(this,a),this.norm=ue(r,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return n(a,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=e,this._keysMap={},e.forEach(function(e,n){t._keysMap[e.id]=n})}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,o(this.docs[0])?this.docs.forEach(function(t,n){e._addString(t,n)}):this.docs.forEach(function(t,n){e._addObject(t,n)}),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();o(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},i=o.getFn,r=void 0===i?e.getFn:i,a=o.fieldNormWeight,c=void 0===a?e.fieldNormWeight:a,s=new f({getFn:r,fieldNormWeight:c});return s.setKeys(t.map(z)),s.setSources(n),s.create(),s}function g(t){var s,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=n.errors,f=void 0===d?0:d,l=n.currentLocation,u=void 0===l?0:l,a=n.expectedLocation,h=void 0===a?0:a,r=n.distance,c=void 0===r?e.distance:r,i=n.ignoreLocation,m=void 0===i?e.ignoreLocation:i,o=f/t.length;return m?o:(s=Math.abs(h-u),c?o+s/c:s?1:o)}function oe(){for(var i,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.minMatchCharLength,o=[],t=-1,r=-1,n=0,c=s.length;n=a&&o.push([t,r]),t=-1);return s[n-1]&&n-t>=a&&o.push([t,n-1]),o}l=32;function W(e){for(var s,n={},t=0,o=e.length;t1&&void 0!==arguments[1]?arguments[1]:{},h=o.location,C=void 0===h?e.location:h,g=o.threshold,O=void 0===g?e.threshold:g,d=o.distance,A=void 0===d?e.distance:d,m=o.includeMatches,E=void 0===m?e.includeMatches:m,p=o.findAllMatches,x=void 0===p?e.findAllMatches:p,v=o.minMatchCharLength,_=void 0===v?e.minMatchCharLength:v,u=o.isCaseSensitive,j=void 0===u?e.isCaseSensitive:u,b=o.ignoreLocation,w=void 0===b?e.ignoreLocation:b;if(t(this,s),this.options={location:C,threshold:O,distance:A,includeMatches:E,findAllMatches:x,minMatchCharLength:_,isCaseSensitive:j,ignoreLocation:w},this.pattern=j?n:n.toLowerCase(),this.chunks=[],this.pattern.length)if(a=function(e,t){y.chunks.push({pattern:e,alphabet:W(e),startIndex:t})},i=this.pattern.length,i>l){for(var r=0,f=i%l,k=i-f;r3&&void 0!==arguments[3]?arguments[3]:{},B=r.location,V=void 0===B?e.location:B,R=r.distance,C=void 0===R?e.distance:R,N=r.threshold,K=void 0===N?e.threshold:N,F=r.findAllMatches,W=void 0===F?e.findAllMatches:F,D=r.minMatchCharLength,z=void 0===D?e.minMatchCharLength:D,I=r.includeMatches,H=void 0===I?e.includeMatches:I,L=r.ignoreLocation,j=void 0===L?e.ignoreLocation:L;if(n.length>l)throw new Error($(l));for(var y,d=n.length,p=t.length,i=Math.max(0,Math.min(V,p)),m=K,h=i,x=z>1||H,S=x?Array(p):[];(y=t.indexOf(n,h))>-1;)if(P=g(n,{currentLocation:y,expectedLocation:i,distance:C,ignoreLocation:j}),m=Math.min(P,m),h=y+d,x)for(b=0;b=T;o-=1)if(v=o-1,E=s[t.charAt(v)],x&&(S[v]=+!!E),u[o]=(u[o+1]<<1|1)&E,c&&(u[o]|=(w[o+1]|w[o])<<1|1|w[o+1]),u[o]&U&&(A=g(n,{errors:c,currentLocation:v,expectedLocation:i,distance:C,ignoreLocation:j}))<=m){if(m=A,(h=v)<=i)break;T=Math.max(1,2*i-h)}if(g(n,{errors:c+1,currentLocation:i,expectedLocation:i,distance:C,ignoreLocation:j})>m)break;w=u}return _={isMatch:h>=0,score:Math.max(.001,A)},x&&(M=oe(S,z),M.length?H&&(_.indices=M):_.isMatch=!1),_}(t,j,y,{location:b+_,distance:h,threshold:v,findAllMatches:p,minMatchCharLength:m,includeMatches:a,ignoreLocation:f}),r=i.isMatch,w=i.score,c=i.indices;r&&(s=!0),u+=w,r&&c&&(o=[].concat(d(o),d(c)))}),i={isMatch:s,score:s?u/this.chunks.length:1},s&&a&&(i.indices=o),i}}]),s}(),a=function(){function e(n){t(this,e),this.pattern=n}return n(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(e){return B(e,this.multiRegex)}},{key:"isSingleMatch",value:function(e){return B(e,this.singleRegex)}}]),e}();function B(e,t){var n=e.match(t);return n?n[1]:null}var a,l,h,f,O,G=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),s}(a),Y=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),s}(a),ne=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),s}(a),U=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),s}(a),K=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),s}(a),q=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),s}(a),S=function(s){r(o,s);var i=c(o);function o(n){var f,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=s.location,g=void 0===h?e.location:h,l=s.threshold,p=void 0===l?e.threshold:l,u=s.distance,j=void 0===u?e.distance:u,a=s.includeMatches,_=void 0===a?e.includeMatches:a,d=s.findAllMatches,v=void 0===d?e.findAllMatches:d,m=s.minMatchCharLength,b=void 0===m?e.minMatchCharLength:m,r=s.isCaseSensitive,y=void 0===r?e.isCaseSensitive:r,c=s.ignoreLocation,w=void 0===c?e.ignoreLocation:c;return t(this,o),(f=i.call(this,n))._bitapSearch=new O(n,{location:g,threshold:p,distance:j,includeMatches:_,findAllMatches:v,minMatchCharLength:b,isCaseSensitive:y,ignoreLocation:w}),f}return n(o,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),o}(a),V=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){for(var t,o,n=0,s=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,s.push([t,n-1]);return o=!!s.length,{isMatch:o,score:o?0:1,indices:s}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),s}(a),_=[G,V,ne,U,q,K,Y,S],H=_.length,Z=/ +(?=(?:[^"]*"[^"]*")*[^"]*$)/;function J(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map(function(e){for(var a,r,c,l,d=e.trim().split(Z).filter(function(e){return e&&!!e.trim()}),s=[],o=0,h=d.length;o1&&void 0!==arguments[1]?arguments[1]:{},a=o.isCaseSensitive,r=void 0===a?e.isCaseSensitive:a,c=o.includeMatches,j=void 0===c?e.includeMatches:c,d=o.minMatchCharLength,v=void 0===d?e.minMatchCharLength:d,h=o.ignoreLocation,f=void 0===h?e.ignoreLocation:h,m=o.findAllMatches,p=void 0===m?e.findAllMatches:m,i=o.location,g=void 0===i?e.location:i,u=o.threshold,b=void 0===u?e.threshold:u,l=o.distance,y=void 0===l?e.distance:l;t(this,s),this.query=null,this.options={isCaseSensitive:r,includeMatches:j,minMatchCharLength:v,findAllMatches:p,ignoreLocation:f,location:g,threshold:b,distance:y},this.pattern=r?n:n.toLowerCase(),this.query=J(this.pattern,this.options)}return n(s,[{key:"searchIn",value:function(e){if(o=this.query,!o)return{isMatch:!1,score:1};u=this.options,l=u.includeMatches,e=u.isCaseSensitive?e:e.toLowerCase();for(var s,o,i,c,l,u,f,g,n=0,t=[],a=0,r=0,j=o.length;r-1&&(n.refIndex=e.idx),t.matches.push(n)}})}function fe(e,t){t.score=e.score}function pe(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.includeMatches,r=void 0===i?e.includeMatches:i,a=o.includeScore,c=void 0===a?e.includeScore:a,s=[];return r&&s.push(me),c&&s.push(fe),t.map(function(e){var t=e.idx,o={item:n[t],refIndex:t};return s.length&&s.forEach(function(t){t(e,o)}),o})}return h=function(){function a(n){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;t(this,a),this.options=u(u({},e),s),this.options.useExtendedSearch,this._keyStore=new ae(this.options.keys),this.setCollection(n,o)}return n(a,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof f))throw new Error("Incorrect 'index' type");this._myIndex=t||D(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){s(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var t,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},n=[],e=0,s=this._docs.length;e1&&void 0!==arguments[1]?arguments[1]:{},i=a.limit,s=void 0===i?-1:i,t=this.options,r=t.includeMatches,c=t.includeScore,l=t.shouldSort,d=t.sortFn,u=t.ignoreFieldNorm,n=o(e)?o(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return he(n,{ignoreFieldNorm:u}),l&&n.sort(d),L(s)&&s>-1&&(n=n.slice(0,s)),pe(n,this._docs,{includeMatches:r,includeScore:c})}},{key:"_searchStringList",value:function(e){var n=b(e,this.options),o=this._myIndex.records,t=[];return o.forEach(function(e){var o=e.v,a=e.i,r=e.n;if(s(o)){var i=n.searchIn(o),c=i.isMatch,l=i.score,d=i.indices;c&&t.push({item:o,idx:a,matches:[{score:l,value:o,norm:r,indices:d}]})}}),t}},{key:"_searchLogical",value:function(e){var n=this,r=function(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).auto,s=void 0===n||n,a=function e(n){var r,c,d,u,a=Object.keys(n),l=le(n);if(!l&&a.length>1&&!E(n))return e(T(n));if(de(n)){if(r=l?n[N]:a[0],c=l?n[re]:n[r],!o(c))throw new Error(X(r));return d={keyId:C(r),pattern:c},s&&(d.searcher=b(c,t)),d}return u={children:[],operator:a[0]},a.forEach(function(t){var s=n[t];i(s)&&s.forEach(function(t){u.children.push(e(t))})}),u};return E(e)||(e=T(e)),a(e)}(e,this.options),c=function e(t,s,o){if(!t.children){var c,l=t.keyId,u=t.searcher,i=n._findMatches({key:n._keyStore.get(l),value:n._myIndex.getValueForItemAtKeyId(s,l),searcher:u});return i&&i.length?[{idx:o,item:s,matches:i}]:[]}for(var a=[],r=0,h=t.children.length;r1&&void 0!==arguments[1]?arguments[1]:{},o=s.getFn,a=void 0===o?e.getFn:o,i=s.fieldNormWeight,r=void 0===i?e.fieldNormWeight:i,c=t.keys,l=t.records,n=new f({getFn:a,fieldNormWeight:r});return n.setKeys(c),n.setIndexRecords(l),n},h.config=e,function(){m.push.apply(m,arguments)}(te),h},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t();var e,t,fuse,showButtons=document.querySelectorAll("[id^='search-button']"),scriptBundle,copyText,copiedText,hideButton=document.getElementById("close-search-button"),wrapper=document.getElementById("search-wrapper"),modal=document.getElementById("search-modal"),input=document.getElementById("search-query"),output=document.getElementById("search-results"),first=output.firstChild,last=output.lastChild,searchVisible=!1,indexed=!1,hasResults=!1;showButtons.forEach(e=>{e.addEventListener("click",displaySearch)}),hideButton.addEventListener("click",hideSearch),wrapper.addEventListener("click",hideSearch),modal.addEventListener("click",function(e){return e.stopPropagation(),e.stopImmediatePropagation(),!1}),document.addEventListener("keydown",function(e){e.key=="/"&&(searchVisible||(e.preventDefault(),displaySearch())),e.key=="Escape"&&hideSearch(),e.key=="ArrowDown"&&searchVisible&&hasResults&&(e.preventDefault(),document.activeElement==input?first.focus():document.activeElement==last?last.focus():document.activeElement.parentElement.nextSibling.firstElementChild.focus()),e.key=="ArrowUp"&&searchVisible&&hasResults&&(e.preventDefault(),document.activeElement==input?input.focus():document.activeElement==first?input.focus():document.activeElement.parentElement.previousSibling.firstElementChild.focus())}),input.onkeyup=function(){executeQuery(this.value)};function displaySearch(){indexed||buildIndex(),searchVisible||(document.body.style.overflow="hidden",wrapper.style.visibility="visible",input.focus(),searchVisible=!0)}function hideSearch(){searchVisible&&(document.body.style.overflow="visible",wrapper.style.visibility="hidden",input.value="",output.innerHTML="",document.activeElement.blur(),searchVisible=!1)}function fetchJSON(e,t){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(n.readyState===4&&n.status===200){var e=JSON.parse(n.responseText);t&&t(e)}},n.open("GET",e),n.send()}function buildIndex(){var e=wrapper.getAttribute("data-url"),e=e.replace(/\/?$/,"/");fetchJSON(e+"index.json",function(e){var t={shouldSort:!0,ignoreLocation:!0,threshold:0,includeMatches:!0,keys:[{name:"title",weight:.8},{name:"section",weight:.2},{name:"summary",weight:.6},{name:"content",weight:.4}]};fuse=new Fuse(e,t),indexed=!0})}function executeQuery(e){let n=fuse.search(e),t="";n.length>0?(n.forEach(function(e){t=t+`