| View previous topic :: View next topic |
| Author |
Message |
jens Administrator
Joined: 12 Oct 2005 Posts: 972 Location: duisburg, germany
|
Posted: Fri 19 Jun, 2009 09:01 Post subject: v0.9 - CSS ColorScheme {{ color1 }} ? |
|
|
Ich hab die Idee, das man in CSS Dateien Platzhalter wie {{ color1 }} Verweden kann. Diese Color Angaben kann man dann seperat direkt in der Web-Oberflächte ändern.
Das kann so aussehen, das man bei EditableHtmlHeadFile ein Flag setzten kann, ob darin Template Platzhalter sind oder nicht. So kann man z.B. schon mal JS Dateien ausschließen. Natürlich werden vor dem Cachen die Platzhalter ersetzt, sodas es mit caching keine Performance Einschränkungen gibt.
Im Design Model verknüpft man dann die Farbinformationen mit den EditableHtmlHeadFile's. Somit ist es möglich mehrere Designs mit den selben CSS Dateien aber unterschiedlichen Farben zu erstellen. Das dürfte den Usern gefallen, die ungern an den CSS Dateien rumschrauben wollen, aber dennoch eigene Farben wählen wollen.
Später wird man dann auch die Farben interaktiv mit einem jQuery Plugin ändern können:
Ich frage mich nun aber, wie die Farben abspeichern?
Mir fallen da zwei Ideen ein:
1. Ein Modell mit einer festen Anzahl von Faben (man muß nicht alle nutzten), Könnte ungefähr so aussehen:
| Code: | class ColorScheme
color1 = models.BlaBla # Hex Wert der Farbe
color1name = model.BlaBla # Name des Platzhalters
color2 = ...
color2name = ...
... |
Nachteil: Wir haben "nur" eine Feste Anzahl der Farben, sobei eigentlich jeder mit z.B. 10 auskommen sollte
Vorteil: Läßt sich einfach per Admin Oberfläche editieren.
2. Idee: Wir nutzten DictField aus http://code.google.com/p/django-dbpreferences/ und speichern ein dict ab, könnte dann so aussehen:
| Code: | {
"hauptfarbe" : "#000000",
"haupthintergrund": "#ffffff",
...
} |
Key ist also der Platzhaltername in der CSS Datei...
Vorteil: Variable Anzahl der Farben.
Nachteil: Kann man erstmal nicht direkt im django Admin editieren (allerdings kann man das dict als Text editieren).
Welche Variante es auch geben wird, ich denke man kann um das "Basissystem" noch eine Menge drum rum bauen.
Sinnvoll ist z.B. das man die Platzhalternamen ändern kann. Mit einem replace(altername, neuername) sollte das kein Problem sein.
Ein public ColorScheme switcher wäre auch Lustig.
Ich denke beim Update werde ich automatisch alle Farbwerte aus den bestehenden CSS Dateien extrahieren, in ColorScheme eintragen und durch Platzhalter ersetzten lassen. _________________
http://www.jensdiemer.de | http://www.htfx.de | http://www.python-forum.de
|
|
| Back to top |
|
 |
sepharim
Joined: 27 Dec 2007 Posts: 180 Location: Germany
|
Posted: Fri 19 Jun, 2009 09:15 Post subject: |
|
|
| Code: |
class ColorScheme:
ID = models.ID
Desc = blabla
class Color:
ForeignKey(ColorScheme.ID)
Name = blalba
Color = #fff
|
Vorteil: Variable Anzahl an Farben, Läßt sich per Join in der AdminOberfläche editieren.
nur so nen schneller Gedanke |
|
| Back to top |
|
 |
jens Administrator
Joined: 12 Oct 2005 Posts: 972 Location: duisburg, germany
|
|
| Back to top |
|
 |
jens Administrator
Joined: 12 Oct 2005 Posts: 972 Location: duisburg, germany
|
|
| Back to top |
|
 |
sepharim
Joined: 27 Dec 2007 Posts: 180 Location: Germany
|
Posted: Sun 21 Jun, 2009 13:10 Post subject: |
|
|
Ich weiß nicht ob das mit den Farbnamen so sinnvoll ist. Und war es nicht so das manche Farben nicht eindeutig definiert waren?
[quote=dein link]Note: The names above are not a part of the W3C web standard.
The W3C HTML and CSS standards have listed only 16 valid color names:
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow.
If you want valid HTML or CSS use the HEX values instead.[/quote]
Von daher würde ich nur Hexwerte verwenden. |
|
| Back to top |
|
 |
jens Administrator
Joined: 12 Oct 2005 Posts: 972 Location: duisburg, germany
|
Posted: Mon 22 Jun, 2009 13:20 Post subject: |
|
|
Nein, es geht bei den Namen nur für die interne Anzeige bzw. für die Template Platzhalter Namen.
Ich meinte nicht diese "offiziellen Web-Farbnamen"
In der aktuellen Version werden die Namen einfach nach dem Schema Generiert: "color_XX" (XX steht dabei für eine Zahl)
Schöner wäre es aber, wenn es dort einen Sinnvollen Namen geben würde, wie "Hell orange", "dunkel grau" usw... Halt auf basis von den gefundenen hex Werten...
Aber das ist erstmal nicht so wichtig.
Erstmal muß das System überhaupt laufen  _________________
http://www.jensdiemer.de | http://www.htfx.de | http://www.python-forum.de
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|