From 1f2ab376c93a192683cbc62cfb0299c975a89314 Mon Sep 17 00:00:00 2001 From: Riku Rouvila Date: Fri, 27 Feb 2015 00:39:30 +0200 Subject: [PATCH] new content & styles --- src/assets/images/octocat.png | Bin 0 -> 52050 bytes src/jade/index.jade | 31 ++++++++++++----- src/js/components/email.jsx | 9 +++++ src/js/main.js | 4 +++ src/js/util.js | 14 ++++++-- src/styles/style.styl | 62 ++++++++++++++++++++++++++++------ 6 files changed, 98 insertions(+), 22 deletions(-) create mode 100644 src/assets/images/octocat.png create mode 100644 src/js/components/email.jsx diff --git a/src/assets/images/octocat.png b/src/assets/images/octocat.png new file mode 100644 index 0000000000000000000000000000000000000000..1ff406927793e77e11c06db6a87aed53c5fd6d42 GIT binary patch literal 52050 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 z઀Or*29s40F-K%rTuS07J5;fUh8FT}lG%@weVPd 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 -
- Tarkoituksenamme on yhdistää ja kasvattaa suomalaista ohjelmointiyhteisöä, sekä tarjota apua ja uusia kontakteja ohjelmoinnista innostuneille nuorille. - .column.column2-5 - #members + .bread + .column.column4-5 + h3 Yhteisö ohjelmoinnista kiinnostuneille + p. + Koodiklinikka on yhteisö, joka kokoaa Suomen ohjelmistoalan työntekijät, harrastajat ja vasta-alkajat yhteen. + Tarkoituksenamme on yhdistää ja kasvattaa suomalaista ohjelmointiyhteisöä, sekä tarjota apua ja uusia kontakteja ohjelmoinnista innostuneille nuorille. + p. + Mukaan liittyminen on ilmaista ja helppoa. Jätä sähköpostiosoitteesi ylläolevaan kenttään ja lähetämme sinulle kutsun Slack-yhteisöömme. + .column.column1-5 + #members + .row + .bread + .column.column2-5.octocat + img(src='images/octocat.png') + .column.column3-5 + h3 Avoin lähdekoodi + p + |Suosimme avointa lähdekoodia ja kaikki käyttämämme koodi on vapaasti saatavilla ja hyödynnettävissä
Github-organisaatiomme sivulta. + |Organisaation jäseneksi otamme kaikki Slack-yhteisömme jäsenet ja kontribuutio projekteihimme otetaan lämpimästi vastaan. #feed @@ -72,9 +82,12 @@ html a(href='https://github.com/koodiklinikka/koodiklinikka.fi') i.fa.fa-github + a(href='https://twitter.com/koodiklinikka') i.fa.fa-twitter + span#email + #fader script(src='js/bundle.js') diff --git a/src/js/components/email.jsx b/src/js/components/email.jsx new file mode 100644 index 0000000..98be36f --- /dev/null +++ b/src/js/components/email.jsx @@ -0,0 +1,9 @@ +'use strict'; + +var React = require('react'); + +module.exports = React.createClass({ + render() { + return info@koodiklinikka.fi; + } +}); diff --git a/src/js/main.js b/src/js/main.js index 19304a2..741eb23 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -20,3 +20,7 @@ React.render( React.render( require('./components/feed')(), document.getElementById('feed')); + +React.render( + require('./components/email')(), + document.getElementById('email')); diff --git a/src/js/util.js b/src/js/util.js index 88f4cff..fa867e5 100644 --- a/src/js/util.js +++ b/src/js/util.js @@ -24,10 +24,14 @@ module.exports = { ref_type: item.payload.ref }); + var url = `https://github.com/${item.actor.login}`; + return { + user: item.actor.login, + userLink: url, image: item.actor.avatar_url, - imageLink: `//githubEvent.com/${item.actor.login}`, - body: `${item.actor.login} ${message}`, + imageLink: url, + body: message, timestamp: new Date(item.created_at), url: message.url, type: 'github' @@ -39,9 +43,13 @@ module.exports = { item = item.retweeted_status; } + var url = `https://twitter.com/${item.user.screen_name}`; + return { + user: `@${item.user.screen_name}`, + userLink: url, image: item.user.profile_image_url, - imageLink: `//twitter.com/${item.user.screen_name}`, + imageLink: url, body: twitterText.autoLink(item.text), timestamp: new Date(item.created_at), type: 'twitter' diff --git a/src/styles/style.styl b/src/styles/style.styl index d3ea544..091a2d7 100644 --- a/src/styles/style.styl +++ b/src/styles/style.styl @@ -1,6 +1,7 @@ linkColor = #3090de textColor = #444 feedWidth = 500px +footerHeight = 50px @require '_input' @require '_button' @@ -38,7 +39,7 @@ a .container flex 1 min-height 100vh - padding-bottom 50px + padding-bottom footerHeight .jumbo width 100% @@ -97,7 +98,11 @@ section padding-right feedWidth min-height 50vh box-sizing border-box - + h3 + margin-top 2em + @media screen and (max-width: 700px) + h3 + margin-top 0 section:first-child box-shadow -1px -1px 1px rgba(0, 0, 0, 0.05) border-bottom 1px solid #EEEEEE @@ -107,13 +112,21 @@ section:first-child max-width 800px margin auto overflow auto - padding 0 1em + padding 0 2em + margin-top 2em + + &:first-child + margin-top 0 .column float left overflow auto padding 0 1em box-sizing border-box + &:first-child + padding-left 0 + &:last-child + padding-right 0 .column3-5 width (100/5*3)% @@ -129,6 +142,7 @@ section:first-child width 100% float none margin-top 1em + padding 0 &:first-child margin-top 0 .invite-form @@ -174,26 +188,34 @@ section:first-child background rgb(226, 33, 112) .members - margin-top 1em - margin-bottom 1em + width 200px + display inline-block + a + display inline-block .member - width 57px + width 40px vertical-align middle margin 3px border-radius 3px footer - font-size 1.5em - margin-top -50px + height footerHeight + line-height footerHeight + margin-top footerHeight * -1 padding 0.5em - background textColor + padding-right 1em z-index 2 position relative + border-top 1px solid #ECECEC + font-size 1.5em i margin 0 0.30em font-size 1.5em - color #fff + +#email + font-size 1rem + float right .feed width feedWidth @@ -268,3 +290,23 @@ footer background linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.15) 99%,rgba(0,0,0,0.15) 100%) pointer-events none z-index 2 + +.octocat + text-align center + img + width 100% + max-width 300px +.bread + display table + width 100% + .column + float none + display table-cell + vertical-align middle + +@media screen and (max-width: 700px) + .bread + display block + .column + display block +