jekyll-geolexica 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +6 -0
  3. data/README.adoc +102 -0
  4. data/_config.yml +88 -0
  5. data/_data/lang.yaml +96 -0
  6. data/_includes/_title.html +5 -0
  7. data/_includes/head.html +48 -0
  8. data/_includes/localized-concept.html +99 -0
  9. data/_includes/newsroll-entry.html +17 -0
  10. data/_includes/page-header.html +31 -0
  11. data/_includes/resource-tree-item.html +49 -0
  12. data/_includes/script.html +0 -0
  13. data/_layouts/base-page.html +7 -0
  14. data/_layouts/concept.html +154 -0
  15. data/_layouts/concept.jsonld.html +152 -0
  16. data/_layouts/concept.ttl.html +83 -0
  17. data/_layouts/custom-home.html +33 -0
  18. data/_layouts/custom-post.html +7 -0
  19. data/_layouts/default.html +176 -0
  20. data/_layouts/home.html +6 -0
  21. data/_layouts/page.html +6 -0
  22. data/_layouts/post.html +13 -0
  23. data/_layouts/posts.html +10 -0
  24. data/_layouts/resource-index.html +14 -0
  25. data/_layouts/resource-page.html +25 -0
  26. data/_pages/404.adoc +12 -0
  27. data/_pages/api/rdf-profile.ttl +225 -0
  28. data/_pages/concepts-index-list.json +24 -0
  29. data/_pages/concepts-index.json +14 -0
  30. data/_pages/concepts.adoc +38 -0
  31. data/_pages/index.adoc +8 -0
  32. data/_pages/posts.adoc +6 -0
  33. data/_pages/stats.adoc +18 -0
  34. data/_pages/stats.json +5 -0
  35. data/_sass/adoc-markup.scss +197 -0
  36. data/_sass/concept.scss +171 -0
  37. data/_sass/concepts.scss +18 -0
  38. data/_sass/expandable-nav.scss +187 -0
  39. data/_sass/geolexica_home.scss +174 -0
  40. data/_sass/home.scss +87 -0
  41. data/_sass/jekyll-theme-isotc211.scss +146 -0
  42. data/_sass/legacy-crossbrowser.scss +67 -0
  43. data/_sass/main.scss +413 -0
  44. data/_sass/mixins.scss +39 -0
  45. data/_sass/normalize.scss +424 -0
  46. data/_sass/offsets.scss +59 -0
  47. data/_sass/post.scss +16 -0
  48. data/_sass/posts.scss +18 -0
  49. data/assets/algolia-search.js +28 -0
  50. data/assets/js/concept-search-worker.js +103 -0
  51. data/assets/js/concept-search.js +293 -0
  52. data/assets/js/ga.js +15 -0
  53. data/assets/js/nav.js +125 -0
  54. data/assets/js/resource-browser.js +79 -0
  55. data/assets/logo-ribose.svg +1 -0
  56. data/assets/resource-viewer-placeholder.html +11 -0
  57. data/assets/style.scss +11 -0
  58. data/babel.config.js +16 -0
  59. data/browserconfig.xml +12 -0
  60. data/fonts/MetaWebPro-Normal.woff +0 -0
  61. data/fonts/MetaWebPro-Thin.woff +0 -0
  62. data/jekyll-geolexica.gemspec +45 -0
  63. data/lib/jekyll-geolexica.rb +5 -0
  64. data/lib/jekyll/geolexica.rb +19 -0
  65. data/lib/jekyll/geolexica/concept_page.rb +169 -0
  66. data/lib/jekyll/geolexica/concept_serializer.rb +44 -0
  67. data/lib/jekyll/geolexica/concepts_generator.rb +64 -0
  68. data/lib/jekyll/geolexica/configuration.rb +47 -0
  69. data/lib/jekyll/geolexica/glossary.rb +95 -0
  70. data/lib/jekyll/geolexica/hooks.rb +33 -0
  71. data/lib/jekyll/geolexica/meta_pages_generator.rb +58 -0
  72. data/lib/jekyll/geolexica/version.rb +8 -0
  73. data/package-lock.json +2921 -0
  74. data/package.json +10 -0
  75. metadata +209 -0
@@ -0,0 +1,146 @@
1
+ @import url('https://fonts.googleapis.com/css?family=Tienne:400,700');
2
+
3
+ $bodyFontFamily: Helvetica, sans-serif;
4
+ $bigscreenBreakpoint: 900px;
5
+ $widescreenBreakpoint: 1200px;
6
+ $logoSize: 100px;
7
+ $logoOffset: $logoSize + 12px;
8
+
9
+ $isoTCColor: #0f6db3;
10
+ $textColor: black;
11
+
12
+ $warningColor: red;
13
+ $importantColor: orange;
14
+ $accentColor: $isoTCColor;
15
+
16
+ $codeListingBorderColor: lighten($textColor, 70);
17
+ $codeListingBackgroundColor: rgba($textColor, 0.03);
18
+
19
+ $mainShadowColor: rgba(black, 0.4);
20
+ $headerFooterBackgroundColor: rgba(black, 0.05);
21
+ $mainSectionBackgroundColor: rgba(white, 0.8);
22
+
23
+ $linkColor: $isoTCColor;
24
+ $linkColorInverse: white;
25
+
26
+ $stripeWidth: 30px;
27
+
28
+ $homeSectionItemSidePadding: 1em;
29
+
30
+ @mixin titleFontFamily($useBold: false) {
31
+ font-family: 'Tienne', Georgia, serif;
32
+
33
+ @if $useBold == true {
34
+ font-weight: 700;
35
+ } @else {
36
+ font-weight: 400;
37
+ }
38
+ }
39
+
40
+ @import 'normalize';
41
+
42
+ a {
43
+ &:link, &:visited, &:hover {
44
+ color: inherit;
45
+ }
46
+ }
47
+ main a {
48
+ &:link, &:visited, &:hover {
49
+ color: $linkColor;
50
+ }
51
+ }
52
+
53
+ input, textarea, button {
54
+ font-size: inherit;
55
+ font-family: inherit;
56
+ }
57
+
58
+ html {
59
+ height: 100%;
60
+ display: flex;
61
+ flex-flow: column nowrap;
62
+ align-items: stretch;
63
+ }
64
+
65
+ .section-title {
66
+ font-size: 18px;
67
+ text-transform: uppercase;
68
+ flex-shrink: 0;
69
+ margin-top: 0;
70
+ margin-bottom: 0;
71
+ position: relative;
72
+ }
73
+
74
+ @import 'adoc-markup';
75
+ @import 'offsets';
76
+ @import 'main';
77
+ @import 'expandable-nav';
78
+ @import 'home';
79
+ @import 'post';
80
+ @import 'posts';
81
+ @import 'legacy-crossbrowser';
82
+
83
+ body.resource {
84
+ max-height: 100vh;
85
+
86
+ > main {
87
+ flex: 1 1 auto;
88
+ padding-top: 1em;
89
+ overflow: hidden;
90
+
91
+ > header h1 {
92
+ display: none;
93
+ }
94
+ }
95
+
96
+ .two-pane-viewer {
97
+ display: flex;
98
+ flex-flow: row nowrap;
99
+ overflow: hidden;
100
+ width: 100%;
101
+ flex: 1;
102
+
103
+ .viewer {
104
+ position: relative;
105
+ flex: 1;
106
+ display: flex;
107
+ flex-flow: row nowrap;
108
+ padding: 1em;
109
+ margin: 0 1em;
110
+ border-radius: 1em;
111
+ background: whiteSmoke;
112
+
113
+ iframe {
114
+ flex: 1;
115
+ border: 0;
116
+ }
117
+ }
118
+
119
+ // Fix style clashes with Blueprint
120
+ .bp3-tree {
121
+ font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif
122
+ }
123
+
124
+ .browser {
125
+ max-width: 300px;
126
+ font-size: 84%;
127
+ box-shadow: none;
128
+ overflow-y: scroll;
129
+ padding-top: 1em;
130
+
131
+ .bp3-tree-node-content:hover {
132
+ background-color: inherit;
133
+ }
134
+
135
+ a {
136
+ color: inherit;
137
+ text-decoration: none;
138
+ border: 0;
139
+
140
+ &.selected {
141
+ font-weight: bold;
142
+ }
143
+ }
144
+ }
145
+ }
146
+ }
@@ -0,0 +1,67 @@
1
+ // Layout workaround without using Flexbox for IE 10 and below
2
+
3
+ @media screen and (min-width:0\0) {
4
+ body>header {
5
+ margin: 0;
6
+ padding: 0;
7
+ padding-left: 15%;
8
+ padding-top: 12px;
9
+ }
10
+
11
+ body>header .site-headline .site-title .committee-widget {
12
+ font-size: 95%;
13
+ }
14
+
15
+ body>header .site-headline .site-title .title {
16
+ display: block;
17
+ margin-top: 12px;
18
+ padding-bottom: 12px;
19
+ }
20
+
21
+ body>main {
22
+ display: block;
23
+ }
24
+
25
+ body.home>main>.news .items {
26
+ padding: 0;
27
+ margin: 0;
28
+ margin-left: 15%;
29
+ width: 75%;
30
+ }
31
+
32
+ body.home>main>.news .news-item-card {
33
+ display: block;
34
+ margin-top: 18px;
35
+ padding-top: 1px;
36
+ padding-bottom: 1px;
37
+ }
38
+
39
+ body.home>main>.news .items .news-item-card:first-child {
40
+ margin-left: 0;
41
+ }
42
+
43
+ body.home>main>.news .news-item-card.news-item--with-illustration {
44
+ min-height: 208px;
45
+ }
46
+
47
+ body.home>main>.news {
48
+ clear: both;
49
+ display: block;
50
+ }
51
+
52
+ body.home>main>.news .items {
53
+ padding-bottom: 18px;
54
+ }
55
+
56
+ body>footer {
57
+ padding-top: 8px;
58
+ }
59
+
60
+ body>footer ul[role="nav"] li {
61
+ display: inline-block;
62
+ }
63
+
64
+ body>footer .powered-by {
65
+ float: right
66
+ }
67
+ }
data/_sass/main.scss ADDED
@@ -0,0 +1,413 @@
1
+ a {
2
+ text-decoration: none;
3
+ color: $textColor;
4
+ }
5
+
6
+ body > main a {
7
+ color: $linkColor;
8
+ border-bottom: 1px solid $linkColor;
9
+
10
+ &:hover {
11
+ text-decoration: none;
12
+ }
13
+
14
+ &[rel=external] {
15
+ border-bottom-style: dotted;
16
+ &:link, &:hover, &:focus, &:active {
17
+ .ico-ext {
18
+ font-size: 50%;
19
+ vertical-align: text-top;
20
+ position: relative;
21
+ left: .15em;
22
+ }
23
+ }
24
+ }
25
+ }
26
+
27
+ // Main layout
28
+ // ===========
29
+
30
+ body {
31
+ font-size: 16px;
32
+ line-height: 1.15;
33
+ }
34
+
35
+ body {
36
+ font-family: $bodyFontFamily;
37
+ }
38
+
39
+ body > main {
40
+ font-size: 18px;
41
+ @include asciidoc-markup();
42
+ }
43
+
44
+ body > header,
45
+ body > main > section,
46
+ body > main > .section {
47
+ padding-top: 1em;
48
+
49
+ > h2 {
50
+ @extend .section-title;
51
+ }
52
+ }
53
+
54
+ body > main,
55
+ body.home > main > section,
56
+ body.home > main > .section {
57
+ background: $mainSectionBackgroundColor;
58
+ }
59
+
60
+ body.home > main {
61
+ background: transparent;
62
+ }
63
+
64
+ body {
65
+ $footerLogoSize: 60px;
66
+ $footerH: $footerLogoSize + 20px;
67
+ $footerPoweredByLogoWidth: 100px;
68
+
69
+ flex: 1;
70
+
71
+ display: flex;
72
+ flex-flow: column nowrap;
73
+ align-items: stretch;
74
+ margin-bottom: -$footerH;
75
+
76
+ background: linear-gradient(90deg, $isoTCColor $stripeWidth, transparent 20px);
77
+
78
+ > .awards {
79
+ color: grey;
80
+ margin: 0;
81
+ padding: 1em 15vw;
82
+ background: rgba(black, 0.1);
83
+ font-size: 80%;
84
+
85
+ .icon {
86
+ margin-right: 1em;
87
+ }
88
+ }
89
+
90
+ > footer {
91
+ flex-shrink: 0;
92
+ font-size: 90%;
93
+ line-height: 1.6;
94
+
95
+ background: $headerFooterBackgroundColor;
96
+ box-shadow: 0 10px 20px -20px $mainShadowColor inset;
97
+
98
+ padding-top: 1em;
99
+
100
+ .logo {
101
+ width: $footerLogoSize + 12px;
102
+ margin-left: 0;
103
+ display: inline-block;
104
+
105
+ img {
106
+ width: $footerLogoSize;
107
+ height: $footerLogoSize;
108
+ vertical-align: middle;
109
+ }
110
+ }
111
+
112
+ .powered-by {
113
+ flex: 1;
114
+ width: $logoOffset;
115
+
116
+ .powered-by-text {
117
+ font-size: 0.5em;
118
+ text-transform: uppercase;
119
+ font-weight: 600;
120
+ display: block;
121
+ }
122
+
123
+ img {
124
+ width: $footerPoweredByLogoWidth;
125
+ display: block;
126
+ }
127
+ }
128
+
129
+ .legal {
130
+ white-space: nowrap;
131
+ display: inline-block;
132
+ }
133
+
134
+ ul[role=nav] {
135
+ list-style: none;
136
+ margin: 0;
137
+ padding: 0;
138
+ display: flex;
139
+ flex-flow: row wrap;
140
+
141
+ li {
142
+ margin-left: 1em;
143
+ white-space: nowrap;
144
+ &:first-child {
145
+ margin-left: 0;
146
+ }
147
+ }
148
+ }
149
+
150
+ @media screen and (min-width: $bigscreenBreakpoint) {
151
+ display: flex;
152
+ flex-flow: row nowrap;
153
+ align-items: center;
154
+ justify-content: flex-end;
155
+
156
+ height: $footerH;
157
+ padding-top: 0;
158
+
159
+ .powered-by {
160
+ margin-left: 2em;
161
+ }
162
+ }
163
+ }
164
+
165
+ > header {
166
+ flex-shrink: 0;
167
+ padding-top: .5em;
168
+
169
+ background: $headerFooterBackgroundColor;
170
+ box-shadow: 0 -10px 20px -20px $mainShadowColor inset;
171
+
172
+ .site-headline {
173
+ margin: 0;
174
+ padding: 0;
175
+ font-size: 100%;
176
+ font-weight: normal;
177
+
178
+ > .parent-org-reference {
179
+ display: none;
180
+
181
+ flex-flow: column nowrap;
182
+ justify-content: space-between;
183
+ width: $logoOffset;
184
+
185
+ .logo-link {
186
+ height: $logoOffset;
187
+ width: $logoOffset;
188
+ display: flex;
189
+ flex-flow: column nowrap;
190
+ align-items: center;
191
+ justify-content: center;
192
+
193
+ img {
194
+ display: block;
195
+ height: $logoSize;
196
+ width: $logoSize;
197
+ }
198
+ }
199
+ }
200
+ .site-title {
201
+ flex: 1;
202
+ display: flex;
203
+ flex-flow: column nowrap;
204
+
205
+ .title {
206
+ font-size: 150%;
207
+ font-weight: normal;
208
+ margin: 0;
209
+ margin-bottom: 1em;
210
+ margin-left: -.12em; // Visual alignment of capital G
211
+ letter-spacing: -.025em;
212
+ }
213
+
214
+ .committee-widget {
215
+ font-size: 80%;
216
+ line-height: 1.5;
217
+ margin: 0;
218
+ padding-bottom: 1.5em;
219
+
220
+ display: flex;
221
+ flex-flow: row wrap;
222
+ align-items: center;
223
+
224
+ @media screen and (min-width: $bigscreenBreakpoint) {
225
+ margin-top: 3.3em;
226
+ }
227
+
228
+ .widget-group {
229
+ display: flex;
230
+ flex-flow: row wrap;
231
+ margin-bottom: 3px;
232
+
233
+ @media screen and (min-width: $bigscreenBreakpoint) {
234
+ flex-flow: row nowrap;
235
+ margin-bottom: 0;
236
+ }
237
+ }
238
+
239
+ .widget-item {
240
+ margin-right: 2px;
241
+ margin-bottom: 2px;
242
+ padding: .3em .6em;
243
+ box-shadow: 1px 1px 2px rgba(black, 0.1);
244
+ border-width: 1px;
245
+ border-style: solid;
246
+
247
+ background: lighten(desaturate($isoTCColor, 50), 20);
248
+ border-color: lighten(desaturate($isoTCColor, 50), 20);
249
+ color: white;
250
+
251
+ box-sizing: border-box;
252
+
253
+ @media screen and (max-width: $bigscreenBreakpoint) {
254
+ margin-right: -1px;
255
+ margin-bottom: -1px;
256
+ flex: 1;
257
+ }
258
+ }
259
+
260
+ .committee-id {
261
+ padding-left: .7em;
262
+ // Corrects visual padding inconsistency of unclear origin
263
+
264
+ white-space: nowrap;
265
+ background: black;
266
+ border-color: black;
267
+ font-weight: bold;
268
+ color: white;
269
+ }
270
+
271
+ .committee-menu {
272
+ flex-flow: row wrap;
273
+
274
+ .widget-item {
275
+ @media screen and (max-width: $bigscreenBreakpoint) {
276
+ flex-basis: 50%;
277
+ &.home {
278
+ flex: 0;
279
+ &:only-child {
280
+ flex: 1;
281
+ }
282
+ }
283
+ }
284
+ }
285
+ }
286
+
287
+ .widget-item.home {
288
+ white-space: nowrap;
289
+ .fa-home {
290
+ margin-right: .25em;
291
+ }
292
+ }
293
+
294
+ .widget-item.parent-org-reference {
295
+ display: inline;
296
+ background: #e30b1f;
297
+ border-color: #e30b1f;
298
+ font-weight: bold;
299
+
300
+ @media screen and (min-width: $bigscreenBreakpoint) {
301
+ display: none;
302
+ }
303
+ }
304
+
305
+ .committee-name {
306
+ background: $isoTCColor;
307
+ border-color: $isoTCColor;
308
+ color: white;
309
+ }
310
+ }
311
+ }
312
+
313
+ @media screen and (min-width: $bigscreenBreakpoint) {
314
+ display: flex;
315
+ flex-flow: row nowrap;
316
+ align-items: flex-start;
317
+
318
+ > .parent-org-reference {
319
+ display: flex;
320
+ }
321
+ }
322
+
323
+ @media screen and (max-width: $bigscreenBreakpoint) {
324
+ .parent-org-reference .logo-link img {
325
+ visibility: hidden;
326
+ }
327
+ }
328
+ }
329
+
330
+ &.brand {
331
+ .site-headline {
332
+ .title {
333
+ font-size: 220%;
334
+ margin-bottom: .5em;
335
+ }
336
+ }
337
+ }
338
+ }
339
+
340
+ > header > nav.priority-nav {
341
+ ul {
342
+ padding: 0;
343
+ margin: 0;
344
+ margin-right: -$logoOffset;
345
+
346
+ white-space: nowrap;
347
+ overflow: hidden;
348
+ text-overflow: ellipsis;
349
+
350
+ padding-bottom: 1em;
351
+
352
+ @media screen and (min-width: $bigscreenBreakpoint) {
353
+ margin-left: $logoOffset;
354
+ margin-right: 0;
355
+ }
356
+
357
+ li {
358
+ display: inline;
359
+ margin-right: 1em;
360
+ overflow: hidden;
361
+
362
+ a {
363
+ text-transform: uppercase;
364
+ font-size: 80%;
365
+ letter-spacing: -.01em;
366
+ }
367
+ }
368
+ }
369
+ }
370
+
371
+ > header > nav.expandable-nav {
372
+ display: none;
373
+ }
374
+
375
+ > main {
376
+ flex: 1 0 auto;
377
+ display: flex;
378
+ flex-flow: column nowrap;
379
+ line-height: 1.6;
380
+ padding-bottom: 1em;
381
+
382
+ position: relative;
383
+
384
+ > header {
385
+ p.section-title {
386
+ margin: 0;
387
+ @extend .section-title;
388
+ transform-origin: top left;
389
+ transform: rotate(-90deg) translateX(-100%);
390
+ position: absolute;
391
+ color: $isoTCColor;
392
+ font-size: 80%;
393
+ top: 3em;
394
+ left: .3em;
395
+ }
396
+ h1 {
397
+ margin-bottom: 0;
398
+ font-weight: normal;
399
+ font-size: 200%;
400
+ }
401
+ .meta {
402
+ color: lighten($textColor, 50);
403
+ margin-bottom: 2em;
404
+ }
405
+ }
406
+
407
+ .lead {
408
+ background-color: rgba(0, 0, 0, 0.05);
409
+ font-size: 120%;
410
+ margin-bottom: 1em;
411
+ }
412
+ }
413
+ }