jekyll-theme-open-project 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ <h1>{{ site.title }}</h1>
2
+ <p class="desc">{{ site.description }}</p>
@@ -0,0 +1,61 @@
1
+ {% assign featured_projects = site.projects | where: "featured", true %}
2
+ {% assign num_featured_projects = featured_projects | size %}
3
+ {% if num_featured_projects > 0 %}
4
+ <section class="featured-projects">
5
+ <h2 class="title">Featured Projects</h2>
6
+
7
+ <div class="items" role="presentation">
8
+
9
+ {% for item in featured_projects limit:3 %}
10
+ {% assign symbol_path = item.path | split: "/" | slice: 0, 2 | join: "/" | append: "/_includes/symbol.svg" %}
11
+ {% assign relative_symbol_path = "/" | append: symbol_path %}
12
+
13
+ <a class="item" href="{{ item.home_url }}" role="article">
14
+ <div class="logo-container" role="presentation">
15
+ <div class="logo">{% include_relative {{ relative_symbol_path }} %}</div>
16
+ </div>
17
+ <h3 class="header">{{ item.title }}</h3>
18
+ <p class="body">
19
+ {{ item.description }}
20
+ </p>
21
+ </a>
22
+ {% endfor %}
23
+ </div>
24
+ </section>
25
+ {% endif %}
26
+
27
+ {% assign num_featured_posts = site.posts | size %}
28
+ {% if num_featured_posts > 0 %}
29
+ <section class="featured-posts">
30
+ <div role="presentation" class="puny-label">Latest news</div>
31
+ <h2 class="title">From the Blog</h2>
32
+
33
+ <div class="items" role="presentation">
34
+ {% for item in site.posts limit:3 %}
35
+ <a class="item" href="{{ item.url }}" role="article">
36
+ {% include post-card.html %}
37
+ </a>
38
+ {% endfor %}
39
+ </div>
40
+ </section>
41
+ {% endif %}
42
+
43
+ {% assign other_projects = site.projects | where: "featured", false %}
44
+ {% assign num_other_projects = other_projects | size %}
45
+ {% if num_other_projects > 0 %}
46
+ <section class="other-projects">
47
+ <h2 class="title">Other Projects</h2>
48
+
49
+ <div class="items {% if num_other_projects < 5 %}one-row{% endif %}"
50
+ role="presentation">
51
+ {% for item in other_projects %}
52
+ <a class="item" href="{{ item.home_url }}" role="article">
53
+ <h3 class="header">{{ item.title }}</h3>
54
+ <p class="body">
55
+ {{ item.description }}
56
+ </p>
57
+ </a>
58
+ {% endfor %}
59
+ </div>
60
+ </section>
61
+ {% endif %}
@@ -0,0 +1,56 @@
1
+ {% assign num_software = site.software | size %}
2
+ {% assign num_specs = site.specs | size %}
3
+ {% assign num_posts = site.posts | size %}
4
+
5
+ {% if num_software > 0 %}
6
+ <section class="software">
7
+ <h2 class="title">Software</h2>
8
+
9
+ <div class="items">
10
+ {% for item in site.software %}
11
+ <a class="item" href="{{ item.url }}" role="article">
12
+ {% if item.logo_svg %}
13
+ <div class="logo-container" role="presentation">
14
+ <div class="logo">{{ item.logo_svg }}</div>
15
+ </div>
16
+ {% endif %}
17
+ <h3 class="header">{{ item.title }}</h3>
18
+ <p class="body">
19
+ {{ item.description }}
20
+ </p>
21
+ </a>
22
+ {% endfor %}
23
+ </div>
24
+ </section>
25
+ {% endif %}
26
+
27
+ {% if num_specs > 0 %}
28
+ <section class="specs">
29
+ <h2 class="title">Specifications</h2>
30
+
31
+ <div class="items">
32
+ {% for item in site.specs %}
33
+ <a class="item" href="{{ item.url }}" role="article">
34
+ <h3 class="header">{{ item.title }}</h3>
35
+ <p class="body">
36
+ {{ item.description }}
37
+ </p>
38
+ </a>
39
+ {% endfor %}
40
+ </div>
41
+ </section>
42
+ {% endif %}
43
+
44
+ {% if num_posts > 0 %}
45
+ <section class="featured-posts">
46
+ <h2 class="title">From the Blog</h2>
47
+
48
+ <div class="items" role="presentation">
49
+ {% for item in site.posts %}
50
+ <a class="item" href="{{ item.url }}" role="article">
51
+ {% include post-card.html %}
52
+ </a>
53
+ {% endfor %}
54
+ </div>
55
+ </section>
56
+ {% endif %}
@@ -0,0 +1,2 @@
1
+ <h1>{{ page.title }}</h1>
2
+ <p class="desc">{{ page.description }}</p>
@@ -0,0 +1,5 @@
1
+ <span class="copyright">Copyright © 2018 Ribose. All rights reserved.</span>
2
+ <nav>
3
+ <a href="https://www.ribose.com/tos">Terms</a>
4
+ <a href="https://www.ribose.com/privacy">Privacy</a>
5
+ </nav>
@@ -0,0 +1 @@
1
+ {% include symbol.svg %}&nbsp;<span class="title">{% include title.html %}</span>
@@ -0,0 +1,5 @@
1
+ {% if page.url == include.url %}
2
+ <span>{{ include.title }}</span>
3
+ {% else %}
4
+ <a href="{{ include.url }}">{{ include.title }}</a>
5
+ {% endif %}
@@ -0,0 +1,7 @@
1
+ <h3 class="header">{{ item.title }}</h3>
2
+ <p class="body">
3
+ {{ item.excerpt | remove: '<p>' | remove: '</p>' }}
4
+ </p>
5
+ <div class="meta">
6
+ {{ item.date | date_to_string }}
7
+ </div>
@@ -0,0 +1,13 @@
1
+ {% if site.social.links %}
2
+ <aside class="social-links">
3
+ {% for link in site.social.links %}
4
+ <a href="{{ link }}">
5
+ {% if link contains "twitter.com" %}
6
+ <i class="fab fa-twitter"></i>
7
+ {% elsif link contains "github.com" %}
8
+ <i class="fab fa-github"></i>
9
+ {% endif %}
10
+ </a>
11
+ {% endfor %}
12
+ </aside>
13
+ {% endif %}
@@ -0,0 +1,19 @@
1
+ <svg viewBox="0 0 85 71" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <g class="Canvas" fill="none">
3
+ <g class="fake logo">
4
+ <g class="Shape">
5
+ <path d="M 5.18494 26L 12 20.4972L 18.8151 26L 24 20.7672L 13.2167 0.676004C 12.733 -0.225335 11.267 -0.225335 10.7833 0.676004L 0 20.7672L 5.18494 26Z" transform="translate(30 0)" fill="#111111"/>
6
+ </g>
7
+ <g class="Shape_2">
8
+ <path d="M 75.83 45.8686L 51.6053 0L 45.1415 6.62958L 38 0.770372L 30.8585 6.62958L 24.3947 0L 0.16995 45.8686C -0.0664507 46.3169 -0.0554589 46.8582 0.198126 47.2952C 0.452387 47.7322 0.911439 48 1.4076 48L 74.5924 48C 75.0886 48 75.5476 47.7322 75.8019 47.2952C 76.0555 46.8582 76.0665 46.3169 75.83 45.8686Z" transform="translate(4 23)" fill="#111111"/>
9
+ </g>
10
+ <g class="Shape_3">
11
+ <path d="M 30 12.3799L 22.2626 0.635075C 21.9928 0.226511 21.5122 -0.0257198 21.0508 0.0020861C 20.5653 0.0166721 20.1225 0.283489 19.878 0.707351L 0.191654 34.8599C -0.0623847 35.3004 -0.0637627 35.8438 0.186845 36.2857C 0.437453 36.7276 0.90298 37 1.40626 37L 16.822 37L 30 12.3799Z" transform="translate(0 3)" fill="#905DEE"/>
12
+ </g>
13
+ <g class="Shape_4">
14
+ <path d="M 29.8083 34.8598L 10.1218 0.705378C 9.87741 0.281508 9.43454 0.0146767 8.94912 7.57049e-05C 8.48703 -0.0047913 8.0064 0.22521 7.73724 0.633099L 0 12.3789L 13.1779 37L 28.5937 37C 29.097 37 29.5625 36.7276 29.8131 36.2857C 30.0638 35.8437 30.0624 35.3003 29.8083 34.8598Z" transform="translate(55 3)" fill="#905DEE"/>
15
+ </g>
16
+ </g>
17
+ </g>
18
+ </svg>
19
+
@@ -0,0 +1 @@
1
+ {{ site.title }}
@@ -0,0 +1,9 @@
1
+ ---
2
+ layout: index-page
3
+ ---
4
+
5
+ {% for item in site.posts %}
6
+ <a class="item" href="{{ item.url }}" role="article">
7
+ {% include post-card.html %}
8
+ </a>
9
+ {% endfor %}
@@ -0,0 +1,59 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+
7
+ <link rel="stylesheet" href="{{ "assets/css/style.css" | relative_url }}">
8
+
9
+ <script defer src="{{ "assets/fa/fa-brands.js" | relative_url }}"></script>
10
+ <script defer src="{{ "assets/fa/fa-solid.js" | relative_url }}"></script>
11
+ <script src="{{ "assets/fa/fontawesome.js" | relative_url }}"></script>
12
+
13
+ {% seo %}
14
+ </head>
15
+
16
+ {% assign num_projects = site.projects | size %}
17
+ <body class="
18
+ {% if num_projects > 0 %}hub{% else %}project{% endif %}
19
+ {% if page.layout %}layout-{{ page.layout }}{% endif %}">
20
+ <div class="underlay header" role="presentation">
21
+ <header>
22
+ <h1 class="site-logo"><a href="/">{% include logo.html %}</a></h1>
23
+ <nav>
24
+ {% include nav-page-link.html url="/" title="Home" %}
25
+ {% for p in site.pages %}
26
+ {% comment %}
27
+ For project sites, exclude all links except for the blog.
28
+ {% endcomment %}
29
+ {% if num_projects > 0 or p.url contains "blog" %}
30
+ {% include nav-page-link.html url=p.url title=p.title %}
31
+ {% endif %}
32
+ {% endfor %}
33
+ </nav>
34
+ {% include social-links.html %}
35
+ </header>
36
+
37
+ {% if page.hero_include %}
38
+ <div class="hero" role="presentation">{% include {{ page.hero_include }} %}</div>
39
+ {% endif %}
40
+
41
+ {% comment %}
42
+ {% if page.layout == "home" %}
43
+ <div class="hero superhero" role="presentation">{% include home-hero.html %}</div>
44
+ {% endif %}
45
+ {% endcomment %}
46
+ </div>
47
+
48
+ <main>
49
+ {{ content }}
50
+ </main>
51
+
52
+ <div class="underlay footer" role="presentation">
53
+ <footer>
54
+ <div class="site-logo">{% include logo.html %}</div>
55
+ <div class="legal">{% include legal.html %}</div>
56
+ {% include social-links.html %}
57
+ </footer>
58
+ </div>
59
+ </body>
@@ -0,0 +1,9 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ {% assign num_projects = site.projects | size %}
5
+ {% if num_projects > 0 %}
6
+ {% include home-hub.html %}
7
+ {% else %}
8
+ {% include home-project.html %}
9
+ {% endif %}
@@ -0,0 +1,7 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <section class="items">
6
+ {{ content }}
7
+ </section>
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article>
6
+ <header>
7
+ <h1 class="title">{{ page.title }}</h1>
8
+
9
+ <div class="meta">
10
+ <span>{{ page.author }}</span>
11
+ on {{ page.date | date_to_string }}
12
+ </div>
13
+ </header>
14
+
15
+ <div class="body" role="presentation">
16
+ {{ content }}
17
+ </div>
18
+ </article>
@@ -0,0 +1,30 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article>
6
+
7
+ <header>
8
+ <h1 class="title">{{ page.title }}</h1>
9
+
10
+ <p class="desc">{{ page.description }}</p>
11
+
12
+ <div class="meta">
13
+ {% if page.repo_url or page.docs_url %}
14
+ <ul>
15
+ {% if page.repo_url %}
16
+ <li>
17
+ <a href="{{ page.repo_url }}">Source code repository</a> {% endif %}
18
+ {% if page.docs_url %}
19
+ <li>
20
+ <a href="{{ page.docs_url }}">Documentation</a> {% endif %}
21
+ </ul>
22
+ {% endif %}
23
+ </div>
24
+ </header>
25
+
26
+ <div class="body" role="presentation">
27
+ {{ content }}
28
+ </div>
29
+
30
+ </article>
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: index-page
3
+ ---
4
+ {% assign software = site.projects | where_exp: "item", "item.url contains '_software'" %}
5
+
6
+ {% for product in software %}
7
+ {% assign project_name = product.url | split: "/" | slice: 2 | first %}
8
+ {% assign project_index_path = "_projects/" | append: project_name | append: "/index.md" %}
9
+ {% assign project = site.projects | where: "path", project_index_path | first %}
10
+ {% assign product_home_url = project.home_url | append: product.slug | append: "/" %}
11
+
12
+ <a class="item" href="{{ product_home_url }}" role="article">
13
+ <h3 class="header">{{ product.title }}</h3>
14
+ <p class="body">
15
+ {{ product.description }}
16
+ </p>
17
+ </a>
18
+ {% endfor %}
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: index-page
3
+ ---
4
+ {% assign specs = site.projects | where_exp: "item", "item.url contains '_specs'" %}
5
+
6
+ {% for spec in specs %}
7
+ {% assign project_name = spec.url | split: "/" | slice: 2 | first %}
8
+ {% assign project_index_path = "_projects/" | append: project_name | append: "/index.md" %}
9
+ {% assign project = site.projects | where: "path", project_index_path | first %}
10
+ {% assign spec_home_url = project.home_url | append: spec.slug | append: "/" %}
11
+
12
+ <a class="item" href="{{ spec_home_url }}" role="article">
13
+ <h3 class="header">{{ spec.title }}</h3>
14
+ <p class="body">
15
+ {{ spec.description }}
16
+ </p>
17
+ </a>
18
+ {% endfor %}
@@ -0,0 +1,29 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article>
6
+ <header>
7
+ <h1 class="title">{{ page.title }}</h1>
8
+
9
+ <div class="meta">
10
+ {% if page.rfc_id or page.ietf_datatracker_id or page.source_url %}
11
+ <ul>
12
+ {% if page.rfc_id %}
13
+ <li>
14
+ <a href="http://ietf.org/html/rfc{{ page.rfc_id }}">IETF RFC {{ page.rfc_id }}</a> {% endif %}
15
+ {% if page.ietf_datatracker_id %}
16
+ <li>
17
+ <a href="https://datatracker.ietf.org/doc/{{ page.ietf_datatracker_id }}{% if page.ietf_datatracker_ver %}-{{ page.ietf_datatracker_ver }}{% endif %}">IETF document</a> {% endif %}
18
+ {% if page.source_url %}
19
+ <li>
20
+ <a href="{{ page.source_url }}">Source markup</a> {% endif %}
21
+ </ul>
22
+ {% endif %}
23
+ </div>
24
+ </header>
25
+
26
+ <div class="body" role="presentation">
27
+ {{ content }}
28
+ </div>
29
+ </article>
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: Blog
3
+ description: >-
4
+ Get the latest announcements and technical how-to’s
5
+ about our software and projects.
6
+ layout: blog-index
7
+ hero_include: index-page-hero.html
8
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: Software
3
+ description: Open-source software developed with Ribose’s cooperation.
4
+ layout: software-index
5
+ hero_include: index-page-hero.html
6
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: Specifications
3
+ description: Because specifications are cool!
4
+ layout: spec-index
5
+ hero_include: index-page-hero.html
6
+ ---
@@ -0,0 +1,249 @@
1
+ $primary-color: lightblue !default;
2
+ $primary-dark-color: navy !default;
3
+ $accent-color: red !default;
4
+
5
+ $header-background: $primary-dark-color !default;
6
+ $hero-background: $primary-dark-color !default;
7
+ $superhero-background: $primary-dark-color !default;
8
+
9
+ $gutter: 30px;
10
+ $featured-cols: 3;
11
+ $grid-cols: 4;
12
+
13
+ $widescreen-breakpoint: 1140px + $gutter * 2;
14
+ $bigscreen-breakpoint: 900px + $gutter * 2;
15
+
16
+
17
+ @import "open-project-base";
18
+ @import "open-project-header-footer";
19
+
20
+
21
+ /* Generic */
22
+
23
+ body {
24
+
25
+ &.layout-home > main {
26
+ > .featured-posts {
27
+ @extend .main-section;
28
+
29
+ .items {
30
+ justify-content: center;
31
+ }
32
+
33
+ .item {
34
+ @extend .item-card;
35
+ @extend .post-card;
36
+ @include hoverable-card(4px, 12px, rgba(0, 0, 0, 0.08));
37
+
38
+ padding: 32px 30px;
39
+ box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08);
40
+
41
+ .header {
42
+ font-size: 22px;
43
+ }
44
+
45
+ .body, .meta {
46
+ font-size: 15px;
47
+ }
48
+
49
+ @media screen and (min-width: $bigscreen-breakpoint) {
50
+ box-sizing: border-box;
51
+ flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} );
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+ &.layout-spec-index > main,
58
+ &.layout-software-index > main {
59
+ > .items {
60
+ @extend .item-grid;
61
+ @extend .index-item-grid;
62
+
63
+ .items.one-row {
64
+ justify-content: center;
65
+ }
66
+
67
+ .item {
68
+ @extend .item-card;
69
+ @include hoverable-card(4px, 12px, rgba(0, 0, 0, 0.08));
70
+
71
+ padding: 32px 30px;
72
+
73
+ .header {
74
+ font-size: 18px;
75
+ }
76
+ .body {
77
+ font-size: 15px;
78
+ }
79
+
80
+ @media screen and (min-width: $bigscreen-breakpoint) {
81
+ box-sizing: border-box;
82
+ flex-basis: calc( 100%/#{$grid-cols} - #{$gutter} );
83
+ margin-bottom: $gutter;
84
+ }
85
+ }
86
+ }
87
+ }
88
+
89
+ &.layout-blog-index > main {
90
+ > .items {
91
+ @extend .item-grid;
92
+ @extend .index-item-grid;
93
+
94
+ .items.one-row {
95
+ justify-content: center;
96
+ }
97
+
98
+ .item {
99
+ @extend .item-card;
100
+ @extend .post-card;
101
+ @include hoverable-card(4px, 12px, rgba(0, 0, 0, 0.08));
102
+
103
+ padding: 32px 30px;
104
+
105
+ .header {
106
+ font-size: 22px;
107
+ }
108
+ .body {
109
+ font-size: 15px;
110
+ }
111
+
112
+ @media screen and (min-width: $bigscreen-breakpoint) {
113
+ box-sizing: border-box;
114
+ flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} );
115
+ margin-bottom: $gutter;
116
+ }
117
+ }
118
+ }
119
+ }
120
+
121
+ &.layout-post > main > article {
122
+ @extend .main-article;
123
+
124
+ > header > .meta {
125
+ color: grey;
126
+ }
127
+ }
128
+ }
129
+
130
+
131
+ /* Hub */
132
+
133
+ body.hub {
134
+
135
+ &.layout-home > main {
136
+ > .featured-projects {
137
+ @extend .main-section;
138
+
139
+ .items {
140
+ justify-content: center;
141
+ }
142
+
143
+ .item {
144
+ @extend .item-card;
145
+ @include hoverable-card(4px, 16px, rgba(0, 0, 0, 0.12));
146
+
147
+ padding: 40px 32px;
148
+ text-align: center;
149
+
150
+ .logo {
151
+ display: inline-block;
152
+ height: 80px;
153
+ width: 80px;
154
+ }
155
+ .header {
156
+ font-size: 24px;
157
+ }
158
+ .body {
159
+ font-size: 16px;
160
+ height: 100px;
161
+ overflow: hidden;
162
+ text-overflow: ellipsis;
163
+ }
164
+
165
+ @media screen and (min-width: $bigscreen-breakpoint) {
166
+ box-sizing: border-box;
167
+ flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} );
168
+ }
169
+ }
170
+ }
171
+
172
+ > .other-projects {
173
+ @extend .main-section;
174
+
175
+ .items.one-row {
176
+ justify-content: center;
177
+ }
178
+
179
+ .item {
180
+ @extend .item-card;
181
+ @include hoverable-card(2px, 10px, rgba(desaturate($primary-color, 50), 0.08));
182
+
183
+ padding: 32px 30px;
184
+
185
+ .header {
186
+ font-size: 18px;
187
+ }
188
+ .body {
189
+ font-size: 15px;
190
+ }
191
+
192
+ @media screen and (min-width: $bigscreen-breakpoint) {
193
+ box-sizing: border-box;
194
+ flex-basis: calc( 100%/#{$grid-cols} - #{$gutter} );
195
+ margin-bottom: $gutter;
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+
202
+
203
+ /* Project */
204
+
205
+ body.project {
206
+
207
+ &.layout-home > main {
208
+ > .software,
209
+ > .specs {
210
+ @extend .main-section;
211
+
212
+ .items {
213
+ justify-content: center;
214
+ }
215
+
216
+ .item {
217
+ @extend .item-card;
218
+ @include hoverable-card(4px, 16px, rgba(0, 0, 0, 0.12));
219
+
220
+ padding: 40px 32px;
221
+ text-align: center;
222
+
223
+ .logo {
224
+ display: inline-block;
225
+ height: 80px;
226
+ width: 80px;
227
+ }
228
+ .header {
229
+ font-size: 24px;
230
+ }
231
+ .body {
232
+ font-size: 16px;
233
+ }
234
+
235
+ @media screen and (min-width: $bigscreen-breakpoint) {
236
+ box-sizing: border-box;
237
+ flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} );
238
+ }
239
+ }
240
+ }
241
+ }
242
+
243
+ &.layout-spec > main > article {
244
+ @extend .main-article;
245
+ }
246
+ &.layout-product > main > article {
247
+ @extend .main-article;
248
+ }
249
+ }