Suche python workarround um statische Seiten zu generieren

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
asdfgqw
User
Beiträge: 33
Registriert: Samstag 3. Februar 2007, 10:45

Vielleicht kann mir hier jemand helfen.

Ich suche ein python workarround (also ein fertiges python script(e)) bei dem ich Inhalte anlegen kann und python generiert mir daraus statische html Seiten. Also nichts mit Datenbank oder dergleichen.

Also ich will den <title> und den <body> in separaten Dateien speichern und anschließend mit einem python script daraus fertige *.html Dateien generieren. Das ist etwas relativ simples wie ich mir habe sagen lassen. Aber ich kann kein python. Es gibt da sicherlich was. Hat jemand mal was brauchbares gesehen? Danke für Tipps!
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Also ich will den <title> und den <body> in separaten Dateien speichern und anschließend mit einem python script daraus fertige *.html Dateien generieren. Das ist etwas relativ simples wie ich mir habe sagen lassen. Aber ich kann kein python. Es gibt da sicherlich was. Hat jemand mal was brauchbares gesehen? Danke für Tipps!
Ja es gibt viele Sachen, die das können... es ist sogar sehr einfach, das stimmt.
Aber wozu möchtest du das machen? --> Möchtest du Python denn lernen?

Ansonsten arbeite ich gerade mit mr_snede an einem Python-Programm, welches aus Templates und TXT Dateien statische HTML-Seiten generiert.

siehe auch http://daucms.de/trac

wenn du SVN hast schau mal in die Dokumentation... die ist zwar nicht ganz die aktuellste (wir arbeiten dran ;) ) aber die Grundzüge des Benutzens sind erklärt.

Spätestens morgen wird aber auch die Dokumentation wieder auf dem laufenden sein.

So ansonsten finde ich, muss man hier keine großen Lösungen schreiben oder?

Es gäbe noch resTruckted Text (sorry, ich weiß immer nie wies geschrieben wird ;) ) oder txt2html oder oder oder... :)

MfG EnTeQUAk
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Hier mal das Script, dass die Jinja webseite erstellt ohne den Teil für die Dokumentation:

Code: Alles auswählen

#!/usr/bin/env python
import os
import sys
from codecs import open
from jinja import Environment, FileSystemLoader

env = Environment('<%', '%>', '<%=', '%>', loader=FileSystemLoader('.'), trim_blocks=True)

def get_files(folder):
    for fn in os.listdir(folder):
        fn = os.path.join(folder, fn)
        if os.path.isdir(fn):
            for item in get_files(fn):
                yield item
        elif fn.endswith('.tmpl'):
            yield fn

# generate static stuff
for filename in get_files('.'):
    root = './' + ''.join(['../' for _ in os.path.dirname(filename).
                           split(os.path.sep)[1:]])
    t = env.get_template(filename)
    f = open(filename[:-5] + '.html', 'w', 'utf-8')
    f.write(t.render(
        root=root
    ))
    f.close()
Nutzt die Jinja SVN Version als Template Engine, kannst du natürlich austauschen. Die Idee ist, dass du halt die Templates in Form von ".tmpl" Dateien in einem Ordner ablegst und das Script .html Dateien draus rendert. Die Quelldateien für die Webseite liegen hier: http://trac.pocoo.org/repos/jinja/trunk/www/
TUFKAB – the user formerly known as blackbird
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du kannst auch rst2html verwenden, welches die Docutils nutzt. So werden die Seiten auf Python.org generiert. Pocoo nutzt ein ähnliches System - Sphinx, welches ebenso wie rst2html einen reStructuredText-Quelltext nimmt und es in HTML umwandelt. Allerdings ist Sphinx wohl stark Pocoo-spezifisch.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

asdfgqw hat geschrieben:Also ich will den <title> und den <body> in separaten Dateien speichern und anschließend mit einem python script daraus fertige *.html Dateien generieren.
Das hört sich irgendwie so an, als wenn du das selbe auch mit SSI machen könntest, schau mal hier: http://de.selfhtml.org/servercgi/server/ssi.htm
Damit kann man sowas machen: <!--#include virtual="/news/news.htm" --> Also aus verschiedenen Blöcken kann man sich so eine html Seite zusammen bauen...

Nur mal so als Anregung...

Ansonsten: Wenn du eine pure Python Lösung bauen willst, würde ich das mit einfachen String-Operationen machen... Also %(body)s als Platzhalter und so...
Wenn es etwas mehr sein darf, nimm jinja ;)

Und wenn es ganz bequem sein soll, dann beteilige dich an daucms ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Und wenn es ganz bequem sein soll, dann beteilige dich an daucms Wink
Da er selber ja kein Python lernen möchte (habe ich das richtig verstanden) maximal als Tester ;) --> Aber die sind ja bei jedem Projekt willkommen!

Ansonsten ist blackbirds Lösung schon eine konfortable Lösung, wenn es nichts großes sein brauch. dauCMS ist halt für etwas größere Projekte, jedoch mit maximal 50 Seiten. (was allerdings ein theoretischer Wert ist... dauCMS funktioniert auch mit 1000 aber dafür wird es nicht ausgelegt sein, was das Template-Design angeht).


MfG EnTeQuAk
Antworten