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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2cdac92bdbcc467dfee554b35c120895ddd942e1
4
- data.tar.gz: cc35123c14ee6ccec1c042365ea826e9da4bc1da
2
+ SHA256:
3
+ metadata.gz: 8d2f943137f52e7d8a4b3a44648c738ae2ca7f602793a8704ab8c455b899bedb
4
+ data.tar.gz: 8d42c82de52ebe3525b6f26552c870b2646ba3797f0d7df4cece5f5da56ecfa8
5
5
  SHA512:
6
- metadata.gz: b23d82e1cf35ae43fc664688164dd0089dabb6f737a69b2229fbc9d059fa4e256e172de33e91595f144fea8013fbc84ea49cc83e4cdfdf751055d97330cb5242
7
- data.tar.gz: 3b3d487f8c5cb55717e728ac1f764a678c9b6274d5f2e16afe05d5a238586bd0607e8ebc31a7724aa848092fb091fd2302d5c68f578d9571e525d34bc5bc5dd2
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
- Recommended plugins to add to your Gemfile:
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>
@@ -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">{{ parent_title }}</p>
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,14 @@
1
+ ---
2
+ layout: base-page
3
+ bodyClass: resource-index
4
+ ---
5
+
6
+ {{ content }}
7
+
8
+ <ul>
9
+ {% for resource in page.resources %}
10
+ <li>
11
+ <a href="./{{ resource[0] }}">{{ resource[0] }}</a>
12
+ </li>
13
+ {% endfor %}
14
+ </ul>
@@ -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 nowrap;
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
- .news-item-card:first-child {
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
+ }());
@@ -0,0 +1,11 @@
1
+ <style>
2
+ p {
3
+ font-family: sans-serif;
4
+ }
5
+ </style>
6
+
7
+ <p>
8
+ Select a document on the left to view or download.
9
+
10
+ <p>
11
+ Note: Certain files may be better formatted when viewed in a separate window.
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.8
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-06-06 00:00:00.000000000 Z
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.5.2.3
200
+ rubygems_version: 2.7.6.2
182
201
  signing_key:
183
202
  specification_version: 4
184
203
  summary: ISO/TC 211 Jekyll theme