Verschiedene Änderungen an Makefile, erste Validierungsversuche mit Documenttype für Seiten.

git-svn-id: svn://svn.c3d2.de/c3d2-web/branches/toidinamais_coole_scheisse@84 31f61c52-7bfb-0310-b897-fc00f8a278f0
This commit is contained in:
toidinamai 2006-01-02 18:08:34 +00:00
parent d1e1dfa13d
commit ef23ced735
3 changed files with 187 additions and 10 deletions

View File

@ -1,13 +1,23 @@
### Programme ###
# XSLT-Prozessor:
PROCESSOR=xsltproc
PFLAGS=--path $(PWD)/dtd
# XML-Validator
VALIDATOR=xmllint
VFLAGS=--noout --path $(PWD)
# Downloadmanager (Alternativ: curl, fetch):
WGET=wget
WGET=wget --timestamping
# rsync
RSYNC=rsync
RSYNC_FLAGS=--verbose --recursive --delete --delete-after --delete-excluded --checksum
# Editor
EDITOR?=vim
# Browser
BROWSER?=links
# Verzeichnis, in das exportiert werden soll
DESTDIR?=www-export
### Ressourcen ###
# XSLT-Stylesheets:
STYLE=xsl/xhtml.xsl
@ -23,14 +33,38 @@ SKELFILE=content/skel-$(SKEL).xml
CONTENT=$(PAGES) www/news.html www/news-rss.xml
PAGES:=$(patsubst content/%.xml, www/%.html, $(filter-out $(NAVIGATION) $(SKELETONS), $(wildcard content/*.xml)))
NEWSITEMS:=$(wildcard content/news/*.xml)
CLEAN:=$(CONTENT) www/news.html www/news-rss.xml chaosupdates.rdf
DTD:=$(wildcard dtd/*.dtd)
XHTML_DTD_FILES:=xhtml1-strict.dtd xhtml-lat1.ent xhtml-symbol.ent xhtml-special.ent
XHTML_DTD_BASEURL:=http://www.w3.org/TR/xhtml1/DTD
CLEAN=$(CONTENT) www/news.html www/news-rss.xml
### Defaults ###
.PHONY: contents clean
.DEFAULT: contents
.PHONY: export contents clean mrproper all install check post-check pre-check
.PRECIOUS: content/%.xml www/%.html
.SILENT: check
contents: $(CONTENT)
all: contents
install: export
contents: $(CONTENT) www/dtd
export: contents
$(RSYNC) $(RSYNC_FLAGS) --exclude=".svn/" www/ $(DESTDIR)/
www/dtd: $(DTD)
$(RSYNC) $(RSYNC_FLAGS) --include="*.dtd" --exclude=".svn/" dtd www/dtd
$(XHTML_DTD_FILES):
$(WGET) $(XHTML_DTD_BASEURL)/$@
post-check: $(PAGES) $(XHTML_DTD_FILES)
ln -sfn .. www/DTD
for page in $(PAGES) ; do \
echo "Checking $${page}..." ; \
$(VALIDATOR) $(VFLAGS) --valid $${page} ; \
done
rm -f www/DTD
### Regeln für den XSLT-Prozess ###
www/news.html: $(STYLE)
@ -45,10 +79,11 @@ www/news.html www/news-rss.xml: $(NEWSITEMS) $(NAVIGATION)
done; \
echo " </news>"; \
echo "</page>"; } | \
$(PROCESSOR) -o $@ $(filter-out $(NEWSITEMS) $(NAVIGATION),$^) -
$(PROCESSOR) $(PFLAGS) -o $@ $(filter-out $(NEWSITEMS) $(NAVIGATION),$^) -
www/%.html: content/%.xml $(STYLE) $(NAVIGATION) chaosupdates.rdf
$(PROCESSOR) -o $@ $(STYLE) $<
$(VALIDATOR) $(VFLAGS) --dtdvalid dtd/page.dtd $<
$(PROCESSOR) $(PFLAGS) -o $@ $(STYLE) $<
### Hilfsregeln zum Editieren ###
edit/%:
@ -69,12 +104,17 @@ view/%: www/%.html
content/%.xml:
$(MAKE) edit/$(patsubst content/%.xml,%,$@)
### Die neuesten Chaosupdates holen ###
chaosupdates.rdf:
$(WGET) http://www.ccc.de/updates/chaosupdates.rdf
$(WGET) http://www.ccc.de/updates/chaosupdates.rdf || \
cp chaosupdates-2006-01-02.rdf $@
### Mr. Propper ###
clean:
rm -f $(CLEAN)
rm -rf www/dtd
mrproper: clean
rm -f chaosupdates.rdf
rm -f $(XHTML_DTD_FILES)
rm -rf www-export

107
chaosupdates-2006-01-02.rdf Normal file
View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/">
<channel rdf:about="http://www.ccc.de/updates/summary.rdf">
<title>Chaos Computer Club: Updates</title>
<link>http://www.ccc.de</link>
<description>Kabelsalat ist gesund.</description>
<dc:date>2006-01-02</dc:date>
<image rdf:resource="http://www.ccc.de/images/chaosknoten.gif"/>
<items>
<rdf:Seq>
<rdf:li resource="http://www.ccc.de/updates/2005/chaosradio-express"/>
<rdf:li resource="http://www.ccc.de/updates/2005/dataretention-torschuss"/>
<rdf:li resource="http://www.ccc.de/updates/2005/bremen"/>
<rdf:li resource="http://www.ccc.de/updates/2005/schaeublesmaut"/>
<rdf:li resource="http://www.ccc.de/updates/2005/chaosradio-podcast"/>
<rdf:li resource="http://www.ccc.de/updates/2005/22c3-public-wiki"/>
<rdf:li resource="http://www.ccc.de/updates/2005/event-weblog"/>
<rdf:li resource="http://www.ccc.de/updates/2005/betriebsunterbrechung"/>
</rdf:Seq>
</items>
</channel>
<image rdf:about="http://www.ccc.de/images/chaosknoten.gif">
<title>Chaos Computer Club (Chaosknoten)</title>
<link>http://www.ccc.de</link>
<url>http://www.ccc.de/images/chaosknoten.gif</url>
</image>
<item rdf:about="http://www.ccc.de/updates/2005/chaosradio-express">
<title>Chaosradio Express</title>
<link>http://www.ccc.de/updates/2005/chaosradio-express</link>
<description>
Chaosradio Express ist eine Ergänzung zu Chaosradio, die als kürzere, aber häufiger erscheinende Ausgabe Interviews und Berichte beinhaltet. Chaosradio Express wird ebenfalls über den Chaosradio-Podcast bereitgestellt. Zusätzlich werden über den Podcast in unregelmäßigen Abständen auch thematisch relevante Filme und Dokumente verbreitet. Die letzten Ausgaben von Chaosradio Express sind vier Interviews, die mit internationalen Referenten des 22C3 geführt wurden.
</description>
<dc:creator>tim</dc:creator>
<dc:date>2006-01-02</dc:date>
</item>
<item rdf:about="http://www.ccc.de/updates/2005/dataretention-torschuss">
<title>Aufruf zum Anruf: Vorratsdatenspeicherung verhindern - jetzt!</title>
<link>http://www.ccc.de/updates/2005/dataretention-torschuss</link>
<description>
Nächste Woche wird es konkret im Europaparlament: Die Vorratsdatenspeicherungs-Richtlinie steht am Dienstag zur Diskussion im Plenum und soll am Mittwoch in erster Lesung abgestimmt werden. Der Bürgerrechts-Ausschuss (LIBE) des Europaparlaments hatte sich zwar auf gemeinsame Änderungswünsche geeinigt, allerdings haben die beiden grossen Fraktionen (Sozialdemokraten und Konservative) auf eigene Faust einen Kompromiss mit dem EU-Council beschlossen. Dieser soll von der "Grossen Koalition" im Europaparlament beschlossen werden und bedeutet nicht wirklich eine Entschärfung der Richtlinie. Unsere Abgeordneten wollen an die Bedeutung ihrer Entscheidung erinnert werden - hilf mit!
</description>
<dc:creator>markus, wetterfrosch</dc:creator>
<dc:date>2005-12-08</dc:date>
</item>
<item rdf:about="http://www.ccc.de/updates/2005/bremen">
<title>Mehr Chaos im Norden: Chaostreff Bremen</title>
<link>http://www.ccc.de/updates/2005/bremen</link>
<description>Nachdem es seit ein paar Jahren wieder ruhiger war um einen
Chaostreff in Bremen, wird sich am morgigen Nikolaustag wieder
getroffen.</description>
<dc:creator>Pylon</dc:creator>
<dc:date>2005-12-05</dc:date>
</item>
<item rdf:about="http://www.ccc.de/updates/2005/schaeublesmaut">
<title>Keine Dauerbeschattung des Autobahnverkehrs!</title>
<link>http://www.ccc.de/updates/2005/schaeublesmaut</link>
<description>
Der Chaos Computer Club (CCC) wendet sich gegen die von Bundesinnenminister Schäuble (CDU) geäußerten Gedanken, die Autobahnmaut zur Fahndung und Überwachung zu nutzen. Der CCC fordert die Bundesregierung auf, Pläne zur Änderung des Mautgesetzes vom Tisch zu nehmen und den Einsatz der Kontrolldaten weiterhin nur im Rahmen der Mautabrechnung zu erlauben. Damit erneuert der CCC seine Kritik an den datenschutzrechtlich bedenklichen Teilen des deutschen Mautsystems.
</description>
<dc:creator>wetterfrosch</dc:creator>
<dc:date>2005-11-28</dc:date>
</item>
<item rdf:about="http://www.ccc.de/updates/2005/chaosradio-podcast">
<title>Chaosradio Podcast</title>
<link>http://www.ccc.de/updates/2005/chaosradio-podcast</link>
<description>
Chaosradio, die monatliche Radiosendung des Chaos Computer Club Berlin, ist jetzt auch via Podcasting zu beziehen. In unregelmässigen Abständen werden wir zusätzlich noch Dokumentationsvideos des CCC darüber veröffentlichen.</description>
<dc:creator>tim</dc:creator>
<dc:date>2005-11-12</dc:date>
</item>
<item rdf:about="http://www.ccc.de/updates/2005/22c3-public-wiki">
<title xml:lang="de">22C3 Public Wiki</title>
<title xml:lang="en">22C3 Public Wiki</title>
<link>http://www.ccc.de/updates/2005/22c3-public-wiki</link>
<description xml:lang="de">
Wir haben ein öffentliches Wiki für die Teilnehmer des 22. Chaos Communication Congress eröffnet.
</description>
<description xml:lang="en">
We have opened a new public wiki for the participants of the upcoming 22nd Chaos Communication Congress.
</description>
<dc:creator>tim</dc:creator>
<dc:date>2005-11-11</dc:date>
</item>
<item rdf:about="http://www.ccc.de/updates/2005/event-weblog">
<title xml:lang="de">CCC Event Weblog am Start</title>
<title xml:lang="en">CCC Event Weblog Ready</title>
<link>http://www.ccc.de/updates/2005/event-weblog</link>
<description xml:lang="de">
Der CCC hat ein Weblog als Newsticker für Informationen rund um hauseigene
Veranstaltungen aufgesetzt.
</description>
<description xml:lang="en">
The CCC created a Weblog as a newsticker for information about own events.
</description>
<dc:creator>pylon</dc:creator>
<dc:date>2005-11-07</dc:date>
</item>
<item rdf:about="http://www.ccc.de/updates/2005/betriebsunterbrechung">
<title>Betriebsunterbrechung bei anonymizer.ccc.de</title>
<link>http://www.ccc.de/updates/2005/betriebsunterbrechung</link>
<description>
anonymizer.ccc.de ist aufgrund eines Festplattenschadens derzeit nicht erreichbar
</description>
<dc:creator>andreas</dc:creator>
<dc:date>2005-10-24</dc:date>
</item>
</rdf:RDF>

30
dtd/page.dtd Normal file
View File

@ -0,0 +1,30 @@
<!ENTITY % URI "CDATA">
<!-- a Uniform Resource Identifier, see [RFC2396] -->
<!ENTITY % Inline "(#PCDATA | link | pre | em | dl )*">
<!ELEMENT page (p|pre|dl)+>
<!ATTLIST page
title CDATA #IMPLIED
pagetitle CDATA #IMPLIED
>
<!ELEMENT p %Inline;>
<!ELEMENT link (#PCDATA)>
<!ATTLIST link
href %URI; #IMPLIED
>
<!ELEMENT pre (#PCDATA)>
<!ATTLIST pre
xml:space (preserve) #FIXED 'preserve'
>
<!ELEMENT em (#PCDATA)>
<!ELEMENT dl ((dh)?,(dt|dd)+)>
<!ELEMENT dh %Inline;>
<!ELEMENT dt %Inline;>
<!ELEMENT dd %Inline;>