jekyll-theme-isotc211 0.4.8 → 0.4.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +26 -1
- data/_includes/head.html +20 -0
- data/_includes/resource-tree-item.html +49 -0
- data/_layouts/base-page.html +8 -1
- data/_layouts/resource-index.html +14 -0
- data/_layouts/resource-page.html +25 -0
- data/_sass/home.scss +2 -2
- data/_sass/jekyll-theme-isotc211.scss +58 -0
- data/_sass/main.scss +4 -2
- data/_sass/offsets.scss +9 -4
- data/assets/resource-browser.js +26 -0
- data/assets/resource-viewer-placeholder.html +11 -0
- metadata +22 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8d2f943137f52e7d8a4b3a44648c738ae2ca7f602793a8704ab8c455b899bedb
|
4
|
+
data.tar.gz: 8d42c82de52ebe3525b6f26552c870b2646ba3797f0d7df4cece5f5da56ecfa8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28b2e0db9719adecb12cbf15d528dab380228cda6728414d0e01a4d6c218e8d8a71559f7a64ed37337f703d2ab4072f65c694704c9efdde552d24839b2d0ce1c
|
7
|
+
data.tar.gz: 6a212ec359c85d4dd1e8ae73cddc46f231cc50b473767aecaf9d95468427bc30cb7bb21805015c9671676d82c14d11fb134f2d3914c53383ee97071ea410391c
|
data/README.md
CHANGED
@@ -6,10 +6,21 @@ including www.isotc211.org and resource sites such as geolexica.com.
|
|
6
6
|
|
7
7
|
## Configuring site
|
8
8
|
|
9
|
-
|
9
|
+
Theme relies on accompanying helper plugin
|
10
|
+
(note: plugin gem version should match theme version):
|
10
11
|
|
11
12
|
```
|
12
13
|
group :jekyll_plugins do
|
14
|
+
gem "jekyll-theme-isotc211-helpers"
|
15
|
+
# ...
|
16
|
+
end
|
17
|
+
```
|
18
|
+
|
19
|
+
Other recommended plugins to add to your Gemfile:
|
20
|
+
|
21
|
+
```
|
22
|
+
group :jekyll_plugins do
|
23
|
+
# ...
|
13
24
|
gem "jekyll-data"
|
14
25
|
gem "jekyll-asciidoc"
|
15
26
|
gem "jekyll-external-links"
|
@@ -39,6 +50,20 @@ committee:
|
|
39
50
|
- url: /faq
|
40
51
|
title: FAQ
|
41
52
|
|
53
|
+
# Builds browsable resource pages
|
54
|
+
resource_listings:
|
55
|
+
schemas:
|
56
|
+
# Source directory containing resources, relative to site source root.
|
57
|
+
# Each subdirectory within will be treated as a resource
|
58
|
+
resource_root: 'schemas'
|
59
|
+
|
60
|
+
# The path, under which resource browser will be available to site visitors
|
61
|
+
index_url: 'schemas'
|
62
|
+
|
63
|
+
# These control resource index & individual resource pages
|
64
|
+
index_title: "Schemas"
|
65
|
+
resource_label: "schema"
|
66
|
+
|
42
67
|
always_show_committee_link_on_landing: yes
|
43
68
|
|
44
69
|
awards:
|
data/_includes/head.html
CHANGED
@@ -34,4 +34,24 @@
|
|
34
34
|
<script src="{{ "/assets/ga.js" | relative_url }}"></script>
|
35
35
|
{% endif %}
|
36
36
|
|
37
|
+
{% assign extra_stylesheets = page.extra_stylesheets | default: layout.extra_stylesheets %}
|
38
|
+
{% if extra_stylesheets %}
|
39
|
+
{% for ss in extra_stylesheets %}
|
40
|
+
<link rel="stylesheet"
|
41
|
+
href="{{ ss.href }}"
|
42
|
+
{% if ss.integrity %}integrity="{{ ss.integrity }}"{% endif %}
|
43
|
+
{% if ss.crossorigin %}crossorigin="{{ ss.crossorigin }}"{% endif %}>
|
44
|
+
{% endfor %}
|
45
|
+
{% endif %}
|
46
|
+
|
47
|
+
{% assign extra_scripts = page.extra_scripts | default: layout.extra_scripts %}
|
48
|
+
{% if extra_scripts %}
|
49
|
+
{% for sc in extra_scripts %}
|
50
|
+
<script
|
51
|
+
src="{{ sc.src }}"
|
52
|
+
{% if sc.integrity %}integrity="{{ sc.integrity }}"{% endif %}
|
53
|
+
{% if sc.crossorigin %}crossorigin="{{ sc.crossorigin }}"{% endif %}></script>
|
54
|
+
{% endfor %}
|
55
|
+
{% endif %}
|
56
|
+
|
37
57
|
</head>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<li class="bp3-tree-node bp3-tree-node-expanded">
|
2
|
+
|
3
|
+
<div class="
|
4
|
+
bp3-tree-node-content
|
5
|
+
{% if include.level > 0 %}bp3-tree-node-content-{{ include.level }}{% endif %}">
|
6
|
+
|
7
|
+
<span class="
|
8
|
+
{% if include.children %}bp3-tree-node-caret bp3-tree-node-caret-open
|
9
|
+
{% else %}bp3-tree-node-caret-none
|
10
|
+
{% endif %}
|
11
|
+
bp3-icon-standard"></span>
|
12
|
+
<span class="
|
13
|
+
bp3-tree-node-icon bp3-icon-standard
|
14
|
+
{% if include.children %}bp3-icon-folder-close
|
15
|
+
{% else %}bp3-icon-document
|
16
|
+
{% endif %}"></span>
|
17
|
+
|
18
|
+
<span class="bp3-tree-node-label" title="{{ include.data }}">
|
19
|
+
{% unless include.children %}
|
20
|
+
<a href="/{{ include.full_path }}">{{ include.data }}</a>
|
21
|
+
{% else %}
|
22
|
+
{{ include.data }}
|
23
|
+
{% endunless %}
|
24
|
+
</span>
|
25
|
+
|
26
|
+
{% unless include.children %}
|
27
|
+
<span class="bp3-tree-node-secondary-label">
|
28
|
+
<a
|
29
|
+
title="Open in separate viewer window"
|
30
|
+
target="resource-viewer"
|
31
|
+
class="bp3-icon-standard bp3-icon-document-share"
|
32
|
+
href="/{{ include.full_path }}"></a>
|
33
|
+
</span>
|
34
|
+
{% endunless %}
|
35
|
+
</div>
|
36
|
+
|
37
|
+
{% if include.children %}
|
38
|
+
<ul class="bp3-tree-node-list">
|
39
|
+
{% for subitem in include.children %}
|
40
|
+
{% include resource-tree-item.html
|
41
|
+
full_path=subitem.full_path
|
42
|
+
data=subitem.data
|
43
|
+
children=subitem.children
|
44
|
+
level=subitem.level %}
|
45
|
+
{% endfor %}
|
46
|
+
</ul>
|
47
|
+
{% endif %}
|
48
|
+
|
49
|
+
</li>
|
data/_layouts/base-page.html
CHANGED
@@ -4,10 +4,17 @@ layout: default
|
|
4
4
|
---
|
5
5
|
{% assign title = page.title | default: page.title_html | default: layout.title | default: layout.title_html %}
|
6
6
|
{% assign parent_title = page.parent_title | default: layout.parent_title %}
|
7
|
+
{% assign parent_link = page.parent_link | default: layout.parent_link %}
|
7
8
|
{% if title or parent_title %}
|
8
9
|
<header>
|
9
10
|
{% if parent_title %}
|
10
|
-
<p class="section-title">
|
11
|
+
<p class="section-title">
|
12
|
+
{% if parent_link %}
|
13
|
+
<a href="{{ parent_link }}">{{ parent_title }}</a>
|
14
|
+
{% else %}
|
15
|
+
{{ parent_title }}
|
16
|
+
{% endif %}
|
17
|
+
</p>
|
11
18
|
{% endif %}
|
12
19
|
|
13
20
|
{% if title %}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
layout: base-page
|
3
|
+
bodyClass: resource
|
4
|
+
|
5
|
+
extra_stylesheets:
|
6
|
+
- href: https://unpkg.com/normalize.css@^7.0.0
|
7
|
+
- href: https://unpkg.com/@blueprintjs/icons@^3.4.0/lib/css/blueprint-icons.css
|
8
|
+
- href: https://unpkg.com/@blueprintjs/core@^3.10.0/lib/css/blueprint.css
|
9
|
+
---
|
10
|
+
|
11
|
+
{{ content }}
|
12
|
+
|
13
|
+
<div class="two-pane-viewer">
|
14
|
+
<div class="browser bp3-tree bp3-elevation-0">
|
15
|
+
<ul class="bp3-tree-node-list bp3-tree-root">
|
16
|
+
{% include resource-tree-item.html data=page.contents.data children=page.contents.children level=0 %}
|
17
|
+
</ul>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<div class="viewer">
|
21
|
+
<iframe src="/assets/resource-viewer-placeholder.html"></iframe>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<script src="/assets/resource-browser.js"></script>
|
data/_sass/home.scss
CHANGED
@@ -20,10 +20,9 @@ body.home {
|
|
20
20
|
|
21
21
|
.items {
|
22
22
|
display: flex;
|
23
|
-
flex-flow: row
|
23
|
+
flex-flow: row wrap;
|
24
24
|
justify-content: flex-start;
|
25
25
|
align-items: stretch;
|
26
|
-
overflow-x: auto;
|
27
26
|
padding-top: 1em;
|
28
27
|
padding-bottom: 1em;
|
29
28
|
}
|
@@ -34,6 +33,7 @@ body.home {
|
|
34
33
|
padding: 0 $homeSectionItemSidePadding;
|
35
34
|
background: #fff;
|
36
35
|
margin-right: 1em;
|
36
|
+
margin-bottom: 1em;
|
37
37
|
box-shadow: 1px 1px 20px -5px rgba(black, 0.3);
|
38
38
|
|
39
39
|
min-width: 320px;
|
@@ -23,6 +23,8 @@ $mainSectionBackgroundColor: rgba(white, 0.8);
|
|
23
23
|
$linkColor: $isoTCColor;
|
24
24
|
$linkColorInverse: white;
|
25
25
|
|
26
|
+
$stripeWidth: 30px;
|
27
|
+
|
26
28
|
$homeSectionItemSidePadding: 1em;
|
27
29
|
|
28
30
|
@mixin titleFontFamily($useBold: false) {
|
@@ -81,3 +83,59 @@ html {
|
|
81
83
|
@import 'post';
|
82
84
|
@import 'posts';
|
83
85
|
@import 'legacy-crossbrowser';
|
86
|
+
|
87
|
+
body.resource {
|
88
|
+
max-height: 100vh;
|
89
|
+
|
90
|
+
> main {
|
91
|
+
flex: 1 1 auto;
|
92
|
+
padding-top: 1em;
|
93
|
+
overflow: hidden;
|
94
|
+
|
95
|
+
> header h1 {
|
96
|
+
display: none;
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
.two-pane-viewer {
|
101
|
+
display: flex;
|
102
|
+
flex-flow: row nowrap;
|
103
|
+
overflow: hidden;
|
104
|
+
width: 100%;
|
105
|
+
flex: 1;
|
106
|
+
|
107
|
+
.viewer {
|
108
|
+
position: relative;
|
109
|
+
flex: 1;
|
110
|
+
display: flex;
|
111
|
+
flex-flow: row nowrap;
|
112
|
+
padding: 1em;
|
113
|
+
margin: 0 1em;
|
114
|
+
border-radius: 1em;
|
115
|
+
background: whiteSmoke;
|
116
|
+
|
117
|
+
iframe {
|
118
|
+
flex: 1;
|
119
|
+
border: 0;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
.browser {
|
124
|
+
max-width: 300px;
|
125
|
+
font-size: 84%;
|
126
|
+
box-shadow: none;
|
127
|
+
overflow-y: scroll;
|
128
|
+
padding-top: 1em;
|
129
|
+
|
130
|
+
a {
|
131
|
+
color: inherit;
|
132
|
+
text-decoration: none;
|
133
|
+
border: 0;
|
134
|
+
|
135
|
+
&.selected {
|
136
|
+
font-weight: bold;
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}
|
140
|
+
}
|
141
|
+
}
|
data/_sass/main.scss
CHANGED
@@ -7,6 +7,10 @@ body > main a {
|
|
7
7
|
color: $linkColor;
|
8
8
|
border-bottom: 1px solid $linkColor;
|
9
9
|
|
10
|
+
&:hover {
|
11
|
+
text-decoration: none;
|
12
|
+
}
|
13
|
+
|
10
14
|
&[rel=external] {
|
11
15
|
border-bottom-style: dotted;
|
12
16
|
&:link, &:hover, &:focus, &:active {
|
@@ -23,8 +27,6 @@ body > main a {
|
|
23
27
|
// Main layout
|
24
28
|
// ===========
|
25
29
|
|
26
|
-
$stripeWidth: 30px;
|
27
|
-
|
28
30
|
body > main {
|
29
31
|
font-size: 18px;
|
30
32
|
@include asciidoc-markup();
|
data/_sass/offsets.scss
CHANGED
@@ -31,9 +31,7 @@ body.home > main {
|
|
31
31
|
|
32
32
|
body.home > main > .news {
|
33
33
|
.items {
|
34
|
-
|
35
|
-
margin-left: calc(#{$sideOffsetBase} - #{$homeSectionItemSidePadding});
|
36
|
-
}
|
34
|
+
margin-left: calc(#{$sideOffsetBase} - #{$homeSectionItemSidePadding});
|
37
35
|
}
|
38
36
|
}
|
39
37
|
|
@@ -49,6 +47,13 @@ body.home > main > .news {
|
|
49
47
|
}
|
50
48
|
}
|
51
49
|
|
52
|
-
body.post, body.page, body.post-index {
|
50
|
+
body.post, body.page, body.post-index, body.resource-index {
|
53
51
|
@extend .pad-all-main-contents;
|
54
52
|
}
|
53
|
+
|
54
|
+
body.resource {
|
55
|
+
> main > * {
|
56
|
+
padding-left: $stripeWidth * 2;
|
57
|
+
padding-right: 0;
|
58
|
+
}
|
59
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
(function () {
|
2
|
+
var viewer = document.querySelector('.two-pane-viewer');
|
3
|
+
|
4
|
+
if (viewer) {
|
5
|
+
var browser = viewer.querySelector('.browser.bp3-tree');
|
6
|
+
var iframe = viewer.querySelector('.viewer iframe');
|
7
|
+
if (browser && iframe) {
|
8
|
+
|
9
|
+
function selectItem (item) {
|
10
|
+
for (var el of browser.querySelectorAll('a')) {
|
11
|
+
el.classList.remove('selected');
|
12
|
+
}
|
13
|
+
item.classList.add('selected');
|
14
|
+
}
|
15
|
+
|
16
|
+
for (var el of browser.querySelectorAll('.bp3-tree-node-label a')) {
|
17
|
+
el.addEventListener('click', function (evt) {
|
18
|
+
selectItem(evt.target);
|
19
|
+
evt.preventDefault();
|
20
|
+
iframe.setAttribute('src', evt.target.getAttribute('href'));
|
21
|
+
return false;
|
22
|
+
});
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}());
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-theme-isotc211
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: jekyll-theme-isotc211-helpers
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.4.9
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.4.9
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: bundler
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -135,6 +149,7 @@ files:
|
|
135
149
|
- _includes/copyright.html
|
136
150
|
- _includes/head.html
|
137
151
|
- _includes/newsroll-entry.html
|
152
|
+
- _includes/resource-tree-item.html
|
138
153
|
- _includes/script.html
|
139
154
|
- _layouts/base-page.html
|
140
155
|
- _layouts/default.html
|
@@ -142,6 +157,8 @@ files:
|
|
142
157
|
- _layouts/page.html
|
143
158
|
- _layouts/post.html
|
144
159
|
- _layouts/posts.html
|
160
|
+
- _layouts/resource-index.html
|
161
|
+
- _layouts/resource-page.html
|
145
162
|
- _pages/404.adoc
|
146
163
|
- _sass/adoc-markup.scss
|
147
164
|
- _sass/expandable-nav.scss
|
@@ -158,6 +175,8 @@ files:
|
|
158
175
|
- assets/logo-iso.svg
|
159
176
|
- assets/logo-ribose.svg
|
160
177
|
- assets/nav.js
|
178
|
+
- assets/resource-browser.js
|
179
|
+
- assets/resource-viewer-placeholder.html
|
161
180
|
homepage: https://github.com/iso-tc211/jekyll-theme-isotc211/
|
162
181
|
licenses:
|
163
182
|
- MIT
|
@@ -178,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
178
197
|
version: '0'
|
179
198
|
requirements: []
|
180
199
|
rubyforge_project:
|
181
|
-
rubygems_version: 2.
|
200
|
+
rubygems_version: 2.7.6.2
|
182
201
|
signing_key:
|
183
202
|
specification_version: 4
|
184
203
|
summary: ISO/TC 211 Jekyll theme
|