From 9c9741fd286134615e3080b783670b98efa949bf Mon Sep 17 00:00:00 2001 From: hudson Date: Sun, 18 Jul 2010 05:05:37 +0000 Subject: [PATCH] Added support for images. Include all of the theme files in the bzr branch. --- classic_fancy/config.ini | 20 ++++ classic_fancy/index.html.tmpl | 126 +++++++++++++++++++++++++ classic_fancy/index.html.tmplc | Bin 0 -> 4030 bytes classic_fancy/planet.css | 150 ++++++++++++++++++++++++++++++ common/atom.xml.xslt | 80 ++++++++++++++++ common/foafroll.xml.xslt | 39 ++++++++ common/images/feed-icon-10x10.png | Bin 0 -> 469 bytes common/images/foaf.png | Bin 0 -> 1393 bytes common/images/logo.png | Bin 0 -> 5413 bytes common/images/opml.png | Bin 0 -> 804 bytes common/images/planet.png | Bin 0 -> 426 bytes common/images/tcosm11.gif | Bin 0 -> 203 bytes common/images/venus.ico | Bin 0 -> 894 bytes common/images/venus.png | Bin 0 -> 570 bytes common/opml.xml.xslt | 40 ++++++++ common/rss10.xml.tmpl | 37 ++++++++ common/rss10.xml.tmplc | Bin 0 -> 1506 bytes common/rss20.xml.tmpl | 33 +++++++ common/rss20.xml.tmplc | Bin 0 -> 1510 bytes common/validate.html.xslt | 146 +++++++++++++++++++++++++++++ images/mordred.png | Bin 0 -> 13819 bytes planet.ini | 19 +++- 22 files changed, 688 insertions(+), 2 deletions(-) create mode 100644 classic_fancy/config.ini create mode 100644 classic_fancy/index.html.tmpl create mode 100644 classic_fancy/index.html.tmplc create mode 100644 classic_fancy/planet.css create mode 100644 common/atom.xml.xslt create mode 100644 common/foafroll.xml.xslt create mode 100644 common/images/feed-icon-10x10.png create mode 100644 common/images/foaf.png create mode 100644 common/images/logo.png create mode 100644 common/images/opml.png create mode 100644 common/images/planet.png create mode 100644 common/images/tcosm11.gif create mode 100644 common/images/venus.ico create mode 100644 common/images/venus.png create mode 100644 common/opml.xml.xslt create mode 100644 common/rss10.xml.tmpl create mode 100644 common/rss10.xml.tmplc create mode 100644 common/rss20.xml.tmpl create mode 100644 common/rss20.xml.tmplc create mode 100644 common/validate.html.xslt create mode 100644 images/mordred.png diff --git a/classic_fancy/config.ini b/classic_fancy/config.ini new file mode 100644 index 0000000..e3ac0c8 --- /dev/null +++ b/classic_fancy/config.ini @@ -0,0 +1,20 @@ +# This theme is based on the one contained in Planet V2.0. It demonstrates +# that one can mix the use of htmltmpl and xslt templates. + +[Planet] +template_files: + atom.xml.xslt + foafroll.xml.xslt + index.html.tmpl + opml.xml.xslt + rss10.xml.tmpl + rss20.xml.tmpl + +template_directories: + ../common + +bill_of_materials: + planet.css + images/feed-icon-10x10.png + images/logo.png + images/planet.png diff --git a/classic_fancy/index.html.tmpl b/classic_fancy/index.html.tmpl new file mode 100644 index 0000000..3ade246 --- /dev/null +++ b/classic_fancy/index.html.tmpl @@ -0,0 +1,126 @@ + + + +### Fancy Planet HTML template. +### +### When combined with the stylesheet and images in the output/ directory +### of the Planet source, this gives you a much prettier result than the +### default examples template and demonstrates how to use the config file +### to support things like faces +### +### For documentation on the more boring template elements, see +### examples/config.ini and examples/index.html.tmpl in the Planet source. + + +<TMPL_VAR name> + +"> + + +" title="" type="application/+xml"> + + + + +

+ + + + + +### End
+
+### End
+
+
+
+

+ + + + +### End
+
+
+
+ +### Planet provides template variables for *all* configuration options for +### the channel (and defaults), even if it doesn't know about them. We +### exploit this here to add hackergotchi faces to our channels. Planet +### doesn't know about the "face", "facewidth" and "faceheight" configuration +### variables, but makes them available to us anyway. + +

" title="">

+ +" width="" height="" alt=""> + + + + +
lang=""> + + lang="">"> + +
+
lang=""> + +
+ +### Planet also makes available all of the information from the feed +### that it can. Use the 'planet-cache' tool on the cache file for +### a particular feed to find out what additional keys it supports. +### Comment extra fields are 'author' and 'category' which we +### demonstrate below. + +

+">by at under +

+
+
+ + +### End
+
+### End
+
+
+ + + + + + + diff --git a/classic_fancy/index.html.tmplc b/classic_fancy/index.html.tmplc new file mode 100644 index 0000000000000000000000000000000000000000..9134e8b873e272b50b0e78939679eead5195b3ce GIT binary patch literal 4030 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 R7vCO02l4eu{*AMW@qaCI3>yFd literal 0 HcmV?d00001 diff --git a/classic_fancy/planet.css b/classic_fancy/planet.css new file mode 100644 index 0000000..05653c0 --- /dev/null +++ b/classic_fancy/planet.css @@ -0,0 +1,150 @@ +body { + border-right: 1px solid black; + margin-right: 200px; + + padding-left: 20px; + padding-right: 20px; +} + +h1 { + margin-top: 0px; + padding-top: 20px; + + font-family: "Bitstream Vera Sans", sans-serif; + font-weight: normal; + letter-spacing: -2px; + text-transform: lowercase; + text-align: right; + + color: grey; +} + +.admin { + text-align: right; +} + +h2 { + font-family: "Bitstream Vera Sans", sans-serif; + font-weight: normal; + color: #200080; + + margin-left: -20px; +} + +h3 { + font-family: "Bitstream Vera Sans", sans-serif; + font-weight: normal; + + background-color: #a0c0ff; + border: 1px solid #5080b0; + + padding: 4px; +} + +h3 a { + text-decoration: none; + color: inherit; +} + +h4 { + font-family: "Bitstream Vera Sans", sans-serif; + font-weight: bold; +} + +h4 a { + text-decoration: none; + color: inherit; +} + +img.face { + float: right; + margin-top: -3em; +} + +.entry { + margin-bottom: 2em; +} + +.entry .date { + font-family: "Bitstream Vera Sans", sans-serif; + color: grey; +} + +.entry .date a { + text-decoration: none; + color: inherit; +} + +.sidebar { + position: absolute; + top: 0px; + right: 0px; + width: 200px; + + margin-left: 0px; + margin-right: 0px; + padding-right: 0px; + + padding-top: 20px; + padding-left: 0px; + + font-family: "Bitstream Vera Sans", sans-serif; + font-size: 85%; +} + +.sidebar h2 { + font-size: 110%; + font-weight: bold; + color: black; + + padding-left: 5px; + margin-left: 0px; +} + +.sidebar ul { + padding-left: 1em; + margin-left: 0px; + + list-style-type: none; +} + +.sidebar ul li:hover { + color: grey; +} + +.sidebar ul li a { + text-decoration: none; +} + +.sidebar ul li a:hover { + text-decoration: underline; +} + +.sidebar ul li a img { + border: 0; +} + +.sidebar p { + border-top: 1px solid grey; + margin-top: 30px; + padding-top: 10px; + + padding-left: 5px; +} + +.sidebar .message { + cursor: help; + border-bottom: 1px dashed red; +} + +.sidebar a.message:hover { + cursor: help; + background-color: #ff0000; + color: #ffffff !important; + text-decoration: none !important; +} + +a:hover { + text-decoration: underline !important; + color: blue !important; +} diff --git a/common/atom.xml.xslt b/common/atom.xml.xslt new file mode 100644 index 0000000..c57a938 --- /dev/null +++ b/common/atom.xml.xslt @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + no + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/foafroll.xml.xslt b/common/foafroll.xml.xslt new file mode 100644 index 0000000..44726d9 --- /dev/null +++ b/common/foafroll.xml.xslt @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/images/feed-icon-10x10.png b/common/images/feed-icon-10x10.png new file mode 100644 index 0000000000000000000000000000000000000000..cc869bc61785f4db646fcbbcfc87aa3d20d99eba GIT binary patch literal 469 zcmV;`0V@89P)b#`aw-kX_Si^Jc1|2c;v&L+N%#GTkbr^vx_L@0?2ue1vae8uy9 zW>j2Fwi~;wnv#w|%)>D{wT>10d6+ znvjX&#K$e}$~4lwrKocpr#p$RZpK^viI-7mZAGBOZfK!ocn0%!gWCL!dO5}Fox+@M z<8LitMCck7=WdtW+z{sJ1iSwiD)WlBvkT!CKn3HAn`5Jatl8=pf zWMv()t_|gz0w^mJ$i`l18o*uui>ycxWHsvP8s|%U9u%*Cx=p;;psT*)T^`{*rxCTS zWX}(wG=ZN^W3ms(Xv}CQKedl?b7Aoq{>2_>AN82ZL&^z8{|hhxfn}MuvYci literal 0 HcmV?d00001 diff --git a/common/images/foaf.png b/common/images/foaf.png new file mode 100644 index 0000000000000000000000000000000000000000..0fea5ba5bc3daba7e3fca691f0db3c755934f685 GIT binary patch literal 1393 zcmd^7`%hX27{xmA?Q~Wi-s?&UP6=D9ncP*kxD~ZX5vLRhB~B3p17=HopqW`ZQIr^3 z%%ry}7rX?-W^+DoTdZ!&GGf$;6${PWGfUHq#geHsX|}rd?q>hRvXh*1@+IF7-#Ph) zYO49EN!dvx5-C+sSuQ3#n_yZ(ETQD!-)$sPEUBhSQn9eGAP@-V=H_~Pd#TjpWo2bJ z?!>j){y_}K5mqj%tWsH9E5R@fZ)q{jn!;fVe0^ggIDzYQmOGZg=|T6d8)Sk=0P%RV zIBrw-s{3a9hRiGaF}+Hq3M&-dJ#LRs==$EZ*W7IQ+z^St{r&yOHp1gK1pT?m3cEljZGlG=SQX?R*YI1*rqm0}u$>`TWJYx)XUP_VzxZ(J0i+%rMTb`wzKCNX*4>R^O9F0d6@;W*-#`h%msjsZs*vz-~5F+R9`PX zc@o`1ooLAG?c(uxhiY||NE3}(_jS4>t@gaIIutTSmCDXe0Xd$WaU8ItK@KP953Sbt znNgmbyT3mQLAiy6jIdIfk(zEa-E{xpPESsA?YiuC)s?GX8jK4RAWQmz^z>;41hFhj z7Aw4#pAXRiih0FM1M~9PTpO}Yp`;bk>EZA&au=DGNF4SZ;vaAvC-nb`?DWucBKb_G zxcUOo!+!>(XB96T5QoPoh5T~d6CYhAhQv#i7dr^A{Fmo8T1$zAT0!|)2`#9SVS}S< zyJM#AEgM%Jt$$h{mA5*3o356;VRHU@1w7*JY>=61CZ-fOiBoJPb<4}_9NXT5sb6>; zW8d;>tV~8TOcj*3(>6-p+{|u!c)ryfZ9OpSg#3hr$*tRszWJrjr_74gCx2zC)G4A@ zIj@OQ)X_7=zWaT28ZU12ntz&eyXK%a3xglSSk{I2bS=~eS?k{hinOpw+A~_vIAC79 z(cqd0G>_gN8JR{N&CqE}dNBF1`y1V}kw4+wBG#0Ra#Ma$w0UY#BlG#U3O$~WZjIdA ziz73W!##e#!aAZ5Ld)SDdRr!d6tz!1cM b*GVMbqsy7^M_-&FS|$l9s>^42ioSmU^%GgE literal 0 HcmV?d00001 diff --git a/common/images/logo.png b/common/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f277bf9281a3659dd27aaaf6822e01240cc48cd0 GIT binary patch literal 5413 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 P00000NkvXXu0mjf;zvIF literal 0 HcmV?d00001 diff --git a/common/images/opml.png b/common/images/opml.png new file mode 100644 index 0000000000000000000000000000000000000000..3f18190cdec1bf6ff9d956ac7246a9a27028c8a9 GIT binary patch literal 804 zcmV+<1Ka$GP)TX7h22X?t*x!#Eh+oz>EUT)-8DA8zP>XvGo+-X*J~-u#itoQJIu_?`S$kiud>~2Xw@PZ;h2}) z4FKgB4&yN?*araVSy$|kj^igB@4~+2As6qZrQ=Ua-$O&)A|TsyZs@nT*)c2Rdvxb} ze7Co^;5RefVO;5^rt;w6c?F(L4-t=s?r>vwkMYi!&U2ILBJ zWMt-0Qr8m>;6XXzfqw48#^!Tw-Z(biV^Zd=t?n5WqX5d z5}kX1OqWKIK#m!z7xJG2h(wJY=tj}Pwg61swk;o-+>Te*0ZM1AlTN+rhBwRj0qWbo zbn`}RGz#(wiOC(QWfK`6IJ%*d4tX>L!jcm`58UM=svx?stG#6WVt};X!j5IWd0001ZP)t-s6&4vG zAtEd*E;&0qKV`^${d~tAgh-qeVagus* zg>rMCdwqI?e3N&7tAT=(e1oHueuIjFjfswVrh|BujFOR(o065Ps+E!e&9B5{$)fH=6}mt1eBZAvl``r_+(W-mIe0 zi^SozJDmz+u{?mkU}3O1VX!)f!)a%;LBZg%pwEb*(204xSgzNagTZ7(p%rbmNi~`S zG?@W4ngTPK0RR90A^8LW0018VEC2ui01E&L000F@;P)+nKnTDheu38!Z|7lOKyh5)@87?F{`>)xf8V@&KWFtOpVT5F zpBSU)JmZ}9z`E)4w;%rS00vm)jNom4Nn2=v!{tu~Z|rSTDIkuWE`;>q5I38?Ablmo41- z{pU}hmepH#>V~D6l=oXqT4}XloBh(=jth5KbuKWB%Co8LaG1Hypm()V^J3GoX~!?$ z`u5{{QdzxrWVThuJlpwOZ5C{EUvtoF{Xx4WJFVMinIsq6)pglSTyECB+@x-9+w$E{ zU%hgO$K!0e$(n1F0rY;%KXs#8<0AE(Zl99Amv3LY zCFQ9{=ICYCnO00PteIxrI^DK)x=q(?+nK8kC#}@&T5Qn2LT}BZOkyx#l(_>K7YhFFUdg4N}*(*)wt+AN1#(2sKt>)Rg3#`;Q-4Exii< zsmkFw3NeN1=}kr@6ZD(rXm`w4ZC|L+Fi);@ielcRvIX0I{Q3=vvS+W~#(_}}53AQ7@}9fRWB%5F)%yx}oH}~< zG0+*{Bn(msF&|3)1*KJ>%A_P)f=0>XZ6dBBH zu-r7?W7Tx0jdLv4Og324uQR1kW5c{=f}swP!V^)*3W$ke+Io25tgezcoi)?#)=joP zxWQ-7N{1!=*6pRHQ|rwZG?|{-HJ3aOV@(D4qZ*fXDtq|qrPF!QdW*ZwcP_Hsv)pNM zuWfOH@$#vTE4xjmR~S8ibd#8Tg*6T1&%>DUNxRbVKUyi>)0hK{ + + + + + + + + + + + + + <xsl:value-of select="atom:title"/> + + + + + + + + + + + + + + + + + diff --git a/common/rss10.xml.tmpl b/common/rss10.xml.tmpl new file mode 100644 index 0000000..cdaaa79 --- /dev/null +++ b/common/rss10.xml.tmpl @@ -0,0 +1,37 @@ + + +"> + <TMPL_VAR name ESCAPE="HTML"> + + - + + + + + " /> + + + + + + +"> + <TMPL_VAR channel_name ESCAPE="HTML"><TMPL_IF title>: <TMPL_VAR title_plain ESCAPE="HTML"></TMPL_IF> + + + + + + + + + + + + diff --git a/common/rss10.xml.tmplc b/common/rss10.xml.tmplc new file mode 100644 index 0000000000000000000000000000000000000000..688e67d77550439b7e218eb6561c69e1bbb423c8 GIT binary patch literal 1506 zcmZ`(*;dm)7%oeN1{86@U274oN;564)DXmlMIaz{@XC`DlELPXWcnvl(F-qqBQJao zk8k0nFW{f)fP)?{+SAN@+rKnbzb)cO#GS}!G5q!fGoX({|7RGe(lOWPaVLzJ+woE_ z&S0>*+P7N7PeDMD9&=+6#te=vEqwp_qf;mpkP#++)D2kgDubcVFieZ?E{Z^jPLno| z8EJQej3)f<3XBbjk@_Uj?6p}7D1X1y|R8&(?ZHn(0Z8YR3x8;{S|_fmQo$FG*Nb&a3x!co!Yu z1T9&u_02VRdtnR4=wK8kdvKBtF1Oa#VBDc2727CTA`}s`;gk+OO$QSXhkQnX&pPy^ zMS4i29du2J zmlf!`L#HgFiyCMW3KnNrQAw`A8wR!k6>9Wau(q+W36r$Al7rxeI23r2Sz4x0H3&p~Xs>p!97zViDP1seQ*m%}JCb`3R&t{#KbRqUK{82HZW8 zY5E{j4f*4;h$BNZ^(;hYsjDoFzeYHtL+{a1<>|^%-dCgt4lU5(UQ<>U;UO)`vBD#? z?{Ajju`V)8N93)GFNrXLrqXzlYhZPZi;TJhfp{*L{5yzJ>4;Qu+XH jz#BbfD^H1y$`=WjjvigQ?fiDs= + + + + <TMPL_VAR name> + + en + - + + + + <TMPL_VAR channel_name ESCAPE="HTML"><TMPL_IF title>: <TMPL_VAR title_plain ESCAPE="HTML"></TMPL_IF> + + + + + + + + + () + + + + + + " length="" type=""/> + + + + + + diff --git a/common/rss20.xml.tmplc b/common/rss20.xml.tmplc new file mode 100644 index 0000000000000000000000000000000000000000..4ec2d283a3b4a390aedddd580e010f848cd8ed80 GIT binary patch literal 1510 zcmZWp*;W%l5Dg)LWI%}Gf(tmtEhuClZivG~lvP65(zxO{Bn_FvEU8&M`oJT9UGy{nHJSs zhG*D5qzbEDt7-fu0!Wh{-40BfLeJ9NuOGi#i9`Y!rc<}V28~lb^d3Qmr1gCifh-wU znyyWiX4vpuM{!%!@dKlNs9+fz1D@}fCX3%}tH?S6iDdMz)bmZ(fxe~k-{aArn}3c; zuO7IE$b|k~I9DLEY8e?a2hQfFij(=WCaEZP8Z2Q@lO(m?G#rOonv_)oGq9)z10<`~ z);22o&fFFZl9Xehqg=I0a;g$T5Nnyvp$6wg=mnBuQ5Yhr<=R>WE>?-6DiM$o4Cf#; z4yZ;Q44(YKM1%Tu&uj(gNrOwG;ALL>3Ktx%l5TlIhN~jz8n1etgKk89ilUMPBSeZV zRo2%xV3ed+0*cGKiKYfs6Q2e9vZ#KG^z#Af(HQc)%IzvikW8$(vIuubI+_gJMaATd z4EIEl`=l?*>Uf$=2MSzcjA>+5C7LygJg6dhM40hGXf|Zi-=LmtRB*Dhd3Y%5j*}dN z=mG>LSOa+tiXu=UNwWcyyzUe;tuQ8Y9WSyZ!XNRGKIVicRkX?%2~P#v&q#0Gbpq-H zFpYHw&Mfn}C^~bBeZh6rsF99U!7Osx6Vcd2u*X)oH;?yFgR-djl4Kef)u&4(m_uNn zs+<5NcqO#?n)DlC&~!bW+J>1TM!c5~Q{e+#c69Q|dTUwK#HmPzf2J z_&Rd^(4%_Oqx-OfoMD-N)OJ!1JqypJGO@6?x^0GypgP@75k0R?6$+cDW z7y`RkG?SNu?=6b(&mvqGi!cCuL2xRsXc8Er+dbwD&t-glq0aUnU8U%bH&}KEN7a76 NsqAHnB9w-E#eWFw+};2H literal 0 HcmV?d00001 diff --git a/common/validate.html.xslt b/common/validate.html.xslt new file mode 100644 index 0000000..0cabdcc --- /dev/null +++ b/common/validate.html.xslt @@ -0,0 +1,146 @@ + + + + + + + + + <xsl:value-of select="atom:title"/> + + + + + + + + + + + + + + + + + + + + + + + + +
NameFormatNotes
+ + +
+ + + + + rss_0_90 + rss_0_91 + rss_0_91 + rss_1_0 + rss_0_90 + + rss_0_90 + rss_2_0 + rss_2_0 + + + atom_0_3 + atom_1_0 + atom_1_0 + + + + + + + + + background-color:#FCC + + +
+ + http://feedvalidator.org/check?url= + + + + + + + + + + + + + + http://www.validome.org/rss-atom/validate? + viewSourceCode=1&version= + + &url= + + + + + + + + + + + + + + + + + message + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+ +
+ + + diff --git a/images/mordred.png b/images/mordred.png new file mode 100644 index 0000000000000000000000000000000000000000..2b9d2919192cc19cce581b82c87c6cfc01126f0a GIT binary patch literal 13819 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