Merge branch 'master' of github.com:bornhack/bornhack-website

This commit is contained in:
Thomas Steen Rasmussen 2018-05-26 14:42:28 +02:00
commit 53fa204455
12 changed files with 243 additions and 130 deletions

View File

@ -46,8 +46,6 @@ speakerDecoder =
|> required "name" string
|> required "slug" string
|> required "biography" string
|> optional "large_picture_url" (nullable string) Nothing
|> optional "small_picture_url" (nullable string) Nothing
eventDecoder : Decoder Event

View File

@ -70,8 +70,6 @@ type alias Speaker =
{ name : String
, slug : SpeakerSlug
, biography : String
, largePictureUrl : Maybe String
, smallPictureUrl : Maybe String
}

View File

@ -22,33 +22,18 @@ speakerDetailView speakerSlug model =
model.speakers
|> List.filter (\speaker -> speaker.slug == speakerSlug)
|> List.head
image =
case speaker of
Just speaker ->
case speaker.smallPictureUrl of
Just smallPictureUrl ->
[ img [ src smallPictureUrl ] [] ]
Nothing ->
[]
Nothing ->
[]
in
case speaker of
Just speaker ->
div []
([ a [ onClick BackInHistory, classList [ ( "btn", True ), ( "btn-default", True ) ] ]
[ a [ onClick BackInHistory, classList [ ( "btn", True ), ( "btn-default", True ) ] ]
[ i [ classList [ ( "fa", True ), ( "fa-chevron-left", True ) ] ] []
, text " Back"
]
, h3 [] [ text speaker.name ]
, div [] [ Markdown.toHtml [] speaker.biography ]
, speakerEvents speaker model
]
++ image
)
, h3 [] [ text speaker.name ]
, div [] [ Markdown.toHtml [] speaker.biography ]
, speakerEvents speaker model
]
Nothing ->
div [] [ text "Unknown speaker..." ]

View File

@ -27,7 +27,7 @@
</div>
<div class="col-md-9 col-sm-9 text-container">
<div class="lead">
<strong>Bornhack 2019</strong> will be the third BornHack. It will take place from <strong>August 16th to August 23rd 2019</strong> on the Danish island of Bornholm.
<strong>Bornhack 2019</strong> will be the fourth BornHack. It will take place from <strong>August 13th to August 20th 2019</strong> on the Danish island of Bornholm.
</div>
</div>
</div>

View File

@ -0,0 +1,92 @@
{% extends 'base.html' %}
{% load commonmark %}
{% load static from staticfiles %}
{% load imageutils %}
{% block content %}
<div class="row">
<div class="col-md-12">
<img src="{% static camp.logo_large %}" height="350px" width="400px" class="img-responsive" id="front-logo" />
</div>
</div>
<div class="row">
<div class="col-md-9 col-sm-9 text-container">
<div class="lead">
<b>BornHack</b> is a 7 day outdoor tent camp where hackers, makers and people with an interest in technology or security come together to celebrate technology, socialise, learn and <b>have fun</b>.
</div>
</div>
<div class="col-md-3 col-sm-3">
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x988-B12A2610.jpg' 'The family area at BornHack 2016' %}
</div>
</div>
<div class="row">
<div class="col-md-3 col-sm-3">
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x1000-B12A2398.jpg' 'A random hackers laptop' %}
</div>
<div class="col-md-9 col-sm-9 text-container">
<div class="lead">
<strong>Bornhack 2020</strong> will be the fifth BornHack. It will take place from <strong>August 11th to August 18th 2020</strong> on the Danish island of Bornholm.
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-md-9 col-sm-9 text-container">
<div class="lead">
The BornHack team looks forward to organising another great event for the hacker community. We <a href="{% url 'teams:list' camp_slug=camp.slug %}">still need volunteers</a>, so please let us know if you want to help!
</div>
</div>
<div class="col-md-3">
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x988-B12A2631.jpg' 'The BornHack 2016 organiser team' %}
</div>
</div>
<br />
<div class="row">
<div class="col-md-3 col-sm-3">
{% thumbnail 'img/bornhack-2016/fonsmark' 'FB1_5149.JPG' 'Danish politicians debating at BornHack 2016' %}
</div>
<div class="col-md-9 col-sm-9 text-container">
<div class="lead">We want to encourage <strong>hackers, makers, politicians, activists, developers, artists, sysadmins, engineers</strong> with something to say to read our <a href="{% url 'call_for_speakers' camp_slug=camp.slug %}">call for speakers</a>.</div>
</div>
</div>
<br />
<div class="row">
<div class="col-md-9 col-sm-9 text-container">
<div class="lead">
BornHack aims to <strong>keep ticket prices affordable</strong> for everyone and to that end <strong>we need sponsors</strong>. Please see our <a href="{% url 'sponsors' camp_slug=camp.slug %}">call for sponsors</a> if you want to sponsor us, or if you work for a company you think might be able to help.
</div>
</div>
<div class="col-md-3 col-sm-3">
{% thumbnail 'img/bornhack-2016/fonsmark' 'FB1_5265.JPG' 'Organisers thanking the BornHack 2016 sponsors' %}
</div>
</div>
<br />
<div class="row">
<div class="col-md-12 col-sm-12">
<p class="lead">You are very welcome to ask questions and show your interest on our different channels:</p>
{% include 'includes/contact.html' %}
</div>
</div>
<p align="center">
{% thumbnail 'img/bornhack-2016/fonsmark' 'FA0_1983.JPG' 'Happy organisers welcoming people at the entrance to BornHack 2016' %}
{% thumbnail 'img/bornhack-2016/fonsmark' 'FA0_1986.JPG' 'A bus full of hackers arrive at BornHack 2016' %}
{% thumbnail 'img/bornhack-2016/fonsmark' 'FB1_5126.JPG' 'Late night hacking at Baconsvin village at BornHack 2016' %}
{% thumbnail 'img/bornhack-2016/fonsmark' 'FB1_5168.JPG' '#irl_bar by night at BornHack 2016' %}
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x900-B12A2452.jpg' 'Soldering the BornHack 2016 badge' %}
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x900-B12A2608.jpg' 'Colored lights at night' %}
{% thumbnail 'img/bornhack-2016/fonsmark' 'FA0_1961.JPG' 'BornHack' %}
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x900-B12A2485.jpg' 'Colored light in the grass' %}
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x988-B12A2624.jpg' 'Working on decorations' %}
{% thumbnail 'img/bornhack-2016/esbjerg' '1600x900-B12A2604.jpg' 'Sitting around the campfire at BornHack 2016' %}
</p>
{% endblock content %}

View File

@ -13925,9 +13925,9 @@ var _user$project$Models$Day = F3(
function (a, b, c) {
return {day_name: a, date: b, repr: c};
});
var _user$project$Models$Speaker = F5(
function (a, b, c, d, e) {
return {name: a, slug: b, biography: c, largePictureUrl: d, smallPictureUrl: e};
var _user$project$Models$Speaker = F3(
function (a, b, c) {
return {name: a, slug: b, biography: c};
});
var _user$project$Models$EventInstance = function (a) {
return function (b) {
@ -14156,29 +14156,19 @@ var _user$project$Decoders$eventDecoder = A3(
'title',
_elm_lang$core$Json_Decode$string,
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Models$Event))))))));
var _user$project$Decoders$speakerDecoder = A4(
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$optional,
'small_picture_url',
_elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string),
_elm_lang$core$Maybe$Nothing,
A4(
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$optional,
'large_picture_url',
_elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string),
_elm_lang$core$Maybe$Nothing,
var _user$project$Decoders$speakerDecoder = A3(
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required,
'biography',
_elm_lang$core$Json_Decode$string,
A3(
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required,
'slug',
_elm_lang$core$Json_Decode$string,
A3(
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required,
'biography',
'name',
_elm_lang$core$Json_Decode$string,
A3(
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required,
'slug',
_elm_lang$core$Json_Decode$string,
A3(
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required,
'name',
_elm_lang$core$Json_Decode$string,
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Models$Speaker))))));
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Models$Speaker))));
var _user$project$Decoders$dayDecoder = A3(
_NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required,
'repr',
@ -16277,117 +16267,90 @@ var _user$project$Views_SpeakerDetail$speakerDetailView = F2(
return _elm_lang$core$Native_Utils.eq(speaker.slug, speakerSlug);
},
model.speakers));
var image = function () {
var _p1 = speaker;
if (_p1.ctor === 'Just') {
var _p2 = _p1._0.smallPictureUrl;
if (_p2.ctor === 'Just') {
return {
ctor: '::',
_0: A2(
_elm_lang$html$Html$img,
{
ctor: '::',
_0: _elm_lang$html$Html_Attributes$src(_p2._0),
_1: {ctor: '[]'}
},
{ctor: '[]'}),
_1: {ctor: '[]'}
};
} else {
return {ctor: '[]'};
}
} else {
return {ctor: '[]'};
}
}();
var _p3 = speaker;
if (_p3.ctor === 'Just') {
var _p4 = _p3._0;
var _p1 = speaker;
if (_p1.ctor === 'Just') {
var _p2 = _p1._0;
return A2(
_elm_lang$html$Html$div,
{ctor: '[]'},
A2(
_elm_lang$core$Basics_ops['++'],
{
ctor: '::',
_0: A2(
_elm_lang$html$Html$a,
{
{
ctor: '::',
_0: A2(
_elm_lang$html$Html$a,
{
ctor: '::',
_0: _elm_lang$html$Html_Events$onClick(_user$project$Messages$BackInHistory),
_1: {
ctor: '::',
_0: _elm_lang$html$Html_Events$onClick(_user$project$Messages$BackInHistory),
_1: {
_0: _elm_lang$html$Html_Attributes$classList(
{
ctor: '::',
_0: {ctor: '_Tuple2', _0: 'btn', _1: true},
_1: {
ctor: '::',
_0: {ctor: '_Tuple2', _0: 'btn-default', _1: true},
_1: {ctor: '[]'}
}
}),
_1: {ctor: '[]'}
}
},
{
ctor: '::',
_0: A2(
_elm_lang$html$Html$i,
{
ctor: '::',
_0: _elm_lang$html$Html_Attributes$classList(
{
ctor: '::',
_0: {ctor: '_Tuple2', _0: 'btn', _1: true},
_0: {ctor: '_Tuple2', _0: 'fa', _1: true},
_1: {
ctor: '::',
_0: {ctor: '_Tuple2', _0: 'btn-default', _1: true},
_0: {ctor: '_Tuple2', _0: 'fa-chevron-left', _1: true},
_1: {ctor: '[]'}
}
}),
_1: {ctor: '[]'}
}
},
},
{ctor: '[]'}),
_1: {
ctor: '::',
_0: _elm_lang$html$Html$text(' Back'),
_1: {ctor: '[]'}
}
}),
_1: {
ctor: '::',
_0: A2(
_elm_lang$html$Html$h3,
{ctor: '[]'},
{
ctor: '::',
_0: A2(
_elm_lang$html$Html$i,
{
ctor: '::',
_0: _elm_lang$html$Html_Attributes$classList(
{
ctor: '::',
_0: {ctor: '_Tuple2', _0: 'fa', _1: true},
_1: {
ctor: '::',
_0: {ctor: '_Tuple2', _0: 'fa-chevron-left', _1: true},
_1: {ctor: '[]'}
}
}),
_1: {ctor: '[]'}
},
{ctor: '[]'}),
_1: {
ctor: '::',
_0: _elm_lang$html$Html$text(' Back'),
_1: {ctor: '[]'}
}
_0: _elm_lang$html$Html$text(_p2.name),
_1: {ctor: '[]'}
}),
_1: {
ctor: '::',
_0: A2(
_elm_lang$html$Html$h3,
_elm_lang$html$Html$div,
{ctor: '[]'},
{
ctor: '::',
_0: _elm_lang$html$Html$text(_p4.name),
_0: A2(
_evancz$elm_markdown$Markdown$toHtml,
{ctor: '[]'},
_p2.biography),
_1: {ctor: '[]'}
}),
_1: {
ctor: '::',
_0: A2(
_elm_lang$html$Html$div,
{ctor: '[]'},
{
ctor: '::',
_0: A2(
_evancz$elm_markdown$Markdown$toHtml,
{ctor: '[]'},
_p4.biography),
_1: {ctor: '[]'}
}),
_1: {
ctor: '::',
_0: A2(_user$project$Views_SpeakerDetail$speakerEvents, _p4, model),
_1: {ctor: '[]'}
}
_0: A2(_user$project$Views_SpeakerDetail$speakerEvents, _p2, model),
_1: {ctor: '[]'}
}
}
},
image));
}
});
} else {
return A2(
_elm_lang$html$Html$div,

View File

@ -0,0 +1,11 @@
{% extends 'program_base.html' %}
{% block title %}
Call for Speakers | {{ block.super }}
{% endblock %}
{% block program_content %}
<h2>Call for Speakers coming eventually!</h2>
{% endblock %}

View File

@ -8,6 +8,8 @@ Sponsors | {{ block.super }}
{% block content %}
{% if sponsors %}
<h2>{{ view.camp.title }} Sponsors</h2>
<p class="lead">
@ -17,6 +19,7 @@ Sponsors | {{ block.super }}
you, we are immensely grateful!
</p>
{% endif %}
{% for sponsor in sponsors %}
@ -47,4 +50,67 @@ Sponsors | {{ block.super }}
{% endif %}
{% endfor %}
{% if not camp.call_for_sponsors_open %}
<div class="alert alert-danger">
<strong>Note!</strong> This Call for Sponsors is no longer relevant. It is kept here for historic purposes.
</div>
{% endif %}
<h2>Becoming a {{ camp.title }} Sponsor</h2>
<p>We are looking for sponsors to help us make {{ camp.title }} as
unforgettable as the previous ones. If you would like to sponsor us do not hesitate
to contact us at <a
href="mailto:sponsors@bornhack.dk">sponsors@bornhack.dk</a>. If you work for an
organisation or company that you believe might be able and willing to sponsor
{{ camp.title }} please direct the right people to this page.</p>
<h3>The Concept</h3>
<p>BornHack is an outdoor tent camping festival with a focus on technology
and society, and how the two interact. The idea and basic concept of BornHack
comes from participation in similar camps in Germany and the Netherlands. These
events have huge traction (thousands of participants, sells out fast) and has
inspired us to make BornHack.</p>
<h3>The Organisers</h3>
<p>BornHack is put together by a group of people from Denmark employed
primarily in the IT industry. The organiser group share a desire to set up a
forum where people with different interests in IT and technology can come
together to share ideas and socialise. Several of the organisers have
previously been (or are still) involved in organising conferences such as <a
href="https://opensourcedays.org/">Open Source Days</a>.</p>
<h3>Location and Format</h3>
<p>For {{ camp.title }} we will be inviting up to 500 paying guests for a full
week, the ambition is to grow the number of attendees over the coming
years. It will take place at <a href="http://jarlsgaard.dk">Jarlsgaard</a>
on Bornholm, Denmark, where we have a great venue with a fiber connection to the
outside world.</p>
<h3>Sponsorship</h3>
<p>A sponsorship can be in the range of 5000 DKK and up. You get
to have a logo of your choice placed on our website in the sponsors
section, and we can also display tasteful signs or banners in or
around our speakers tent.</p>
<p>Sponsors often prefer to sponsor a certain area or event at the
camp, where we will figure out an appropriate display in cooperation
with you. Suggested sponsorships include:</p>
<ul>
<li>Bar area (sound system, lighting, decorations, building materials, inventory)</li>
<li>Lounge area (couches, hammocks, decoration)</li>
<li>Food area (renting barbeques and buying charcoal)</li>
<li>Speakers tent(s)</li>
<li>Sound system in speakers tent(s)</li>
<li>Shuttle buses</li>
<li>Insurance</li>
<li>Toilet facilities</li>
<li>Coffee cart</li>
</li>
</ul>
<p>If you have other ideas you would be interested in sponsoring, reach out to us on
<a href="mailto:sponsors@bornhack.dk">sponsors@bornhack.dk</a>
and we can talk about it. Cash sponsorships are also very welcome.</p>
{% endblock %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB