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,18 @@
1
+ body.concepts {
2
+ > main > header > h1 {
3
+ font-weight: normal;
4
+ }
5
+
6
+ .all-concepts {
7
+ table {
8
+ @include concept-table();
9
+ }
10
+ }
11
+ }
12
+
13
+ body.concepts > main {
14
+ > * {
15
+ padding-left: $sideOffsetBase;
16
+ padding-right: $sideOffsetBase;
17
+ }
18
+ }
@@ -0,0 +1,187 @@
1
+ // This style is enabled by nav.js.
2
+
3
+ $expandTransitionTime: .08s;
4
+ $expandTransitionFunc: ease-out;
5
+
6
+ body.with-expandable-nav {
7
+ > header {
8
+ will-change: background, opacity, box-shadow, height;
9
+ transition:
10
+ color $expandTransitionTime $expandTransitionFunc 0s,
11
+ background $expandTransitionTime $expandTransitionFunc 0s,
12
+ padding-bottom $expandTransitionTime $expandTransitionFunc 0s,
13
+ box-shadow $expandTransitionTime $expandTransitionFunc 0s,
14
+ height $expandTransitionTime $expandTransitionFunc 0s;
15
+
16
+ position: relative;
17
+ overflow: hidden;
18
+
19
+ padding-bottom: 0; // JS relies on this value
20
+
21
+ .committee-widget {
22
+ .widget-item {
23
+ will-change: color, background, border;
24
+ transition:
25
+ color $expandTransitionTime $expandTransitionFunc 0s,
26
+ background $expandTransitionTime $expandTransitionFunc 0s,
27
+ border $expandTransitionTime $expandTransitionFunc 0s;
28
+ }
29
+
30
+ @media screen and (max-width: $bigscreenBreakpoint - 1) {
31
+ .committee-name {
32
+ display: none;
33
+ }
34
+ }
35
+
36
+ .widget-group.committee-menu {
37
+ display: none;
38
+ }
39
+ }
40
+ }
41
+
42
+ > main {
43
+ will-change: transform;
44
+ transition:
45
+ transform $expandTransitionTime $expandTransitionFunc;
46
+ }
47
+
48
+ nav.expandable-nav {
49
+ transition: none;
50
+ opacity: 0;
51
+ display: block;
52
+ position: absolute;
53
+ bottom: 20px;
54
+ display: none;
55
+
56
+ ul {
57
+ padding: 0;
58
+ margin: 0;
59
+ list-style: none;
60
+
61
+ li {
62
+ padding: 0;
63
+ margin-bottom: 1em;
64
+
65
+ &:last-child {
66
+ margin-bottom: 0;
67
+ }
68
+
69
+ p.desc {
70
+ margin: 0;
71
+ font-size: 80%;
72
+ opacity: .8;
73
+ }
74
+
75
+ @media screen and (min-width: $bigscreenBreakpoint) {
76
+ margin-bottom: 0;
77
+ margin-right: 1em;
78
+ margin-left: 2px;
79
+ max-width: 10em;
80
+ padding-left: 1em;
81
+ border-left: 1px solid white;
82
+ }
83
+ }
84
+
85
+ @media screen and (min-width: $bigscreenBreakpoint) {
86
+ display: flex;
87
+ flex-flow: row nowrap;
88
+ align-items: stretch;
89
+ }
90
+ }
91
+
92
+ @media screen and (min-width: $bigscreenBreakpoint) {
93
+ left: 15vw;
94
+ }
95
+ }
96
+
97
+ button.nav-expand-trigger {
98
+ border: none;
99
+ background: none;
100
+ color: white;
101
+
102
+ flex-flow: column nowrap;
103
+ align-items: center;
104
+ justify-content: center;
105
+ height: 1.8em;
106
+ width: $stripeWidth;
107
+ display: flex;
108
+
109
+ position: absolute;
110
+ left: 0;
111
+ top: .5em;
112
+
113
+ @media screen and (min-width: $bigscreenBreakpoint) {
114
+ top: 3.3em;
115
+ }
116
+
117
+ .fa-times { display: none; }
118
+ }
119
+
120
+ &.with-expanded-nav {
121
+ > header {
122
+ box-shadow: 0 5px 50px -20px rgba(black, 0.4);
123
+ background: $isoTCColor;
124
+ color: white;
125
+ padding-bottom: 1.5em;
126
+ z-index: 2;
127
+
128
+ .parent-org-reference {
129
+ .logo-link img {
130
+ -webkit-filter: invert(1);
131
+ filter: invert(1);
132
+ }
133
+ }
134
+
135
+ nav.priority-nav {
136
+ opacity: 0;
137
+ }
138
+ nav.expandable-nav {
139
+ will-change: opacity;
140
+ transition: opacity $expandTransitionTime $expandTransitionFunc;
141
+ transition-delay: 0s;
142
+ display: block;
143
+ opacity: 1;
144
+ }
145
+
146
+ .committee-widget {
147
+ .widget-item {
148
+ background: none;
149
+ box-shadow: none;
150
+ border: 1px solid white;
151
+
152
+ &.committee-id {
153
+ background: white;
154
+ color: $isoTCColor;
155
+ }
156
+ &.parent-org-reference {
157
+ background: #e30b1f;
158
+ border-color: white;
159
+ color: white;
160
+ }
161
+ }
162
+ .committee-name {
163
+ display: inline;
164
+ flex-basis: 100%;
165
+ }
166
+ .widget-group {
167
+ flex-basis: 100%;
168
+ @media screen and (min-width: $bigscreenBreakpoint) {
169
+ flex-basis: unset;
170
+ }
171
+ }
172
+ .widget-group.committee-menu {
173
+ display: flex;
174
+
175
+ .widget-item {
176
+ background: rgba(black, 0.2);
177
+ border-color: rgba(black, 0.2);
178
+ }
179
+ }
180
+ }
181
+ }
182
+ button.nav-expand-trigger {
183
+ .fa-times { display: inline-block; }
184
+ .fa-bars { display: none; }
185
+ }
186
+ }
187
+ }
@@ -0,0 +1,174 @@
1
+ body.home {
2
+ > main {
3
+ > .browse-concepts {
4
+ flex-shrink: 0;
5
+
6
+ display: flex;
7
+ flex-flow: column nowrap;
8
+ align-items: flex-start;
9
+
10
+ input.search-string,
11
+ a.browse-concepts {
12
+ background-color: #f7f7f7;
13
+ padding: .5em .75em;
14
+ border-radius: .5em;
15
+ border: 0;
16
+ cursor: pointer;
17
+ }
18
+
19
+ .section-title {
20
+ span {
21
+ white-space: nowrap;
22
+ margin-right: 1em;
23
+ }
24
+ a {
25
+ white-space: nowrap;
26
+ text-transform: none;
27
+ font-size: 90%;
28
+ }
29
+ }
30
+
31
+ a.browse-concepts {
32
+ text-decoration: none;
33
+ background: $linkColor;
34
+ color: $linkColorInverse;
35
+
36
+ margin-top: 1em;
37
+ margin-bottom: 1.5em;
38
+ }
39
+
40
+ .search-controls {
41
+ flex-shrink: 0;
42
+
43
+ display: flex;
44
+ flex-flow: row wrap;
45
+ align-items: center;
46
+ margin-top: 1em;
47
+ margin-bottom: 1.5em;
48
+
49
+ input.search-string {
50
+ margin-right: 1em;
51
+ margin-left: -.5em;
52
+ }
53
+
54
+ .refine {
55
+ display: flex;
56
+ flex-flow: row wrap;
57
+ align-items: center;
58
+
59
+ > * {
60
+ display: flex;
61
+ flex-flow: row nowrap;
62
+ align-items: center;
63
+ }
64
+
65
+ label {
66
+ padding-left: 1em;
67
+ }
68
+ input[type=checkbox], label {
69
+ cursor: pointer;
70
+ }
71
+ }
72
+ }
73
+
74
+ .search-results {
75
+ flex: 1;
76
+ align-self: stretch;
77
+ overflow: auto;
78
+
79
+ box-shadow: 0 0 20px -10px rgba(black, 0.3);
80
+
81
+ padding-bottom: 1em;
82
+ background: white;
83
+
84
+ table {
85
+ @include concept-table();
86
+ }
87
+ }
88
+ }
89
+ }
90
+
91
+ &.browser-expandable {
92
+ > main {
93
+ > .browse-concepts {
94
+ .section-title {
95
+ display: flex;
96
+ flex-flow: row wrap;
97
+ align-items: center;
98
+
99
+ &:before {
100
+ display: none;
101
+ }
102
+
103
+ button.toggle {
104
+ background: transparent;
105
+ border: 0;
106
+ cursor: pointer;
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
112
+
113
+ &.browser-expanded {
114
+ > header {
115
+ margin-top: -1em;
116
+ padding-bottom: 0;
117
+
118
+ .site-title .description {
119
+ transition: width .5s linear;
120
+ width: 0;
121
+ height: 0;
122
+ overflow: hidden;
123
+ display: inline-block;
124
+ }
125
+ }
126
+ > main {
127
+ flex-shrink: 1;
128
+ min-height: 300px;
129
+ // ^^ value out of thin air approximating minimally acceptable main height,
130
+ // otherwise on very short viewports footer overlaps main due to its flex-shrink: 1,
131
+ // which we want to restrict main height to viewport so that search results
132
+ // can be scrolled within their own div.
133
+ // Another (better?) solution could be to scope flex-shrink: 1
134
+ // to tall enough viewports with a media query.
135
+
136
+ > section.browse-concepts {
137
+ flex-shrink: 1;
138
+ min-height: 256px;
139
+ padding-bottom: 0;
140
+ }
141
+ > section.news {
142
+ display: none;
143
+ }
144
+ }
145
+ }
146
+ }
147
+
148
+ body.home.browser-expandable > main > section.browse-concepts {
149
+ .section-title {
150
+ margin-left: 15vw;
151
+
152
+ @media screen and (min-width: $bigscreenBreakpoint) {
153
+ margin-left: calc(#{$sideOffsetBase} - #{$logoOffset});
154
+
155
+ button.toggle {
156
+ width: $logoOffset;
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ body.home > main > section.browse-concepts {
163
+ .section-title, .search-controls {
164
+ margin-left: $sideOffsetBase;
165
+ margin-right: $sideOffsetBase;
166
+ }
167
+ > a.browse-concepts {
168
+ margin-left: calc(#{$sideOffsetBase} - .75em);
169
+ display: block;
170
+ }
171
+ .search-results.status-message {
172
+ padding-left: $sideOffsetBase;
173
+ }
174
+ }
data/_sass/home.scss ADDED
@@ -0,0 +1,87 @@
1
+ body.home {
2
+ > footer {
3
+ box-shadow: none;
4
+ }
5
+
6
+ > main {
7
+ padding-bottom: 0;
8
+
9
+ > .section > h2 {
10
+ @extend .section-title;
11
+ }
12
+
13
+ > .news {
14
+
15
+ // Assuming it goes right before footer
16
+ flex: 1;
17
+ border-bottom: 0;
18
+ background: $headerFooterBackgroundColor;
19
+ box-shadow: 0 10px 20px -20px $mainShadowColor inset;
20
+
21
+ .items {
22
+ display: flex;
23
+ flex-flow: row wrap;
24
+ justify-content: flex-start;
25
+ align-items: stretch;
26
+ padding-top: 1em;
27
+ padding-bottom: 1em;
28
+ }
29
+
30
+ .news-item-card {
31
+ max-width: 90vw;
32
+ border-radius: .5em;
33
+ padding: 0 $homeSectionItemSidePadding;
34
+ background: #fff;
35
+ margin-right: 1em;
36
+ margin-bottom: 1em;
37
+ box-shadow: 1px 1px 20px -5px rgba(black, 0.3);
38
+
39
+ min-width: 320px;
40
+ @media screen and (min-width: $bigscreenBreakpoint) {
41
+ min-width: unset;
42
+ flex-basis: 20em;
43
+ }
44
+
45
+ &.news-item--with-illustration {
46
+ position: relative;
47
+
48
+ .title, .excerpt, .meta {
49
+ margin-left: 155px;
50
+ }
51
+
52
+ .illustration-container {
53
+ position: absolute;
54
+ top: 0; left: 0; bottom: 0;
55
+ display: block;
56
+ width: 155px;
57
+ overflow: hidden;
58
+ background-size: cover;
59
+ background-position: center center;
60
+ }
61
+ }
62
+
63
+ .title {
64
+ font-weight: normal;
65
+ margin-top: .75em;
66
+ margin-bottom: .4em;
67
+ font-size: 110%;
68
+ line-height: 1.3;
69
+
70
+ a {
71
+ text-decoration: none;
72
+ }
73
+ }
74
+
75
+ .meta {
76
+ font-size: 80%;
77
+ color: lighten($textColor, 50);
78
+ }
79
+
80
+ div.excerpt p {
81
+ font-size: 90%;
82
+ line-height: 1.6;
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }