Skip to content

Commit

Permalink
april update & history added
Browse files Browse the repository at this point in the history
  • Loading branch information
Patrick Heneise committed Mar 17, 2014
1 parent 57c321f commit a1d42be
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 37 deletions.
11 changes: 9 additions & 2 deletions Jakefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,18 @@ task('archive', [], function () {

bcnjs2014.forEach(function (event) {
var event_date = new Date(event.date);
if (event_date <= new Date()) {
history.push(event);
if (event.talks) {
if (event_date <= new Date()) {
event.talks.reverse();
history.push(event);
}
}
});

history.sort(function(a, b) {
return new Date(b.date) - new Date(a.date);
});

fs.writeFile('./contents/_history/events.json', JSON.stringify(history), function (err) {
console.info('Done');
complete();
Expand Down
23 changes: 4 additions & 19 deletions contents/2014.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"level": "Intermediate",
"language": "en",
"git": "",
"slides": "",
"slides": "http://www.slideshare.net/bpedro/api-code-generation",
"video": "https://vimeo.com/87488883",
"description": "I'll show you how to generate a nodejs API consumer by using the API Blueprint (http://apiblueprint.org/) to generate code from a Postman (http://www.getpostman.com/) collection."
},
Expand Down Expand Up @@ -66,14 +66,14 @@
"level": "Beginner",
"language": "en",
"git": "",
"slides": "",
"slides": "http://miguelcamba.com/talks/meet-ember-js/",
"video": "",
"description": "There's a new framework in town. Probably you've heard about it. It's time to know what's all the buzz about. A brief introduction to Ember as a framework and the phylosophy behind it."
}
]
},
{
"date": "2014-04-09T22:00:00.000Z",
"date": "2014-04-29T19:15:00.000Z",
"talks": [
{
"title": "AngularJS and the Declarative / Imperative Impedance Mismatch",
Expand All @@ -88,22 +88,7 @@
"slides": "",
"video": "",
"description": "AngularJS uses its HTML directives at the core of its UI generation. That means that you specify how to generate the HTML using HTML. Part of that logic has been moved to the controller functions, but part of it cannot be moved. The result is imperative constructs like ng-if and ng-repeat inside the declarative HTML template. The mismatch between an imperative problem and a declarative tool ends up in a messy solution in the long run. JSP tried the same thing with custom tag libraries, and failed. XSL tried the same thing, and failed too. This talk will get into deeper detail about why I believe that the HTML directives - one of the core elements that AngularJS is praised for - is not such a great solution for UI generation."
},
{
"title": "Rapid API Development with Foxx",
"speaker": {
"twitter": "moonbeamlabs",
"portrait": "https://1.gravatar.com/avatar/84ac75cc9db741ff266392c83de9aa15?d=https%3A%2F%2Fidenticons.github.com%2F0c5d6c34154abb43427d3fa247a396b7.png&r=x&s=400",
"name": "Lucas Dohmen"
},
"level": "Intermediate",
"language": "en",
"git": "",
"slides": "",
"video": "",
"description": "Foxx is a server-side JavaScript application framework that – instead of being a separate application layer is directly integrated into the open source NoSQL database ArangoDB. When your first thought is \“Oh no, stored procedures\” – don’t worry: Foxx helps you structure your application using the MVC pattern and yes, you can put everything into your version control. Still it tremendously reduces redundancy in database communication and provides direct access to all features of ArangoDB like graph traversals or the query language AQL. Furthermore it automatically generates an interactive API documentation with just a few annotations. Foxx perfectly integrates both with modern client-side MVC frameworks or can be used behind your server-side application to reduce roundtrips to the database."
}

},{}
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion contents/_history/events.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"datel":"2014-01-24T23:00:00.000Z","special":{"header":"AngularJS Special","content":""}},{"date":"2014-02-12T23:00:00.000Z","talks":[{"title":"Using the API Blueprint to generate nodejs consumers","speaker":{"twitter":"bpedro","name":"Bruno Pedro","portrait":"https://pbs.twimg.com/profile_images/378800000473642830/2f20ecdcd1ec41452b174d04a69e87ee.jpeg"},"level":"Intermediate","language":"en","git":"","slides":"","video":"https://vimeo.com/87488883","description":"I'll show you how to generate a nodejs API consumer by using the API Blueprint (http://apiblueprint.org/) to generate code from a Postman (http://www.getpostman.com/) collection."},{"title":"Introduction to testing with AngularJS","speaker":{"twitter":"VictorBjelkholm","portrait":"https://pbs.twimg.com/profile_images/378800000087315087/e5a78bb2b5c3051fdffed458ff6d7e9b.jpeg","name":"Victor Bjelkholm"},"level":"Intermediate","language":"en","git":"","slides":"","video":"","description":"Introduction to testing with AngularJS will be the talk for you if you've always been interested what testing is but never took the step to finally start doing it. The talk will be mainly focused on testing basics and unit testing in AngularJS"}]}]
[{"date":"2014-03-13T23:00:00.000Z","talks":[{"title":"Meet Ember.js","speaker":{"twitter":"miguelcamba","portrait":"https://pbs.twimg.com/profile_images/1283021990/foto_180.jpg","name":"Miguel Camba"},"level":"Beginner","language":"en","git":"","slides":"http://miguelcamba.com/talks/meet-ember-js/","video":"","description":"There's a new framework in town. Probably you've heard about it. It's time to know what's all the buzz about. A brief introduction to Ember as a framework and the phylosophy behind it."},{"title":"Backbone, Marionette and other puppets","speaker":{"twitter":"ainformatico","name":"Alejandro El Informatico","portrait":""},"level":"Intermediate","language":"es/en","git":"","slides":"","video":"","description":"Now that you know Backbone.js is time to become a puppeteer and use Marionette.js, a composite application library for Backbone.js that aims to simplify the construction of large scale Javascript applications."}]},{"date":"2014-02-12T23:00:00.000Z","talks":[{"title":"Introduction to testing with AngularJS","speaker":{"twitter":"VictorBjelkholm","portrait":"https://pbs.twimg.com/profile_images/378800000087315087/e5a78bb2b5c3051fdffed458ff6d7e9b.jpeg","name":"Victor Bjelkholm"},"level":"Intermediate","language":"en","git":"","slides":"","video":"","description":"Introduction to testing with AngularJS will be the talk for you if you've always been interested what testing is but never took the step to finally start doing it. The talk will be mainly focused on testing basics and unit testing in AngularJS"},{"title":"Using the API Blueprint to generate nodejs consumers","speaker":{"twitter":"bpedro","name":"Bruno Pedro","portrait":"https://pbs.twimg.com/profile_images/378800000473642830/2f20ecdcd1ec41452b174d04a69e87ee.jpeg"},"level":"Intermediate","language":"en","git":"","slides":"http://www.slideshare.net/bpedro/api-code-generation","video":"https://vimeo.com/87488883","description":"I'll show you how to generate a nodejs API consumer by using the API Blueprint (http://apiblueprint.org/) to generate code from a Postman (http://www.getpostman.com/) collection."}]}]
2 changes: 1 addition & 1 deletion contents/_index/events.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"title":"Backbone, Marionette and other puppets","speaker":{"twitter":"ainformatico","name":"Alejandro El Informatico","portrait":""},"level":"Intermediate","language":"es/en","git":"","slides":"","video":"","description":"Now that you know Backbone.js is time to become a puppeteer and use Marionette.js, a composite application library for Backbone.js that aims to simplify the construction of large scale Javascript applications."},{"title":"Meet Ember.js","speaker":{"twitter":"miguelcamba","portrait":"https://pbs.twimg.com/profile_images/1283021990/foto_180.jpg","name":"Miguel Camba"},"level":"Beginner","language":"en","git":"","slides":"","video":"","description":"There's a new framework in town. Probably you've heard about it. It's time to know what's all the buzz about. A brief introduction to Ember as a framework and the phylosophy behind it."}]
[{"title":"AngularJS and the Declarative / Imperative Impedance Mismatch","speaker":{"twitter":"jjenkov","portrait":"https://pbs.twimg.com/profile_images/273450574/20081123-20081123-3E1W7902-small-portrait.jpg","name":"Jakob Jenkov"},"level":"Expert","language":"en","git":"","slides":"","video":"","description":"AngularJS uses its HTML directives at the core of its UI generation. That means that you specify how to generate the HTML using HTML. Part of that logic has been moved to the controller functions, but part of it cannot be moved. The result is imperative constructs like ng-if and ng-repeat inside the declarative HTML template. The mismatch between an imperative problem and a declarative tool ends up in a messy solution in the long run. JSP tried the same thing with custom tag libraries, and failed. XSL tried the same thing, and failed too. This talk will get into deeper detail about why I believe that the HTML directives - one of the core elements that AngularJS is praised for - is not such a great solution for UI generation."},{}]
33 changes: 23 additions & 10 deletions templates/_history.handlebars
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{#talks}}
<article class="event">
<article class="history-event">
<header class="speaker">
{{#if speaker}}
{{#if speaker.portrait}}
Expand All @@ -17,14 +17,27 @@
</span>
{{/if}}
</header>
{{#if title}}
<div class="meta">
Language: {{language}} | Level: {{level}}
</div>
<h3>{{title}}</h3>
<p>{{description}}</p>
{{else}}
<p><strong>This slot could be yours! Submit your talk now.</strong> You did some crazy stuff with JavaScript? You want to show it to the community? Drop us a line on your topic on <a href="https://twitter.com/bcnjs">Twitter</a> or to <a href="https://plus.google.com/u/0/communities/115705669406517039298">Google+</a>.</p>
{{/if}}
<div class="event-content">
{{#if title}}
<div class="meta">
Language: {{language}} | Level: {{level}}
</div>
<h3>{{title}}</h3>
<p>{{description}}</p>
<div class="resources">
{{#if git}}
<a href="{{git}}"><i class="fa fa-github fa-2x"></i></a>
{{/if}}
{{#if slides}}
<a href="{{slides}}"><i class="fa fa-desktop fa-2x"></i></a>
{{/if}}
{{#if video}}
<a href="{{video}}"><i class="fa fa-vimeo-square fa-2x"></i></a>
{{/if}}
</div>
{{else}}
<p><strong>This slot could be yours! Submit your talk now.</strong> You did some crazy stuff with JavaScript? You want to show it to the community? Drop us a line on your topic on <a href="https://twitter.com/bcnjs">Twitter</a> or to <a href="https://plus.google.com/u/0/communities/115705669406517039298">Google+</a>.</p>
{{/if}}
</div>
</article>
{{/talks}}
4 changes: 2 additions & 2 deletions templates/about.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<section class="about">
<h2>About BarcelonaJS</h2>
<p>Barcelona.JS is a usergroup focused on JavaScript and related topics. We meet regularly on the second Thursday each month at 19.15 at the Mobile World Centre, C/ de Fontanella, 2 in Barcelona.</p>
<p>Barcelona.JS is a usergroup focused on JavaScript and related topics. We meet regularly at the Mobile World Centre, C/ de Fontanella, 2 in Barcelona.</p>
</section>

<section class="teams">
Expand Down Expand Up @@ -32,4 +32,4 @@
{{/teams}}
</section>

{{> footer }}
{{> footer }}
64 changes: 64 additions & 0 deletions templates/assets/main.less
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,70 @@ nav {
}
}

.history {
.container;
.history-event {
.row;
margin-top: 25px;
text-align: left;

.meta {
text-transform:uppercase;
font-weight: 800;
}

.resources {
background-color: rgba(42, 100, 150,.7);
padding: 15px;
}

.resources a {
color: rgb(36,27,28);
margin-right: 15px;
}

.event-content {
.make-lg-column(10);
.make-md-column(8);
.make-sm-column(8);
}

.speaker {
.make-lg-column(2);
.make-md-column(4);
.make-sm-column(4);
background: white;
text-align: center;
}

.speaker-portrait {
width: 100%;
height: 150px;
background-position: center center;
background-repeat: no-repeat;
}

.speaker-name {
.line-height(28px);
text-transform: uppercase;
background: rgba(36,27,28, .9);
border-bottom: 3px solid fade(@black, 10%);
color: white;
display: block;
font-weight: bold;
margin-top: -13%;
margin-bottom: 8%;
position: relative;
width: 80%;
z-index: 100;

a {
text-decoration: none;
}
}
}
}

.empty {
.speaker-name {
background: url("../assets/franjabw.png") repeat white;
Expand Down
2 changes: 1 addition & 1 deletion templates/history.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<div role="main">

<section class="events">
<section class="history">
{{#events}}
{{> history }}
{{/events}}
Expand Down
2 changes: 1 addition & 1 deletion templates/index.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<section id="next-event" class="next-event">
<div class="next-event-date">
Next Event: March 13. 19.15 - 21.30. Mobile World Centre, C/ de Fontanella, 2 Barcelona
Next Event: April 29. 19.15 - 21.30. Mobile World Centre, C/ de Fontanella, 2 Barcelona
</div>
</section>

Expand Down

0 comments on commit a1d42be

Please sign in to comment.