BETTY: Erstellung einer statischen, hostbaren Familienseite, basierend auf einem GRAMPS Export

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Falkensee
    Benutzer
    • 16.03.2025
    • 71

    BETTY: Erstellung einer statischen, hostbaren Familienseite, basierend auf einem GRAMPS Export

    ... der Titel ist vielleicht etwas unglücklich. Hoffe aber, dass ein Großteil der User was damit anfangen kann. Ansonsten versuche ich das mal grob zu umreißen. In der Liste der Programme habe ich Betty nicht finden können, die Suche ergab alles Mögliche an Personennamen in diversen Unterforen.


    Auf der Suche nach dem, was es so gibt, an Applikationen für die Familienforschung bin ich auf 'Betty' gestoßen.

    Wozu?

    Dabei handelt es sich um ein Tool, in der Sprache Python, mit dem sich eine statische Webseite erstellen lässt.
    Diese lässt sich mithilfe eines Webservers beim Hoster des Vertrauens, im eigenen LAN oder auf dem eigenen Computer/Laptop hosten.

    Voraussetzungen

    Da es sich um ein in Python geschriebenes Tool handelt, ist eine Python Umgebung erforderlich.
    Jetzt soll das hier allerdings kein Python Crashkurs werden. Gefragt kann natürlich trotzdem werden.

    Ich selbst verwende auf dem Laptop (unter LINUX) Anaconda als virtuelle Python Umgebung.
    Python unter Windows geht auch mit Anaconda (selbst nie ausprobiert) ...

    Virtuelle Umgebungen ermöglichen ein Arbeiten, Testen, etc. ohne dem Hostsystem in irgendeiner Weise 'Schaden' zuzufügen.
    Das Hostsystem verwendet ggf. ebenfalls Python in verschiedenen Abhängigkeiten. Spielt man da zu viel herum, kann es den Tag versauen. Ich weiß leider, wovon ich spreche. Mein Python Einstieg war zu 'idealistisch' weil ich mich an PHP orientiert hatte. Bei PHP braucht man keine virtuellen Umgebungen ...

    Die Benutzung solcher Umgebungen hat aber auch Vorteile. Python Module/Libs werden dann nur in der aktiven Umgebung installiert. Braucht man das nicht mehr, entfernt man einfach die virtuelle Umgebung, ohne das Hostsystem zu schädigen. Weiterhin lässt sich bei der Erstellung der virtuellen Umgebung ebenfalls die erforderliche Python Version mit angeben.

    Vorgehensweise (LINUX)

    Ausgehend von Python auf dem Host + dem installierten Anaconda ...

    Erstellung einer virtuellen Python Umgebung mit dem Namen 'betty' + Python 3.12:

    $ conda create --name betty python=3.12

    Wechseln in der neu erstellten Umgebung:

    $ conda activate betty

    ... jetzt befinden wir uns in der neu erstellten Python Umgebung

    Installation von 'betty':

    $ pip install betty

    ... 'pip' ist der Python Paketmanager

    Betty ist jetzt verfügbar und kann auf der Console verwendet werden.
    Die Beschreibung bezüglich der Handhabung, beschreibe ich im Nachfolgepost.
    Herzliche Grüße, Jürgen

    Familiennamen: Landt, Höftmann, Liesicke, Kröplin
  • Falkensee
    Benutzer
    • 16.03.2025
    • 71

    #2
    image.png

    Wird betty ohne Parameter aufgerufen, erhält man den Hilfescreen.

    Die Dokumentation von betty selbst ist etwas 'einfach'.
    Daher habe ich etwas herumprobiert. Das ist auch einer der Gründe, warum ich den Thread hier im Forum erstelle.


    Meine derzeit empfohlene Vorgehensweise:

    - Erstellung eines "Projekt Verzeichnisses"

    $ mkdir betty

    - Wechsel in das Projektverzeichnis

    $ cd betty

    - Initialisierung des betty Projektes

    $ betty new

    ... daraufhin werden einige Fragen zum Erzeugen des Projektes gestellt. Z.B. in welchen Sprachen man die Website anbieten möchte.

    Auf die Frage hin, wo die Konfigurationsdatei abgelegt werden soll, reicht die Eingabe eines Punktes. Damit ist das aktuelle Verzeichnis gemeint.
    Auf die Frage hin, unter welcher Domain/Url die Website betrieben werden soll, wählt man bei einem lokalen Test 'http://localhost'.
    Auf die Farge hin, ob man einen Stammbaum importieren möchte, stimmt man dem zu.

    Es wird die Konfiguration erzeugt. Die kann man später auch noch anpassen.

    image.png


    Hinweis:

    Ich ging bei der ersten Generierung davon aus, dass betty sich beschwert, da noch keine Stammbaumdatei vorhanden ist.
    Weiterhin musste ich testen, was da wie erwartet wird.

    Vor der Generierung habe ich den Gramps Stammbaum als betty.gramps gespeichert und in das Projektverzeichnis gelegt.
    Eine automatische Suche/Verwendung von *.gramps Dateien erfolgt nicht.
    Die Generierung funktionierte erst, nachdem ich in der Config den vollständigen Pfad zur GRAMPS Datei eingetragen hatte.


    image.png


    Ist das erledigt, steht einer ersten Generierung und ein Test der Website nichts mehr entgegen.

    $ betty generate
    $ betty serve

    'betty serve' startet einen in betty inegrierten Webserver und öffnet automatisch den als default eingestellten Webbrowser mit der generierten Website. Durch Angabe von http://localhost in der Konfiguration, werden die Verlinkungen entsprechend richtig aufgelöst und man kann sich durch die Page klicken.

    Die Verzeichnisstruktur, ausgehend vom Projektverzeichnis sieht wie folgt aus:

    image.png

    Das 'output' Verzeichnis beinhaltet die erstellte 'statische Webpage'.
    Den Inhalt kann man später z.B. in das Webroot bei seinem Provider kopieren.
    Soll der Stammbaum später unter einer bestimmten Domain erreichbar sein, muss diese in der Konfigurationsdatei geändert und die Seiten erneut erstellt werden (Update).



    ToDo

    Alles habe ich noch nicht ausprobiert.
    Nachträglich lassen sich z.B. auch noch weitere Sprachen installieren.
    Die Nutzung von Plugins soll noch möglich sein...

    Großes Fragezeichen ist derzeit noch, ob bzw. wie man das Layout anpassen/modifizieren könnte.

    Vielleicht weiß das ja jemand von euch? ...




    Beispielseite des Autors

    - https://ancestry.bartfeenstra.com/en/

    Zuletzt geändert von Falkensee; 10.04.2025, 10:35.
    Herzliche Grüße, Jürgen

    Familiennamen: Landt, Höftmann, Liesicke, Kröplin

    Kommentar

    Lädt...
    X