diff options
author | root <root@hhvm.trawg.com> | 2015-04-15 05:42:32 +1000 |
---|---|---|
committer | root <root@hhvm.trawg.com> | 2015-04-15 05:42:32 +1000 |
commit | d61467b2002305a4fde8cb3c5d928ba1781e08cb (patch) | |
tree | c99fbd304bc027c3e83028c807e7bfd052267b9e /photowall | |
parent | b2a02381f5f5630b9b269130ab092c3b1a39b649 (diff) | |
download | pelican-themes-d61467b2002305a4fde8cb3c5d928ba1781e08cb.zip pelican-themes-d61467b2002305a4fde8cb3c5d928ba1781e08cb.tar.gz pelican-themes-d61467b2002305a4fde8cb3c5d928ba1781e08cb.tar.bz2 |
first commit of Photowall theme
Diffstat (limited to 'photowall')
47 files changed, 1176 insertions, 0 deletions
diff --git a/photowall/photowall.jpg b/photowall/photowall.jpg Binary files differnew file mode 100644 index 0000000..69119d7 --- /dev/null +++ b/photowall/photowall.jpg diff --git a/photowall/readme.md b/photowall/readme.md new file mode 100644 index 0000000..3a94ecd --- /dev/null +++ b/photowall/readme.md @@ -0,0 +1,8 @@ +== Photowall == + +A very basic theme for Pelican for a simple image wall front page. + + +=== Contact === + +Twitter: @trawg diff --git a/photowall/static/css/main.css b/photowall/static/css/main.css new file mode 100644 index 0000000..5b310d6 --- /dev/null +++ b/photowall/static/css/main.css @@ -0,0 +1,505 @@ +/* + Name: Smashing HTML5 + Date: July 2009 + Description: Sample layout for HTML5 and CSS3 goodness. + Version: 1.0 + License: MIT <http://opensource.org/licenses/MIT> + Licensed by: Smashing Media GmbH <http://www.smashingmagazine.com/> + Original author: Enrique RamÃrez <http://enrique-ramirez.com/> +*/ + +/* Imports */ +@import url("reset.css"); +@import url("pygment.css"); +@import url("typogrify.css"); +@import url(//fonts.googleapis.com/css?family=Yanone+Kaffeesatz&subset=latin); + +/***** Global *****/ +/* Body */ +body { +/* background: #F5F4EF; */ /* trog */ + background: #fafafa; + color: #000305; + font-size: 87.5%; /* Base font size: 14px */ + font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; + line-height: 1.429; + margin: 0; + padding: 0; + text-align: left; +} + +/* Headings */ +h1 {font-size: 2em } +h2 {font-size: 1.571em} /* 22px */ +h3 {font-size: 1.429em} /* 20px */ +h4 {font-size: 1.286em} /* 18px */ +h5 {font-size: 1.143em} /* 16px */ +h6 {font-size: 1em} /* 14px */ + +h1, h2, h3, h4, h5, h6 { + font-weight: 400; + line-height: 1.1; + margin-bottom: .8em; + font-family: 'Yanone Kaffeesatz', arial, serif; +} + +h3, h4, h5, h6 { margin-top: .8em; } + +hr { border: 2px solid #EEEEEE; } + +/* Anchors */ +a {outline: 0;} +a img {border: 0px; text-decoration: none;} +a:link, a:visited { + /*color: #C74350;*/ /*trog*/ + color: #000000; + padding: 0 1px; + text-decoration: underline; +} +a:hover, a:active { + /*background-color: #C74350;*/ + background-color: #000000; + + color: #fff; + text-decoration: none; + text-shadow: 1px 1px 1px #333; +} + +h1 a:hover { + background-color: inherit +} + +/* Paragraphs */ +div.line-block, +p { margin-top: 1em; + margin-bottom: 1em;} + +strong, b {font-weight: bold;} +em, i {font-style: italic;} + +/* Lists */ +ul { + list-style: outside disc; + margin: 0em 0 0 1.5em; +} + +ol { + list-style: outside decimal; + margin: 0em 0 0 1.5em; +} + +li { margin-top: 0.5em;} + +.post-info { + float:right; + margin:10px; + padding:5px; +} + +.post-info p{ + margin-top: 1px; + margin-bottom: 1px; +} + +.readmore { float: right } + +dl {margin: 0 0 1.5em 0;} +dt {font-weight: bold;} +dd {margin-left: 1.5em;} + +pre{background-color: rgb(238, 238, 238); padding: 10px; margin: 10px; overflow: auto;} + +/* Quotes */ +blockquote { + margin: 20px; + font-style: italic; +} +cite {} + +q {} + +div.note { + float: right; + margin: 5px; + font-size: 85%; + max-width: 300px; +} + +/* Tables */ +table {margin: .5em auto 1.5em auto; width: 98%;} + + /* Thead */ + thead th {padding: .5em .4em; text-align: left;} + thead td {} + + /* Tbody */ + tbody td {padding: .5em .4em;} + tbody th {} + + tbody .alt td {} + tbody .alt th {} + + /* Tfoot */ + tfoot th {} + tfoot td {} + +/* HTML5 tags */ +header, section, footer, +aside, nav, article, figure { + display: block; +} + +/***** Layout *****/ +.body {clear: both; margin: 0 auto; width: 800px;} +img.right, figure.right {float: right; margin: 0 0 2em 2em;} +img.left, figure.left {float: left; margin: 0 2em 2em 0;} + +/* + Header +*****************/ +#banner { + margin: 0 auto; + padding: 2.5em 0 0 0; +} + + /* Banner */ + #banner h1 {font-size: 3.571em; line-height: 0;} + #banner h1 a:link, #banner h1 a:visited { + color: #000305; + display: block; + font-weight: bold; + margin: 0 0 .6em .2em; + text-decoration: none; + } + #banner h1 a:hover, #banner h1 a:active { + background: none; + /*color: #C74350;*/ /*trog*/ + color: #000000; + text-shadow: none; + } + + #banner h1 strong {font-size: 0.36em; font-weight: normal;} + + /* Main Nav */ + #banner nav { + background: #000305; + font-size: 1.143em; + height: 40px; + line-height: 30px; + margin: 0 auto 2em auto; + padding: 0; + text-align: center; + width: 800px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + + #banner nav ul {list-style: none; margin: 0 auto; width: 800px;} + #banner nav li {float: left; display: inline; margin: 0;} + + #banner nav a:link, #banner nav a:visited { + color: #fff; + display: inline-block; + height: 30px; + padding: 5px 1.5em; + text-decoration: none; + } + #banner nav a:hover, #banner nav a:active, + #banner nav .active a:link, #banner nav .active a:visited { + /*background: #C74350;*/ /*trog*/ + background: #000000; + + color: #fff; + text-shadow: none !important; + } + + #banner nav li:first-child a { + border-top-left-radius: 5px; + -moz-border-radius-topleft: 5px; + -webkit-border-top-left-radius: 5px; + + border-bottom-left-radius: 5px; + -moz-border-radius-bottomleft: 5px; + -webkit-border-bottom-left-radius: 5px; + } + +/* + Featured +*****************/ +#featured { + background: #fff; + margin-bottom: 2em; + overflow: hidden; + padding: 20px; + /* trog width: 760px;*/ + width: 906px; + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +#featured figure { + border: 2px solid #eee; + float: right; + margin: 0.786em 2em 0 5em; + width: 248px; +} +#featured figure img {display: block; float: right;} + +#featured h2 {color: #000000; font-size: 1.714em; margin-bottom: 0.333em;} +#featured h3 {font-size: 1.429em; margin-bottom: .5em;} + +#featured h3 a:link, #featured h3 a:visited {color: #000305; text-decoration: none;} +#featured h3 a:hover, #featured h3 a:active {color: #fff;} + +/* + Body +*****************/ +#content { + background: #fff; + margin-bottom: 2em; + overflow: hidden; + padding: 20px 20px; + /* trog width: 760px;*/ + width: 906px; + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +#pagecontent { + background: #fff; + margin-bottom: 2em; + overflow: hidden; + padding: 20px 20px; + /* trog width: 760px;*/ + width: 1024px; + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + + +/* + Extras +*****************/ +#extras {margin: 0 auto 3em auto; overflow: hidden;} + +#extras ul {list-style: none; margin: 0;} +#extras li {border-bottom: 1px solid #fff;} +#extras h2 { + color: #000000; + font-size: 1.429em; + margin-bottom: .25em; + padding: 0 3px; +} + +#extras a:link, #extras a:visited { + color: #444; + display: block; + border-bottom: 1px solid #F4E3E3; + text-decoration: none; + padding: .3em .25em; +} + +#extras a:hover, #extras a:active {color: #fff;} + + /* Blogroll */ + #extras .blogroll { + float: left; + width: 615px; + } + + #extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;} + + /* Social */ + #extras .social { + float: right; + width: 175px; + } + + #extras div[class='social'] a { + background-repeat: no-repeat; + background-position: 3px 6px; + padding-left: 25px; + } + + /* Icons */ + .social a[href*='about.me'] {background-image: url('../images/icons/aboutme.png');} + .social a[href*='bitbucket.org'] {background-image: url('../images/icons/bitbucket.png');} + .social a[href*='delicious.com'] {background-image: url('../images/icons/delicious.png');} + .social a[href*='digg.com'] {background-image: url('../images/icons/digg.png');} + .social a[href*='facebook.com'] {background-image: url('../images/icons/facebook.png');} + .social a[href*='gitorious.org'] {background-image: url('../images/icons/gitorious.png');} + .social a[href*='github.com'], + .social a[href*='git.io'] { + background-image: url('../images/icons/github.png'); + background-size: 16px 16px; + } + .social a[href*='gittip.com'] {background-image: url('../images/icons/gittip.png');} + .social a[href*='plus.google.com'] {background-image: url('../images/icons/google-plus.png');} + .social a[href*='groups.google.com'] {background-image: url('../images/icons/google-groups.png');} + .social a[href*='news.ycombinator.com'], + .social a[href*='hackernewsers.com'] {background-image: url('../images/icons/hackernews.png');} + .social a[href*='last.fm'], .social a[href*='lastfm.'] {background-image: url('../images/icons/lastfm.png');} + .social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');} + .social a[href*='reddit.com'] {background-image: url('../images/icons/reddit.png');} + .social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');} + .social a[href*='slideshare.net'] {background-image: url('../images/icons/slideshare.png');} + .social a[href*='speakerdeck.com'] {background-image: url('../images/icons/speakerdeck.png');} + .social a[href*='stackoverflow.com'] {background-image: url('../images/icons/stackoverflow.png');} + .social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');} + .social a[href*='vimeo.com'] {background-image: url('../images/icons/vimeo.png');} + .social a[href*='youtube.com'] {background-image: url('../images/icons/youtube.png');} + +/* + About +*****************/ +#about { + background: #fff; + font-style: normal; + margin-bottom: 2em; + overflow: hidden; + padding: 20px; + text-align: left; + /* trog width: 760px;*/ + width: 906px; + + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +#about .primary {float: left; width: 165px;} +#about .primary strong {color: #C64350; display: block; font-size: 1.286em;} +#about .photo {float: left; margin: 5px 20px;} + +#about .url:link, #about .url:visited {text-decoration: none;} + +#about .bio {float: right; width: 500px;} + +/* + Footer +*****************/ +#contentinfo {padding-bottom: 2em; text-align: right;} + +/***** Sections *****/ +/* Blog */ +.hentry { + display: block; + clear: both; + border-bottom: 1px solid #eee; + padding: 1.5em 0; +} +li:last-child .hentry, #content > .hentry {border: 0; margin: 0;} +#content > .hentry {padding: 1em 0;} +.hentry img{display : none ;} +.entry-title {font-size: 3em; margin-bottom: 10px; margin-top: 0;} +.entry-title a:link, .entry-title a:visited {text-decoration: none; color: #333;} +.entry-title a:visited {background-color: #fff;} + +.hentry .post-info * {font-style: normal;} + + /* Content */ + .hentry footer {margin-bottom: 2em;} + .hentry footer address {display: inline;} + #posts-list footer address {display: block;} + + /* Blog Index */ + #posts-list {list-style: none; margin: 0;} + #posts-list .hentry {padding-left: 10px; position: relative;} + + #posts-list footer { + left: 10px; + position: relative; + float: left; + top: 0.5em; + width: 190px; + } + + /* About the Author */ + #about-author { + background: #f9f9f9; + clear: both; + font-style: normal; + margin: 2em 0; + padding: 10px 20px 15px 20px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + + #about-author strong { + color: #C64350; + clear: both; + display: block; + font-size: 1.429em; + } + + #about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;} + + /* Comments */ + #comments-list {list-style: none; margin: 0 1em;} + #comments-list blockquote { + background: #f8f8f8; + clear: both; + font-style: normal; + margin: 0; + padding: 15px 20px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + #comments-list footer {color: #888; padding: .5em 1em 0 0; text-align: right;} + + #comments-list li:nth-child(2n) blockquote {background: #F5f5f5;} + + /* Add a Comment */ + #add-comment label {clear: left; float: left; text-align: left; width: 150px;} + #add-comment input[type='text'], + #add-comment input[type='email'], + #add-comment input[type='url'] {float: left; width: 200px;} + + #add-comment textarea {float: left; height: 150px; width: 495px;} + + #add-comment p.req {clear: both; margin: 0 .5em 1em 0; text-align: right;} + + #add-comment input[type='submit'] {float: right; margin: 0 .5em;} + #add-comment * {margin-bottom: .5em;} + +/** Greyscale filter stuff **/ +.bw { + filter: grayscale(1); + -webkit-filter: grayscale(1); + width: 200px; + padding: 11px; +} + +.greyoff { + filter: grayscale(0); + -webkit-filter: grayscale(0); + transition-property: filter; + transition-duration: 1s; + -webkit-transition: 1s -webkit-filter linear; + width: 200px; + padding: 11px; +} + +.greyon { + filter: grayscale(1); + -webkit-filter: grayscale(1); + transition-property: filter; + transition-duration: 5s; + -webkit-transition: 1s -webkit-filter linear; + width: 200px; + padding: 11px; +} + diff --git a/photowall/static/css/pygment.css b/photowall/static/css/pygment.css new file mode 100644 index 0000000..fdd056f --- /dev/null +++ b/photowall/static/css/pygment.css @@ -0,0 +1,205 @@ +.hll { +background-color:#eee; +} +.c { +color:#408090; +font-style:italic; +} +.err { +border:1px solid #FF0000; +} +.k { +color:#007020; +font-weight:bold; +} +.o { +color:#666666; +} +.cm { +color:#408090; +font-style:italic; +} +.cp { +color:#007020; +} +.c1 { +color:#408090; +font-style:italic; +} +.cs { +background-color:#FFF0F0; +color:#408090; +} +.gd { +color:#A00000; +} +.ge { +font-style:italic; +} +.gr { +color:#FF0000; +} +.gh { +color:#000080; +font-weight:bold; +} +.gi { +color:#00A000; +} +.go { +color:#303030; +} +.gp { +color:#C65D09; +font-weight:bold; +} +.gs { +font-weight:bold; +} +.gu { +color:#800080; +font-weight:bold; +} +.gt { +color:#0040D0; +} +.kc { +color:#007020; +font-weight:bold; +} +.kd { +color:#007020; +font-weight:bold; +} +.kn { +color:#007020; +font-weight:bold; +} +.kp { +color:#007020; +} +.kr { +color:#007020; +font-weight:bold; +} +.kt { +color:#902000; +} +.m { +color:#208050; +} +.s { +color:#4070A0; +} +.na { +color:#4070A0; +} +.nb { +color:#007020; +} +.nc { +color:#0E84B5; +font-weight:bold; +} +.no { +color:#60ADD5; +} +.nd { +color:#555555; +font-weight:bold; +} +.ni { +color:#D55537; +font-weight:bold; +} +.ne { +color:#007020; +} +.nf { +color:#06287E; +} +.nl { +color:#002070; +font-weight:bold; +} +.nn { +color:#0E84B5; +font-weight:bold; +} +.nt { +color:#062873; +font-weight:bold; +} +.nv { +color:#BB60D5; +} +.ow { +color:#007020; +font-weight:bold; +} +.w { +color:#BBBBBB; +} +.mf { +color:#208050; +} +.mh { +color:#208050; +} +.mi { +color:#208050; +} +.mo { +color:#208050; +} +.sb { +color:#4070A0; +} +.sc { +color:#4070A0; +} +.sd { +color:#4070A0; +font-style:italic; +} +.s2 { +color:#4070A0; +} +.se { +color:#4070A0; +font-weight:bold; +} +.sh { +color:#4070A0; +} +.si { +color:#70A0D0; +font-style:italic; +} +.sx { +color:#C65D09; +} +.sr { +color:#235388; +} +.s1 { +color:#4070A0; +} +.ss { +color:#517918; +} +.bp { +color:#007020; +} +.vc { +color:#BB60D5; +} +.vg { +color:#BB60D5; +} +.vi { +color:#BB60D5; +} +.il { +color:#208050; +} diff --git a/photowall/static/css/reset.css b/photowall/static/css/reset.css new file mode 100644 index 0000000..1e21756 --- /dev/null +++ b/photowall/static/css/reset.css @@ -0,0 +1,52 @@ +/* + Name: Reset Stylesheet + Description: Resets browser's default CSS + Author: Eric Meyer + Author URI: http://meyerweb.com/eric/tools/css/reset/ +*/ + +/* v1.0 | 20080212 */ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + background: transparent; + border: 0; + font-size: 100%; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; +} + +body {line-height: 1;} + +ol, ul {list-style: none;} + +blockquote, q {quotes: none;} + +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins {text-decoration: none;} +del {text-decoration: line-through;} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +}
\ No newline at end of file diff --git a/photowall/static/css/typogrify.css b/photowall/static/css/typogrify.css new file mode 100644 index 0000000..c9b34dc --- /dev/null +++ b/photowall/static/css/typogrify.css @@ -0,0 +1,3 @@ +.caps {font-size:.92em;} +.amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} +.dquo {margin-left:-.38em;} diff --git a/photowall/static/css/wide.css b/photowall/static/css/wide.css new file mode 100644 index 0000000..88fd59c --- /dev/null +++ b/photowall/static/css/wide.css @@ -0,0 +1,48 @@ +@import url("main.css"); + +body { + font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; +} + +.post-info{ + display: none; +} + +#banner nav { + display: none; + -moz-border-radius: 0px; + margin-bottom: 20px; + overflow: hidden; + font-size: 1em; + background: #F5F4EF; +} + +#banner nav ul{ + padding-right: 50px; +} + +#banner nav li{ + float: right; + color: #000; +} + +#banner nav li a { + color: #000; +} + +#banner h1 { + margin-bottom: -18px; +} + +#featured, #extras { + padding: 50px; +} + +#featured { + padding-top: 20px; +} + +#extras { + padding-top: 0px; + padding-bottom: 0px; +} diff --git a/photowall/static/images/icons/aboutme.png b/photowall/static/images/icons/aboutme.png Binary files differnew file mode 100644 index 0000000..9609df3 --- /dev/null +++ b/photowall/static/images/icons/aboutme.png diff --git a/photowall/static/images/icons/bitbucket.png b/photowall/static/images/icons/bitbucket.png Binary files differnew file mode 100644 index 0000000..d05ba16 --- /dev/null +++ b/photowall/static/images/icons/bitbucket.png diff --git a/photowall/static/images/icons/delicious.png b/photowall/static/images/icons/delicious.png Binary files differnew file mode 100644 index 0000000..3dccdd8 --- /dev/null +++ b/photowall/static/images/icons/delicious.png diff --git a/photowall/static/images/icons/facebook.png b/photowall/static/images/icons/facebook.png Binary files differnew file mode 100644 index 0000000..74e7ad5 --- /dev/null +++ b/photowall/static/images/icons/facebook.png diff --git a/photowall/static/images/icons/github.png b/photowall/static/images/icons/github.png Binary files differnew file mode 100644 index 0000000..8b25551 --- /dev/null +++ b/photowall/static/images/icons/github.png diff --git a/photowall/static/images/icons/gitorious.png b/photowall/static/images/icons/gitorious.png Binary files differnew file mode 100644 index 0000000..3eeb3ec --- /dev/null +++ b/photowall/static/images/icons/gitorious.png diff --git a/photowall/static/images/icons/gittip.png b/photowall/static/images/icons/gittip.png Binary files differnew file mode 100644 index 0000000..af94962 --- /dev/null +++ b/photowall/static/images/icons/gittip.png diff --git a/photowall/static/images/icons/google-groups.png b/photowall/static/images/icons/google-groups.png Binary files differnew file mode 100644 index 0000000..5de15e6 --- /dev/null +++ b/photowall/static/images/icons/google-groups.png diff --git a/photowall/static/images/icons/google-plus.png b/photowall/static/images/icons/google-plus.png Binary files differnew file mode 100644 index 0000000..3c6b743 --- /dev/null +++ b/photowall/static/images/icons/google-plus.png diff --git a/photowall/static/images/icons/hackernews.png b/photowall/static/images/icons/hackernews.png Binary files differnew file mode 100644 index 0000000..fc7a82d --- /dev/null +++ b/photowall/static/images/icons/hackernews.png diff --git a/photowall/static/images/icons/lastfm.png b/photowall/static/images/icons/lastfm.png Binary files differnew file mode 100644 index 0000000..3a6c626 --- /dev/null +++ b/photowall/static/images/icons/lastfm.png diff --git a/photowall/static/images/icons/linkedin.png b/photowall/static/images/icons/linkedin.png Binary files differnew file mode 100644 index 0000000..d29c120 --- /dev/null +++ b/photowall/static/images/icons/linkedin.png diff --git a/photowall/static/images/icons/reddit.png b/photowall/static/images/icons/reddit.png Binary files differnew file mode 100644 index 0000000..71ae121 --- /dev/null +++ b/photowall/static/images/icons/reddit.png diff --git a/photowall/static/images/icons/rss.png b/photowall/static/images/icons/rss.png Binary files differnew file mode 100644 index 0000000..7862c65 --- /dev/null +++ b/photowall/static/images/icons/rss.png diff --git a/photowall/static/images/icons/slideshare.png b/photowall/static/images/icons/slideshare.png Binary files differnew file mode 100644 index 0000000..ecc9741 --- /dev/null +++ b/photowall/static/images/icons/slideshare.png diff --git a/photowall/static/images/icons/speakerdeck.png b/photowall/static/images/icons/speakerdeck.png Binary files differnew file mode 100644 index 0000000..087d093 --- /dev/null +++ b/photowall/static/images/icons/speakerdeck.png diff --git a/photowall/static/images/icons/stackoverflow.png b/photowall/static/images/icons/stackoverflow.png Binary files differnew file mode 100644 index 0000000..f5b65e9 --- /dev/null +++ b/photowall/static/images/icons/stackoverflow.png diff --git a/photowall/static/images/icons/twitter.png b/photowall/static/images/icons/twitter.png Binary files differnew file mode 100644 index 0000000..d0ef3cc --- /dev/null +++ b/photowall/static/images/icons/twitter.png diff --git a/photowall/static/images/icons/vimeo.png b/photowall/static/images/icons/vimeo.png Binary files differnew file mode 100644 index 0000000..dba4720 --- /dev/null +++ b/photowall/static/images/icons/vimeo.png diff --git a/photowall/static/images/icons/youtube.png b/photowall/static/images/icons/youtube.png Binary files differnew file mode 100644 index 0000000..ce6cbe4 --- /dev/null +++ b/photowall/static/images/icons/youtube.png diff --git a/photowall/static/js/mousetrap.js b/photowall/static/js/mousetrap.js new file mode 100644 index 0000000..9f0292b --- /dev/null +++ b/photowall/static/js/mousetrap.js @@ -0,0 +1 @@ +/* mousetrap v1.5.2 craig.is/killing/mice */(function(C,r,g){function t(a,b,h){a.addEventListener?a.addEventListener(b,h,!1):a.attachEvent("on"+b,h)}function x(a){if("keypress"==a.type){var b=String.fromCharCode(a.which);a.shiftKey||(b=b.toLowerCase());return b}return l[a.which]?l[a.which]:p[a.which]?p[a.which]:String.fromCharCode(a.which).toLowerCase()}function D(a){var b=[];a.shiftKey&&b.push("shift");a.altKey&&b.push("alt");a.ctrlKey&&b.push("ctrl");a.metaKey&&b.push("meta");return b}function u(a){return"shift"==a||"ctrl"==a||"alt"==a||"meta"==a}function y(a,b){var h,c,e,g=[];h=a;"+"===h?h=["+"]:(h=h.replace(/\+{2}/g,"+plus"),h=h.split("+"));for(e=0;e<h.length;++e)c=h[e],z[c]&&(c=z[c]),b&&"keypress"!=b&&A[c]&&(c=A[c],g.push("shift")),u(c)&&g.push(c);h=c;e=b;if(!e){if(!k){k={};for(var m in l)95<m&&112>m||l.hasOwnProperty(m)&&(k[l[m]]=m)}e=k[h]?"keydown":"keypress"}"keypress"==e&&g.length&&(e="keydown");return{key:c,modifiers:g,action:e}}function B(a,b){return a===r?!1:a===b?!0:B(a.parentNode,b)}function c(a){function b(a){a=a||{};var b=!1,n;for(n in q)a[n]?b=!0:q[n]=0;b||(v=!1)}function h(a,b,n,f,c,h){var g,e,l=[],m=n.type;if(!d._callbacks[a])return[];"keyup"==m&&u(a)&&(b=[a]);for(g=0;g<d._callbacks[a].length;++g)if(e=d._callbacks[a][g],(f||!e.seq||q[e.seq]==e.level)&&m==e.action){var k;(k="keypress"==m&&!n.metaKey&&!n.ctrlKey)||(k=e.modifiers,k=b.sort().join(",")===k.sort().join(","));k&&(k=f&&e.seq==f&&e.level==h,(!f&&e.combo==c||k)&&d._callbacks[a].splice(g,1),l.push(e))}return l}function g(a,b,n,f){d.stopCallback(b,b.target||b.srcElement,n,f)||!1!==a(b,n)||(b.preventDefault?b.preventDefault():b.returnValue=!1,b.stopPropagation?b.stopPropagation():b.cancelBubble=!0)}function e(a){"number"!==typeof a.which&&(a.which=a.keyCode);var b=x(a);b&&("keyup"==a.type&&w===b?w=!1:d.handleKey(b,D(a),a))}function l(a,c,n,f){function e(c){return function(){v=c;++q[a];clearTimeout(k);k=setTimeout(b,1E3)}}function h(c){g(n,c,a);"keyup"!==f&&(w=x(c));setTimeout(b,10)}for(var d=q[a]=0;d<c.length;++d){var p=d+1===c.length?h:e(f||y(c[d+1]).action);m(c[d],p,f,a,d)}}function m(a,b,c,f,e){d._directMap[a+":"+c]=b;a=a.replace(/\s+/g," ");var g=a.split(" ");1<g.length?l(a,g,b,c):(c=y(a,c),d._callbacks[c.key]=d._callbacks[c.key]||[],h(c.key,c.modifiers,{type:c.action},f,a,e),d._callbacks[c.key][f?"unshift":"push"]({callback:b,modifiers:c.modifiers,action:c.action,seq:f,level:e,combo:a}))}var d=this;a=a||r;if(!(d instanceof c))return new c(a);d.target=a;d._callbacks={};d._directMap={};var q={},k,w=!1,p=!1,v=!1;d._handleKey=function(a,c,e){var f=h(a,c,e),d;c={};var k=0,l=!1;for(d=0;d<f.length;++d)f[d].seq&&(k=Math.max(k,f[d].level));for(d=0;d<f.length;++d)f[d].seq?f[d].level==k&&(l=!0,c[f[d].seq]=1,g(f[d].callback,e,f[d].combo,f[d].seq)):l||g(f[d].callback,e,f[d].combo);f="keypress"==e.type&&p;e.type!=v||u(a)||f||b(c);p=l&&"keydown"==e.type};d._bindMultiple=function(a,b,c){for(var d=0;d<a.length;++d)m(a[d],b,c)};t(a,"keypress",e);t(a,"keydown",e);t(a,"keyup",e)}var l={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},p={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},A={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},z={option:"alt",command:"meta","return":"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},k;for(g=1;20>g;++g)l[111+g]="f"+g;for(g=0;9>=g;++g)l[g+96]=g;c.prototype.bind=function(a,b,c){a=a instanceof Array?a:[a];this._bindMultiple.call(this,a,b,c);return this};c.prototype.unbind=function(a,b){return this.bind.call(this,a,function(){},b)};c.prototype.trigger=function(a,b){if(this._directMap[a+":"+b])this._directMap[a+":"+b]({},a);return this};c.prototype.reset=function(){this._callbacks={};this._directMap={};return this};c.prototype.stopCallback=function(a,b){return-1<(" "+b.className+" ").indexOf(" mousetrap ")||B(b,this.target)?!1:"INPUT"==b.tagName||"SELECT"==b.tagName||"TEXTAREA"==b.tagName||b.isContentEditable};c.prototype.handleKey=function(){return this._handleKey.apply(this,arguments)};c.init=function(){var a=c(r),b;for(b in a)"_"!==b.charAt(0)&&(c[b]=function(b){return function(){return a[b].apply(a,arguments)}}(b))};c.init();C.Mousetrap=c;"undefined"!==typeof module&&module.exports&&(module.exports=c);"function"===typeof define&&define.amd&&define(function(){return c})})(window,document); diff --git a/photowall/templates/analytics.html b/photowall/templates/analytics.html new file mode 100644 index 0000000..e27adf8 --- /dev/null +++ b/photowall/templates/analytics.html @@ -0,0 +1,46 @@ +{% if GOOGLE_ANALYTICS %} + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', '{{GOOGLE_ANALYTICS}}']); + _gaq.push(['_trackPageview']); + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> +{% endif %} +{% if GAUGES %} + <script type="text/javascript"> + var _gauges = _gauges || []; + (function() { + var t = document.createElement('script'); + t.type = 'text/javascript'; + t.async = true; + t.id = 'gauges-tracker'; + t.setAttribute('data-site-id', '{{GAUGES}}'); + t.src = '//secure.gaug.es/track.js'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(t, s); + })(); + </script> +{% endif %} +{% if PIWIK_URL and PIWIK_SITE_ID %} + <script type="text/javascript"> + {% if PIWIK_SSL_URL %} + var pkBaseURL = "{{ PIWIK_SSL_URL }}"; + {% else %} + var pkBaseURL = "{{ PIWIK_URL }}"; + {% endif %} + var _paq = _paq || []; + _paq.push(["trackPageView"]); + _paq.push(["enableLinkTracking"]); + (function() { + var u=(("https:" == document.location.protocol) ? "https" : "http")+"://"+pkBaseURL+"/"; + _paq.push(["setTrackerUrl", u+"piwik.php"]); + _paq.push(["setSiteId", "{{ PIWIK_SITE_ID }}"]); + var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; + g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); + })(); + </script> +{% endif %} diff --git a/photowall/templates/archives.html b/photowall/templates/archives.html new file mode 100644 index 0000000..f678494 --- /dev/null +++ b/photowall/templates/archives.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} +{% block content %} +<section id="content" class="body"> +<h1>Archives for {{ SITENAME }}</h1> + +<dl> +{% for article in dates %} + <dt>{{ article.locale_date }}</dt> + <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd> +{% endfor %} +</dl> +</section> +{% endblock %} diff --git a/photowall/templates/article.html b/photowall/templates/article.html new file mode 100644 index 0000000..5666ae7 --- /dev/null +++ b/photowall/templates/article.html @@ -0,0 +1,71 @@ +{% extends "base.html" %} +{% block title %}{{ article.title|striptags }}{% endblock %} +{% block content %} +<section id="pagecontent" class="body"> + <script> + Mousetrap.bind('left', prev); + Mousetrap.bind('right', next); + + + function prev(element) + { + document.getElementById('prev').click(); + } + function next(element) + { + document.getElementById('next').click(); + } + </script> + <article> + <header> + <div> + <div style="float:left"> + <h1 class="entry-title"> + <a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" + title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a> + </h1> + </div> + <div style="float:right"><h2>{% include 'article_infos.html' %}</h2></div> + </div> + + <div style="clear:both"></div> + + {% if article.prev_article %} + <div style="float:left"> + <a href="{{ SITEURL }}/{{ article.prev_article.url}}" id="prev"> + Previous: {{ article.prev_article.title }} + </a> + </div> + {% endif %} + {% if article.next_article %} + <div style="float:right"> + <a href="{{ SITEURL }}/{{ article.next_article.url}}" id="next"> + Next: {{ article.next_article.title }} + </a> + </div> + {% endif %} + {% include 'twitter.html' %} + </header> + {{ article.content }} + + {% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} + <div class="comments"> + <h2>Comments !</h2> + <div id="disqus_thread"></div> + <script type="text/javascript"> + var disqus_shortname = '{{ DISQUS_SITENAME }}'; + var disqus_identifier = '{{ article.url }}'; + var disqus_url = '{{ SITEURL }}/{{ article.url }}'; + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = '//{{ DISQUS_SITENAME }}.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); + </script> + <noscript>Please enable JavaScript to view the comments.</noscript> + </div> + {% endif %} + + </article> +</section> +{% endblock %} diff --git a/photowall/templates/article_infos.html b/photowall/templates/article_infos.html new file mode 100644 index 0000000..0bca8ca --- /dev/null +++ b/photowall/templates/article_infos.html @@ -0,0 +1,9 @@ + <abbr class="published" title="{{ article.date.isoformat() }}"> + {{ article.locale_date }} + </abbr> + {% if article.modified %} + <br /> + <abbr class="modified" title="{{ article.modified.isoformat() }}"> + Updated: {{ article.locale_modified }} + </abbr> + {% endif %} diff --git a/photowall/templates/author.html b/photowall/templates/author.html new file mode 100644 index 0000000..0b37290 --- /dev/null +++ b/photowall/templates/author.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ author }}{% endblock %} diff --git a/photowall/templates/authors.html b/photowall/templates/authors.html new file mode 100644 index 0000000..e61a332 --- /dev/null +++ b/photowall/templates/authors.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} - Authors{% endblock %} + +{% block content %} + +<section id="content" class="body"> + <h1>Authors on {{ SITENAME }}</h1> + <ul> + {% for author, articles in authors|sort %} + <li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li> + {% endfor %} + </ul> +</section> + +{% endblock %} diff --git a/photowall/templates/base.html b/photowall/templates/base.html new file mode 100644 index 0000000..f5c01eb --- /dev/null +++ b/photowall/templates/base.html @@ -0,0 +1,83 @@ +<!DOCTYPE html> +<html lang="{{ DEFAULT_LANG }}"> +<head> + <meta charset="utf-8" /> + <title>{% block title %}{{ SITENAME }}{%endblock%}</title> + <link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/{{ CSS_FILE }}" /> + {% if FEED_ALL_ATOM %} + <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" /> + {% endif %} + {% if FEED_ALL_RSS %} + <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" /> + {% endif %} + + <!--[if IE]> + <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + + <script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/mousetrap.js"> </script> +</head> + +<body id="index" class="home"> +<script> +function greyoff(img) +{ + document.getElementById(img).className = "greyoff"; +} + +function greyon(img) +{ + document.getElementById(img).className = "greyon"; +} +</script> + +{% include 'github.html' %} + <header id="banner" class="body"> + <h1><a href="{{ SITEURL }}/">{{ SITENAME }} {% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a></h1> + <!--nav><ul> + {% for title, link in MENUITEMS %} + <li><a href="{{ link }}">{{ title }}</a></li> + {% endfor %} + {% if DISPLAY_PAGES_ON_MENU -%} + {% for pg in PAGES %} + <li{% if pg == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ pg.url }}">{{ pg.title }}</a></li> + {% endfor %} + {% endif %} + {% if DISPLAY_CATEGORIES_ON_MENU -%} + {% for cat, null in categories %} + <li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li> + {% endfor %} + {% endif %} + </ul></nav--> + </header><!-- /#banner --> + {% block content %} + {% endblock %} + <section id="extras" class="body"> + {% if LINKS %} + {% endif %} + {% if SOCIAL or FEED_ALL_ATOM or FEED_ALL_RSS %} + <div class="social"> + <ul> + {% if FEED_ALL_ATOM %} + <li><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate">atom feed</a></li> + {% endif %} + {% if FEED_ALL_RSS %} + <li><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate">rss feed</a></li> + {% endif %} + + {% for name, link in SOCIAL %} + <li><a href="{{ link }}">{{ name }}</a></li> + {% endfor %} + </ul> + </div><!-- /.social --> + {% endif %} + </section><!-- /#extras --> + + <footer id="contentinfo" class="body"> + <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> + </footer><!-- /#contentinfo --> + +{% include 'analytics.html' %} +{% include 'disqus_script.html' %} +</body> +</html> diff --git a/photowall/templates/category.html b/photowall/templates/category.html new file mode 100644 index 0000000..56f8e93 --- /dev/null +++ b/photowall/templates/category.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ category }}{% endblock %} diff --git a/photowall/templates/comments.html b/photowall/templates/comments.html new file mode 100644 index 0000000..bb033c0 --- /dev/null +++ b/photowall/templates/comments.html @@ -0,0 +1 @@ +{% if DISQUS_SITENAME %}<p>There are <a href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>.</p>{% endif %} diff --git a/photowall/templates/disqus_script.html b/photowall/templates/disqus_script.html new file mode 100644 index 0000000..4ee419b --- /dev/null +++ b/photowall/templates/disqus_script.html @@ -0,0 +1,11 @@ +{% if DISQUS_SITENAME %} +<script type="text/javascript"> + var disqus_shortname = '{{ DISQUS_SITENAME }}'; + (function () { + var s = document.createElement('script'); s.async = true; + s.type = 'text/javascript'; + s.src = '//' + disqus_shortname + '.disqus.com/count.js'; + (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); + }()); +</script> +{% endif %} diff --git a/photowall/templates/github.html b/photowall/templates/github.html new file mode 100644 index 0000000..75592ac --- /dev/null +++ b/photowall/templates/github.html @@ -0,0 +1,9 @@ +{% if GITHUB_URL %} +<a href="{{ GITHUB_URL }}"> +{% if GITHUB_POSITION != "left" %} +<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub" /> +{% else %} +<img style="position: absolute; top: 0; left: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_left_white_ffffff.png" alt="Fork me on GitHub" /> +{% endif %} +</a> +{% endif %} diff --git a/photowall/templates/index.html b/photowall/templates/index.html new file mode 100644 index 0000000..9abd15b --- /dev/null +++ b/photowall/templates/index.html @@ -0,0 +1,35 @@ +{% extends "base.html" %} +{% block content_title %}{% endblock %} +{% block content %} +{% if articles %} + + <aside id="featured" class="body"> + + {% for article in articles_page.object_list %} + + <div style="float:left"> + <a href="{{ SITEURL }}/{{ article.url }}"> + <img src="images/{{ article.thumbnail }}" class="bw" id="ima{{ loop.index }}" onmouseover="greyoff(this.id)" onmouseleave="greyon(this.id)" border="0" title="{{article.title}}" alt="{{ article.title }}" /></a> + </div> + {% if loop.last %} + {% if loop.length > 1 %} + </ol><!-- /#posts-list --> + {% endif %} + {% if articles_page.has_previous() or loop.length > 1 %} + <div style="clear:both"></div>{% include 'pagination.html' %} + {% endif %} + {% if loop.length > 1 %} + </section><!-- /#content --> + {% endif %} + {% endif %} + {% endfor %} + </aside><!-- /#featured --> +{% else %} +<section id="content" class="body"> +<h2>Pages</h2> + {% for page in PAGES %} + <li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li> + {% endfor %} +</section> +{% endif %} +{% endblock content %} diff --git a/photowall/templates/page.html b/photowall/templates/page.html new file mode 100644 index 0000000..5ac50b6 --- /dev/null +++ b/photowall/templates/page.html @@ -0,0 +1,12 @@ +{% extends "base.html" %} +{% block title %}{{ page.title }}{% endblock %} +{% block content %} +<section id="content" class="body"> + <h1 class="entry-title">{{ page.title }}</h1> + {% import 'translations.html' as translations with context %} + {{ translations.translations_for(page) }} + {% if PDF_PROCESSOR %}<a href="{{ SITEURL }}/pdf/{{ page.slug }}.pdf">get + the pdf</a>{% endif %} + {{ page.content }} +</section> +{% endblock %} diff --git a/photowall/templates/period_archives.html b/photowall/templates/period_archives.html new file mode 100644 index 0000000..252e002 --- /dev/null +++ b/photowall/templates/period_archives.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} +{% block content %} +<section id="content" class="body"> +<h1>Archives for {{ period | reverse | join(' ') }}</h1> + +<dl> +{% for article in dates %} + <dt>{{ article.locale_date }}</dt> + <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd> +{% endfor %} +</dl> +</section> +{% endblock %} diff --git a/photowall/templates/tag.html b/photowall/templates/tag.html new file mode 100644 index 0000000..68cdcba --- /dev/null +++ b/photowall/templates/tag.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %} diff --git a/photowall/templates/taglist.html b/photowall/templates/taglist.html new file mode 100644 index 0000000..1e0b95a --- /dev/null +++ b/photowall/templates/taglist.html @@ -0,0 +1,2 @@ +{% if article.tags %}<p>tags: {% for tag in article.tags %}<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag | escape }}</a> {% endfor %}</p>{% endif %} +{% if PDF_PROCESSOR %}<p><a href="{{ SITEURL }}/pdf/{{ article.slug }}.pdf">get the pdf</a></p>{% endif %} diff --git a/photowall/templates/tags.html b/photowall/templates/tags.html new file mode 100644 index 0000000..fb09955 --- /dev/null +++ b/photowall/templates/tags.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} - Tags{% endblock %} + +{% block content %} + +<section id="content" class="body"> + <h1>Tags for {{ SITENAME }}</h1> + <ul> + {% for tag, articles in tags|sort %} + <li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li> + {% endfor %} + </ul> +</section> + +{% endblock %} diff --git a/photowall/templates/translations.html b/photowall/templates/translations.html new file mode 100644 index 0000000..7894bb0 --- /dev/null +++ b/photowall/templates/translations.html @@ -0,0 +1,8 @@ +{% macro translations_for(article) %} +{% if article.translations %} +Translations: + {% for translation in article.translations %} + <a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a> + {% endfor %} +{% endif %} +{% endmacro %} diff --git a/photowall/templates/twitter.html b/photowall/templates/twitter.html new file mode 100644 index 0000000..7247a0c --- /dev/null +++ b/photowall/templates/twitter.html @@ -0,0 +1,3 @@ +{% if TWITTER_USERNAME %} +<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script> +{% endif %} |