jekyll-theme-conference 3.2.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4f5a6058ed0096854e4b7d4714298ea9bc253a394b8170d3ae2d280bec3913e
4
- data.tar.gz: 5ed07180716fc59636f3b5a9634fd7d430166796285566751a927ce9f15be913
3
+ metadata.gz: 32623dfa5fc548002ea9f1e8dac8b1e4c5833d33e6619bce8f77ea54c8080dc6
4
+ data.tar.gz: 565f13adc6ec08fab3a2240a8ef1adf0562454f1a4d9c58585c173d9ca583ecd
5
5
  SHA512:
6
- metadata.gz: '08f8a0a6c90e0c23ee563b18200cbbd902385d388373c5b77ad05c6fda440914825b685771907947f7f2165378e2edd13ef7421d75133bf3e6d38f3ea6c75d8b'
7
- data.tar.gz: 7095bab0d1cd826c3f1921d203ff67ae51f69c0d218196a0e45530cc227d2c3bab3e3b10529ffa27e840980fef9f9e6ed7cc5c6c3aa111a43ba2d7363bd54ddc
6
+ metadata.gz: bb1d8eae3fd5e858a24977bc77aafeebe6cdca657d4d0222afbcd40e0c4fe0011b13cacba8217cd32a68b7d6fd5fbda2756829f80bc44c601ad71aa79cc4ae36
7
+ data.tar.gz: fc2f250efcff400fbc2a96243d9f63f7659a1b071eae24391c1e6820f4cf03a63db4d43b119e0e38861423d48ab511c57dd184296d67d822756450ce4164c4c3
data/README.md CHANGED
@@ -35,6 +35,7 @@ The theme was originally created for the yearly Winterkongress conference of the
35
35
  * [Main Landing Page](#main-landing-page)
36
36
  * [Information Boxes](#information-boxes)
37
37
  * [Live Indications & Streaming](#live-indications---streaming)
38
+ * [Map](#map)
38
39
  * [Talk Settings](#talk-settings)
39
40
  * [Speaker Settings](#speaker-settings)
40
41
  * [Location Settings](#location-settings)
@@ -50,6 +51,7 @@ The theme was originally created for the yearly Winterkongress conference of the
50
51
  * [Live Stream Overview](#live-stream-overview)
51
52
  * [Additional Pages](#additional-pages)
52
53
  - [Design](#design)
54
+ - [Development](#development)
53
55
  - [License](#license)
54
56
 
55
57
 
@@ -137,9 +139,9 @@ In order to be up and running simply use the default content of this repository
137
139
 
138
140
  ### Automatic Import
139
141
 
140
- There exists a Python file in this repository, `_tools/create_entries.py`, which can be used to import content from a [frab](https://github.com/frab/frab/wiki/Manual#introduction) compatible JSON file (e.g. from [pretalx.com](https://pretalx.com/p/about/)) or a CSV table and generate the different talk, speakers and room files automatically. It has as only dependency [PyYAML](https://pypi.org/project/PyYAML/):
142
+ There exists a Python file in this repository, `_tools/create_entries.py`, which can be used to import content from a [frab](https://github.com/frab/frab/wiki/Manual#introduction) compatible JSON file (e.g. from [pretalx.com](https://pretalx.com/p/about/)) or a CSV table and generate the different talk, speakers and room files automatically.
141
143
 
142
- 1. Copy the file `_tools/create_entries.py` from this repository
144
+ 1. Copy the files `_tools/create_entries.py` and `_tools/requirements.txt` from this repository
143
145
 
144
146
  2. Create a virtual environment and activate it
145
147
 
@@ -148,10 +150,10 @@ There exists a Python file in this repository, `_tools/create_entries.py`, which
148
150
  source venv/bin/activate
149
151
  ```
150
152
 
151
- 3. Install PyYAML
153
+ 3. Install the requirements
152
154
 
153
155
  ```bash
154
- pip install pyyaml
156
+ pip install -r _tools/requirements.txt
155
157
  ```
156
158
 
157
159
  4. Execute the script, e.g. to show the help type
@@ -377,6 +379,21 @@ conference:
377
379
  demo: false
378
380
  ```
379
381
 
382
+ ### Map
383
+
384
+ In order to help users finding your venue, an [OpenStreetMap](https://www.openstreetmap.org/) container displaying a map can be shown on any page. The map's initial position is globally defined and thus the same for all map containers. You can define the initial position of the map by setting the default zoom level `default_zoom`, the center coordinates `home_coord`, and the map provider for the tiles `map_provider`. Alternative map providers can be found [here](https://leaflet-extras.github.io/leaflet-providers/preview/).
385
+ The map contains small control buttons to zoom in and out, center the map back to the initial position, and show the visitors current location (has to be manually activated and granted by the visitor).
386
+
387
+ The map can be added to any page by setting `map: true` in its Front Matter or on the location main page by setting `conference.location.map: true` (see _Location Settings_ section below).
388
+
389
+ ```yaml
390
+ conference:
391
+ map:
392
+ default_zoom: 17
393
+ home_coord: 47.37808, 8.53935
394
+ map_provider: "OpenStreetMap.Mapnik"
395
+ ```
396
+
380
397
  ### Talk Settings
381
398
 
382
399
  Each talk can have one or multiple categories associated via FrontMatter (see the _Individual Pages: Talks_ section below for more details). Some of these categories can be elevated to so called main categories". These are used to color group the talks across the entire website, particularly in the program. In order to do so add the `main_categories` property under the `talks` property. It consists of a list of all main categories. Each main category consists of:
@@ -429,8 +446,9 @@ In order to hide all rooms add the `hide: true` setting (default: `false`) to th
429
446
 
430
447
  If your `location` overview file is not located under `/location` you can indicate an alternative path by setting the `url` property (default: `/location`) under the `location` property.
431
448
 
432
- The `location` layout automatically includes an [OpenStreetMap](https://www.openstreetmap.org/) container to point to your venue. If you want to hide it add the `enable: false` setting (default: `true`) to the `map` property under the `location` property. Otherwise, you can define the initial position of the map by setting the default zoom level `default_zoom`, the center coordinates `home_coord`, and the map provider for the tiles `map_provider`. Alternative map providers can be found [here](https://leaflet-extras.github.io/leaflet-providers/preview/).
433
- The map contains small control buttons to zoom in and out, center the map back to the initial position, and show the visitors current location (has to be manually activated and granted by the visitor).
449
+ The location main page shows a navigation bar listing all the different rooms by name. Due to the quirks of Jekyll, the main page itself cannot be listed by title as defined in its Front Matter. Instead the title of the main landing page for the navigation bar is taken from the language files and defaults to "Directions". In order to change this, you can either change the language files directly (see the _Language_ section above), or you provide an alternative title by setting the `navbar_title` to the desired title under the `location` property.
450
+
451
+ The `location` layout can include a map to point to your venue by adding the `map: true` setting (default: `true`) to the `location` property. See the _Map_ section above for more information.
434
452
 
435
453
  Example:
436
454
 
@@ -438,11 +456,9 @@ Example:
438
456
  conference:
439
457
  location:
440
458
  hide: false
441
- map:
442
- enable: true
443
- default_zoom: 17
444
- home_coord: 47.37808, 8.53935
445
- map_provider: "OpenStreetMap.Mapnik"
459
+ url: '/location'
460
+ navbar_title: 'Location'
461
+ map: true
446
462
  ```
447
463
 
448
464
  The map is based on the JavaScript Library [Leaflet](https://leafletjs.com/) and can be customized by editing the `assets/js/main.js` file, e.g. adding additional layers with markers, text, or shapes to the map. To start, copy simply the file from this repository and make use of the initialized global variable `window.conference.map` pointing to the Leaflet container.
@@ -604,6 +620,29 @@ Example:
604
620
  video: https://media.ccc.de/
605
621
  ```
606
622
 
623
+ There exists a Python file in this repository, `_tools/import_resources.py`, which can be used to import resources such as slides and other documents from [pretalx.com](https://pretalx.com/p/about/)) via its API. It automatically downloads all files, stores them and updates the links of the talks concerned.
624
+
625
+ 1. Copy the files `_tools/import_resources.py` and `_tools/requirements.txt` from this repository
626
+
627
+ 2. Create a virtual environment and activate it
628
+
629
+ ```bash
630
+ python -m venv venv
631
+ source venv/bin/activate
632
+ ```
633
+
634
+ 3. Install the requirements
635
+
636
+ ```bash
637
+ pip install -r _tools/requirements.txt
638
+ ```
639
+
640
+ 4. Execute the script, e.g. to show the help type
641
+
642
+ ```bash
643
+ python _tools/import_resources.py --help
644
+ ```
645
+
607
646
 
608
647
  ## Overview Pages
609
648
 
@@ -623,7 +662,7 @@ If you choose a different location for the overview pages you must:
623
662
 
624
663
  ### Location / Room Overview
625
664
 
626
- The `location` layout contains a map container (if not disabled, see section _Location Settings_ above) which can be customized. See the section above for further details.
665
+ The `location` layout can include a map container (if not disabled, see the _Location Settings_ section above) which can be customized (see the _Map_ section above).
627
666
 
628
667
  ### Live Stream Overview
629
668
 
@@ -633,6 +672,7 @@ The `stream-overview` layout contains all active streams on a single page (see t
633
672
 
634
673
  Additional static pages can easily be added as files and linked to via navigation bar or main landing page (see above on how to).
635
674
 
675
+ Each of these pages can include a map at its end (e.g. to point to your venue) by adding the `map: true` setting to its Front Matter. See the _Map_ section above for more information.
636
676
 
637
677
  ## Design
638
678
 
@@ -2,9 +2,9 @@ window.conference.mapConfig = (function() {
2
2
 
3
3
  let map;
4
4
 
5
- let mapProvider = "{{ site.conference.location.map.map_provider | default: 'OpenStreetMap.Mapnik' }}";
6
- let homeCoord = [{{ site.conference.location.map.home_coord }}];
7
- let zoomLevel = {{ site.conference.location.map.default_zoom | default: 17 }};
5
+ let mapProvider = "{{ site.conference.map.map_provider | default: 'OpenStreetMap.Mapnik' }}";
6
+ let homeCoord = [{{ site.conference.map.home_coord }}];
7
+ let zoomLevel = {{ site.conference.map.default_zoom | default: 17 }};
8
8
 
9
9
  let setup = function (elId) {
10
10
  map = L.map(elId).setView(homeCoord, zoomLevel);
@@ -13,7 +13,8 @@ window.conference = {};
13
13
  {% include js/conference-program.js %}
14
14
 
15
15
  // Leaflet (Map Display)
16
- {% if site.conference.location.hide != true and site.conference.location.map.enable %}
16
+ {% include partials/get_enable_map.html %}
17
+ {% if enable_map %}
17
18
  {% include js/leaflet.js %}
18
19
  {% include js/leaflet-easybutton.js %}
19
20
  {% include js/leaflet-locatecontrol.js %}
@@ -0,0 +1,11 @@
1
+ {%- if site.conference.location.map -%}
2
+ {%- assign enable_map = true -%}
3
+ {%- else -%}
4
+ {%- assign enable_map = false -%}
5
+ {%- for page in site.pages -%}
6
+ {%- if page.map -%}
7
+ {%- assign enable_map = true -%}
8
+ {%- break -%}
9
+ {%- endif -%}
10
+ {%- endfor -%}
11
+ {%- endif -%}
@@ -1,7 +1,11 @@
1
1
  <ul class="nav nav-pills d-print-none mb-3">
2
2
  <li class="nav-item">
3
3
  <a class="nav-link {% if page.name contains 'index' %}active{% endif %}" href="{{ site.conference.location.url | prepend: site.baseurl }}">
4
- {{ site.data.lang[site.conference.lang].location.directions | default: "Directions" }}
4
+ {% if site.conference.location.navbar_title -%}
5
+ {{- site.conference.location.navbar_title -}}
6
+ {%- else -%}
7
+ {{- site.data.lang[site.conference.lang].location.directions | default: "Directions" -}}
8
+ {%- endif %}
5
9
  </a>
6
10
  </li>
7
11
  {%- for room in site.rooms -%}
@@ -18,7 +18,7 @@
18
18
 
19
19
  {{ content }}
20
20
 
21
- {% if site.conference.location.map.enable %}
21
+ {% if site.conference.location.map %}
22
22
  <div id="map" class="mt-4 mb-3"></div>
23
23
  {% endif %}
24
24
 
data/_layouts/page.html CHANGED
@@ -6,4 +6,8 @@
6
6
 
7
7
  {{ content }}
8
8
 
9
+ {% if page.map %}
10
+ <div id="map" class="mt-4 mb-3"></div>
11
+ {% endif %}
12
+
9
13
  {% include partials/footer.html %}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-conference
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lorenz Schmid
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-01 00:00:00.000000000 Z
11
+ date: 2021-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.1.4
33
+ version: 2.2.32
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.1.4
40
+ version: 2.2.32
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -78,6 +78,7 @@ files:
78
78
  - _includes/partials/footer.html
79
79
  - _includes/partials/get_day_hash.html
80
80
  - _includes/partials/get_day_time.html
81
+ - _includes/partials/get_enable_map.html
81
82
  - _includes/partials/get_link.html
82
83
  - _includes/partials/get_link_types.html
83
84
  - _includes/partials/get_live_timestamps.html
@@ -279,7 +280,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
279
280
  - !ruby/object:Gem::Version
280
281
  version: '0'
281
282
  requirements: []
282
- rubygems_version: 3.2.3
283
+ rubygems_version: 3.2.22
283
284
  signing_key:
284
285
  specification_version: 4
285
286
  summary: Jekyll template for a conference website containing program, speaker, talks