jekyll-theme-open-project 1.1.8 → 1.1.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
2
  SHA256:
3
- metadata.gz: 02cc4a622a4fd914fc625497feb31d707e1c9e7e819586fa134012422603ecbf
4
- data.tar.gz: 5fac284ece99acc5ac8dfac306f99d6e8bee29dfc7767fafa879458d2cefa42e
3
+ metadata.gz: f0fdc3023d13e8f93e181981fd0e7b5f0e11dc4746f181c47442171947e5b4cf
4
+ data.tar.gz: ce7416d835cd6fa5ebfb56b9380373c72a0f63e9ed813cf696fcdd7546b61b50
5
5
  SHA512:
6
- metadata.gz: ae41e0f993e045441bb2d4f108507b828b40430a87f0c92ff909a2b4419d78efd3cef5940e27b38ae87cd1e29dff486ceac54eca7e77e8f5283b64bfd6757d67
7
- data.tar.gz: 374372877312deae3331a8e57a0f11e09ee3beb5118795205a4b6fc81d5b9961df82ce955ec060ac6a56d9b03c114abb3e8ab1c3b74ea59cfeb53e47e84f3d47
6
+ metadata.gz: a8d438c3e1123bbaaa731e786ed232d00bda45c7c3521859774903f1ae745eca7638cc51ce5470331fdbc2dee695c25c48e9f39dbec9318b1e10239725bd31a5
7
+ data.tar.gz: bc156aaff14c55be6d332e5263192134faf60540bbbe64de0a731970c780de46dd9e4902eb4ff19325d2ba8243df7332bd347d2bdcf21477262a247f2835f003
data/README.md CHANGED
@@ -401,13 +401,19 @@ YAML frontmatter required for software:
401
401
 
402
402
  ```yaml
403
403
  repo_url: https://github.com/riboseinc/asciidoctor-rfc
404
+ # Required.
405
+
404
406
  docs:
405
407
  git_repo_url: git@example.com:path/to-repo.git
406
408
  git_repo_subtree: docs
409
+ # Docs that would be made part of open project site.
410
+ # See the nearby section about documentation.
411
+
412
+ docs_url: https://docs.rs/proj/ver/…/
413
+ # External docs. For some links
414
+ # like docs.rs and rubydoc, special icon and/or label will be shown.
407
415
  ```
408
416
 
409
- About the `docs` key in this frontmatter, see nearby section
410
- about documentation.
411
417
 
412
418
  ### Specification
413
419
 
@@ -424,6 +430,7 @@ ietf_datatracker_ver: "01"
424
430
  # https://datatracker.ietf.org/doc/<id>[-<version>]
425
431
 
426
432
  source_url: https://example.com/spec-source-markup
433
+ # Required.
427
434
  ```
428
435
 
429
436
  ### Documentation for specs and software
@@ -462,9 +469,15 @@ Place the symbol in assets/symbol.svg within project directory.
462
469
 
463
470
  - Ensure SVG markup does not use IDs. It may appear multiple times
464
471
  on the page hence IDs would fail markup validation.
465
- - Ensure root <svg> element specifies its viewBox,
466
- but no width or height attributes.
467
- - You can style SVG shapes using in site’s assets/css/style.scss.
472
+ - Ensure root `<svg>` element specifies the `viewBox` attribute,
473
+ and no `width` or `height` attributes.
474
+ - You can style SVG shapes by adding custom rules to site’s assets/css/style.scss.
475
+ - Project symbols only: the same SVG is used both in hub site’s project list
476
+ (where it appears on white, and is expected to be colored)
477
+ and in project site’s top header
478
+ (where it appears on colored background, and is expected to be white).
479
+ It is recommended to use a normal color SVG, and style it in project site’s
480
+ custom CSS. The SVG must be created in a way that allows this to happen.
468
481
 
469
482
 
470
483
  ## Content guidelines
data/_config.yml CHANGED
@@ -8,6 +8,7 @@ exclude:
8
8
  - /**/.git/*
9
9
  - /**/_*_repo/*
10
10
  - /_projects/*/assets/css/*
11
+ - /_projects/**/docs/*
11
12
 
12
13
  collections:
13
14
  projects:
@@ -1,8 +1,8 @@
1
- <div role="presentation" class="text">
1
+ <div class="text">
2
2
  <h1 class="title">{{ site.tagline }}</h1>
3
3
  <p class="desc">{{ site.pitch | safe }}</p>
4
4
 
5
- <div class="cta" role="presentation">
5
+ <div class="cta">
6
6
  {% if site.is_hub %}
7
7
  <a class="button" href="{{ "/projects/" | relative_url }}">
8
8
  <i class="icon far fa-search"></i>
@@ -20,7 +20,7 @@
20
20
  </div>
21
21
 
22
22
  {% if site.parent_hub %}
23
- <div class="parent-hub-plug" role="presentation">
23
+ <div class="parent-hub-plug">
24
24
  <span class="label">{{ site.title }} is</span>
25
25
  <a class="logo" role="presentation" href="{{ site.parent_hub.home_url }}">
26
26
  {% include parent-hub/assets/symbol.svg %}&nbsp;<span class="title">{% include parent-hub/title.html %}</span>
@@ -2,7 +2,7 @@
2
2
  {% assign posts = site.posts_combined %}
3
3
  {% assign num_posts = site.num_posts_combined %}
4
4
 
5
- <div class="underlay top-background" role="presentation">
5
+ <div class="underlay top-background">
6
6
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none">
7
7
  <polygon fill="white" points="0,0 100,0 100,60 0,100"/>
8
8
  </svg>
@@ -13,12 +13,12 @@
13
13
  <section class="featured-projects">
14
14
  <h2 class="title">Featured Projects</h2>
15
15
 
16
- <div class="items" role="presentation">
16
+ <div class="items">
17
17
 
18
18
  {% for item in featured_projects limit:3 %}
19
19
  <a class="item" href="{{ item.home_url }}" role="article">
20
20
  <header>
21
- <div class="logo-container" role="presentation">
21
+ <div class="logo-container">
22
22
  {% assign symbol_path = item.path | split: "/" | slice: 1, 1 | join: "/" | append: "/assets/symbol.svg" %}
23
23
  {% assign relative_symbol_path = "/projects/" | append: symbol_path %}
24
24
  <div class="logo"><img src="{{ relative_symbol_path }}"></div>
@@ -41,10 +41,10 @@
41
41
 
42
42
  {% if num_posts > 0 %}
43
43
  <section class="featured-posts">
44
- <div role="presentation" class="puny-label">Latest news</div>
44
+ <div class="puny-label">Latest news</div>
45
45
  <h2 class="title">From the Blog</h2>
46
46
 
47
- <div class="items" role="presentation">
47
+ <div class="items">
48
48
  {% for item in posts limit:3 %}
49
49
  {% include post-card.html post=item %}
50
50
  {% endfor %}
@@ -61,12 +61,11 @@
61
61
 
62
62
  <h2 class="title">Other Projects</h2>
63
63
 
64
- <div class="items {% if num_other_projects < 5 %}one-row{% endif %}"
65
- role="presentation">
64
+ <div class="items {% if num_other_projects < 5 %}one-row{% endif %}">
66
65
  {% for item in other_projects %}
67
66
  <a class="item" href="{{ item.home_url }}" role="article">
68
67
  <header>
69
- <div class="logo-container" role="presentation">
68
+ <div class="logo-container">
70
69
  {% assign symbol_path = item.path | split: "/" | slice: 1, 1 | join: "/" | append: "/assets/symbol.svg" %}
71
70
  {% assign relative_symbol_path = "/projects/" | append: symbol_path %}
72
71
  <div class="logo"><img src="{{ relative_symbol_path }}"></div>
@@ -19,7 +19,7 @@
19
19
 
20
20
  {% assign num_top_items = num_software + num_posts %}
21
21
 
22
- <div class="underlay top-background" role="presentation">
22
+ <div class="underlay top-background">
23
23
  {% if num_top_items > 1 %}
24
24
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none">
25
25
  <polygon fill="white" points="0,0 100,0 100,60 0,100"/>
@@ -33,7 +33,7 @@
33
33
  <div class="items">
34
34
  {% for item in software | limit: site.num_featured_software %}
35
35
  <a class="item" href="{{ item.url }}" role="article">
36
- <div class="logo-container" role="presentation">
36
+ <div class="logo-container">
37
37
  {% include software-symbol.html item_id=item.id %}
38
38
  </div>
39
39
 
@@ -64,7 +64,7 @@
64
64
  <section class="featured-posts">
65
65
  <h2 class="title">From the Blog</h2>
66
66
 
67
- <div class="items" role="presentation">
67
+ <div class="items">
68
68
  {% for item in posts | limit: site.num_featured_posts %}
69
69
  {% include post-card.html post=item %}
70
70
  {% endfor %}
@@ -1,4 +1,4 @@
1
- <div role="presentation" class="text">
1
+ <div class="text">
2
2
  <h1 class="title">{{ page.title }}</h1>
3
3
  <p class="desc">{{ page.description }}</p>
4
4
  </div>
@@ -19,7 +19,7 @@
19
19
  {% if is_docs_landing == false %}
20
20
  <header class="sidebar-header">
21
21
  {% if include.item_type == 'software' %}
22
- <div class="logo-container" role="presentation">
22
+ <div class="logo-container">
23
23
  {% include software-symbol.html item_id=page.id %}
24
24
  </div>
25
25
  <h3 class="title">
@@ -75,9 +75,9 @@
75
75
 
76
76
  <article>
77
77
  <header>
78
- <div class="title" role="presentation">
78
+ <div class="title">
79
79
  {% if include.item_type == 'software' and page.url == product_base_url %}
80
- <div class="logo-container" role="presentation">
80
+ <div class="logo-container">
81
81
  {% include software-symbol.html item_id=page.id %}
82
82
  </div>
83
83
  {% endif %}
@@ -85,7 +85,7 @@
85
85
  <h1 class="text">{{ page.title }}</h1>
86
86
  </div>
87
87
 
88
- <div role="presentation">
88
+ <div>
89
89
  <h3 class="lead">{{ page.description }}</h3>
90
90
  </div>
91
91
 
@@ -96,7 +96,7 @@
96
96
  {% endif %}
97
97
  </header>
98
98
 
99
- <div class="body" role="presentation">
99
+ <div class="body">
100
100
  {{ content }}
101
101
  </div>
102
102
 
@@ -30,7 +30,14 @@
30
30
  <i class="far fa-gem"></i>
31
31
  </span>
32
32
  <span class="lbl">
33
- RubyDocs
33
+ API reference at RubyDocs
34
+ </span>
35
+ {% else if item_data.docs_url contains "docs.rs" %}
36
+ <span class="ico">
37
+ <i class="far fa-book"></i>
38
+ </span>
39
+ <span class="lbl">
40
+ API reference at Docs.rs
34
41
  </span>
35
42
  {% else %}
36
43
  <span class="ico">
@@ -2,13 +2,13 @@
2
2
  {% assign contact_link = "mailto:" | append: site.contact_email %}
3
3
 
4
4
  {% if site.is_hub %}
5
- {% include nav-page-link.html url="/projects/" title="Open Projects" %}
5
+ {% include nav-page-link.html url="/projects/" title="Projects" %}
6
6
 
7
7
  {% if site.num_all_software > 0 %}
8
- {% include nav-page-link.html url="/software/" title="All software" active_for_nested=true %}
8
+ {% include nav-page-link.html url="/software/" title="All Software" active_for_nested=true %}
9
9
  {% endif %}
10
10
  {% if site.num_all_specs > 0 %}
11
- {% include nav-page-link.html url="/specs/" title="All specifications" active_for_nested=true %}
11
+ {% include nav-page-link.html url="/specs/" title="All Specifications" active_for_nested=true %}
12
12
  {% endif %}
13
13
  {% if site.num_posts_combined > 0 %}
14
14
  {% include nav-page-link.html url="/blog/" title="Blog" active_for_nested=true %}
@@ -8,7 +8,7 @@
8
8
  " role="article">
9
9
 
10
10
  {% if include.post.parent_project == nil and site.is_hub == true %}
11
- <div class="hub-symbol" role="presentation">
11
+ <div class="hub-symbol">
12
12
  {% include assets/symbol.svg %}
13
13
  </div>
14
14
  {% endif %}
@@ -18,11 +18,11 @@
18
18
  {% assign project_symbol_path = include.post.parent_project.name | append: "/assets/symbol.svg" %}
19
19
  {% assign relative_symbol_path = "/projects/" | append: project_symbol_path %}
20
20
  <div class="parent-project">
21
- <div class="project-logo" role="presentation">
21
+ <div class="project-logo">
22
22
  <img src="{{ relative_symbol_path }}">
23
23
  </div>
24
24
  <h4 class="project-title">{{ include.post.parent_project.title }}</h4>
25
- <div class="external-link-icon" role="presentation">
25
+ <div class="external-link-icon">
26
26
  <img src="{{ "assets/img/external-link.svg" | relative_url }}">
27
27
  </div>
28
28
  </div>
@@ -11,7 +11,7 @@
11
11
 
12
12
  <a class="item" href="{{ product_home_url }}" role="article">
13
13
  {% if include.item_type == 'software' and site.is_hub != true %}
14
- <div role="presentation" class="logo-container">
14
+ <div class="logo-container">
15
15
  {% include software-symbol.html item_id=include.item.id %}
16
16
  </div>
17
17
  {% endif %}
@@ -20,8 +20,8 @@
20
20
  {% if include.project_data != nil and include.project_name != nil %}
21
21
  {% assign project_symbol_path = include.project_name | append: "/assets/symbol.svg" %}
22
22
  {% assign relative_symbol_path = "/projects/" | append: project_symbol_path %}
23
- <div class="parent-project" role="presentation">
24
- <div class="project-logo" role="presentation"><img src="{{ relative_symbol_path }}"></div>
23
+ <div class="parent-project">
24
+ <div class="project-logo"><img src="{{ relative_symbol_path }}"></div>
25
25
  <h4 class="project-title">{{ include.project_data.title }}</h4>
26
26
  </div>
27
27
  {% endif %}
@@ -15,7 +15,7 @@
15
15
  <body class="
16
16
  {% if num_projects > 0 %}site--hub{% else %}site--project{% endif %}
17
17
  {% if page.layout %}layout--{{ page.layout }}{% endif %}">
18
- <div class="underlay header" role="presentation">
18
+ <div class="underlay header">
19
19
  <header>
20
20
  <h1 class="site-logo"><a href="/">{% include logo.html %}</a></h1>
21
21
  <nav class="top-menu">
@@ -42,7 +42,7 @@
42
42
  </header>
43
43
 
44
44
  {% if page.hero_include %}
45
- <div class="hero" role="presentation">{% include {{ page.hero_include }} %}</div>
45
+ <div class="hero">{% include {{ page.hero_include }} %}</div>
46
46
  {% endif %}
47
47
  </div>
48
48
 
@@ -50,12 +50,12 @@
50
50
  {{ content }}
51
51
  </main>
52
52
 
53
- <div class="underlay footer" role="presentation">
53
+ <div class="underlay footer">
54
54
  <footer>
55
55
  {% if site.is_hub %}
56
56
  <div class="site-logo">{% include logo.html %}</div>
57
57
  {% else %}
58
- <div class="parent-hub-plug" role="presentation">
58
+ <div class="parent-hub-plug">
59
59
  <span class="label">{{ site.title }} is</span>
60
60
  <a class="logo" role="presentation" href="{{ site.parent_hub.home_url }}">
61
61
  {% include parent-hub/assets/symbol.svg %}&nbsp;<span class="title">{% include parent-hub/title.html %}</span>
@@ -69,21 +69,7 @@
69
69
  </footer>
70
70
  </div>
71
71
 
72
- <script>
73
- (function () {
74
- var hamBtn = document.getElementById('hamburgerButton');
75
- var hamMnu = document.getElementById('hamburgerMenu');
76
- var hasOpened = false;
77
-
78
- hamBtn.addEventListener('click', function (evt) {
79
- hasOpened = hamMnu.classList.toggle('expanded');
80
- if (hasOpened) {
81
- hamBtn.setAttribute('aria-expanded', true);
82
- hamMnu.setAttribute('aria-hidden', false);
83
- }
84
- });
85
- }());
86
- </script>
72
+ <script src="{{ "assets/js/menu.js" | relative_url }}"></script>
87
73
 
88
74
  {% include scripts.html %}
89
75
  </body>
data/_layouts/post.html CHANGED
@@ -64,7 +64,7 @@ layout: default
64
64
  </aside>
65
65
  {% endif %}
66
66
 
67
- <div class="body" role="presentation">
67
+ <div class="body">
68
68
  {{ content }}
69
69
  </div>
70
70
  </article>
@@ -14,7 +14,7 @@ layout: default
14
14
  role="article">
15
15
 
16
16
  <header>
17
- <div class="logo-container" role="presentation">
17
+ <div class="logo-container">
18
18
  {% assign symbol_path = project.path | split: "/" | slice: 1, 1 | join: "/" | append: "/assets/symbol.svg" %}
19
19
  {% assign relative_symbol_path = "/projects/" | append: symbol_path %}
20
20
  <div class="logo"><img src="{{ relative_symbol_path }}"></div>
@@ -152,7 +152,7 @@ body > .underlay > footer {
152
152
  > .text {
153
153
  padding-bottom: 85px;
154
154
  @media screen and (min-width: $bigscreen-breakpoint) {
155
- padding-bottom: 120px;
155
+ padding-bottom: 100px;
156
156
  }
157
157
  }
158
158
  }
@@ -188,13 +188,51 @@
188
188
  font-size: 20px;
189
189
  }
190
190
  }
191
+
191
192
  > .body {
192
193
  pre {
193
194
  overflow-x: scroll;
194
195
  overflow-y: hidden;
195
196
  line-height: 1;
196
- font-size: 80%;
197
197
  white-space: pre-wrap;
198
+ > code {
199
+ font-size: 80%;
200
+ }
201
+ }
202
+ .sectionbody {
203
+
204
+ // Used for e.g. code listing headings and tip block labels
205
+ .title {
206
+ text-transform: uppercase;
207
+ font-size: 12px;
208
+ }
209
+
210
+ // Used for tip block labels
211
+ .admonitionblock {
212
+ .icon {
213
+ border-left: 1px dotted grey;
214
+ > .title {
215
+ transform: rotate(-90deg);
216
+ }
217
+ }
218
+ .content {
219
+ > div:first-child {
220
+ > :first-child {
221
+ margin-top: 0;
222
+ }
223
+ }
224
+ > div:last-child {
225
+ > :last-child {
226
+ margin-bottom: 0;
227
+ }
228
+ &.ulist {
229
+ li:last-child > :last-child {
230
+ margin-bottom: 0;
231
+ }
232
+ }
233
+ }
234
+ }
235
+ }
198
236
  }
199
237
  }
200
238
  }
@@ -222,12 +260,15 @@
222
260
  }
223
261
 
224
262
  @media screen and (min-width: $bigscreen-breakpoint) {
225
- flex-flow: row wrap;
263
+ flex-flow: row nowrap;
226
264
 
227
265
  > .nav-sidebar {
228
266
  flex: 1;
229
267
  flex-grow: 1;
230
268
  padding-top: 70px;
269
+ > section > .section-items {
270
+ padding-right: 40px;
271
+ }
231
272
  }
232
273
 
233
274
  > article {
data/assets/js/menu.js ADDED
@@ -0,0 +1,15 @@
1
+ (function () {
2
+ 'use strict';
3
+
4
+ var hamBtn = document.getElementById('hamburgerButton');
5
+ var hamMnu = document.getElementById('hamburgerMenu');
6
+ var hasOpened = false;
7
+
8
+ hamBtn.addEventListener('click', function (evt) {
9
+ hasOpened = hamMnu.classList.toggle('expanded');
10
+ if (hasOpened) {
11
+ hamBtn.setAttribute('aria-expanded', true);
12
+ hamMnu.setAttribute('aria-hidden', false);
13
+ }
14
+ });
15
+ }());
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-open-project
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.1.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: 2018-09-20 00:00:00.000000000 Z
11
+ date: 2018-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -203,6 +203,7 @@ files:
203
203
  - assets/fa/fa-solid.js
204
204
  - assets/fa/fontawesome.js
205
205
  - assets/img/external-link.svg
206
+ - assets/js/menu.js
206
207
  homepage: https://github.com/riboseinc/jekyll-theme-open-project/
207
208
  licenses:
208
209
  - MIT