diff --git a/config.toml b/config.toml index adfab22..2d82583 100644 --- a/config.toml +++ b/config.toml @@ -1,5 +1,5 @@ base_url = "https://alexohneander.de" -title = "~/alexohneander" +title = "~/alexohneander/" description = "I’m Alex Wellnitz, a DevOps architect and software developer. I currently hold the role of DevOps Engineer at Materna, where I assist developers in accelerating web performance and provide guidance on various topics such as web development, Kubernetes, network security, and more." author = "Alex Wellnitz" generate_feeds = true @@ -83,7 +83,7 @@ skin = "" # Set browser theme colour. Can be a single colour or [light, dark]. # Note: Bright colors may be ignored in dark mode. # More details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color -browser_theme_color = "#087e96" +browser_theme_color = "#ff6b01" # browser_theme_color = ["#ffffff", "#000000"] # Example of light/dark colours. # List additional stylesheets to load site-wide. @@ -111,7 +111,7 @@ remote_repository_branch = "main" # Defaults to "main". # Can be set at page or section levels, following the hierarchy: page > section > config. See: https://welpo.github.io/tabi/blog/mastering-tabi-settings/#settings-hierarchy show_remote_changes = true # Defaults to true. # Show a link to the repository of the site, right next to the "Powered by Zola & tabi" text. -show_remote_source = true # Defaults to true. +show_remote_source = false # Defaults to true. # Add a "copy" button to codeblocks (loads ~700 bytes of JavaScript). # Can be set at page or section levels, following the hierarchy: page > section > config. See: https://welpo.github.io/tabi/blog/mastering-tabi-settings/#settings-hierarchy @@ -233,7 +233,7 @@ favicon = "img/seedling.png" # Add an emoji here to use it as favicon. # Compatibility: https://caniuse.com/link-icon-svg -favicon_emoji = "🌱" +favicon_emoji = "🛸" # Path to the fallback image for social media cards (the preview image shown when sharing a link on WhatsApp, LinkedIn…). # Can be set at page or section levels, following the hierarchy: page > section > config. See: https://welpo.github.io/tabi/blog/mastering-tabi-settings/#settings-hierarchy @@ -280,6 +280,7 @@ socials = [ footer_menu = [ {url = "about", name = "about", trailing_slash = true}, {url = "privacy", name = "privacy", trailing_slash = true}, + {url = "imprint", name = "imprint", trailing_slash = true}, {url = "sitemap.xml", name = "sitemap", trailing_slash = false}, ] diff --git a/content/blog/highly-scalable-minecraft-cluster/index.md b/content/blog/highly-scalable-minecraft-cluster/index.md index e75db87..4746a5f 100644 --- a/content/blog/highly-scalable-minecraft-cluster/index.md +++ b/content/blog/highly-scalable-minecraft-cluster/index.md @@ -8,6 +8,7 @@ description = "How to build and configure a highly scalable Minecraft server" tags = ["kubernetes", "minecraft", "cluster"] [extra] +pinned = true toc = false quick_navigation_buttons = true +++ diff --git a/content/pages/imprint/index.md b/content/pages/imprint/index.md new file mode 100644 index 0000000..d59f57d --- /dev/null +++ b/content/pages/imprint/index.md @@ -0,0 +1,16 @@ ++++ +title = "Imprint" +path = "imprint" +date = 2024-12-22 +updated = 2024-12-22 ++++ + +## Address + +Alex Wellnitz +Haupstraße 4 +56291 Kisselbach + +## Contact + +Mail: [moin@alexohneander.de](mailto:moin@alexohneander.de) \ No newline at end of file diff --git a/content/pages/privacy/index.md b/content/pages/privacy/index.md index 1a5212f..4aeb1a7 100644 --- a/content/pages/privacy/index.md +++ b/content/pages/privacy/index.md @@ -5,93 +5,176 @@ date = 2023-10-31 updated = 2024-05-12 +++ -This privacy policy outlines how we collect and process your data on this website. - -{{ toc() }} - -## What data do we collect? - -### General browsing {#what-general} - -While browsing the site, no personal information is collected. - -### Comments {#what-comments} - -We do not collect any data when you send a comment or reaction, but GitHub does in order to provide the service. - -### Analytics {#what-analytics} - -For website improvement, the following non-personal data is collected: - -- **Referrer**: the source that led you to this site. -- **Requested URL**: the specific page you visited. -- **User-Agent**: identifies the browser and operating system you use (e.g. "Safari 17.0, Mac OS X"). -- **Country name**: the country you are visiting from, determined by your IP address. -- **Screen size**: the dimensions of your device's screen. -- **Time**: when you accessed the site. -- **Browsing session**: a temporary identification code generated from your IP address, browser information, and a random number. This is used to recognize a browsing session for 8 hours. After that time, the code is deleted from memory and is not stored anywhere. - -We do not track unique visitors across sessions, and we do not track how long you stay on the site or where you go after you leave. - -## How do we collect this data? - -### Comments {#how-comments} - -The data associated with comments is collected using [giscus](https://giscus.app/), a platform that enables GitHub-based comments. - -### Analytics {#how-analytics} - -The non-personal data is collected using a self-hosted instance of [GoatCounter](https://www.goatcounter.com/), an open-source privacy-friendly web analytics platform. - -## How will we use the data? - -The data sent to GitHub is used to display your comment on the site. - -The non personal data is used to generate statistics about the site, such as the number of visitors per day, or the most popular pages and referrers. This data is used to improve this demo site and the tabi theme. You can see the statistics generated from this data on the [public stats page](https://tabi-stats.osc.garden/). - -All data collected is publicly available, either in the form of comments or statistics. - -We do not use the data for any other purpose. - -## How do we store the data? - -The comments data is not stored by Giscus, as specified in their [privacy policy](https://github.com/giscus/giscus/blob/main/PRIVACY-POLICY.md#what-data-do-we-collect). The data is stored on GitHub servers. See the [GitHub's privacy policy](https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement). - -The analytics data is stored on a server hosted by [Vultr](https://www.vultr.com/). The server is located in Paris, France. - -The server follows industry best practices for security, including automatic security updates, a strict Content Security Policy, a firewall, key-based SSH access, etc. - -## How long will we store the data? - -The comments are stored indefinitely, or until you request their deletion. - -The rest of the data is stored indefinitely. - -## What are your data protection rights? - -Depending on the processing and the legal basis, there are a number of possibilities available to you to keep control over your personal data: - -- Right to access your data -- Right to amend your data -- Right to object to the processing of your personal data -- Right to limit the processing of your data -- Right to have your data deleted -- Right to withdraw your consent - -If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us using the e-mail icon in the footer of the site. - -## Cookies - -The site does not use cookies. - -## Privacy policies of other websites - -This website contains links to other websites. This privacy policy applies only to this website, so if you click on a link to another website, you should read their privacy policy. - -## Changes to the privacy policy - -We keep this privacy policy under regular review and place any updates on this web page. You can check the date this privacy policy was updated, as well as the history of changes under the page title. - -## How to contact us - -If you have any questions about this privacy policy, the data we hold on you, or you would like to exercise one of your data protection rights, please do not hesitate to contact us using the e-mail icon in the footer of the site. +

Datenschutz­erklärung

+

1. Datenschutz auf einen Blick

+

Allgemeine Hinweise

Die folgenden Hinweise geben einen einfachen Überblick darüber, +was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind +alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum +Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten +Datenschutzerklärung.

+

Datenerfassung auf dieser Website

Wer ist verantwortlich für die Datenerfassung auf dieser +Website?

Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen +Kontaktdaten können Sie dem Abschnitt „Hinweis zur Verantwortlichen Stelle“ in dieser +Datenschutzerklärung entnehmen.

Wie erfassen wir Ihre Daten?

Ihre Daten werden zum +einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z. B. um Daten handeln, die Sie in ein +Kontaktformular eingeben.

Andere Daten werden automatisch oder nach Ihrer Einwilligung beim Besuch +der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z. B. Internetbrowser, +Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie diese +Website betreten.

Wofür nutzen wir Ihre Daten?

Ein Teil der Daten wird erhoben, um eine +fehlerfreie Bereitstellung der Website zu gewährleisten. Andere Daten können zur Analyse Ihres +Nutzerverhaltens verwendet werden. Sofern über die Website Verträge geschlossen oder angebahnt +werden können, werden die übermittelten Daten auch für Vertragsangebote, Bestellungen oder +sonstige Auftragsanfragen verarbeitet.

Welche Rechte haben Sie bezüglich Ihrer Daten?

+

Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer +gespeicherten personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht, die Berichtigung oder +Löschung dieser Daten zu verlangen. Wenn Sie eine Einwilligung zur Datenverarbeitung erteilt haben, +können Sie diese Einwilligung jederzeit für die Zukunft widerrufen. Außerdem haben Sie das Recht, +unter bestimmten Umständen die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu +verlangen. Des Weiteren steht Ihnen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde +zu.

Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit an uns +wenden.

+

2. Hosting

+

Wir hosten die Inhalte unserer Website bei folgendem Anbieter:

+

Hetzner

Anbieter ist die Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen (nachfolgend +Hetzner).

Details entnehmen Sie der Datenschutzerklärung von Hetzner: https://www.hetzner.com/de/legal/privacy-policy/.

Die Verwendung von Hetzner erfolgt +auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Wir haben ein berechtigtes Interesse an einer möglichst +zuverlässigen Darstellung unserer Website. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt +die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, +soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des +Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit +widerrufbar.

+

3. Allgemeine Hinweise und Pflicht­informationen

+

Datenschutz

Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr +ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend den gesetzlichen +Datenschutzvorschriften sowie dieser Datenschutzerklärung.

Wenn Sie diese Website benutzen, +werden verschiedene personenbezogene Daten erhoben. Personenbezogene Daten sind Daten, mit denen Sie +persönlich identifiziert werden können. Die vorliegende Datenschutzerklärung erläutert, +welche Daten wir erheben und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem Zweck das +geschieht.

Wir weisen darauf hin, dass die Datenübertragung im Internet (z. B. bei der +Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor +dem Zugriff durch Dritte ist nicht möglich.

+

Hinweis zur verantwortlichen Stelle

Die verantwortliche Stelle für die Datenverarbeitung auf +dieser Website ist:

Alex Wellnitz
+Haupstraße 4
+56291 Kisselbach

+E-Mail: moin@alexohneander.de

+

Verantwortliche Stelle ist die natürliche oder juristische Person, die allein oder gemeinsam mit anderen +über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten (z. B. Namen, E-Mail- +Adressen o. Ä.) entscheidet.

+

Speicherdauer

Soweit innerhalb dieser Datenschutzerklärung keine speziellere Speicherdauer +genannt wurde, verbleiben Ihre personenbezogenen Daten bei uns, bis der Zweck für die Datenverarbeitung +entfällt. Wenn Sie ein berechtigtes Löschersuchen geltend machen oder eine Einwilligung zur +Datenverarbeitung widerrufen, werden Ihre Daten gelöscht, sofern wir keine anderen rechtlich +zulässigen Gründe für die Speicherung Ihrer personenbezogenen Daten haben (z. B. steuer- +oder handelsrechtliche Aufbewahrungsfristen); im letztgenannten Fall erfolgt die Löschung nach Fortfall +dieser Gründe.

+

Allgemeine Hinweise zu den Rechtsgrundlagen der Datenverarbeitung auf dieser Website

Sofern Sie +in die Datenverarbeitung eingewilligt haben, verarbeiten wir Ihre personenbezogenen Daten auf Grundlage von Art. +6 Abs. 1 lit. a DSGVO bzw. Art. 9 Abs. 2 lit. a DSGVO, sofern besondere Datenkategorien nach Art. 9 Abs. 1 DSGVO +verarbeitet werden. Im Falle einer ausdrücklichen Einwilligung in die Übertragung personenbezogener +Daten in Drittstaaten erfolgt die Datenverarbeitung außerdem auf Grundlage von Art. 49 Abs. 1 lit. a DSGVO. +Sofern Sie in die Speicherung von Cookies oder in den Zugriff auf Informationen in Ihr Endgerät (z. B. via +Device-Fingerprinting) eingewilligt haben, erfolgt die Datenverarbeitung zusätzlich auf Grundlage von § +25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar. Sind Ihre Daten zur Vertragserfüllung oder zur +Durchführung vorvertraglicher Maßnahmen erforderlich, verarbeiten wir Ihre Daten auf Grundlage des +Art. 6 Abs. 1 lit. b DSGVO. Des Weiteren verarbeiten wir Ihre Daten, sofern diese zur Erfüllung einer +rechtlichen Verpflichtung erforderlich sind auf Grundlage von Art. 6 Abs. 1 lit. c DSGVO. Die Datenverarbeitung +kann ferner auf Grundlage unseres berechtigten Interesses nach Art. 6 Abs. 1 lit. f DSGVO erfolgen. Über die +jeweils im Einzelfall einschlägigen Rechtsgrundlagen wird in den folgenden Absätzen dieser +Datenschutzerklärung informiert.

+

Empfänger von personenbezogenen Daten

Im Rahmen unserer Geschäftstätigkeit +arbeiten wir mit verschiedenen externen Stellen zusammen. Dabei ist teilweise auch eine Übermittlung von +personenbezogenen Daten an diese externen Stellen erforderlich. Wir geben personenbezogene Daten nur dann an +externe Stellen weiter, wenn dies im Rahmen einer Vertragserfüllung erforderlich ist, wenn wir gesetzlich +hierzu verpflichtet sind (z. B. Weitergabe von Daten an Steuerbehörden), wenn wir ein berechtigtes +Interesse nach Art. 6 Abs. 1 lit. f DSGVO an der Weitergabe haben oder wenn eine sonstige Rechtsgrundlage die +Datenweitergabe erlaubt. Beim Einsatz von Auftragsverarbeitern geben wir personenbezogene Daten unserer +Kunden nur auf Grundlage eines gültigen Vertrags über Auftragsverarbeitung weiter. Im Falle einer +gemeinsamen Verarbeitung wird ein Vertrag über gemeinsame Verarbeitung geschlossen.

+

Widerruf Ihrer Einwilligung zur Datenverarbeitung

Viele Datenverarbeitungsvorgänge sind +nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung +jederzeit widerrufen. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom +Widerruf unberührt.

+

Widerspruchsrecht gegen die Datenerhebung in besonderen Fällen sowie gegen Direktwerbung (Art. 21 +DSGVO)

WENN DIE DATENVERARBEITUNG AUF GRUNDLAGE VON ART. 6 ABS. 1 LIT. E ODER F +DSGVO ERFOLGT, HABEN SIE JEDERZEIT DAS RECHT, AUS GRÜNDEN, DIE SICH AUS IHRER +BESONDEREN SITUATION ERGEBEN, GEGEN DIE VERARBEITUNG IHRER PERSONENBEZOGENEN DATEN +WIDERSPRUCH EINZULEGEN; DIES GILT AUCH FÜR EIN AUF DIESE BESTIMMUNGEN GESTÜTZTES +PROFILING. DIE JEWEILIGE RECHTSGRUNDLAGE, AUF DENEN EINE VERARBEITUNG BERUHT, ENTNEHMEN +SIE DIESER DATENSCHUTZERKLÄRUNG. WENN SIE WIDERSPRUCH EINLEGEN, WERDEN WIR IHRE +BETROFFENEN PERSONENBEZOGENEN DATEN NICHT MEHR VERARBEITEN, ES SEI DENN, WIR +KÖNNEN ZWINGENDE SCHUTZWÜRDIGE GRÜNDE FÜR DIE VERARBEITUNG +NACHWEISEN, DIE IHRE INTERESSEN, RECHTE UND FREIHEITEN ÜBERWIEGEN ODER DIE +VERARBEITUNG DIENT DER GELTENDMACHUNG, AUSÜBUNG ODER VERTEIDIGUNG VON +RECHTSANSPRÜCHEN (WIDERSPRUCH NACH ART. 21 ABS. 1 DSGVO).

WERDEN IHRE +PERSONENBEZOGENEN DATEN VERARBEITET, UM DIREKTWERBUNG ZU BETREIBEN, SO HABEN SIE DAS +RECHT, JEDERZEIT WIDERSPRUCH GEGEN DIE VERARBEITUNG SIE BETREFFENDER PERSONENBEZOGENER +DATEN ZUM ZWECKE DERARTIGER WERBUNG EINZULEGEN; DIES GILT AUCH FÜR DAS PROFILING, +SOWEIT ES MIT SOLCHER DIREKTWERBUNG IN VERBINDUNG STEHT. WENN SIE WIDERSPRECHEN, +WERDEN IHRE PERSONENBEZOGENEN DATEN ANSCHLIESSEND NICHT MEHR ZUM ZWECKE DER +DIREKTWERBUNG VERWENDET (WIDERSPRUCH NACH ART. 21 ABS. 2 DSGVO).

+

Beschwerde­recht bei der zuständigen Aufsichts­behörde

Im Falle von +Verstößen gegen die DSGVO steht den Betroffenen ein Beschwerderecht bei einer +Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres gewöhnlichen Aufenthalts, ihres +Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes zu. Das Beschwerderecht besteht +unbeschadet anderweitiger verwaltungsrechtlicher oder gerichtlicher Rechtsbehelfe.

+

Recht auf Daten­übertrag­barkeit

Sie haben das Recht, Daten, die wir auf Grundlage +Ihrer Einwilligung oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich oder an einen Dritten in +einem gängigen, maschinenlesbaren Format aushändigen zu lassen. Sofern Sie die direkte +Übertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch +machbar ist.

+

Auskunft, Berichtigung und Löschung

Sie haben im Rahmen der geltenden gesetzlichen +Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen +Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf +Berichtigung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema personenbezogene +Daten können Sie sich jederzeit an uns wenden.

+

Recht auf Einschränkung der Verarbeitung

Sie haben das Recht, die Einschränkung der +Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Hierzu können Sie sich jederzeit an uns wenden. +Das Recht auf Einschränkung der Verarbeitung besteht in folgenden Fällen:

+

Wenn Sie die Verarbeitung Ihrer personenbezogenen Daten eingeschränkt haben, dürfen diese +Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, +Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen +natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der +Europäischen Union oder eines Mitgliedstaats verarbeitet werden.

+

SSL- bzw. TLS-Verschlüsselung

Diese Seite nutzt aus Sicherheitsgründen und zum Schutz +der Übertragung vertraulicher Inhalte, wie zum Beispiel Bestellungen oder Anfragen, die Sie an uns als +Seitenbetreiber senden, eine SSL- bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennen +Sie daran, dass die Adresszeile des Browsers von „http://“ auf „https://“ wechselt und +an dem Schloss-Symbol in Ihrer Browserzeile.

Wenn die SSL- bzw. TLS-Verschlüsselung aktiviert ist, +können die Daten, die Sie an uns übermitteln, nicht von Dritten mitgelesen werden.

+

4. Datenerfassung auf dieser Website

+

Server-Log-Dateien

Der Provider der Seiten erhebt und speichert automatisch Informationen in so +genannten Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind:

+

Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen.

Die +Erfassung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein +berechtigtes Interesse an der technisch fehlerfreien Darstellung und der Optimierung seiner Website – +hierzu müssen die Server-Log-Files erfasst werden.

+

Anfrage per E-Mail, Telefon oder Telefax

Wenn Sie uns per E-Mail, Telefon oder Telefax +kontaktieren, wird Ihre Anfrage inklusive aller daraus hervorgehenden personenbezogenen Daten (Name, Anfrage) +zum Zwecke der Bearbeitung Ihres Anliegens bei uns gespeichert und verarbeitet. Diese Daten geben wir nicht ohne +Ihre Einwilligung weiter.

Die Verarbeitung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b +DSGVO, sofern Ihre Anfrage mit der Erfüllung eines Vertrags zusammenhängt oder zur +Durchführung vorvertraglicher Maßnahmen erforderlich ist. In allen übrigen Fällen beruht +die Verarbeitung auf unserem berechtigten Interesse an der effektiven Bearbeitung der an uns gerichteten +Anfragen (Art. 6 Abs. 1 lit. f DSGVO) oder auf Ihrer Einwilligung (Art. 6 Abs. 1 lit. a DSGVO) sofern diese abgefragt +wurde; die Einwilligung ist jederzeit widerrufbar.

Die von Ihnen an uns per Kontaktanfragen +übersandten Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur +Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt (z. B. nach +abgeschlossener Bearbeitung Ihres Anliegens). Zwingende gesetzliche Bestimmungen – insbesondere +gesetzliche Aufbewahrungsfristen – bleiben unberührt.

+

Quelle: https://www.e-recht24.de

\ No newline at end of file diff --git a/content/projects/ca_projects.jpg b/content/projects/ca_projects.jpg deleted file mode 100644 index 5de0a33..0000000 Binary files a/content/projects/ca_projects.jpg and /dev/null differ diff --git a/content/projects/doteki/index.md b/content/projects/doteki/index.md deleted file mode 100644 index 02debb0..0000000 --- a/content/projects/doteki/index.md +++ /dev/null @@ -1,65 +0,0 @@ -+++ -title = "dōteki" -description = "Add dynamic content to your GitHub profile through an intuitive plugin system." -weight = 30 - -[taxonomies] -tags = ["GitHub Actions", "automation", "Python"] - -[extra] -local_image = "projects/doteki/doteki_logo.webp" -social_media_card = "social_cards/projects_doteki.jpg" -canonical_url = "https://osc.garden/projects/doteki/" -add_src_to_code_block = true -+++ - -**dōteki** updates your GitHub profile README automatically. Add your latest blog posts, music you're listening to, or any other dynamic content using plugins. - -![doteki logo: a river passing through a bamboo forest](https://cdn.jsdelivr.net/gh/welpo/doteki@main/website/static/img/logo.png) - -#### [GitHub](https://github.com/welpo/doteki) • [Website](https://doteki.org/) • [Documentation](https://doteki.org/docs/) {.centered-text} - -## How it works - -1. Add markers to your README: - -{{ add_src_to_code_block(src="README.md") }} - -```md - - -``` - -2. Configure what goes there: - -{{ add_src_to_code_block(src="doteki.toml") }} - -```toml -[sections.blog] -plugin = "feed" -url = "https://osc.garden/atom.xml" # Replace with your feed. - -[sections.last_updated] -plugin = "current_date" -inline = true -``` - -3. Set up the [GitHub Action](https://github.com/welpo/doteki-action). - -That's it! Your README will stay updated automatically. - -## Features - -- **Plugin system**: Show [blog posts](https://doteki.org/docs/plugins/feed), [music](https://doteki.org/docs/plugins/lastfm), or [build your own plugin](https://doteki.org/docs/developer-guide/plugin-standard) -- **Simple setup**: One TOML file, one GitHub Action -- **Flexible**: Each plugin has its own options (sort order, max entries, format…) -- **[Extensive documentation](https://doteki.org/docs/)**: Detailed information on how to set up and use **dōteki** and its plugins. It includes [clear instructions for developers](https://doteki.org/docs/developer-guide/) looking to contribute. - -## Documentation - -Check the [docs](https://doteki.org/docs/) for: - -- [Getting started guide](https://doteki.org/docs/) -- [Available plugins](https://doteki.org/docs/category/plugins) -- [Plugin development](https://doteki.org/docs/developer-guide/) -- [Configuration options](https://doteki.org/docs/configuration/) diff --git a/content/projects/es_projects.jpg b/content/projects/es_projects.jpg deleted file mode 100644 index ebd9689..0000000 Binary files a/content/projects/es_projects.jpg and /dev/null differ diff --git a/content/projects/doteki/doteki_logo.webp b/content/projects/rustysearch/doteki_logo.webp similarity index 100% rename from content/projects/doteki/doteki_logo.webp rename to content/projects/rustysearch/doteki_logo.webp diff --git a/content/projects/rustysearch/index.md b/content/projects/rustysearch/index.md new file mode 100644 index 0000000..4d3a866 --- /dev/null +++ b/content/projects/rustysearch/index.md @@ -0,0 +1,26 @@ ++++ +title = "Rustysearch" +description = "A simple implementation of a search engine in Rust. It uses the BM25 algorithm for ranking documents." +weight = 30 + +[taxonomies] +tags = ["Rust", "BM25", "Index", "BTree", "IDF" ] + +[extra] +local_image = "projects/rustysearch/doteki_logo.webp" +social_media_card = "social_cards/projects_doteki.jpg" +canonical_url = "https://alexohneander.de/projects/rustysearch/" +add_src_to_code_block = true ++++ + +This project is a simple implementation of a search engine in Rust. It uses the BM25 algorithm for ranking documents. This project is a learning exercise and is not intended for production use. + +![doteki logo: a river passing through a bamboo forest](https://cdn.jsdelivr.net/gh/welpo/doteki@main/website/static/img/logo.png) + +#### [GitHub](https://github.com/alexohneander/rustysearch) • [Website](https://search.dev-null.rocks) • [Documentation](https://github.com/alexohneander/rustysearch) {.centered-text} + +## Features + +- Indexing documents: The search engine maintains an index of documents, where each document is associated with a unique identifier. +- Searching: Given a query, the search engine returns the most relevant documents. +- BTree: The index is saved as a BTreeMap on the hard disk and loaded from the hard disk into RAM when the system is started. diff --git a/content/projects/doteki/social_cards/projects_doteki.jpg b/content/projects/rustysearch/social_cards/projects_doteki.jpg similarity index 100% rename from content/projects/doteki/social_cards/projects_doteki.jpg rename to content/projects/rustysearch/social_cards/projects_doteki.jpg diff --git a/static/img/main.webp b/static/img/main.webp index 174ec87..05867e0 100644 Binary files a/static/img/main.webp and b/static/img/main.webp differ diff --git a/templates/partials/footer.html b/templates/partials/footer.html index 1fb4010..22bfe8c 100644 --- a/templates/partials/footer.html +++ b/templates/partials/footer.html @@ -104,8 +104,6 @@ {# Shows "Powered by Zola & tabi" notice #} {{ macros_translate::translate(key="powered_by", default="Powered by", language_strings=language_strings) }} Zola - {{ macros_translate::translate(key="and", default="&", language_strings=language_strings) }} - tabi {# Shows link to remote repository #} {%- if config.extra.remote_repository_url and config.extra.show_remote_source | default(value=true) -%}