jekyll-theme-conference 3.3.0 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +34 -1
- data/_includes/partials/checks.html +1 -1
- data/_includes/partials/get_page_description.html +23 -0
- data/_includes/partials/get_page_title.html +33 -0
- data/_includes/partials/header.html +6 -3
- data/_includes/partials/list_page_meta.html +23 -0
- data/_includes/partials/list_speakers.html +11 -5
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50470940d27a0744cdf32312e829e73af0c6375241575e6eb074695edfee7028
|
4
|
+
data.tar.gz: 1444781b0f41ffc7d267fe324b9cfabb5afd709ee27c24d95bd6b34d02d57060
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 872ad7d006fbcb1c552dc863982d037e3eb9ba2ca8e8aab9d785d9e55ba0651c19c367ce03a0280317947e5ad2352b40eefc66a47e6bb5e3cbc1a3c36d298d91
|
7
|
+
data.tar.gz: 8000b8d73b08f71554efad482cd8cf5518db22b01fc3828c985b669e5b013819785f4c41369ef5007ea375bf49f0b5b2195864e79d88c9d55bb089c9b5149388
|
data/README.md
CHANGED
@@ -32,6 +32,7 @@ The theme was originally created for the yearly Winterkongress conference of the
|
|
32
32
|
* [Collection URLs](#collection-urls)
|
33
33
|
* [Language](#language)
|
34
34
|
* [Navigation Bar](#navigation-bar)
|
35
|
+
* [Open Graph Link Preview](#open-graph-link-preview)
|
35
36
|
* [Main Landing Page](#main-landing-page)
|
36
37
|
* [Information Boxes](#information-boxes)
|
37
38
|
* [Live Indications & Streaming](#live-indications---streaming)
|
@@ -169,7 +170,7 @@ In case you do not want to install the entire Ruby/Jekyll toolchain on your mach
|
|
169
170
|
|
170
171
|
- `build.yml`: automatically builds and minimizes the website upon adding a new tag starting with a `v` (e.g. `v2020.01.01`). It then attaches the generated website as an archive to a release for easy downloading. Requires `purgecss.config.js` to be copied to the project's root too.
|
171
172
|
- `test.yml`: automatically tries to build the website upon a new pull request. It can thus be used as status check before merging.
|
172
|
-
- `schedule.yml`: automatically generates the schedule and content files when a new pull request contains a `schedule.json` file (see the _Automatic
|
173
|
+
- `schedule.yml`: automatically generates the schedule and content files when a new pull request contains a `schedule.json` file (see the _Automatic Import_ subsection above). Thus, it allows quick updates of the site's content from [pretalx.com](https://pretalx.com/p/about/) exports.
|
173
174
|
|
174
175
|
To get started, simply copy the desired workflow file to your repository and adapt it to your needs:
|
175
176
|
|
@@ -283,9 +284,32 @@ conference:
|
|
283
284
|
...
|
284
285
|
logo:
|
285
286
|
name: Magic Organisation
|
287
|
+
img: 'logo.svg' # inside /assets/images/
|
286
288
|
url: 'https://github.com'
|
287
289
|
```
|
288
290
|
|
291
|
+
### Open Graph Link Preview
|
292
|
+
|
293
|
+
The theme automatically includes the necessary `<meta>` tags to ease link previewing when sharing links based on the [Open Graph protocol](https://ogp.me/) and [Twitter Cards](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards). These tags control how a link is presented when shared via different platform and apps. In order to disable these `<meta>` tags add the `disable: true` setting (default: `false`) to the `link_preview` property.
|
294
|
+
|
295
|
+
In order to generate a meaningful description for each of the links, the preposition for the conference title as given under the `title` property can be defined by using the `preposition` property. For example, if `title` is set to "Conference 2020" the corresponding `preposition` would be "at". The template can then use it to generate descriptions such as "Talk *at* Conference 2020".
|
296
|
+
|
297
|
+
Optionally, an image which is shown as preview for all links can be specified. For sharing via Open Graph an image ratio of 1.91:1 and an ideal size of 1200x630 pixel is recommended. For sharing via Twitter an image ratio of 1:1 and a minimal size of 600x600 pixel (better 1200x1200 pixel) is recommended. SVG image files are not supported. It is activate through the `img` property under the `link_preview` property containing an image file shown for Open Graph (`open_graph`) and on the Twitter Cards (`twitter`), whereby the path to the image file relative to the `/assets/images/` folder has to be specified.
|
298
|
+
|
299
|
+
```yaml
|
300
|
+
title: Conference 2020
|
301
|
+
preposition: 'at'
|
302
|
+
|
303
|
+
...
|
304
|
+
|
305
|
+
conference:
|
306
|
+
link_preview:
|
307
|
+
disable: false
|
308
|
+
img:
|
309
|
+
twitter: 'twitter_preview.png' # inside /assets/images/
|
310
|
+
open_graph: 'facebook_preview.png' # inside /assets/images/
|
311
|
+
```
|
312
|
+
|
289
313
|
### Main Landing Page
|
290
314
|
|
291
315
|
The main landing page is shown at the root of the website to greet new visitors. In order to show it you need to create a `index.md` file in the root of your website's folder and specify its layout as `layout: main`. The remaining customizations are specified in the `_config.yml` file.
|
@@ -695,6 +719,15 @@ Custom Bootstrap themes or simple color schemes such as designed with [Bootstrap
|
|
695
719
|
2. Add your Bootstrap variables in front of the `@import 'conference'` line, e.g. currently the primary color is set internally to green (instead of Bootstrap's default blue): `$primary: #074 !default;`
|
696
720
|
3. Add any additional CSS styles after it.
|
697
721
|
|
722
|
+
## Development
|
723
|
+
|
724
|
+
If you want to modify this theme and see its changes on an existing project, simply indicate in your `Gemfile` that you want to use the local copy of the theme by adding a `path` indication after the gem instantiation:
|
725
|
+
|
726
|
+
```ruby
|
727
|
+
group :jekyll_plugins do
|
728
|
+
gem "jekyll-theme-conference", path: "../[path to your local theme]"
|
729
|
+
end
|
730
|
+
```
|
698
731
|
|
699
732
|
## License
|
700
733
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
{%- unless site.conference.lang == "en" -%}
|
5
5
|
{%- assign errors = errors | push : "The internationalization file containing different strings for this template seems to be missing. Have you copied the `_data/lang.yml` file from the [theme's repository](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/blob/master/_data/lang.yml) to you local website folder?" -%}
|
6
6
|
{%- endunless -%}
|
7
|
-
{%- elsif site.data.lang.version !=
|
7
|
+
{%- elsif site.data.lang.version != 7 -%}
|
8
8
|
{%- assign errors = errors | push : "The internationalization file in `_data/lang.yml` seems to be outdated and does not correspond to the current version of the theme. Grab the current version from the [theme's repository](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/blob/master/_data/lang.yml)." -%}
|
9
9
|
{%- endunless -%}
|
10
10
|
{%- unless site.conference.lang == "en" or site.conference.lang == "de" or site.conference.lang == "fr" or site.conference.lang == "pt" -%}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{%- unless site.preposition == empty -%}
|
2
|
+
{%- assign preposition = site.preposition -%}
|
3
|
+
{%- else -%}
|
4
|
+
{%- assign preposition = '-' -%}
|
5
|
+
{%- endunless -%}
|
6
|
+
|
7
|
+
{%- capture page_description -%}
|
8
|
+
{%- if page.layout == 'talk' -%}
|
9
|
+
{{ site.data.lang[site.conference.lang].talk.title | default: 'Talk' }} {{ site.data.lang[site.conference.lang].pronoun.by | default: 'by'}} {% include partials/list_speakers.html text_only=true %} {{ preposition }} {{ site.title }}
|
10
|
+
{%- elsif page.layout == 'speaker' -%}
|
11
|
+
{{ site.data.lang[site.conference.lang].speaker.title | default: 'Speaker' }} {{ preposition }} {{ site.title }}
|
12
|
+
{%- elsif site.description -%}
|
13
|
+
{{ site.description }}
|
14
|
+
{%- endif -%}
|
15
|
+
{%- endcapture -%}
|
16
|
+
|
17
|
+
{%- if page_description.empty and include.default -%}
|
18
|
+
{%- assign page_description = include.default -%}
|
19
|
+
{%- endif -%}
|
20
|
+
|
21
|
+
{%- if include.replace_quotes -%}
|
22
|
+
{%- assign page_description = page_description | replace: '"', "'" -%}
|
23
|
+
{%- endif -%}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{%- capture page_title -%}
|
2
|
+
{%- if page.layout == 'room' -%}
|
3
|
+
{{- page.name -}}
|
4
|
+
{%- elsif page.layout == 'speaker' -%}
|
5
|
+
{{- page.first_name }} {{ page.last_name -}}
|
6
|
+
{%- elsif page.layout == 'talk' -%}
|
7
|
+
{{- page.name -}}
|
8
|
+
|
9
|
+
{%- elsif page.title -%}
|
10
|
+
{{- page.title -}}
|
11
|
+
|
12
|
+
{%- else -%}
|
13
|
+
{%- if page.layout == 'location' -%}
|
14
|
+
{{- site.data.lang[site.conference.lang].location.title | default: "Location" -}}
|
15
|
+
{%- elsif page.layout == 'program' -%}
|
16
|
+
{{- site.data.lang[site.conference.lang].program.title | default: "Program" -}}
|
17
|
+
{%- elsif page.layout == 'speaker-overview' -%}
|
18
|
+
{{- site.data.lang[site.conference.lang].speaker.overview | default: "Speakers" -}}
|
19
|
+
{%- elsif page.layout == 'stream-overview' -%}
|
20
|
+
{{ site.data.lang[site.conference.lang].live.stream | default: "Live Streams" }}
|
21
|
+
{%- elsif page.layout == 'talk-overview' -%}
|
22
|
+
{{- site.data.lang[site.conference.lang].talk.overview | default: "Talks" -}}
|
23
|
+
{%- endif -%}
|
24
|
+
{%- endif -%}
|
25
|
+
{%- endcapture -%}
|
26
|
+
|
27
|
+
{%- if page_title == empty and include.default -%}
|
28
|
+
{%- assign page_title = include.default -%}
|
29
|
+
{%- endif -%}
|
30
|
+
|
31
|
+
{%- if include.replace_quotes -%}
|
32
|
+
{%- assign page_title = page_title | replace: '"', "'" -%}
|
33
|
+
{%- endif -%}
|
@@ -5,16 +5,19 @@
|
|
5
5
|
<meta charset="utf-8" />
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7
7
|
|
8
|
+
{% include partials/get_page_title.html -%}
|
8
9
|
<title>
|
9
|
-
{
|
10
|
+
{{- page_title -}}
|
11
|
+
{%- unless page_title == empty %} - {% endunless -%}
|
12
|
+
{{- site.title -}}
|
10
13
|
</title>
|
11
|
-
|
14
|
+
{% include partials/list_page_meta.html %}
|
12
15
|
|
13
16
|
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css?t={{ site.time | date: "%s" }}" />
|
14
17
|
|
15
18
|
<link rel="preload" as="font" href="{{ site.baseurl }}/assets/webfonts/fa-regular-400.woff2" type="font/woff2" crossorigin="anonymous" />
|
16
19
|
<link rel="preload" as="font" href="{{ site.baseurl }}/assets/webfonts/fa-solid-900.woff2" type="font/woff2" crossorigin="anonymous" />
|
17
|
-
{
|
20
|
+
{%- if site.conference.live %}
|
18
21
|
<link rel="prefetch" as="image" href="{{ site.baseurl }}/assets/icons/live.svg" type="image/svg+xml" crossorigin="anonymous" />
|
19
22
|
<link rel="prefetch" as="fetch" href="{{ site.baseurl }}/assets/js/data.json" type="application/json" crossorigin="anonymous" />
|
20
23
|
{%- endif %}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{% unless site.conference.link_preview.disable -%}
|
2
|
+
{%- include partials/get_page_title.html default=site.title replace_quotes=true -%}
|
3
|
+
{%- include partials/get_page_description.html default=site.title replace_quotes=true -%}
|
4
|
+
|
5
|
+
<meta name="description" content="{{ page_description }}" />
|
6
|
+
|
7
|
+
<meta name="twitter:card" content="summary" />
|
8
|
+
{%- if site.conference.link_preview.img and site.conference.link_preview.img.twitter %}
|
9
|
+
<meta name="twitter:image" content="{{ site.conference.link_preview.img.twitter | prepend: '/assets/images/' | prepend: site.baseurl | prepend: site.url }}" />
|
10
|
+
{%- endif %}
|
11
|
+
<meta name="twitter:title" content="{{ page_title }}" />
|
12
|
+
<meta name="twitter:description" content="{{ page_description }}" />
|
13
|
+
|
14
|
+
<meta property="og:site_name" content="{{ site.title }}" />
|
15
|
+
{%- if site.conference.link_preview.img and site.conference.link_preview.img.open_graph %}
|
16
|
+
<meta property="og:image" content="{{ site.conference.link_preview.img.open_graph | prepend: '/assets/images/' | prepend: site.baseurl | prepend: site.url }}" />
|
17
|
+
{%- endif %}
|
18
|
+
<meta property="og:url" content="{{ page.url | prepend: site.baseurl | prepend: site.url }}" />
|
19
|
+
<meta property="og:title" content="{{ page_title }}" />
|
20
|
+
<meta property="og:description" content="{{ page_description }}" />
|
21
|
+
<meta property="og:type" content="website" />
|
22
|
+
|
23
|
+
{%- endunless %}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
{
|
1
|
+
{% for speaker_name in talk.speakers -%}
|
2
2
|
{%- assign speaker = site.speakers | where: 'name', speaker_name | first -%}
|
3
3
|
{%- if site.conference.speakers.show_firstname -%}
|
4
4
|
{%- assign speaker_short = speaker.first_name | append: ' ' | append: speaker.last_name -%}
|
@@ -6,11 +6,17 @@
|
|
6
6
|
{%- assign speaker_short = speaker.first_name | slice: 0 | append : '. ' | append: speaker.last_name -%}
|
7
7
|
{%- endif -%}
|
8
8
|
|
9
|
-
{%- if speaker.hide -%}
|
10
|
-
{{ speaker_short }}
|
9
|
+
{%- if speaker.hide or include.text_only -%}
|
10
|
+
{{- speaker_short -}}
|
11
11
|
{%- else -%}
|
12
|
-
<a class="text-reset" href="{{ speaker.url | prepend: site.baseurl }}">
|
12
|
+
<a class="text-reset" href="{{ speaker.url | prepend: site.baseurl }}">
|
13
|
+
{{- speaker_short -}}
|
14
|
+
</a>
|
13
15
|
{%- endif -%}
|
14
|
-
|
16
|
+
|
17
|
+
{%- unless forloop.last %}
|
18
|
+
{%- assign forloop_index_before_last = talk.speakers.size | minus: 1 -%}
|
19
|
+
{% if forloop.index == forloop_index_before_last and include.text_only %} {{ site.data.lang[site.conference.lang].pronoun.and | default: 'and' }} {% else %}, {% endif -%}
|
20
|
+
{%- endunless -%}
|
15
21
|
|
16
22
|
{%- endfor -%}
|
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.
|
4
|
+
version: 3.4.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:
|
11
|
+
date: 2022-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -83,12 +83,15 @@ files:
|
|
83
83
|
- _includes/partials/get_link_types.html
|
84
84
|
- _includes/partials/get_live_timestamps.html
|
85
85
|
- _includes/partials/get_main_category.html
|
86
|
+
- _includes/partials/get_page_description.html
|
87
|
+
- _includes/partials/get_page_title.html
|
86
88
|
- _includes/partials/get_talk_time.html
|
87
89
|
- _includes/partials/get_talk_timestamp.html
|
88
90
|
- _includes/partials/get_time_pronoun.html
|
89
91
|
- _includes/partials/header.html
|
90
92
|
- _includes/partials/info_bar.html
|
91
93
|
- _includes/partials/list_categories.html
|
94
|
+
- _includes/partials/list_page_meta.html
|
92
95
|
- _includes/partials/list_speakers.html
|
93
96
|
- _includes/partials/list_sub_categories.html
|
94
97
|
- _includes/partials/modal_link.html
|
@@ -280,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
280
283
|
- !ruby/object:Gem::Version
|
281
284
|
version: '0'
|
282
285
|
requirements: []
|
283
|
-
rubygems_version: 3.2.
|
286
|
+
rubygems_version: 3.2.32
|
284
287
|
signing_key:
|
285
288
|
specification_version: 4
|
286
289
|
summary: Jekyll template for a conference website containing program, speaker, talks
|