diff --git a/schedule/src/Decoders.elm b/schedule/src/Decoders.elm index b0f75be7..367d9fce 100644 --- a/schedule/src/Decoders.elm +++ b/schedule/src/Decoders.elm @@ -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 diff --git a/schedule/src/Models.elm b/schedule/src/Models.elm index b9f37ed3..305c57fa 100644 --- a/schedule/src/Models.elm +++ b/schedule/src/Models.elm @@ -70,8 +70,6 @@ type alias Speaker = { name : String , slug : SpeakerSlug , biography : String - , largePictureUrl : Maybe String - , smallPictureUrl : Maybe String } diff --git a/schedule/src/Views/SpeakerDetail.elm b/schedule/src/Views/SpeakerDetail.elm index 4c13f2b7..c54248d9 100644 --- a/schedule/src/Views/SpeakerDetail.elm +++ b/schedule/src/Views/SpeakerDetail.elm @@ -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..." ] diff --git a/src/camps/templates/bornhack-2019_camp_detail.html b/src/camps/templates/bornhack-2019_camp_detail.html index f08598a7..eafb0663 100644 --- a/src/camps/templates/bornhack-2019_camp_detail.html +++ b/src/camps/templates/bornhack-2019_camp_detail.html @@ -27,7 +27,7 @@
- Bornhack 2019 will be the third BornHack. It will take place from August 16th to August 23rd 2019 on the Danish island of Bornholm. + Bornhack 2019 will be the fourth BornHack. It will take place from August 13th to August 20th 2019 on the Danish island of Bornholm.
diff --git a/src/camps/templates/bornhack-2020_camp_detail.html b/src/camps/templates/bornhack-2020_camp_detail.html new file mode 100644 index 00000000..8d53718d --- /dev/null +++ b/src/camps/templates/bornhack-2020_camp_detail.html @@ -0,0 +1,92 @@ +{% extends 'base.html' %} +{% load commonmark %} +{% load static from staticfiles %} +{% load imageutils %} +{% block content %} +
+
+ +
+
+ +
+
+
+ BornHack 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 have fun. +
+
+
+ {% thumbnail 'img/bornhack-2016/esbjerg' '1600x988-B12A2610.jpg' 'The family area at BornHack 2016' %} +
+
+ + +
+
+ {% thumbnail 'img/bornhack-2016/esbjerg' '1600x1000-B12A2398.jpg' 'A random hackers laptop' %} +
+
+
+ Bornhack 2020 will be the fifth BornHack. It will take place from August 11th to August 18th 2020 on the Danish island of Bornholm. +
+
+
+ +
+ +
+
+
+ The BornHack team looks forward to organising another great event for the hacker community. We still need volunteers, so please let us know if you want to help! +
+
+
+ {% thumbnail 'img/bornhack-2016/esbjerg' '1600x988-B12A2631.jpg' 'The BornHack 2016 organiser team' %} +
+
+ +
+ +
+
+ {% thumbnail 'img/bornhack-2016/fonsmark' 'FB1_5149.JPG' 'Danish politicians debating at BornHack 2016' %} +
+
+
We want to encourage hackers, makers, politicians, activists, developers, artists, sysadmins, engineers with something to say to read our call for speakers.
+
+
+ +
+ +
+
+
+ BornHack aims to keep ticket prices affordable for everyone and to that end we need sponsors. Please see our call for sponsors if you want to sponsor us, or if you work for a company you think might be able to help. +
+
+
+ {% thumbnail 'img/bornhack-2016/fonsmark' 'FB1_5265.JPG' 'Organisers thanking the BornHack 2016 sponsors' %} +
+
+ +
+ +
+
+

You are very welcome to ask questions and show your interest on our different channels:

+{% include 'includes/contact.html' %} +
+
+

+ {% 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' %} +

+{% endblock content %} diff --git a/src/program/static/js/elm_based_schedule.js b/src/program/static/js/elm_based_schedule.js index 7243619b..588de4dc 100644 --- a/src/program/static/js/elm_based_schedule.js +++ b/src/program/static/js/elm_based_schedule.js @@ -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, diff --git a/src/program/templates/bornhack-2020_call_for_speakers.html b/src/program/templates/bornhack-2020_call_for_speakers.html new file mode 100644 index 00000000..1e2c8e6a --- /dev/null +++ b/src/program/templates/bornhack-2020_call_for_speakers.html @@ -0,0 +1,11 @@ +{% extends 'program_base.html' %} + +{% block title %} +Call for Speakers | {{ block.super }} +{% endblock %} + +{% block program_content %} + +

Call for Speakers coming eventually!

+ +{% endblock %} diff --git a/src/sponsors/templates/sponsors.html b/src/sponsors/templates/sponsors.html index 21fd8739..c9ae5c77 100644 --- a/src/sponsors/templates/sponsors.html +++ b/src/sponsors/templates/sponsors.html @@ -8,6 +8,8 @@ Sponsors | {{ block.super }} {% block content %} +{% if sponsors %} +

{{ view.camp.title }} Sponsors

@@ -17,6 +19,7 @@ Sponsors | {{ block.super }} you, we are immensely grateful!

+{% endif %} {% for sponsor in sponsors %} @@ -47,4 +50,67 @@ Sponsors | {{ block.super }} {% endif %} {% endfor %} +{% if not camp.call_for_sponsors_open %} +
+ Note! This Call for Sponsors is no longer relevant. It is kept here for historic purposes. +
+{% endif %} + +

Becoming a {{ camp.title }} Sponsor

+

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 sponsors@bornhack.dk. 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.

+ +

The Concept

+

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.

+ +

The Organisers

+

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 Open Source Days.

+ +

Location and Format

+

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 Jarlsgaard +on Bornholm, Denmark, where we have a great venue with a fiber connection to the +outside world.

+ +

Sponsorship

+

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.

+ +

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:

+ + + +

If you have other ideas you would be interested in sponsoring, reach out to us on +sponsors@bornhack.dk +and we can talk about it. Cash sponsorships are also very welcome.

+ {% endblock %} diff --git a/src/static_src/img/bornhack-2018/logo/bornhack-2018-logo-l.png b/src/static_src/img/bornhack-2018/logo/bornhack-2018-logo-l.png index 4e24b972..3e2e4b7e 100644 Binary files a/src/static_src/img/bornhack-2018/logo/bornhack-2018-logo-l.png and b/src/static_src/img/bornhack-2018/logo/bornhack-2018-logo-l.png differ diff --git a/src/static_src/img/bornhack-2020/logo/bornhack-2020-logo-l.png b/src/static_src/img/bornhack-2020/logo/bornhack-2020-logo-l.png new file mode 100644 index 00000000..fbd91ac7 Binary files /dev/null and b/src/static_src/img/bornhack-2020/logo/bornhack-2020-logo-l.png differ diff --git a/src/static_src/img/bornhack-2020/logo/bornhack-2020-logo-s.png b/src/static_src/img/bornhack-2020/logo/bornhack-2020-logo-s.png new file mode 100644 index 00000000..e14e0fae Binary files /dev/null and b/src/static_src/img/bornhack-2020/logo/bornhack-2020-logo-s.png differ diff --git a/src/static_src/img/sponsors/zibra-wireless-logo.png b/src/static_src/img/sponsors/zibra-wireless-logo.png new file mode 100644 index 00000000..fad51c49 Binary files /dev/null and b/src/static_src/img/sponsors/zibra-wireless-logo.png differ