jekyll-theme-open-project 1.3.4 → 2.0
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.
- checksums.yaml +5 -5
- data/README.md +67 -46
- data/_config.yml +8 -0
- data/_includes/_nav-item.html +9 -7
- data/_includes/external-link.html +59 -0
- data/_includes/featured_posts.html +11 -0
- data/_includes/featured_software.html +55 -0
- data/_includes/featured_specs.html +31 -0
- data/_includes/home-hero.html +12 -11
- data/_includes/home-hub.html +38 -44
- data/_includes/home-project.html +15 -113
- data/_includes/index-page-hero.html +0 -1
- data/_includes/item-doc-page.html +16 -14
- data/_includes/item-external-links.html +5 -81
- data/_includes/nav-links.html +7 -3
- data/_includes/nav-page-link.html +3 -2
- data/_layouts/default.html +6 -1
- data/_layouts/docs-base.html +0 -6
- data/_layouts/home.html +4 -0
- data/_sass/jekyll-theme-open-project.scss +167 -93
- data/_sass/open-project-base.scss +27 -3
- data/_sass/open-project-header-footer.scss +66 -97
- data/_sass/open-project-mixins.scss +111 -97
- data/assets/css/style.scss +1 -4
- data/assets/js/adoc-toc.js +52 -1
- metadata +11 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 221eba4af24be71eba3079f5413049ed6cbcd524
|
4
|
+
data.tar.gz: b487631fd4ccba5cf8aad76f9a22f95f6c0ec08d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a41113305d82bb450ff44367a7a66060a882977bd120b6b13ffa2bc55d1d80afcc1535bf969e7b30aeb984770be2aa8c0195c183de7f594ad585de8b82b3860
|
7
|
+
data.tar.gz: 0c59bf275fabdc82837deeeeee0405f4b7e13047270b7b2bd95492191088e42e6574a1d67f4c7df2d236b1cca9407dbea2e068a7d033fd55e40c578cfcb204cb
|
data/README.md
CHANGED
@@ -119,7 +119,7 @@ These settings apply to both site types (hub and project).
|
|
119
119
|
|
120
120
|
tagline: Site tagline
|
121
121
|
pitch: Site pitch
|
122
|
-
# The above two are used
|
122
|
+
# The above two are used in home hero unit.
|
123
123
|
|
124
124
|
social:
|
125
125
|
links:
|
@@ -348,7 +348,6 @@ algolia_search:
|
|
348
348
|
index_name: '<your Algolia index name>'
|
349
349
|
# Only add this if you want to use Algolia’s search on your project site.
|
350
350
|
|
351
|
-
# NOTE: Must match corresponding hub site’s configuration entry.
|
352
351
|
tag_namespaces:
|
353
352
|
software:
|
354
353
|
namespace_id: "Human-readable namespace name"
|
@@ -356,6 +355,20 @@ tag_namespaces:
|
|
356
355
|
# writtenin: "Written in"
|
357
356
|
specs:
|
358
357
|
namespace_id: "Human-readable namespace name"
|
358
|
+
# NOTE: Tag namespaces must match corresponding hub site’s configuration entry.
|
359
|
+
|
360
|
+
landing_priority: [custom_intro, blog, specs, software]
|
361
|
+
# Which order should sections be displayed on landing.
|
362
|
+
#
|
363
|
+
# Default order: [software, specs, blog]
|
364
|
+
# Depending on your project’s focus & pace of development you may want to change that.
|
365
|
+
# Supported sections: featured_posts, featured_software, featured_specs, custom_intro.
|
366
|
+
#
|
367
|
+
# If you use custom_intro, project site must define an include "custom-intro.html".
|
368
|
+
# The contents of that include will be wrapper in section.custom-intro tag.
|
369
|
+
# Inside the include you’d likely want to have introductory summary wrapped
|
370
|
+
# in section.summary, and possibly custom call-to-action buttons
|
371
|
+
# (see Metanorma.com site for an example).
|
359
372
|
```
|
360
373
|
|
361
374
|
### File structure
|
@@ -470,6 +483,7 @@ description: A sentence.
|
|
470
483
|
# Not necessarily shown to the user,
|
471
484
|
# but used for HTML metadata if jekyll-seo-tag is enabled
|
472
485
|
|
486
|
+
tags: [Ruby, Python, RFC, "<some_namespace_id>:<appropriate_tag>"]
|
473
487
|
# Note: Avoid whitespaces and other characters that may make Jekyll
|
474
488
|
# percent-encode the tag in URLs. Replace " " (a regular space)
|
475
489
|
# with "_" (underline); underlines will be rewritten as spaces when tags
|
@@ -478,7 +492,23 @@ description: A sentence.
|
|
478
492
|
# e.g. chosen programming language or target viewer audience
|
479
493
|
# (see hub site configuration for tag namespace setup).
|
480
494
|
# Avoid long namespace/tag combos as they can overflow item’s card widget.
|
481
|
-
|
495
|
+
|
496
|
+
external_links:
|
497
|
+
- url: https://github.com/riboseinc/asciidoctor-rfc
|
498
|
+
- url: https://docs.rs/proj/ver/…/
|
499
|
+
- { url: https://example.com/, title: "Custom title" }
|
500
|
+
# External links.
|
501
|
+
# For software, typically points to docs sites or source code repository.
|
502
|
+
# For specs, this usually contains RFC, IETF links, spec source code.
|
503
|
+
# * Link label can be specified with the title key.
|
504
|
+
# Select URLs are recognized and an appropriate label
|
505
|
+
# (possibly icon) is shown by default,
|
506
|
+
# otherwise you **should** specify the title.
|
507
|
+
# Currently, recognized URLs include
|
508
|
+
# GitHub, Docs.rs, RubyDoc,
|
509
|
+
# ietf.org/html/rfcN, datatracker.ietf.org/doc/…
|
510
|
+
# * Order links according to importance for project site visitors.
|
511
|
+
# The first link will be highlighted as primary.
|
482
512
|
|
483
513
|
feature_with_priority: 1
|
484
514
|
# With this key, software or spec will be featured on home
|
@@ -497,16 +527,14 @@ YAML frontmatter required for software:
|
|
497
527
|
```yaml
|
498
528
|
repo_url: https://github.com/riboseinc/asciidoctor-rfc
|
499
529
|
# Required.
|
530
|
+
# Used for things like showing how long ago
|
531
|
+
# the was project updated last.
|
500
532
|
|
501
|
-
|
533
|
+
docs_source:
|
502
534
|
git_repo_url: git@example.com:path/to-repo.git
|
503
535
|
git_repo_subtree: docs
|
504
|
-
#
|
536
|
+
# Documentation, the contents of which will be made part of the project site.
|
505
537
|
# See the nearby section about documentation.
|
506
|
-
|
507
|
-
docs_url: https://docs.rs/proj/ver/…/
|
508
|
-
# External docs. For some links
|
509
|
-
# like docs.rs and rubydoc, special icon and/or label will be shown.
|
510
538
|
```
|
511
539
|
|
512
540
|
#### Displaying software docs
|
@@ -519,12 +547,11 @@ only frontmatter, following this sample:
|
|
519
547
|
---
|
520
548
|
items:
|
521
549
|
- title: Introduction
|
550
|
+
path: intro/
|
522
551
|
items:
|
523
|
-
- { title: Overview, path: overview/ }
|
524
|
-
- { title: Installation, path: installation/ }
|
525
|
-
- title: Usage
|
526
|
-
items:
|
527
|
-
- { title: Basic, path: basic-usage/ }
|
552
|
+
- { title: Overview, path: intro/overview/ }
|
553
|
+
- { title: Installation, path: intro/installation/ }
|
554
|
+
- { title: Usage, path: usage/ }
|
528
555
|
---
|
529
556
|
|
530
557
|
= Navigation
|
@@ -544,26 +571,13 @@ the navigation.
|
|
544
571
|
YAML frontmatter specific to specs:
|
545
572
|
|
546
573
|
```yaml
|
547
|
-
rfc_id: XXXX
|
548
|
-
# IETF RFC URL would be in the form
|
549
|
-
# http://ietf.org/html/rfc<id>
|
550
|
-
|
551
|
-
ietf_datatracker_id: some-string-identifier-here
|
552
|
-
ietf_datatracker_ver: "01"
|
553
|
-
# IETF datatracker URL would be in the form
|
554
|
-
# https://datatracker.ietf.org/doc/<id>[-<version>]
|
555
|
-
|
556
|
-
source_url: https://example.com/spec-source-markup
|
557
|
-
# Required.
|
558
|
-
|
559
|
-
|
560
|
-
# For displaying spec contents, see below:
|
561
|
-
|
562
574
|
spec_source:
|
563
575
|
git_repo_url: https://github.com/<user>/<repo>
|
564
576
|
git_repo_subtree: images
|
565
577
|
build:
|
566
578
|
engine: png_diagrams
|
579
|
+
# See below about building the spec from its source
|
580
|
+
# to be displayed on the site.
|
567
581
|
|
568
582
|
navigation:
|
569
583
|
sections:
|
@@ -727,33 +741,36 @@ The rule would look like this:
|
|
727
741
|
|
728
742
|
### SASS variables
|
729
743
|
|
730
|
-
Following are
|
744
|
+
Following are principal variables that define the appearance of a site
|
745
|
+
built with this theme, along with their defaults.
|
746
|
+
|
747
|
+
For a project site, wisely choosing primary and accent colors should be enough
|
748
|
+
as a minimum.
|
731
749
|
|
732
750
|
```scss
|
733
751
|
$font-family: Helvetica, Arial, sans-serif !default;
|
752
|
+
$main-font-color: black !default;
|
734
753
|
|
735
|
-
# Primary color
|
736
|
-
#
|
754
|
+
# Primary color & accent colors are used throughout site’s UI.
|
755
|
+
# Make sure to use shades dark enough that white text is readable on top,
|
756
|
+
# especially with the primary color.
|
757
|
+
# Make sure these colors go well with each other.
|
737
758
|
$primary-color: lightblue !default;
|
759
|
+
$accent-color: red !default;
|
738
760
|
|
739
|
-
#
|
740
|
-
|
741
|
-
$
|
761
|
+
# These colors are used for warning/info blocks within body text.
|
762
|
+
$important-color: orange !default;
|
763
|
+
$warning-color: red !default;
|
742
764
|
|
743
|
-
#
|
744
|
-
|
745
|
-
# should be dark enough:
|
746
|
-
$accent-color: red !default;
|
765
|
+
# Background used on home page body & other pages’ hero unit backgrounds.
|
766
|
+
$main-background: linear-gradient(315deg, $accent-color 0%, $primary-color 74%) !default;
|
747
767
|
|
748
|
-
#
|
749
|
-
|
750
|
-
$header-background: $primary-dark-color !default;
|
751
|
-
$hero-background: $primary-dark-color !default;
|
768
|
+
# This background defaults to $main-background value.
|
769
|
+
$header-background: $main-background !default;
|
752
770
|
|
753
|
-
# This is for the big big hero unit on home page.
|
754
|
-
$superhero-background: $primary-dark-color !default;
|
755
771
|
|
756
|
-
# Below
|
772
|
+
# Below does not apply to project sites (only the hub site):
|
773
|
+
|
757
774
|
$hub-software--primary-color: lightsalmon !default;
|
758
775
|
$hub-software--primary-dark-color: tomato !default;
|
759
776
|
$hub-software--hero-background: $hub-software--primary-dark-color !default;
|
@@ -763,6 +780,10 @@ $hub-specs--primary-dark-color: palevioletred !default;
|
|
763
780
|
$hub-specs--hero-background: $hub-specs--primary-dark-color !default;
|
764
781
|
```
|
765
782
|
|
783
|
+
TIP: A good way to find a good match for primary-color and accent-color
|
784
|
+
may be the eggradients.com website. Find a suitable, dark enough gradient and pick
|
785
|
+
one color as primary, and the other as accent.
|
786
|
+
|
766
787
|
|
767
788
|
## Extra .gitignore rules
|
768
789
|
|
data/_config.yml
CHANGED
@@ -17,6 +17,14 @@ exclude:
|
|
17
17
|
- /_projects/**/docs/*
|
18
18
|
- .sass-cache/
|
19
19
|
|
20
|
+
unmarked_external_link_selectors:
|
21
|
+
- .layout--home a
|
22
|
+
- a[href*=travis]
|
23
|
+
- a[href*=coverity]
|
24
|
+
- a[href*=codecov]
|
25
|
+
|
26
|
+
landing_priority: [software, specs, blog]
|
27
|
+
|
20
28
|
collections:
|
21
29
|
projects:
|
22
30
|
output: false
|
data/_includes/_nav-item.html
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
{% comment %} Otherwise in Liquid selected value falls through to next include instance {% endcomment %}
|
13
13
|
{% endif %}
|
14
14
|
|
15
|
-
<li class="
|
15
|
+
<li class="{% if selected %}selected{% endif %}">
|
16
16
|
<div class="item-title"
|
17
17
|
title="{{ include.item.title }}{% if include.item.description %} ({{ include.item.description }}){% endif %}">
|
18
18
|
{% if include.item.path == null or selected == true %}
|
@@ -26,11 +26,13 @@
|
|
26
26
|
{% endif %}
|
27
27
|
</div>
|
28
28
|
|
29
|
-
{% if include.
|
30
|
-
|
31
|
-
|
32
|
-
{%
|
33
|
-
|
34
|
-
|
29
|
+
{% if include.top_level_only != true %}
|
30
|
+
{% if include.item.items %}
|
31
|
+
<ul class="nav-items subitmes">
|
32
|
+
{% for item in include.item.items %}
|
33
|
+
{% include _nav-item.html item=item base_url=include.base_url selected_item=include.selected_item %}
|
34
|
+
{% endfor %}
|
35
|
+
</ul>
|
36
|
+
{% endif %}
|
35
37
|
{% endif %}
|
36
38
|
</li>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<a href="{{ include.url }}">
|
2
|
+
|
3
|
+
{% if include.url contains "github.com" %}
|
4
|
+
<span class="ico">
|
5
|
+
<i class="fab fa-github"></i>
|
6
|
+
</span>
|
7
|
+
<span class="lbl">
|
8
|
+
{{ include.title | default: "GitHub" }}
|
9
|
+
</span>
|
10
|
+
|
11
|
+
{% elsif include.url contains "rubygems.org" %}
|
12
|
+
<span class="ico">
|
13
|
+
<i class="far fa-gem"></i>
|
14
|
+
</span>
|
15
|
+
<span class="lbl">
|
16
|
+
{{ include.title | default: "Gem" }}
|
17
|
+
</span>
|
18
|
+
|
19
|
+
{% elsif include.url contains "crates.io/crates" %}
|
20
|
+
<span class="ico">
|
21
|
+
<i class="far fa-cubes"></i>
|
22
|
+
</span>
|
23
|
+
<span class="lbl">
|
24
|
+
{{ include.title | default: "Crate" }}
|
25
|
+
</span>
|
26
|
+
|
27
|
+
{% elsif include.url contains "rubydoc" %}
|
28
|
+
<span class="ico">
|
29
|
+
<i class="far fa-gem"></i>
|
30
|
+
</span>
|
31
|
+
<span class="lbl">
|
32
|
+
{{ include.title | default: "RubyDoc" }}
|
33
|
+
</span>
|
34
|
+
|
35
|
+
{% elsif include.url contains "docs.rs" %}
|
36
|
+
<span class="ico">
|
37
|
+
<i class="far fa-book"></i>
|
38
|
+
</span>
|
39
|
+
<span class="lbl">
|
40
|
+
{{ include.title | default: "Docs.rs" }}
|
41
|
+
</span>
|
42
|
+
|
43
|
+
{% elsif include.url contains "ietf.org/html/rfc" %}
|
44
|
+
<span class="lbl">
|
45
|
+
{{ include.title | default: "IETF RFC" }}
|
46
|
+
</span>
|
47
|
+
|
48
|
+
{% elsif include.url contains "datatracker.ietf.org" %}
|
49
|
+
<span class="lbl">
|
50
|
+
{{ include.title | default: "IETF document" }}
|
51
|
+
</span>
|
52
|
+
|
53
|
+
{% else %}
|
54
|
+
<span class="lbl">
|
55
|
+
{{ include.title }}
|
56
|
+
</span>
|
57
|
+
|
58
|
+
{% endif %}
|
59
|
+
</a>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
{% assign posts = site.posts_combined %}
|
2
|
+
|
3
|
+
<section class="featured-posts">
|
4
|
+
<h2 class="title">From the <a href="/blog/">Blog</a></h2>
|
5
|
+
|
6
|
+
<div class="items">
|
7
|
+
{% for item in posts | limit: site.max_featured_posts %}
|
8
|
+
{% include post-card.html post=item %}
|
9
|
+
{% endfor %}
|
10
|
+
</div>
|
11
|
+
</section>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<section class="software">
|
2
|
+
{% unless site.one_software %}
|
3
|
+
<h2 class="title">
|
4
|
+
Software
|
5
|
+
{% if site.num_all_software > site.num_featured_software %}
|
6
|
+
— <a href="/software/">see all</a>
|
7
|
+
{% endif %}
|
8
|
+
</h2>
|
9
|
+
{% endunless %}
|
10
|
+
|
11
|
+
<div class="items">
|
12
|
+
{% assign software = site.featured_software %}
|
13
|
+
{% for item in software | limit: site.max_featured_software %}
|
14
|
+
{% assign url = item.url %}
|
15
|
+
{% assign item_docs = site.software | where_exp: "item", "item.url contains url" %}
|
16
|
+
{% assign item_data = site.software | where_exp: "item", "item.url == url" | first %}
|
17
|
+
{% assign nav = item_docs | where_exp: "item", "item.path contains 'docs/navigation'" | first %}
|
18
|
+
|
19
|
+
<div class="item" role="article">
|
20
|
+
{% unless site.one_software %}
|
21
|
+
<header>
|
22
|
+
<div class="logo-container">
|
23
|
+
{% include software-symbol.html item_id=item.id %}
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<h3 class="title"><a href="{{ item.url }}">{{ item.title }}</a></h3>
|
27
|
+
</header>
|
28
|
+
|
29
|
+
<p class="body">
|
30
|
+
{{ item.description }}
|
31
|
+
</p>
|
32
|
+
{% endunless %}
|
33
|
+
|
34
|
+
{% assign top_level_nav_item_with_path = nav.items | where_exp: "item", "item.path" | first %}
|
35
|
+
{% if nav and top_level_nav_item_with_path %}
|
36
|
+
<div class="docs-nav">
|
37
|
+
{% assign docs_base_url = item.url | append: "docs/" %}
|
38
|
+
{% assign nav_items = nav.items | slice: 0, 3 %}
|
39
|
+
<ul class="nav-items">
|
40
|
+
{% for nav_item in nav_items %}
|
41
|
+
{% include _nav-item.html item=nav_item base_url=docs_base_url top_level_only=true %}
|
42
|
+
{% endfor %}
|
43
|
+
</ul>
|
44
|
+
</div>
|
45
|
+
{% endif %}
|
46
|
+
|
47
|
+
<div class="external-links">
|
48
|
+
<ul class="nav-items">
|
49
|
+
{% include item-external-links.html item_data=item_data %}
|
50
|
+
</ul>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
{% endfor %}
|
54
|
+
</div>
|
55
|
+
</section>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<section class="specs">
|
2
|
+
<h2 class="title">
|
3
|
+
Specification{% if site.num_all_specs > 1 %}s{% endif %}
|
4
|
+
{% if site.num_all_specs > site.num_featured_specs %}
|
5
|
+
— <a href="/specs/">see all</a>
|
6
|
+
{% endif %}
|
7
|
+
</h2>
|
8
|
+
<div class="items">
|
9
|
+
{% assign specs = site.featured_specs %}
|
10
|
+
{% for item in specs | limit: site.max_featured_specs %}
|
11
|
+
{% assign url = item.url %}
|
12
|
+
{% assign item_data = site.specs | where_exp: "item", "item.url == url" | first %}
|
13
|
+
|
14
|
+
<div class="item" role="article">
|
15
|
+
<header>
|
16
|
+
<h3 class="title"><a href="{{ item.url }}">{{ item.title }}</a></h3>
|
17
|
+
</header>
|
18
|
+
|
19
|
+
<p class="body">
|
20
|
+
{{ item.description }}
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<div class="external-links">
|
24
|
+
<ul class="nav-items">
|
25
|
+
{% include item-external-links.html item_data=item_data %}
|
26
|
+
</ul>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
{% endfor %}
|
30
|
+
</div>
|
31
|
+
</section>
|
data/_includes/home-hero.html
CHANGED
@@ -1,14 +1,20 @@
|
|
1
1
|
<div class="text">
|
2
2
|
<h1 class="title">{{ site.tagline }}</h1>
|
3
|
-
<p class="desc">{{ site.pitch | safe }}</p>
|
4
3
|
|
5
|
-
|
6
|
-
{
|
4
|
+
{% if site.pitch %}
|
5
|
+
<p class="desc">{{ site.pitch | safe }}</p>
|
6
|
+
{% endif %}
|
7
|
+
|
8
|
+
{% if site.is_hub %}
|
9
|
+
<div class="cta">
|
7
10
|
<a class="button" href="{{ "/projects/" | relative_url }}">
|
8
11
|
<i class="icon far fa-search"></i>
|
9
12
|
Explore Projects
|
10
13
|
</a>
|
11
|
-
|
14
|
+
</div>
|
15
|
+
{% else if site.one_software %}
|
16
|
+
{% else %}
|
17
|
+
<div class="cta">
|
12
18
|
{% assign ctas = site.home_calls_to_action | slice: 0, 2 %}
|
13
19
|
|
14
20
|
{% for link in ctas %}
|
@@ -16,11 +22,6 @@
|
|
16
22
|
{{ link.title }}
|
17
23
|
</a>
|
18
24
|
{% endfor %}
|
19
|
-
|
20
|
-
|
21
|
-
</div>
|
22
|
-
<div class="illustration">
|
23
|
-
<div role="presentation" class="logo">
|
24
|
-
{% include assets/symbol.svg %}
|
25
|
-
</div>
|
25
|
+
</div>
|
26
|
+
{% endif %}
|
26
27
|
</div>
|