jekyll-theme-open-project 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+ }