eclipsefdn-hugo-solstice-theme 0.0.178 → 0.0.180
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/exampleSite/config/_default/menus.en.toml +6 -0
- package/exampleSite/config/_default/menus.es.toml +6 -0
- package/exampleSite/config/_default/menus.fr.toml +6 -0
- package/exampleSite/config/_default/menus.jp.toml +6 -0
- package/exampleSite/config/_default/menus.pt.toml +6 -0
- package/exampleSite/config/_default/menus.ru.toml +6 -0
- package/exampleSite/config/_default/menus.zh.toml +6 -0
- package/exampleSite/content/components/meeting_minutes/documents/specification_committee/minutes-specification-june-28-2018.pdf +0 -0
- package/exampleSite/content/components/meeting_minutes/index.md +47 -0
- package/exampleSite/data/meeting_minutes.yml +50 -19
- package/layouts/shortcodes/meeting_minutes.html +116 -39
- package/package.json +2 -2
- package/webpack.mix.js +1 -1
- package/exampleSite/content/components/meeting_minutes.md +0 -34
|
@@ -105,6 +105,12 @@
|
|
|
105
105
|
parent = "components"
|
|
106
106
|
identifier = "deprecated"
|
|
107
107
|
|
|
108
|
+
[[main]]
|
|
109
|
+
name = "Meeting Minutes"
|
|
110
|
+
url = "/components/meeting_minutes/"
|
|
111
|
+
weight = 3
|
|
112
|
+
parent = "solstice"
|
|
113
|
+
|
|
108
114
|
[[main]]
|
|
109
115
|
name = "Membership"
|
|
110
116
|
url = "/components/members/"
|
|
@@ -99,6 +99,12 @@
|
|
|
99
99
|
parent = "components"
|
|
100
100
|
identifier = "deprecated"
|
|
101
101
|
|
|
102
|
+
[[main]]
|
|
103
|
+
name = "Meeting Minutes"
|
|
104
|
+
url = "/components/meeting_minutes/"
|
|
105
|
+
weight = 3
|
|
106
|
+
parent = "solstice"
|
|
107
|
+
|
|
102
108
|
[[main]]
|
|
103
109
|
name = "Membership"
|
|
104
110
|
url = "/components/members/"
|
|
@@ -99,6 +99,12 @@
|
|
|
99
99
|
parent = "components"
|
|
100
100
|
identifier = "deprecated"
|
|
101
101
|
|
|
102
|
+
[[main]]
|
|
103
|
+
name = "Meeting Minutes"
|
|
104
|
+
url = "/components/meeting_minutes/"
|
|
105
|
+
weight = 3
|
|
106
|
+
parent = "solstice"
|
|
107
|
+
|
|
102
108
|
[[main]]
|
|
103
109
|
name = "Membres"
|
|
104
110
|
url = "/components/members/"
|
|
@@ -99,6 +99,12 @@
|
|
|
99
99
|
parent = "components"
|
|
100
100
|
identifier = "deprecated"
|
|
101
101
|
|
|
102
|
+
[[main]]
|
|
103
|
+
name = "Meeting Minutes"
|
|
104
|
+
url = "/components/meeting_minutes/"
|
|
105
|
+
weight = 3
|
|
106
|
+
parent = "solstice"
|
|
107
|
+
|
|
102
108
|
[[main]]
|
|
103
109
|
name = "Membership"
|
|
104
110
|
url = "/components/members/"
|
|
@@ -99,6 +99,12 @@
|
|
|
99
99
|
parent = "components"
|
|
100
100
|
identifier = "deprecated"
|
|
101
101
|
|
|
102
|
+
[[main]]
|
|
103
|
+
name = "Meeting Minutes"
|
|
104
|
+
url = "/components/meeting_minutes/"
|
|
105
|
+
weight = 3
|
|
106
|
+
parent = "solstice"
|
|
107
|
+
|
|
102
108
|
[[main]]
|
|
103
109
|
name = "Membership"
|
|
104
110
|
url = "/components/members/"
|
|
@@ -99,6 +99,12 @@
|
|
|
99
99
|
parent = "components"
|
|
100
100
|
identifier = "deprecated"
|
|
101
101
|
|
|
102
|
+
[[main]]
|
|
103
|
+
name = "Meeting Minutes"
|
|
104
|
+
url = "/components/meeting_minutes/"
|
|
105
|
+
weight = 3
|
|
106
|
+
parent = "solstice"
|
|
107
|
+
|
|
102
108
|
[[main]]
|
|
103
109
|
name = "Membership"
|
|
104
110
|
url = "/components/members/"
|
|
@@ -99,6 +99,12 @@
|
|
|
99
99
|
parent = "components"
|
|
100
100
|
identifier = "deprecated"
|
|
101
101
|
|
|
102
|
+
[[main]]
|
|
103
|
+
name = "Meeting Minutes"
|
|
104
|
+
url = "/components/meeting_minutes/"
|
|
105
|
+
weight = 3
|
|
106
|
+
parent = "solstice"
|
|
107
|
+
|
|
102
108
|
[[main]]
|
|
103
109
|
name = "Membership"
|
|
104
110
|
url = "/components/members/"
|
|
Binary file
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Meeting Minutes
|
|
3
|
+
hide_sidebar: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You can add meeting minutes to a markdown file using the shortcode:
|
|
7
|
+
**{{< meeting_minutes >}}**
|
|
8
|
+
|
|
9
|
+
{{< grid/div class="alert alert-warning" isMarkdown="false" >}} This is for
|
|
10
|
+
demonstration only. The only link which is expected to work is under the
|
|
11
|
+
Specification Committee tab. {{</ grid/div >}}
|
|
12
|
+
|
|
13
|
+
{{< meeting_minutes >}}
|
|
14
|
+
|
|
15
|
+
## Setup
|
|
16
|
+
|
|
17
|
+
To add meeting minutes, create a **meeting_minutes.yml** file in the data
|
|
18
|
+
folder. The YAML file should have a similar shape to the following:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
dir: '/path/to/directory/with/committees/'
|
|
22
|
+
yearly_sections_enabled: true
|
|
23
|
+
order:
|
|
24
|
+
- specification_committee
|
|
25
|
+
- marketing_committee
|
|
26
|
+
items:
|
|
27
|
+
marketing_committee:
|
|
28
|
+
- title: August 18, 2022 (pdf)
|
|
29
|
+
url: marketing_committee/2022-08-18-marketing-minutes.pdf
|
|
30
|
+
year: 2022
|
|
31
|
+
specification_committee:
|
|
32
|
+
- title: June 28, 2018 (pdf)
|
|
33
|
+
url: https://jakarta.ee/about/meeting_minutes/steering_committee/2018-06-28-specification-minutes.pdf
|
|
34
|
+
year: 2018
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
#### Properties
|
|
38
|
+
|
|
39
|
+
| Property | Description |
|
|
40
|
+
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
41
|
+
| `dir` | is the directory for which to search for the meeting minutes. |
|
|
42
|
+
| `yearly_sections_enabled` | splits meeting minutes into yearly sections if set to `true`. |
|
|
43
|
+
| `order` | modifies the order of the tabs. It needs to be an array of committee names corresponding to their key under `items`. If this is not set, the tabs will be alphabetically sorted. |
|
|
44
|
+
| `items` | contains the committees such as `marketing_committee` and `specification_committee`. You can give the committee any key. This committee will appear as a tab on the component. |
|
|
45
|
+
| `title` | is the link text of a meeting minutes item. |
|
|
46
|
+
| `url` | locates the meeting minute file. If `dir` was set, it will locate the file from `dir`. |
|
|
47
|
+
| `year` | is the year which the meeting was taken. This will dictate which year-section the item will appear under. This is not required if `yearly_sections_enabled` is set to `false`. |
|
|
@@ -1,20 +1,51 @@
|
|
|
1
|
+
yearly_sections_enabled: true
|
|
2
|
+
dir: '/docs/hugo/components/meeting_minutes/documents/'
|
|
3
|
+
order:
|
|
4
|
+
- specification_committee
|
|
5
|
+
- marketing_committee
|
|
1
6
|
items:
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
marketing_committee:
|
|
8
|
+
-
|
|
9
|
+
url: marketing_committee/minutes-marketing-0818-2022.pdf
|
|
10
|
+
title: August 18, 2022 (pdf)
|
|
11
|
+
year: 2022
|
|
12
|
+
-
|
|
13
|
+
url: marketing_committee/minutes-marketing-0804-2022.pdf
|
|
14
|
+
title: August 04, 2022 (pdf)
|
|
15
|
+
year: 2022
|
|
16
|
+
-
|
|
17
|
+
url: marketing_committee/minutes-marketing-0721-2022.pdf
|
|
18
|
+
title: July 21, 2022 (pdf)
|
|
19
|
+
year: 2022
|
|
20
|
+
-
|
|
21
|
+
url: marketing_committee/minutes-marketing-0707-2022.pdf
|
|
22
|
+
title: July 07, 2022 (pdf)
|
|
23
|
+
year: 2022
|
|
24
|
+
-
|
|
25
|
+
url: marketing_committee/minutes-marketing-0623-2022.pdf
|
|
26
|
+
title: June 23, 2022 (pdf)
|
|
27
|
+
year: 2022
|
|
28
|
+
-
|
|
29
|
+
url: marketing_committee/minutes-marketing-0609-2022.pdf
|
|
30
|
+
title: June 09, 2022 (pdf)
|
|
31
|
+
year: 2022
|
|
32
|
+
-
|
|
33
|
+
url: marketing_committee/minutes-marketing-0512-2022.pdf
|
|
34
|
+
title: May 12, 2022 (pdf)
|
|
35
|
+
year: 2022
|
|
36
|
+
-
|
|
37
|
+
url: marketing_committee/minutes-marketing-0428-2022.pdf
|
|
38
|
+
title: April 28, 2022 (pdf)
|
|
39
|
+
year: 2022
|
|
40
|
+
-
|
|
41
|
+
url: marketing_committee/minutes-marketing-0317-2022.pdf
|
|
42
|
+
title: March 17, 2022 (pdf)
|
|
43
|
+
year: 2022
|
|
44
|
+
-
|
|
45
|
+
url: marketing_committee/minutes-marketing-february-11-2021.pdf
|
|
46
|
+
title: February 11, 2021 (pdf)
|
|
47
|
+
year: 2021
|
|
48
|
+
specification_committee:
|
|
49
|
+
- url: specification_committee/minutes-specification-june-18-2018.pdf
|
|
50
|
+
title: June 18, 2018 (pdf)
|
|
51
|
+
year: 2018
|
|
@@ -7,54 +7,131 @@
|
|
|
7
7
|
|
|
8
8
|
Contributors:
|
|
9
9
|
Eric Poirier <eric.poirier@eclipse-foundation.org>
|
|
10
|
+
Olivier Goulet <olivier.goulet@eclipse-foundation.org>
|
|
10
11
|
|
|
11
12
|
SPDX-License-Identifier: EPL-2.0
|
|
12
13
|
-->
|
|
13
14
|
|
|
14
|
-
{{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
{{ $data := .Site.Data.meeting_minutes }}
|
|
16
|
+
{{ $yearly_sections_enabled := $data.yearly_sections_enabled | default false }}
|
|
17
|
+
|
|
18
|
+
{{/* We need to create a set of years for each committee in order to know which year sections to render. */}}
|
|
19
|
+
{{ $committee_years_set := dict }}
|
|
20
|
+
{{ if $yearly_sections_enabled }}
|
|
21
|
+
{{ range $key, $committee := $data.items }}
|
|
22
|
+
{{ $years_set := slice }}
|
|
23
|
+
{{ range $committee }}
|
|
24
|
+
{{ if not (in $years_set .year) }}
|
|
25
|
+
{{ $years_set = $years_set | append .year }}
|
|
26
|
+
{{ end }}
|
|
27
|
+
{{ end }}
|
|
28
|
+
{{ $committee_years_set = merge $committee_years_set (dict $key $years_set) }}
|
|
29
|
+
{{ end }}
|
|
30
|
+
{{ end }}
|
|
31
|
+
|
|
32
|
+
{{/*
|
|
33
|
+
We need to sort the committees by the `order` field in the data file. To do this, we create an ordered slice containing
|
|
34
|
+
a dict with the committee name as the key and the committee object as value. The committee object which originally comes
|
|
35
|
+
from `items` in the data file. If no `order` field was provided then the default behavior of YAML gets used
|
|
36
|
+
(alphabetical).
|
|
37
|
+
*/}}
|
|
38
|
+
{{ $ordered_committees := slice }}
|
|
39
|
+
{{ if $data.order }}
|
|
40
|
+
{{ range $committee_name := $data.order }}
|
|
41
|
+
{{ $committee := index $data.items $committee_name }}
|
|
42
|
+
{{ $ordered_committees = $ordered_committees | append (dict "committee_name" $committee_name "items" $committee) }}
|
|
43
|
+
{{ end }}
|
|
44
|
+
{{ else }}
|
|
45
|
+
{{ range $committee_name, $committee := $data.items }}
|
|
46
|
+
{{ $ordered_committees = $ordered_committees | append (dict "committee_name" $committee_name "items" $committee) }}
|
|
23
47
|
{{ end }}
|
|
24
48
|
{{ end }}
|
|
25
|
-
</ul>
|
|
26
49
|
|
|
50
|
+
{{ $committee_count := len $data.items }}
|
|
27
51
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
{{
|
|
31
|
-
{{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
52
|
+
<div class="eclipsefdn-meeting-minutes">
|
|
53
|
+
{{/* We don't need to render the nav tabs if there is only one committee */}}
|
|
54
|
+
{{ if not (eq $committee_count 1) }}
|
|
55
|
+
{{ $.Scratch.Set "counter" 0}}
|
|
56
|
+
<ul class="nav nav-tabs solstice-tabs" role="tablist">
|
|
57
|
+
{{ range $ordered_committees }}
|
|
58
|
+
{{ $index := index . "committee_name" }}
|
|
59
|
+
{{ $counter := $.Scratch.Get "counter" }}
|
|
60
|
+
{{ if eq $counter 0 }}
|
|
61
|
+
<li role="presentation" class="active"><a href="#{{ $index }}" aria-controls="{{ $index }}" role="tab" data-toggle="tab">{{ humanize $index | title }}</a></li>
|
|
62
|
+
{{ $.Scratch.Add "counter" 1}}
|
|
63
|
+
{{ else }}
|
|
64
|
+
<li role="presentation"><a href="#{{ $index }}" aria-controls="{{ $index }}" role="tab" data-toggle="tab">{{ humanize $index | title }}</a></li>
|
|
65
|
+
{{ end }}
|
|
36
66
|
{{ end }}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
</ul>
|
|
68
|
+
{{ end }}
|
|
69
|
+
|
|
70
|
+
{{ $.Scratch.Set "types_counter" 0}}
|
|
71
|
+
<div class="tab-content row">
|
|
72
|
+
{{ range $ordered_committees }}
|
|
73
|
+
{{ $committee_name := index . "committee_name" }}
|
|
74
|
+
{{ $items := index . "items" }}
|
|
75
|
+
|
|
76
|
+
{{ $types_counter := $.Scratch.Get "types_counter" }}
|
|
77
|
+
{{ if eq $types_counter 0 }}
|
|
78
|
+
<div role="tabpanel" class="tab-pane active" id="{{$committee_name}}">
|
|
79
|
+
{{ else }}
|
|
80
|
+
<div role="tabpanel" class="tab-pane" id="{{$committee_name}}">
|
|
81
|
+
{{ end }}
|
|
82
|
+
{{/* Creates an iterable sequence or slice. The value of the slice is equal to the year if yearly sections are enabled. */}}
|
|
83
|
+
{{ $sections := seq 1 }}
|
|
84
|
+
{{ if $yearly_sections_enabled }}
|
|
85
|
+
{{ $sections = index $committee_years_set $committee_name }}
|
|
55
86
|
{{ end }}
|
|
87
|
+
|
|
88
|
+
{{ range $section_name := $sections }}
|
|
89
|
+
|
|
90
|
+
{{ $year := "" }}
|
|
91
|
+
{{ if $yearly_sections_enabled }}
|
|
92
|
+
{{ $year = $section_name }}
|
|
93
|
+
{{ end }}
|
|
94
|
+
|
|
95
|
+
<div class="card-container col-sm-24">
|
|
96
|
+
{{ if $yearly_sections_enabled }} <div class="glyph-highlight left-align"><div class="glyph-container text">{{ $year }}</div><div class="glyph-bottom"></div></div>{{ end }}
|
|
97
|
+
<div class="card-panel bordered panel panel-default {{ if $yearly_sections_enabled -}} with-glyph {{- end }}">
|
|
98
|
+
<div class="panel-body">
|
|
99
|
+
<ul class="meeting-minutes-list tri-col margin-bottom-0">
|
|
100
|
+
|
|
101
|
+
{{/* Meeting minutes to render for current section */}}
|
|
102
|
+
{{ $meeting_minutes := slice }}
|
|
103
|
+
{{ if $yearly_sections_enabled }}
|
|
104
|
+
{{ range $meeting_minute := (where $items "year" $year) }}
|
|
105
|
+
{{ $meeting_minutes = $meeting_minutes | append $meeting_minute }}
|
|
106
|
+
{{ end }}
|
|
107
|
+
{{ else }}
|
|
108
|
+
{{ $meeting_minutes = $items }}
|
|
109
|
+
{{ end }}
|
|
110
|
+
|
|
111
|
+
{{ range $index, $el := $meeting_minutes }}
|
|
112
|
+
|
|
113
|
+
{{/* Handle relative and absolute paths */}}
|
|
114
|
+
{{ $url := "" }}
|
|
115
|
+
{{ if and $data.dir (not (hasPrefix $el.url "http") ) }}
|
|
116
|
+
{{ $url = (path.Join $data.dir $el.url) | absURL }}
|
|
117
|
+
{{ else }}
|
|
118
|
+
{{ $url = $el.url }}
|
|
119
|
+
{{ end }}
|
|
120
|
+
|
|
121
|
+
<li>
|
|
122
|
+
<a class="link-unstyled" href="{{ $url }}">
|
|
123
|
+
{{ $el.title }}
|
|
124
|
+
</a>
|
|
125
|
+
</li>
|
|
126
|
+
|
|
127
|
+
{{ end }}
|
|
128
|
+
</ul>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
{{ end }}
|
|
56
133
|
</div>
|
|
57
|
-
|
|
58
|
-
{{
|
|
59
|
-
|
|
134
|
+
{{ $.Scratch.Add "types_counter" 1}}
|
|
135
|
+
{{ end }}
|
|
136
|
+
</div>
|
|
60
137
|
</div>
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "webpack.min.js",
|
|
5
5
|
"author": "Christopher Guindon",
|
|
6
6
|
"license": "EPL-2.0",
|
|
7
|
-
"version": "0.0.
|
|
7
|
+
"version": "0.0.180",
|
|
8
8
|
"bugs": {
|
|
9
9
|
"url": "https://gitlab.eclipse.org/eclipsefdn/it/webdev/hugo-solstice-theme/-/issues"
|
|
10
10
|
},
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"readmeFilename": "README.md",
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"axios": "^0.21.1",
|
|
26
|
-
"eclipsefdn-solstice-assets": "0.0.
|
|
26
|
+
"eclipsefdn-solstice-assets": "0.0.215",
|
|
27
27
|
"json2yaml": "^1.1.0",
|
|
28
28
|
"toml": "^3.0.0"
|
|
29
29
|
},
|
package/webpack.mix.js
CHANGED
|
@@ -19,7 +19,7 @@ mix.setPublicPath('static');
|
|
|
19
19
|
mix.setResourceRoot('../');
|
|
20
20
|
|
|
21
21
|
mix.less(
|
|
22
|
-
'./node_modules/eclipsefdn-solstice-assets/less/quicksilver/styles.less',
|
|
22
|
+
'./node_modules/eclipsefdn-solstice-assets/less/quicksilver/styles.less',
|
|
23
23
|
'static/css/styles.css'
|
|
24
24
|
);
|
|
25
25
|
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Meeting Minutes"
|
|
3
|
-
date: 2019-04-17T15:52:13-04:00
|
|
4
|
-
description: ""
|
|
5
|
-
categories: []
|
|
6
|
-
keywords: []
|
|
7
|
-
slug: ""
|
|
8
|
-
aliases: []
|
|
9
|
-
toc: false
|
|
10
|
-
draft: false
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
You can add meeting minutes to a markdown file using the shortcode: **{{< meeting_minutes >}}**
|
|
14
|
-
|
|
15
|
-
To add meeting minutes, create a **meeting_minutes.yml** file in the data folder and add the code below:
|
|
16
|
-
|
|
17
|
-
~~~~
|
|
18
|
-
items:
|
|
19
|
-
type_1:
|
|
20
|
-
-
|
|
21
|
-
title: Type 1 - Hugo Solstice Theme Num-1
|
|
22
|
-
url: https://gitlab.eclipse.org/eclipsefdn/it/webdev/hugo-solstice-theme
|
|
23
|
-
|
|
24
|
-
type_2:
|
|
25
|
-
-
|
|
26
|
-
title: Type 2 - Hugo Solstice Theme Num-1
|
|
27
|
-
url: https://gitlab.eclipse.org/eclipsefdn/it/webdev/hugo-solstice-theme
|
|
28
|
-
~~~~
|
|
29
|
-
|
|
30
|
-
**Examples:**
|
|
31
|
-
|
|
32
|
-
Here is an example of the output of the meeting minutes shortcode.
|
|
33
|
-
|
|
34
|
-
{{< meeting_minutes >}}
|