HTML Suche Open source (flat file) CMS für spezielle Anforderungen

kali-hi

Lieutenant
Registriert
Sep. 2025
Beiträge
737
Die Anforderungen sind:

  • wenn möglich, soll es einen Markdown-Editor geben, bzw. Markdown -> HTML Konverter,
  • man soll custom/embed CSS, JS oder HTML einfügen können,
  • es sollte sicher sein, also Updates geben

Also, ich hatte mir Payload CMS angeschaut, dieses basiert auf React und benötigt eine mongodb.

Das Problem ist aber, dass custom/embed JavaScript nur äußerst umständlich eingefügt werden kann, weil es eigentlich nicht dafür gedacht ist. Einen einfachen Button darzustellen, der die JS fetch-Funktion aufruft, ist damit eine mittelschwere Katastrophe gewesen.

Gibt es vielleicht etwas, was nicht ganz so umständlich wäre und das einfach mit dynamischen Content umgehen kann?
 
Ich kenn noch Tina CMS.
https://tina.io/

Da gibt's custom components mit CSS, aber wie es da mit js aussieht hab ich keine Ahnung.

Wissentlich was du sonst für Fragen stellst, geh ich mal implizit davon aus dass das ein xy Problem ist und du eigentlich kein CMS brauchst.
 
  • Gefällt mir
Reaktionen: cfreak84
Ist da nicht jekyll seit irgendwie 10 Jahren der default?
 
https://getnikola.com/ da gibts einen template ordner und das ganze html/css/js lässt sich da von grund auf bestimmen. Es werden markdown files in html verarbeitet.
 
@netzgestaltung Danke! Das ist ziemlich genau das, wonach ich gesucht hatte... Mit nikola auto --browser wird die Seite auch gleich bereitgestellt. So, wie ich jetzt gelesen habe, kann sowohl komplettes .html verarbeitet werden als auch "Partials" (also Fragmente). Eine Navigation/Breadcrumb wäre noch wichtig.
Ergänzung ()

BFF schrieb:
Schau mal Grav an ob das reicht.
Grav ist aktuell im Einsatz, Payload CMS war nur ein Test
 
Das ist jetzt mein Setup:

docker-compose.yml

Code:
  nikola:
    image: python:trixie
    user: 1000:1000
    volumes:
      - ./nikola/:/nikola/
    working_dir: /nikola/
    command:
      - bash
      - -c
      - |
        set -e
        # python3 -m venv nikola-env
        cd nikola-env
        bin/python -m pip install -U pip setuptools wheel
        bin/python -m pip install -U "Nikola[extras]"
        source bin/activate
        nikola help
        while true; do sleep 5; done
        exit 0
    labels:
      - "traefik.enable=false"
    networks:
      - mynet1

Zeile 12 muss ein kommentiert werden, wenn ihr dass das erste mal startet, und labels und networks müssen angepasst (bzw. entfernt) werden.

Weiterhin muss dann noch while sleep... durch nikola auto ersetzt werden...

Es gibt aber auch inoffizielle Docker-Images, wer nicht selber machen will. Siehe Docs.

Weihnachten ist gerettet. :D
Ergänzung ()

Bitte beim init auch hieran denken:

1766488542828.png
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: netzgestaltung
nikola auto funktioniert noch nicht (also das automatische Deployment)...

"nikola: runtimeerror: there is no current event loop in thread 'mainthread'"

Ich vermute entweder, es liegt ein Bug vor, oder Python darf im Container keinen zusätzlichen Prozess/Thread starten...

Ist aber auch nicht so schlimm, nikola serve tut es auch - wenn auch ohne auto deploy. Aber vielleicht hat jemand zu dem Fehler noch eine Idee... Im Netz finde ich dazu nichts, und die Dependencies sind alle installiert... Ich glaube wirklich, es liegt am Docker.
 
Hab's herausgefunden und es liegt nicht an mir.

asyncio.get_event_loop() ist im neueren Python veraltet, stadessen sollte dann new_event_loop verwendet werden: https://stackoverflow.com/a/67760625/16293187

Wenn ich aber selbst ändere (96 Vorkommnisse):

(Folgendes bitte nicht ausführen!!!)

Bash:
cd nikola-env
grep -rl "asyncio.get_event_loop()" . | xargs sed -i "s@asyncio.get_event_loop()@asyncio.new_event_loop()@g"

dann treten ganz andere Probleme auf... Deshalb kann ich daran erst einmal nichts ändern - und bleibe bei nikola serve.
 
Zurück
Oben