c3d2-wiki/C3D2-Web.mw

174 lines
6.4 KiB
Plaintext
Raw Normal View History

2005-12-10 14:36:36 +01:00
=Über C3D2-Web=
[[C3D2-Web]] ist die neue Website für http://www.c3d2.de/
Bevor zu viele Leute enttäuscht werden, soll diese erstmal testweise ''ausgerollt'' werden, damit an der Seite interessierte Leute damit rumexperimentieren können.
2005-12-10 16:40:29 +01:00
==Propaganda==
Wir verlassen uns hier nicht auf irgendein CMS, sondern verwenden standardisierte, etablierte Techniken. Für XSLT gibt es mehr als eine Implementation. Des weiteren ist es bereits so, dass das System schon von mehr als einer Person kapiert wird.
Als Side-effect sollte noch gesagt werden, dass sämtliche Seiten statisch sind. Wir sind also gegen XSS und xyz-Injection gefeit. Passwortabfragen können wir immernoch mit ''.htaccess'' lösen.
2005-12-10 14:36:36 +01:00
=Wo?=
==SVN==
2005-12-10 15:21:43 +01:00
[http://subversion.tigris.org/ Subversion] bietet uns praktisch Wiki-Funktionalität:
*Jeder darf bearbeiten
*Änderungen sind verfolgbar
2005-12-10 14:36:36 +01:00
Um mitzumachen kann man sich das ganze Paket mit folgendem Befehl holen:
svn co svn://pulsar.digital.udk-berlin.de/c3d2-web
2005-12-10 17:25:15 +01:00
Danach hat man ein Verzeichnis [http://trac.cccv.de/c3d2-web/browser c3d2-web/] auf Platte, mit dem man herumexperimentieren kann.
2005-12-10 14:36:36 +01:00
Um es auf den neuesten Stand zu bringen, reicht es in diesem Verzeichnis den folgenden Befehl auszuführen:
svn up
Für die aktive Beteiligung braucht man natürlich einen Account mit Schreibrechten. Für einen solchen muss man nur [[Benutzer:Sven|Sven]] benachrichtigen. Nach diesem Account wird beim nächsten '''svn ci''' gefragt.
==Web==
Bald gibt es auf irgendeinem Webserver eine laufende Version, die von einem Cronjob stündlich neu gebaut wird...
2005-12-10 14:42:45 +01:00
=Bearbeiten=
2005-12-10 15:12:29 +01:00
Während das hier alles nach ''viel'' aussieht, gibt es den entscheidenden Vorteil: '''XML ist selbsterklärend!'''
2005-12-10 14:42:45 +01:00
==Grundlegendes zum Umgang==
2005-12-10 14:50:53 +01:00
{|
!Verzeichnis
!Bedeutung
|-
|''www/''
|Hier hinein kommen die HTML-Dateien. Daneben gibt es bereits CSS- und Bildchen-Dateien.
|-
|''xsl/''
|Hier residieren die Definitionen, aus dem XML-Inhalt XHTML-Webseiten und RSS-Feeds zu bauen.
|-
|''content/''
|XML-Dateien mit Inhalten
|}
Den gewöhnlichen Autor interessieren eigentlich nur die Dateien in ''content/''. Dort kann er die XML-Dateien nach unten genannten Schemata bearbeiten. Wenn kein gültiges XML eingefüttert wird, spuckt '''xsltproc''' schon erklärende Fehlermeldungen.
2005-12-10 14:42:45 +01:00
===Zeichensätze===
Die sind wichtig. Alle XML-Dateien werden als '''UTF-8''' kodiert. Für ''vim''-Benutzer mit ''ISO8859''-Terminal:
:set termencoding=latin1
:set fileencoding=utf8
2005-12-10 14:54:49 +01:00
===Build===
Um zu schauen, wie sich die eigenen Änderungen machen, gibt man im ''c3d2-web/''-Verzeichnis '''make''' (unter *BSD: '''gmake''') ein. Dann werden mithilfe '''xsltproc''' (oft in ''libxslt'' paketiert) in Windeseile in ''www/'' die html- und rss-Dateien gebaut.
2005-12-10 16:03:30 +01:00
Beim Build-Prozess wird http://www.ccc.de/updates/chaosupdates.rdf für die Seitenleiste gesaugt. Das passiert aber nur einmal, bis man ''make clean'' ausführt.
2005-12-10 14:42:45 +01:00
==News schreiben==
2005-12-10 15:06:50 +01:00
News befinden sich in der Datei ''c3d2-web/content/news.xml''. Hier fügt man im ''<news/>''-Element ganz oben ein neues ''<item/>'' ein.
Das sieht dann so aus:
<?xml version="1.0" encoding="UTF-8"?>
<page title="News">
<news>
<'''item''' title="Atom-Powered Robots Run Amok"
date="Tue, 23 May 2038 23:05:23 CEST"
nicedate="Dienstag, 23. Mai"
author="Fnordic walker"
category="Allgemein">
<nowiki><p>
<image class="left"
title="Robots running amok">http://www.cnn.com/breaking_news/20380523_23.png</image>
Asimov's First Law horribly violated!
</p></nowiki>
</'''item'''>
''[alte news-items]''
</news>
</page>
2005-12-10 14:42:45 +01:00
2005-12-10 15:11:42 +01:00
===<item/>-Attribute===
{|
!Attribut
!Beschreibung
|-
|''title'' || News-Titel
|-
|''date'' || News-Datum in standardisierter Form, z.B. für RSS-Feeds und automatisierte Verarbeitung
|-
|''nicedate'' || News-Datum, wie es auf der Website angezeigt werden soll
|-
|''author'' || Wer hats geschrieben?
|-
|''category'' || Eine Kategorie (sowas hatte die alte Seite auch)
|}
===Inhalt===
2005-12-10 15:59:57 +01:00
Den sollte man in ein ''<nowiki><p/></nowiki>'' einschliessen. Bilder kann man mit ''class="left"'' für linksbündige oder ''class="right"'' für rechtsbündige Bilder versehen. Für weitere, erlaubte Elemente, siehe [[C3D2-Web#Seiten bearbeiten|Seiten bearbeiten]].
2005-12-10 15:11:42 +01:00
2005-12-10 14:42:45 +01:00
==Neue Seite erstellen==
2005-12-10 15:23:44 +01:00
Zuerst erstellt man eine neue XML-Datei in ''content/'' nach folgendem Schemata:
<?xml version="1.0" encoding="UTF-8"?>
<'''page''' title="Warum wir leete Haxxorz sind" pagetitle="Warum?">
<nowiki><p>
Wir sind einfach cool!
</p></nowiki>
</'''page'''>
2005-12-10 14:42:45 +01:00
2005-12-10 15:25:26 +01:00
Natürlich sind mehrere <nowiki><p/></nowiki>-Elemente möglich.
2005-12-10 17:20:22 +01:00
Diese Datei muss dann mit '''svn add''' dem Repository hinzugefügt werden, womit sie beim nächsten '''svn commit''' hochgeladen wird.
2005-12-10 15:25:26 +01:00
===<page/>-Attribute===
{|
!Attribut
!Beschreibung
|-
|''title'' || Seitentitel
|-
|''pagetitle'' || Seitentitel für die Navigationsleiste
|}
===Makefile bearbeiten===
In der Makefile fügt man seinen Dateinamen ohne Pfad und Erweiterung an die Zeile mit '''CONTENT=''' an. Weiterhin kopiert man eine Regel für eine andere Seite für seine, zum Beispiel die für ''www/wiki.html''.
===Seite in Navigationsleiste aufnehmen===
Dazu bearbeitet man ''content/navigation.xml''. Dort erstellt man ein neues <file/>-Element mit dem Dateinamen der Seite ohne Pfad und Erweiterung. Als Linktitel wird das ''pagetitle''-Attribut der entsprechenden Seite verwendet.
2005-12-10 14:42:45 +01:00
==Seiten bearbeiten==
2005-12-10 15:30:59 +01:00
In ''<page/>'' dürfen folgende Elemente auftauchen:
2005-12-10 15:33:10 +01:00
===<nowiki><pre/></nowiki>===
2005-12-10 15:30:59 +01:00
Hier werden Inhalte wie eingegeben formatiert. Geeignet für Skripte, Konsolenausgaben, ...
<nowiki><pre>% uname -sr
FreeBSD 6.0-STABLE</pre></nowiki>
2005-12-10 15:33:10 +01:00
===<nowiki><p/></nowiki>===
2005-12-10 15:54:34 +01:00
<'''p'''>Ein Absatz. Mindestens einer wird empfohlen.</'''p'''>
2005-12-10 15:30:59 +01:00
===<image/>===
2005-12-10 15:55:30 +01:00
<'''image''' class="right" title="Linux-Unfug-Tag"><nowiki>http://www.linux-unfug-tag.de/logo.png</nowiki></'''image'''>
2005-12-10 15:33:10 +01:00
{|
!Attribut
!Beschreibung
|-
|''class'' || Art der Darstellung, entweder ''left'' oder ''right''
|-
|''title'' || Hinweis, wird in ''title'' und ''alt'' gesteckt
|}
2005-12-10 15:54:34 +01:00
2005-12-10 17:19:06 +01:00
====Bild hochladen====
cp /home/hacker/bild.png www/images/bild_vom_hacker.png
svn add www/images/bild_vom_hacker.png
svn ci # Braucht Account mit Schreibrechten
2005-12-10 17:13:06 +01:00
2005-12-10 15:54:34 +01:00
===<link/>===
<'''link'''><nowiki>http://www.ccc.de/</nowiki></'''link'''>
<'''link''' href="<nowiki>http://www.ccc.de/</nowiki>">CCC</'''link'''>
{|
!Attribut
!Beschreibung
|-
|''href'' || Linkziel, falls ausgelassen wird der Inhalt verwendet
|}