Fryboyter

Fryboyter.de um Suchfunktion erweitert

Fryboyter.de stellt für mich hauptsächlich eine persönliche Wissensdatenbank dar die ich Dritten zur Verfügung stelle. Seit ich die Seite auf Hugo umgestellt habe, habe ich festgestellt, dass ich eine Suchfunktion vermisse.

In der Dokumentation von Hugo sind zwar einige Lösungen genannt, aber diese sagen mir aus diversen Gründen nicht wirklich zu.

Schlussendlich habe ich mich nun dazu entschieden vorerst eine Suchfunktion im Footer einzubauen mit der man über die Suchmaschine DuckDuckGo die Seite durchsuchen kann. So wirklich glücklich bin ich damit zwar auch nicht aber es funktioniert zumindest und kommt ohne Javascript aus.

OSBN | Allgemein

Planetlinux

Vor einiger Zeit habe ich von einem OSBN-Mitglied die Domain planetlinux.de übernommen. Ideen waren damals genug vorhanden. Zum Beispiel eine Seite ähnlich Distrowatch auf der diverse Distributionen vorgestellt werden. Oder so etwas wie Linuxjourney. Nur eben in deutscher Sprache.

Was ist daraus geworden? Im Grunde nutze ich die Domain nur um dort diverse Dinge zu testen. Zum Beispiel den Umstieg von Wordpress auf Bolt CMS. Was vor allem daran liegt, dass ich zwar Ideen habe (ob diese gut sind sei mal dahin gestellt) aber diese technisch meist nicht umsetzen kann. Zumindest nicht alleine, da mir oft das nötigen Wissen fehlt.

Da ich die Domain aber weiterhin gut finde, möchte ich irgendetwas sinnvolles damit anstellen. Allerdings stellen sich mir zwei Fragen. Was? Und wer hat Interesse mitzuhelfen? Was den finanziellen Aspekt betrifft, wird die Domain über INWX verwaltet und ist auf meinem Überspace aufgeschaltet. Die hierbei entstehenden Kosten trage ich.

Auch wenn die sich der Domainname auf Linux bezieht, hätte ich kein Problem dies auch auf verwandte Themen wie Open Source auszuweiten. Was ich allerdings nicht anstrebe ist eine kommerzielle Nutzung wie das Schalten von Werbung oder Artikel die von Unternehmen finanziert werden. Hinsichtlich der verwendeten Technik bin ich ziemlich flexibel solange diese auf einem Uberspace läuft.

Lange Rede, kurzer Sinn. Wer hat Ideen und Lust an einem Hobby-Projekt mitzumachen?

OSBN | Allgemein

Hugo - Inhalt aus Sitemap entfernen

Google Search Console hat herumgemault, dass auf meiner Seite zwei Links durch die robots.txt gesperrt sind obwohl sie in der Sitemap auftauchen. Wie bekomme man diese nun aus der Sitemap heraus die Hugo automatisch erstellt?

Die Lösung ist eigentlich ganz einfach. Als erstes editiert man die betreffenden Artikel und erweitern die Metadaten um sitemap_exclude: true.

---
title: Geheimer Artikel
date: 2019-06-11T19:12:45+0200
sitemap_exclude: true
slug: geheimer-artikel
---

Nun muss noch das Template angepasst werden mit dem die Sitemap erzeugt wird. Hierfür erstellt man im Themeverzeichnis unter layouts/_default die Datei sitemap.xml und füllt diese mit folgendem Inhalt.

{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  {{ range .Data.Pages }}
  <url>
    <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
    <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
    <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
    <priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
    <xhtml:link
                rel="alternate"
                hreflang="{{ .Lang }}"
                href="{{ .Permalink }}"
                />{{ end }}
    <xhtml:link
                rel="alternate"
                hreflang="{{ .Lang }}"
                href="{{ .Permalink }}"
                />{{ end }}
  </url>
  {{ end }}
</urlset>

Dies entspricht erst einmal dem Standard-Template für die Sitemap. Nun ändert man Zeile 4 wie folgt ab.

{{ range .Data.Pages }}{{ if ne .Params.sitemap_exclude true }}

Abschließen erweitert man noch die Zeile 21 um ein weiteres {{ end }}.

{{ end }}{{ end }}

Wird nun die Seite neu erzeugt sollten alle Inhalte bei denen sitemap_exclude: true hinterlegt wurde nicht mehr in der Sitemap erscheinen.

Allgemein | OSBN

Manche Artikel werden nun mehrsprachig angeboten

In den letzten Jahren habe ich mir ab und zu überlegt, ob ich zumindest manche Artikel nicht zusätzlich auch auf Englisch veröffentliche. Bisher war mir allerdings die technische Umsetzung zu umständlich. Mit Hugo ist es allerdings schnell gemacht, wie ich heute festgestellt habe.

Als erstes erweitert man die Konfigurationsdatei config.toml um folgende Einträge.

DefaultContentLanguage = "de"

    [languages]
    [languages.de]
        languageName = "Deutsche Version"
        weight = 1
    [languages.en]
        languageName = "English version"
        weight = 2

Mit der ersten Zeile gibt man an, dass de die Standardsprache ist. Der Rest definiert die vorhandenen Sprachen, gibt Ihnen eine Bezeichnung und eine Gewichtung (umso niedriger umso wichtiger).

Nun erzeugt man einen neuen Artikel. Nennen wir die Datei einfach mal manche-artikel-nun-englisch.md. Nehmen wir nun einmal an, der Artikel ist wichtig genug, dass wir ihn nun auch auf Englisch veröffentlichen möchten. Also erzeugen wir einen weiteren Artikel und nennen die Datei manche-artikel-nun-englisch.en.md. Wie man sieht wurde der Titel um ein .en erweitert. Hugo kapiert nun automatisch, dass der Artikel mit .en die englische Version darstellt und die andere die deutsche Version.

Was aber, wenn nun jemand die deutschsprachige Version aufruft, aber kein Deutsch versteht? Hier müsste eine Art Umschalter vorhanden sein. Hierfür kann man zum Beispiel folgenden Code verwenden.

{{ if .IsTranslated }}
    {{ range .Translations }} | <a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a> {{ end}}
{{ end }}

Hiermit wird geprüft, ob der Artikel auch in einer anderen Sprache angeboten wird. Wenn ja wird auf die entsprechenden Versionen verlinkt. Wenn nicht, wird gar nichts angezeigt. Diesen Code habe ich auf fryboyter.de unter die Hauptüberschrift aller Artikel gepackt. Sollte dort nun bei einem Artikel der Link “English version” erscheinen, habe ich mir die Arbeit gemacht und den Artikel auch auf Englisch veröffentlicht. Aktuell wird man diese Verlinkung aber nur bei diesem Artikel finden. Nach und nach werden es aber mehr Artikel werden die ich auf Deutsch und Englisch anbiete (auch ältere).

OSBN | Allgemein

Warum verhalten wir uns so?

Ich habe gerade ein paar Runden CS:GO Deathmatch hinter mir. In jeder Runde gab es mindestens einen Mitspieler der der Meinung war jemanden heftig beleidigen zu müssen. Was soll der Scheiß?

Heutzutage sehen es viele scheinbar für normal an, dass man sich in einem Multiplayer-Spiel Krebs wünscht, dass die eigenen Mutter von Mitspielern gefickt wird oder was auch immer. Es kotzt mich nur noch an. Spätestens jetzt kommt eigentlich immer jemand an, der mir erklärt, dass ich einfach eine dickere Haut brauche. Weil das ist doch normal. Nein, verdammt, das ist es nicht. Früher auf LAN-Partys und beispielsweise Q3A-Servern hat es auch ohne Beleidigungen funktioniert.

Was ich allerdings noch schlimmer finde ist, dass man sich auch in der OSS-Szene immer mehr ankackt. Du benutzt nicht vim? Noob!!! Du hast nicht Arch Linux installiert? Du hast doch keine Ahnung von Linux!!! Du nutzt eine Grafikkarte von Nvidia? Vollidiot!!!

Jesus fucking Christ!

Bei Linux bzw. OSS geht es doch auch um die freie Wahl. Zum Beispiel die Wahl eben nicht vim sondern Visual Studio Code, Sublime Text oder Micro zu nutzen. Und Befehle wie tar, cp, rsync usw. funktionieren unter OpenSuse genauso wie unter Arch Linux. Die Nutzung einer bestimmten Distribution verlängert daher nicht das primäre Geschlechtsorgan. Egal ob im virtuellen oder im echten Leben. Sorry wenn ich euch enttäuschen muss. Auch die Nutzung von Windows macht jemanden nicht zu einem schlechteren Menschen.

Was ist so schwer daran zu akzeptieren, dass jemand zum Beispiel einen anderen Editor nutzt als man selbst? Oder eine andere Versionverwaltung? Oder ein anderes Betriebssystem?

Bleiben wird mal bei OSS. Es ist doch scheißegal, ob jemand solch eine Software mit vim oder Visual Studio Code entwickelt. Es ist doch scheißegal ob er für die Versionsverwaltung Git oder Mercurial verwendet. Was zählt ist das Ergebnis. Und im Grunde ist auch das Ergebnis scheißegal, da man auch einfach mal akzeptieren muss, nicht teil der Zielgruppe zu sein.

Was aber nicht scheißegal ist, zumindest meiner Meinung nach, wie man mit anderen umgeht. Vor allem wenn sie im Grunde genommen ähnliche Ziele verfolgen. Von daher sollten wir uns vielleicht öfter an die eigene Nase fassen anstelle andere zu kritisieren.

Allgemein | OSBN