Merge branch 'redesign'
This commit is contained in:
commit
39bf476153
6
Makefile
6
Makefile
|
@ -239,16 +239,16 @@ portal/items-sorted.xml: portal/items.xml $(STYLE)
|
|||
$(call xml_process)
|
||||
|
||||
build/portal.html : NOINPUTVALID:=true
|
||||
build/portal.html: portal/items-sorted.xml $(STYLE)
|
||||
build/portal.html: portal/items-sorted.xml $(STYLE) $(CALENDAR_SUMMARY)
|
||||
$(call xml_process)
|
||||
|
||||
# Pages:
|
||||
build/%.html: content/pages/%.xml $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES) $(CALENDAR_SUMMARY) $(DATESTAMP) news.xml
|
||||
build/%.html: content/pages/%.xml $(STYLE) $(NAVIGATION) $(DATESTAMP) news.xml
|
||||
$(call xml_process)
|
||||
|
||||
# News:
|
||||
build/news/%.html : BASEURL="../"
|
||||
build/news/%.html: content/news/%.xml $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES) $(CALENDAR_SUMMARY) $(DATESTAMP)
|
||||
build/news/%.html: content/news/%.xml $(STYLE) $(NAVIGATION) $(DATESTAMP)
|
||||
$(call xml_process)
|
||||
|
||||
# Datenspuren
|
||||
|
|
|
@ -5,22 +5,30 @@ When changing the position of these files in the navigation sidebar,
|
|||
please adjust the #navigation li:nth-child(...) rules in the CSS file.
|
||||
-->
|
||||
<navigation>
|
||||
<file title="News">news</file>
|
||||
<file>whois</file>
|
||||
<file>space</file>
|
||||
<file>themenabende</file>
|
||||
<file>events</file>
|
||||
<file>schule</file>
|
||||
|
||||
<file>kontakt</file>
|
||||
<file>mailingliste</file>
|
||||
<file>muc</file>
|
||||
<file>wiki</file>
|
||||
|
||||
<file>radio</file>
|
||||
<file>podcast</file>
|
||||
<file>pentamusic</file>
|
||||
|
||||
<file>shop</file>
|
||||
<file>warez</file>
|
||||
<group>
|
||||
<file title="News">news</file>
|
||||
<file>whois</file>
|
||||
<file>space</file>
|
||||
<file>schule</file>
|
||||
</group>
|
||||
<group>
|
||||
<file title="Kalender">calendar</file>
|
||||
<file>themenabende</file>
|
||||
<file>events</file>
|
||||
</group>
|
||||
<group>
|
||||
<file>kontakt</file>
|
||||
<file>mailingliste</file>
|
||||
<file>muc</file>
|
||||
<file>wiki</file>
|
||||
</group>
|
||||
<group>
|
||||
<file>radio</file>
|
||||
<file>podcast</file>
|
||||
<file>pentamusic</file>
|
||||
</group>
|
||||
<group>
|
||||
<file>shop</file>
|
||||
<file>warez</file>
|
||||
</group>
|
||||
</navigation>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<config>
|
||||
<gallery id="media-lachmoewe">https://media.c3d2.de/u/lachmoewe/atom/</gallery>
|
||||
<gallery id="media-bigalex">https://media.c3d2.de/u/bigalex/atom/</gallery>
|
||||
<gallery id="media-joerg">https://media.c3d2.de/u/joerg/atom/</gallery>
|
||||
<gallery id="media-astro">https://media.c3d2.de/u/astro/atom/</gallery>
|
||||
<wiki id="wiki">https://wiki.c3d2.de/w/index.php?title=Spezial:Letzte_%C3%84nderungen&feed=atom&days=300&limit=60</wiki>
|
||||
</config>
|
Binary file not shown.
Before Width: | Height: | Size: 104 KiB |
|
@ -1,31 +0,0 @@
|
|||
/**
|
||||
* Original: https://github.com/trailblazr/30c3-countdown-banner-180x270/blob/master/30c3.html
|
||||
* Heavily Modified
|
||||
**/
|
||||
$(document).ready(function() {
|
||||
var el = $("<a class='countdown' href='https://events.ccc.de/congress/2013/' title='Click to get teleported to the 30C3 chaos wiki ...'><div class='countdownLine' style='margin-top:70px;'><div class='countdownElement'><span class='days'>0</span><span class='foo'>d </span></div><div class='countdownElement'><span class='hours'>0</span><span class='foo'>h </span></div><div class='countdownElement'><span class='minutes'>0</span><span class='foo'>m </span></div><div class='countdownElement'><span class='seconds'>0</span><span class='foo'>s</span></div></div></a>");
|
||||
|
||||
var padLeft = function(n, l, p) {
|
||||
n = "" + n;
|
||||
while(n.length < l)
|
||||
n = p + n;
|
||||
return n;
|
||||
};
|
||||
var target = new Date("2013-12-27T10:00:00+01:00").getTime();
|
||||
var updateCountDown = function() {
|
||||
var now = new Date().getTime();
|
||||
var left = (target - now) / 1000;
|
||||
|
||||
var setField = function(id, val) {
|
||||
el.find(id).text(padLeft(val, 2, "0"));
|
||||
};
|
||||
setField('.days', Math.floor(left / 86400));
|
||||
setField('.hours', Math.floor(left / 3600) % 24);
|
||||
setField('.minutes', Math.floor(left / 60) % 60);
|
||||
setField('.seconds', Math.floor(left) % 60);
|
||||
}
|
||||
|
||||
setInterval(updateCountDown, 1000);
|
||||
updateCountDown();
|
||||
$('#adspace').empty().append(el);
|
||||
});
|
|
@ -1,10 +1,8 @@
|
|||
/* -- General -- */
|
||||
body {
|
||||
font: 0.8em Verdana, Arial, sans-serif;
|
||||
background-image: url(../images/background.png);
|
||||
text-align: center;
|
||||
min-width: 1024px;
|
||||
/* max-width: 1280px; margin: 0 auto; */
|
||||
font: Verdana, Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 276px 0 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
|
@ -32,58 +30,58 @@ pre {
|
|||
}
|
||||
|
||||
#logo {
|
||||
margin: 2em 2em 0 2em;
|
||||
height: 150px;
|
||||
background: url(../images/c3d2_blue.jpg);
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
height: 276px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-image: url(../images/c3d2_blue.jpg);
|
||||
text-align: left;
|
||||
border-top-left-radius: 30px;
|
||||
-moz-border-radius-topleft: 30px;
|
||||
-webkit-border-top-left-radius: 30px;
|
||||
border-top-right-radius: 30px;
|
||||
-moz-border-radius-topright: 30px;
|
||||
-webkit-border-top-right-radius: 30px;
|
||||
}
|
||||
|
||||
#logo h1 {
|
||||
position: relative;
|
||||
top: 47px;
|
||||
left: 23px;
|
||||
/* position: relative; */
|
||||
/* top: 47px; */
|
||||
/* left: 23px; */
|
||||
padding: 65px 0 0 0;
|
||||
max-width: 960px;
|
||||
margin: 47px auto 0;
|
||||
overflow: hidden;
|
||||
background-image: url(../images/logo.png);
|
||||
background-repeat: no-repeat;
|
||||
height: 0px !important;
|
||||
}
|
||||
|
||||
/* -- Body -- */
|
||||
#body {
|
||||
display: block;
|
||||
border: thin solid #ccc;
|
||||
border-top: none;
|
||||
background-color: white;
|
||||
margin: 0 2em 0 2em;
|
||||
background: #fff url(../images/background_bottom.png) no-repeat left bottom;
|
||||
}
|
||||
|
||||
/* -- Navigation -- */
|
||||
|
||||
/* TODO: should overlap background image */
|
||||
#navigation {
|
||||
float: left;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
text-align: left;
|
||||
width: 14em;
|
||||
margin: 0;
|
||||
padding: 0 1em;
|
||||
padding-top: 100px;
|
||||
background: url(../images/ck.png) top center no-repeat;
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
border-bottom: 3px solid black;
|
||||
}
|
||||
|
||||
#navgroups {
|
||||
display: block;
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#navigation ul {
|
||||
list-style-type: square;
|
||||
list-style-image: url(../images/bullet.png);
|
||||
display: inline-block;
|
||||
list-style-type: none;
|
||||
font-size: small;
|
||||
padding-left: 2em;
|
||||
padding-top: 0.2em;
|
||||
border-top: #ebc63c 1px solid;
|
||||
margin: 0.5em 0;
|
||||
padding: 0 5em 0 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
#navigation li {
|
||||
|
@ -96,25 +94,29 @@ pre {
|
|||
}
|
||||
|
||||
#navigation a {
|
||||
color: #676767;
|
||||
color: #ddd;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#navigation a:hover {
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* -- Content -- */
|
||||
#content {
|
||||
text-align: left;
|
||||
border-left: #ccc 1.1px dashed;
|
||||
border-right: #ccc 1.1px dashed;
|
||||
line-height: 1.3em;
|
||||
padding: 2em;
|
||||
margin: 0 auto;
|
||||
padding: 2em 0 4em;
|
||||
min-height: 300px;
|
||||
min-width: 30em;
|
||||
margin: 0 24em 0 16em;
|
||||
max-width: 960px;
|
||||
}
|
||||
#content.portalcontainer {
|
||||
max-width: inherit;
|
||||
padding: 0 0 4em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#content p {
|
||||
|
@ -154,6 +156,7 @@ pre {
|
|||
margin-bottom: 1em;
|
||||
margin-top: 0px;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#content h3 {
|
||||
|
@ -234,10 +237,9 @@ p.new_comment a:before {
|
|||
|
||||
/* -- Sidebar right -- */
|
||||
#rsidebar {
|
||||
width: 24em;
|
||||
float: right;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding: 0.5em 0.5em 1em 1em;
|
||||
font-size: small;
|
||||
text-align: left;
|
||||
}
|
||||
|
@ -299,38 +301,6 @@ p.new_comment a:before {
|
|||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* -- Upcoming -- */
|
||||
#upcoming {
|
||||
padding: 0 1em 0 2em;
|
||||
}
|
||||
|
||||
#upcoming h2 {
|
||||
font-size: 1.2em;
|
||||
border-top: #ebc63c 1px solid;
|
||||
padding-top: 5%;
|
||||
}
|
||||
|
||||
#upcoming ul {
|
||||
list-style-type: none;
|
||||
font-size: small;
|
||||
margin-left: -2em;
|
||||
}
|
||||
|
||||
#upcoming ul li {
|
||||
line-height: 1.5em;
|
||||
margin-top: .5em;
|
||||
}
|
||||
|
||||
#upcoming a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
#upcoming a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* -- footer -- */
|
||||
#footer {
|
||||
clear: both;
|
||||
|
@ -434,21 +404,26 @@ abbr.dtstart, abbr.dtend {
|
|||
|
||||
/* -- Portal -- */
|
||||
#portal {
|
||||
text-align: center;
|
||||
white-space-collapsing: discard;
|
||||
}
|
||||
#portal article {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
}
|
||||
#portal article > a {
|
||||
display: block;
|
||||
position: relative;
|
||||
width: 14.5em;
|
||||
height: 14.5em;
|
||||
overflow: hidden;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
margin: 0.3em 0 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
#portal article > a {
|
||||
display: block;
|
||||
border-bottom: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 14.5em;
|
||||
height: 14.5em;
|
||||
}
|
||||
#portal article > a:hover {
|
||||
margin: 0;
|
||||
|
@ -466,9 +441,8 @@ abbr.dtstart, abbr.dtend {
|
|||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: 100;
|
||||
background-color: black;
|
||||
background-color: rgba(0, 0, 0, 0.6);
|
||||
color: white;
|
||||
opacity: 0.7;
|
||||
z-index: 2;
|
||||
}
|
||||
/* <header/> */
|
||||
|
@ -477,7 +451,7 @@ abbr.dtstart, abbr.dtend {
|
|||
transition: top 0.3s ease-out;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
#portal a:hover h3 {
|
||||
#portal article:hover h3 {
|
||||
top: 0;
|
||||
transition: top 0.1s ease-in;
|
||||
}
|
||||
|
@ -487,7 +461,7 @@ abbr.dtstart, abbr.dtend {
|
|||
transition: bottom 0.3s ease-out;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
#portal a:hover .footer {
|
||||
#portal article:hover .footer {
|
||||
bottom: 0;
|
||||
transition: bottom 0.1s ease-in;
|
||||
}
|
||||
|
@ -495,16 +469,24 @@ abbr.dtstart, abbr.dtend {
|
|||
#portal h4 {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 1em;
|
||||
top: 1.2rem;
|
||||
padding: 0.2em 0.1em;
|
||||
line-height: 0.9em;
|
||||
font-size: x-large;
|
||||
font-weight: bold;
|
||||
letter-spacing: 0;
|
||||
color: #333;
|
||||
text-shadow: -1px 0 1.5px white, 0 1px 1.5px white, 1px 0 1.5px white, 0 -1px 1.5px white;
|
||||
color: #111;
|
||||
text-shadow:
|
||||
-1px 0 1px white, 0 1px 1px white,
|
||||
1px 0 1px white, 0 -1px 1px white;
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
transition: all 0.3s ease-out;
|
||||
}
|
||||
#portal a:hover h4 {
|
||||
color: black;
|
||||
#portal article.news:hover h4 {
|
||||
color: white;
|
||||
background-color: rgba(0, 0, 0, 0.6);
|
||||
text-shadow: none;
|
||||
transition: all 0.1s ease-in;
|
||||
}
|
||||
#portal .wiki h4 {
|
||||
text-align: justify;
|
||||
|
@ -521,6 +503,28 @@ abbr.dtstart, abbr.dtend {
|
|||
content: ']]';
|
||||
}
|
||||
|
||||
#portal .space > a {
|
||||
background: url(//www.hq.c3d2.de/status.png) 50% 50% no-repeat;
|
||||
}
|
||||
|
||||
/* -- Upcoming -- */
|
||||
|
||||
#portal .upcoming h3 a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#portal .upcoming ul {
|
||||
list-style-type: none;
|
||||
font-size: small;
|
||||
margin: 2em 0 0;
|
||||
padding: 0 0 0 1.5em;
|
||||
}
|
||||
|
||||
#portal .upcoming ul li {
|
||||
line-height: 1.5em;
|
||||
margin-top: .5em;
|
||||
}
|
||||
|
||||
/* -- Calendar -- */
|
||||
table.calendar {
|
||||
table-layout: fixed;
|
||||
|
@ -716,10 +720,6 @@ a[href$="xcal.xml"]:before {
|
|||
content: url(../images/mime/calendar.png);
|
||||
padding-right: 0.3em;
|
||||
}
|
||||
a[href$="calendar.html"]:before {
|
||||
content: url(../images/mime/calendar.png);
|
||||
padding-right: 0.3em;
|
||||
}
|
||||
#news h2 a:before {
|
||||
content: url(../images/mime/feed.png);
|
||||
padding-right: 0.3em;
|
||||
|
@ -817,6 +817,7 @@ li audio, li video, li .poster {
|
|||
}
|
||||
.video-resource ul {
|
||||
padding: 0;
|
||||
font-size: small;
|
||||
}
|
||||
.video-resource ul li.play-resource {
|
||||
display: block;
|
||||
|
@ -827,7 +828,7 @@ li audio, li video, li .poster {
|
|||
}
|
||||
.video-resource .size {
|
||||
margin-left: 0.4em;
|
||||
font-size: 85%;
|
||||
font-size: smaller;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
|
@ -876,35 +877,3 @@ article,aside,details,figcaption,figure,
|
|||
footer,header,hgroup,menu,nav,section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* -- 30c3-countdown -- */
|
||||
.countdown {
|
||||
display: block;
|
||||
width:180px;
|
||||
height:270px;
|
||||
background-image: url('../images/30c3_propaganda_180x270.png');
|
||||
background-size:100%;
|
||||
background-repeat:no-repeat;
|
||||
max-width:180px;
|
||||
margin:auto;
|
||||
text-align: center;
|
||||
color:white !important;
|
||||
font-family:'Source Sans Pro',monospace,Helvetica,Arial,Sans-Serif;
|
||||
font-size:22px;
|
||||
font-weight:300;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
-khtml-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
padding:7px;
|
||||
border:none;
|
||||
}
|
||||
.countdown .countdownElement {
|
||||
display: inline-block;
|
||||
}
|
||||
.countdown .foo {
|
||||
color:white;
|
||||
font-size:8px;
|
||||
font-weight: 100;
|
||||
white-space: pre;
|
||||
}
|
||||
|
|
|
@ -1,293 +0,0 @@
|
|||
body {
|
||||
padding: 2%;
|
||||
font: 120% Verdana, Arial, sans-serif;
|
||||
background-image: url(../images/background.png);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
a[href ^=https] {
|
||||
padding-left: 16px;
|
||||
margin-left: 2px;
|
||||
background: url(../images/secure.png) no-repeat;
|
||||
}
|
||||
|
||||
pre {
|
||||
border: thin dotted #ccc;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
background-color: #fafafa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
#page {
|
||||
float: left;
|
||||
max-width: 1200px;
|
||||
min-width: 800px;
|
||||
}
|
||||
|
||||
#body {
|
||||
display: table;
|
||||
float: left;
|
||||
max-width: 100% !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
#logo::before {
|
||||
background: transparent url(../images/top-right.png) scroll no-repeat top right;
|
||||
margin-bottom: -20px;
|
||||
height: 30px;
|
||||
display: block;
|
||||
border: none;
|
||||
content: url(../images/top-left.png);
|
||||
padding: 0;
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
}
|
||||
|
||||
#logo {
|
||||
height: 150px;
|
||||
background: url(../images/c3d2_blue.jpg);
|
||||
text-align: left;
|
||||
}
|
||||
#logo h1 {
|
||||
position: relative;
|
||||
top: 23px;
|
||||
left: 23px;
|
||||
padding: 65px 0 0 0;
|
||||
overflow: hidden;
|
||||
background-image: url(../images/logo.png);
|
||||
background-repeat: no-repeat;
|
||||
height: 0px !important;
|
||||
height /**/:65px;
|
||||
}
|
||||
#navigation {
|
||||
text-align: left;
|
||||
display: table-cell;
|
||||
margin-left: 0px;
|
||||
width: 12%;
|
||||
padding: 0.5em;
|
||||
margin-top: 10px;
|
||||
padding-top: 100px;
|
||||
background: url(../images/ck.png) top center no-repeat;
|
||||
}
|
||||
|
||||
#navigation form {
|
||||
padding: 0.2em 0 0.2em 0;
|
||||
margin: 1em 0.3em 0 0.3em;
|
||||
border-top: #ebc63c 1px solid;
|
||||
border-bottom: #ebc63c 1px solid;
|
||||
text-align: center;
|
||||
}
|
||||
#navigation input[type =text] {
|
||||
width: 80%;
|
||||
}
|
||||
#navigation ul {
|
||||
list-style-type: square;
|
||||
list-style-image: url(../images/bullet.png);
|
||||
font-size: small;
|
||||
margin-left: 0;
|
||||
}
|
||||
#navigation li {
|
||||
line-height: 2em;
|
||||
}
|
||||
#navigation a {
|
||||
color: #676767;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
#navigation a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#content {
|
||||
display: table-cell;
|
||||
text-align: left;
|
||||
width: 50%;
|
||||
border-left: #ccc 1.1px dashed;
|
||||
border-right: #ccc 1.1px dashed;
|
||||
font-size: 75%;
|
||||
line-height: 1.3em;
|
||||
padding: 0 2em;
|
||||
}
|
||||
|
||||
#content p {
|
||||
margin: 1.5em 1em;
|
||||
}
|
||||
|
||||
#content a {
|
||||
text-decoration: none;
|
||||
border-bottom: #ebc63c 1px solid;
|
||||
color: #555;
|
||||
}
|
||||
#content a:hover {
|
||||
border-width: 2px;
|
||||
}
|
||||
|
||||
#content h1,
|
||||
#content h2,
|
||||
#content h3,
|
||||
#content h4,
|
||||
#content h5 {
|
||||
letter-spacing: 3px;
|
||||
margin: 0px;
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
#content h2 {
|
||||
font-size: 200%;
|
||||
margin-bottom: 1em;
|
||||
margin-top: 0px;
|
||||
color: #333;
|
||||
}
|
||||
#content h3 {
|
||||
font-size: 150%;
|
||||
margin-top: 30px;
|
||||
color: #555;
|
||||
}
|
||||
#content h4 {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
|
||||
#news {
|
||||
text-align: left;
|
||||
display: table-cell;
|
||||
margin-right: 1em;
|
||||
width: 10%;
|
||||
background: url(../images/pesthoernchen.png) top center no-repeat;
|
||||
padding: 1em;
|
||||
padding-top: 90px;
|
||||
margin-top: 10px;
|
||||
|
||||
font-size: small;
|
||||
}
|
||||
#news h2 {
|
||||
font-size: 1.2em;
|
||||
border-top: #ebc63c 1px solid;
|
||||
padding-top: 5%;
|
||||
}
|
||||
#news ul {
|
||||
list-style-type: circle;
|
||||
list-style-image: url(../images/star.png);
|
||||
font-size: small;
|
||||
margin-left: -1em;
|
||||
max-width: 10em !important;
|
||||
}
|
||||
#news ul li {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
#news a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
font-style: italic;
|
||||
}
|
||||
#news a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
#footer {
|
||||
text-align: center;
|
||||
font-size: small;
|
||||
border: #ccc 1px solid;
|
||||
border-top: none;
|
||||
background: #fff url(../images/background_bottom.png) no-repeat left bottom;
|
||||
}
|
||||
#footer ul, #footer li {
|
||||
display: inline;
|
||||
list-style-type: none;
|
||||
}
|
||||
#footer li a {
|
||||
margin: 0 1em;
|
||||
color: #676767;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
#footer li a img {
|
||||
border: none;
|
||||
}
|
||||
.hidden {
|
||||
color: white;
|
||||
font-size: xx-small;
|
||||
clear: both;
|
||||
}
|
||||
#update {
|
||||
font: xx-small sans-serif;
|
||||
letter-spacing: 0.8px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
|
||||
#content hr.news {
|
||||
visibility: hidden;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#content div.news {
|
||||
padding: 1em;
|
||||
margin: 0;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
.news_author {
|
||||
font-size: small;
|
||||
font-style: italic;
|
||||
margin-left: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
#content h3.news {
|
||||
border-bottom: #ebc63c 3px solid;
|
||||
padding: 0px;
|
||||
line-height: 1.1em;
|
||||
font-size: 130%;
|
||||
}
|
||||
#content h3.news a {
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* some little helpers */
|
||||
img.left {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
}
|
||||
img.right {
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
margin-left: 2em;
|
||||
margin-top: 0.5em;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
dt:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
dl {
|
||||
font-size: 90%;
|
||||
margin-top: 2em;
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
|
||||
dt.main {
|
||||
font-style: normal;
|
||||
font-size: 100%;
|
||||
margin-left: 1em;
|
||||
margin-top: 1em;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
dt.main:after, dt.main:before {
|
||||
content: "";
|
||||
}
|
||||
|
||||
dd, dt {
|
||||
font-size: 95%;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-left: 4em;
|
||||
}
|
|
@ -184,15 +184,17 @@
|
|||
</xsl:template>
|
||||
|
||||
<xsl:template name="navitems">
|
||||
<ul>
|
||||
<xsl:for-each select="document('../content/navigation.xml')/navigation/file">
|
||||
<xsl:call-template name="navitem">
|
||||
<xsl:with-param name="file" select="."/>
|
||||
<xsl:with-param name="title" select="@title"/>
|
||||
<xsl:with-param name="baseurl" select="$baseurl"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</ul>
|
||||
<xsl:for-each select="document('../content/navigation.xml')/navigation/group">
|
||||
<ul>
|
||||
<xsl:for-each select="file">
|
||||
<xsl:call-template name="navitem">
|
||||
<xsl:with-param name="file" select="."/>
|
||||
<xsl:with-param name="title" select="@title"/>
|
||||
<xsl:with-param name="baseurl" select="$baseurl"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</ul>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Adspace -->
|
||||
|
@ -237,46 +239,40 @@
|
|||
|
||||
<xsl:template name="calendar-events">
|
||||
<xsl:param name="limit" select="5"/>
|
||||
<xsl:if test="document('../calendar-summary.xml')/page/calendar-summary/event[date:seconds(end) >= date:seconds(date:date())]">
|
||||
<div id="upcoming">
|
||||
<h2>
|
||||
<a href="{$baseurl}calendar.html">Kalender</a>
|
||||
</h2>
|
||||
<ul>
|
||||
<xsl:for-each select="document('../calendar-summary.xml')/page/calendar-summary/event[date:seconds(end) >= date:seconds(date:date())]">
|
||||
<xsl:sort select="date:seconds(start)" data-type="number" order="ascending" />
|
||||
|
||||
<xsl:if test="position() <= $limit">
|
||||
<xsl:variable name="href">
|
||||
<xsl:call-template name="make-href">
|
||||
<xsl:with-param name="href" select="link"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<ul>
|
||||
<xsl:for-each select="document('../calendar-summary.xml')/page/calendar-summary/event[date:seconds(end) >= date:seconds(date:date())]">
|
||||
<xsl:sort select="date:seconds(start)" data-type="number" order="ascending" />
|
||||
|
||||
<li>
|
||||
<xsl:call-template name="datespan-to-human">
|
||||
<xsl:with-param name="start" select="start"/>
|
||||
<xsl:with-param name="end" select="end"/>
|
||||
</xsl:call-template>:
|
||||
<a>
|
||||
<xsl:if test="string-length($href) > 0">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="$href"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:if test="string-length(location) > 0">
|
||||
<xsl:attribute name="title">
|
||||
<xsl:value-of select="concat('Ort: ', location)"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="title"/>
|
||||
</a>
|
||||
</li>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</ul>
|
||||
</div>
|
||||
</xsl:if>
|
||||
<xsl:if test="position() <= $limit">
|
||||
<xsl:variable name="href">
|
||||
<xsl:call-template name="make-href">
|
||||
<xsl:with-param name="href" select="link"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<li>
|
||||
<xsl:call-template name="datespan-to-human">
|
||||
<xsl:with-param name="start" select="start"/>
|
||||
<xsl:with-param name="end" select="end"/>
|
||||
</xsl:call-template>:
|
||||
<a>
|
||||
<xsl:if test="string-length($href) > 0">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="$href"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:if test="string-length(location) > 0">
|
||||
<xsl:attribute name="title">
|
||||
<xsl:value-of select="concat('Ort: ', location)"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="title"/>
|
||||
</a>
|
||||
</li>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</ul>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Support für <event/> bzw. Microformats -->
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<xsl:text> ### Footer ### </xsl:text>
|
||||
</xsl:comment>
|
||||
<ul>
|
||||
<li><a href="{$baseurl}impressum.html">Impressum</a></li>
|
||||
<li>
|
||||
<!-- Creative Commons License -->
|
||||
<xsl:comment>
|
||||
|
@ -47,6 +46,7 @@
|
|||
</xsl:text>
|
||||
</xsl:comment>
|
||||
</li>
|
||||
<li><a href="{$baseurl}impressum.html">Impressum</a></li>
|
||||
<li>
|
||||
<a href="http://www.w3.org/html/logo/">
|
||||
<img src="{$baseurl}images/footer/html5-badge-h-multimedia-semantics.png"
|
||||
|
|
|
@ -62,9 +62,6 @@
|
|||
<xsl:call-template name="make-script-tag">
|
||||
<xsl:with-param name="name" select="'bitlove-enclosures'"/>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="make-script-tag">
|
||||
<xsl:with-param name="name" select="'30c3-countdown-banner'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
|
|
@ -12,7 +12,10 @@
|
|||
|
||||
<xsl:template match="/config">
|
||||
<portal>
|
||||
<!-- Extract from fetched XML files -->
|
||||
<xsl:apply-templates select="*[@id]"/>
|
||||
|
||||
<!-- Extract from news -->
|
||||
<xsl:for-each select="document('../news.xml')//newsfile">
|
||||
<xsl:apply-templates select="document(concat('../', .))/item" mode="news">
|
||||
<xsl:with-param name="link"
|
||||
|
@ -58,18 +61,29 @@
|
|||
</xsl:template>
|
||||
|
||||
<xsl:template match="atom:entry" mode="wiki">
|
||||
<item date="{atom:updated}" class="wiki">
|
||||
<header>C3D2 Wiki</header>
|
||||
<footer>by <xsl:value-of select="atom:author/atom:name"/></footer>
|
||||
<content-text><xsl:value-of select="atom:title"/></content-text>
|
||||
<link><xsl:value-of select="atom:link[@rel='alternate'][1]/@href"/></link>
|
||||
</item>
|
||||
<xsl:variable name="title" select="atom:title"/>
|
||||
<!-- Don't repeat any titles -->
|
||||
<xsl:if test="not(preceding-sibling::atom:entry/atom:title = $title)">
|
||||
<item date="{atom:updated}" class="wiki">
|
||||
<header>C3D2 Wiki</header>
|
||||
<footer>
|
||||
<xsl:text>by </xsl:text>
|
||||
<xsl:value-of select="atom:author/atom:name"/>
|
||||
<xsl:for-each select="following-sibling::atom:entry[atom:title = $title]/atom:author/atom:name">
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="normalize-space(.)"/>
|
||||
</xsl:for-each>
|
||||
</footer>
|
||||
<content-text><xsl:value-of select="atom:title"/></content-text>
|
||||
<link><xsl:value-of select="atom:link[@rel='alternate'][1]/@href"/></link>
|
||||
</item>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="item" mode="news">
|
||||
<xsl:param name="link"/>
|
||||
|
||||
<item date="{@date}">
|
||||
<item date="{@date}" class="news">
|
||||
<header>News</header>
|
||||
<footer>by <xsl:value-of select="@author"/></footer>
|
||||
<content-text><xsl:value-of select="@title"/></content-text>
|
||||
|
|
|
@ -77,31 +77,18 @@
|
|||
</xsl:comment>
|
||||
<div id="logo">
|
||||
<a href="http://c3d2.de"><h1><<</>> Chaos Computer Club Dresden | c3d2</h1></a>
|
||||
|
||||
<!-- ### Navigation ### -->
|
||||
<xsl:comment>
|
||||
<xsl:text> ### Navigation ### </xsl:text>
|
||||
</xsl:comment>
|
||||
<nav id="navigation">
|
||||
<div id="navgroups">
|
||||
<xsl:call-template name="navitems" />
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div id="body">
|
||||
|
||||
<!-- ### Navigation ### -->
|
||||
<xsl:comment>
|
||||
<xsl:text> ### Navigation ### </xsl:text>
|
||||
</xsl:comment>
|
||||
<nav id="navigation">
|
||||
<xsl:call-template name="navitems" />
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- ### News ### -->
|
||||
<xsl:comment>
|
||||
<xsl:text> ### News ### </xsl:text>
|
||||
</xsl:comment>
|
||||
|
||||
<aside id="rsidebar">
|
||||
<xsl:call-template name="adspace" />
|
||||
|
||||
<xsl:call-template name="calendar-events" />
|
||||
|
||||
<xsl:call-template name="chaosupdates" />
|
||||
</aside>
|
||||
|
||||
<!-- ### Content ### -->
|
||||
<xsl:comment>
|
||||
|
@ -112,6 +99,9 @@
|
|||
<xsl:if test="event">
|
||||
<xsl:attribute name="class">vevent</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:if test="/page/portal">
|
||||
<xsl:attribute name="class">portalcontainer</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$title != ''">
|
||||
<h2>
|
||||
|
@ -135,7 +125,6 @@
|
|||
</section> <!-- id="content" -->
|
||||
|
||||
<xsl:call-template name="footer" />
|
||||
</div> <!-- id="body" -->
|
||||
</div> <!-- id="page" -->
|
||||
</xsl:element> <!-- name="body" -->
|
||||
</xsl:element> <!-- name="html" -->
|
||||
|
@ -315,7 +304,32 @@
|
|||
|
||||
<xsl:template match="/page/portal">
|
||||
<section id="portal">
|
||||
<xsl:apply-templates select="item[position() <= 60]"/>
|
||||
<!-- Upcoming events -->
|
||||
<article class="upcoming">
|
||||
<h3>
|
||||
<a href="calendar.html">Kalender</a>
|
||||
</h3>
|
||||
<xsl:call-template name="calendar-events">
|
||||
<xsl:with-param name="limit" select="4"/>
|
||||
</xsl:call-template>
|
||||
</article>
|
||||
|
||||
<!-- TODO:
|
||||
chaosupdates
|
||||
pentaradios?
|
||||
space status
|
||||
-->
|
||||
|
||||
<xsl:apply-templates select="item[position() < 4]"/>
|
||||
|
||||
<article class="space">
|
||||
<a href="space.html">
|
||||
<h3>Hackerspace</h3>
|
||||
<p class="footer">Current status</p>
|
||||
</a>
|
||||
</article>
|
||||
|
||||
<xsl:apply-templates select="item[position() >= 4 and position() <= 32]"/>
|
||||
</section>
|
||||
</xsl:template>
|
||||
|
||||
|
|
Loading…
Reference in New Issue