Fryboyter

Änderung an der Suchfunktion

Letztes Jahr hatte ich in https://fryboyter.de eine Suchfunktion eingebaut, die DuckDuckGo nutzt. So wirklich glücklich war ich damit nie, da ich somit auf Dritte angewiesen bin.

Daher habe ich vor ein paar Tagen die Suchfunktion umgebaut. Über https://fryboyter.de/search/ bzw. über das Lupen-Symbol im Footer der Seite ist nun die neue Suchfunktion erreichbar die unabhängig von Dritten ist. Intern wird hierfür eine JSON-Datei erzeugt, die als Datenquelle dient. Mittels eines kleinen Java-Scripts lässt sich diese Datei durchsuchen. Wer also die Suchfunktion nutzen will, muss Javascript aktivieren. Zumindest bei genannten Link.

Einen kleinen Nachteil hat das ganze natürlich auch. Die JSON-Datei wird auf den Rechner des jeweiligen Nutzers heruntergeladen, da die Suche lokal erfolgt. Hierbei werden aktuell etwas mehr als 300 kB übertragen. In Anbetracht dessen, dass heutzutage viele Internetseiten an sich um ein Vielfaches größer sind und die Datei nur bei Aufruf des genannten Links heruntergeladen wird, finde ich die Datenmenge vertretbar.

Die Änderung basiert auf der Anleitung von https://weitblick.org/post/simple-static-site-search-hugo-jamstack/. Vielen Dank dafür.

OSBN | Allgemein

Git - Nicht übergebene Änderungen rückgängig machen

Gestern habe ich begonnen Änderungen in einem Repository auf meinem Notebook durchzuführen. Die bisherigen Änderungen habe ich allerdings noch nicht mit einem Commit gepflegt.

Da ich die Änderung heute schnellstmöglich einpflegen wollte, habe ich die Änderungen kurzerhand komplett auf einem anderen Rechner durchgeführt und einen entsprechenden Commit erstellt und diesen hochgeladen.

Eben wollte ich die Kopie des Repository auf meinem Notebook mit git pull aktualisieren. Das Ergebnis war allerdings folgende Fehlermeldung.

git pull
error: Pull mit Rebase nicht möglich: Sie haben Änderungen, die nicht zum Commit vorgemerkt sind.
error: Bitte committen Sie die Änderungen oder benutzen Sie "stash".

Da ich ziemlich viel getestet hatte, habe ich mir erst einmal mit git status angesehen um welche Dateien es überhaupt geht. Eine der Dateien war style.css. Nach etwas Recherche bin ich auf git restore gestoßen. Mittels folgendem Befehl habe ich die Änderungen in der Datei style.css kurzerhand rückgängig machen können.

git restore themes/fryboyter/static/css/style.css

Das ganze habe ich dann auch auf die restlichen geänderten Dateien angewand und konnte dann die bereits eingepflegten Änderungen mit git pull herunterladen.

OSBN | Allgemein

Repository mit Submodulen klonen

Ich habe eben ein Repository bei Github auf einen meiner Rechner geklont und festgestellt, das ein Teil der Daten nicht vorhanden ist. Was daran lag, dass der fehlenden Teil als Submodul eingebunden ist. Die Daten liegen also in einem anderen Repository. Um ein Projekt inklusive der Submodule zu klonen kann man folgende Befehl nutzen.

git clone --recursive <LINK-ZUM-REPOSITORY>

Was aber wenn man das Hauptprojekt bereits geklont hat? Man wechselt einfach in das Verzeichnis und führt folgende Befehle aus. Hiermit werden nachträglich auch die Dateien der Submodule heruntergeladen.

git submodule init
git submodule update
OSBN | Allgemein

Dritte können nun Änderungen an meinen Artikeln vornehmen

Manchen Leuten ist scheinbar ab und zu sehr langweilig. Dieses Wochenende habe ich doch tatsächlich eine E-Mail mit Hinweisen auf den einen oder anderen Fehler in meinen Artikeln erhalten. Im Grunde waren es nur Rechtschreibfehler.

In der E-Mail wurde ich auf gefragt ob ich für solche Sachen nicht ein öffentlicht zugängliches Repository anbieten kann. Kann ich. Es ist unter https://github.com/Fryboyter/Hugo erreichbar.

Aber würde ich selbst einen Artikel lesen und dann das Repository aufrufen und die Datei suchen wen ich einen Fehler finden würde? Eher nicht. Daher habe ich nun einen Link unterhalb der jeweilige Artikelüberschrift eingebaut, der direkt auf die betreffende Datei bei Github verweist.

Als erstes habe ich hierfür in der Konfigurationsdatei von Hugo (config.toml) den Bereich [params] um einen Verweis auf das Repository eingetragen.

[params]
ghrepo = "https://github.com/Fryboyter/Hugo/"

Als nächstes habe ich das verwendete Theme (single.html und list.html) von fryboter.de wie folgt erweitert.

| <a href="{{.Site.Params.ghrepo}}edit/master/content/{{.File.Path}}" >Bei Github bearbeiten</a>

Hiermit wird das in der Datei conifg.toml hinterlegte Verweis auf das Respository genutzt. Dieser wird dann einfachum edit/master/content/ erweitert, da sich dieser Teil nicht ändert. Ganz am Schluss wird mit {{.File.Path}} auf die betreffende Datei verlinkt.

Im Grunde ist das mal wieder ziemlich simpel. Hugo gefällt mir immer mehr.

OSBN | Allgemein

Bitbucket verabschiedet sich von Mercurial

Wer als Versionsverwaltung Mercurial verwendet und diese nicht selbst hosten will nutzt vermutlich meist das Angebot von Bitbucket.

Auf dem offiziellen Blog wurde nun bekannt gegeben, dass in einigen Monaten die Unterstützung für Mercurial eingestellt wird. Bitbucket setzt dann wie andere Anbieter (z. B. Github oder Gitlab) nur noch auf Git.

Ab dem 01. Februar 2020 kann man bei Bitbucket keine Mercurial-Repositories anlegen. Ab dem 01. Juni 2020 ist dann endgültig Schluss und die vorhandenen Repositories werden gelöscht.

Wer also Projekte bei Bitbucket hostet, sollte bis spätestens 31. Mai seine Daten sichern und sich nach einer Alternative umsehen.

Ich vermute die Entscheidung von Bitbucket wird dazu führen, dass einige Projekte nun zu Git wechseln.

Wer weiterhin Mercurial nutzen will, kann sich https://www.mercurial-scm.org/wiki/MercurialHosting ansehen. Dort werden einige alternative Anbieter (die mich auf den ersten Blick alle nicht beigeistern) aufgeführt.

Ebenfalls werden dort Möglichkeiten zu selber hosten genannt. Hier finde ich vor allem Heptapod interessant. Hierbei handelt es sich um einen Fork von Gitlab der Mercurial unterstützt. Zudem sind die Entwickler von Gitlab dem Fork postiv gesinnt und unterstützen die Entwicklung. Laut den Entwicklern ist Heptapod allerdings noch in einem frühen Entwicklungsphase. Wer also Mercurial für wichtige Projekte nutzt, sollte daher noch abwarten.

OSBN | Allgemein