1
- # Open Project theme by Ribose
1
+ # The ROP Jekyll theme ( Ribose Open Project theme)
2
2
3
- Open Project is a Jekyll theme (with the accompanying plugin)
4
- aiming to help organizations and individuals present
5
- open-source software and specifications in a navigable and elegant way.
3
+ ROP is a Jekyll theme (with accompanying plugin code) aiming to help
4
+ organizations and individuals present open-source software and specifications in
5
+ a navigable and elegant way.
6
6
7
- Open Project fits two types of sites:
7
+ The gem is released as ` jekyll-theme-rop ` .
8
8
9
- * a site that describes one individual project
10
- * a site that combine projects into sort of an open hub.
9
+ ROP fits two types of sites:
11
10
12
- ** Demo** : See [ Ribose Open] ( https://open.ribose.com/ ) project sites -- for example,
11
+ * a site that describes one individual project;
12
+ * a site that combine multiple project sites into an open hub site.
13
+
14
+ ** Demo** : See [ Ribose] ( https://www.ribose.com/ ) project sites -- for example,
13
15
[ Metanorma] ( https://www.metanorma.com ) ,
14
16
[ RNP] ( https://www.rnpgp.com ) ,
15
17
[ Cryptode] ( https://www.cryptode.com ) ,
@@ -18,6 +20,42 @@ Open Project fits two types of sites:
18
20
See also: CI_OPS for how to set up automated build and deployment of sites
19
21
to AWS S3.
20
22
23
+ NOTE: This theme was previously named ` jekyll-theme-open-project ` with a helper
24
+ gem ` jekyll-theme-open-project-helpers ` .
25
+
26
+
27
+ ## Migrating from ` jekyll-theme-open-project ` to the new ` jekyll-theme-rop `
28
+
29
+ Follow these steps:
30
+
31
+ 1 . Update your Open Project Gemfile to remove all previously used dependencies
32
+ from ` jekyll-theme-open-project ` (including ` git ` ), and replace it like this:
33
+ ``` ruby
34
+ # If you have any plugins, put them here!
35
+ group :jekyll_plugins do
36
+ gem " jekyll-theme-rop"
37
+ end
38
+ ```
39
+
40
+ 2 . Update your ` _config.yml ` file to remove all previously used plugins from ` jekyll-theme-open-project ` , so it becomes:
41
+ ``` yaml
42
+ # plugins:
43
+ # - jekyll-seo-tag
44
+ # - jekyll-sitemap
45
+ # - jekyll-theme-rop
46
+ ```
47
+
48
+ 3 . Replace in SCSS files all mention of import files with their renamed counterparts:
49
+ * ` @import 'jekyll-theme-open-project' ` => ``@import 'jekyll-theme-rop'`
50
+ * ` 'open-project-mixins' ` => remove because it was already included.
51
+
52
+ 4 . If you use the ` png_diagrams ` feature in any page layout, replace as follows:
53
+ ``` diff
54
+ - engine: png_diagrams
55
+ + engine: png_diagram_page
56
+ ```
57
+
58
+
21
59
## Contents
22
60
23
61
* Creating a site: [ how to] ( #starting-a-site-with-this-theme )
@@ -44,18 +82,22 @@ to AWS S3.
44
82
45
83
### Set up Ruby and Jekyll
46
84
47
- The currently recommended Ruby version is 2.6.
48
- (In case you aren’t using Ruby often, the easiest way to install one may be with RVM.)
85
+ The currently recommended Ruby version is 3.3.
86
+
87
+ NOTE: In case you don't use Ruby often, the easiest way to install one may be
88
+ with RVM.
49
89
50
90
The currently recommended Jekyll version is 3 or newer
51
91
(read about [ Jekyll installation] ( https://jekyllrb.com/docs/#instructions ) ).
52
92
53
- NOTE: this theme is known to not work with Ruby older than 2.3,
54
- and hasn’t been tested on newer versions.
93
+ NOTE: This theme is known to not work with Ruby older than 2.3.
94
+ It has not been tested on newer versions.
55
95
56
96
### Start a new Jekyll site
57
97
58
- jekyll new my-open-site
98
+ ``` sh
99
+ jekyll new my-open-site
100
+ ```
59
101
60
102
If you use Git for site source version management,
61
103
see the “Extra .gitignore rules” section below
@@ -67,7 +109,7 @@ Add this line to your Jekyll site's `Gemfile`,
67
109
replacing default theme requirement:
68
110
69
111
``` ruby
70
- gem " jekyll-theme-open-project "
112
+ gem " jekyll-theme-rop "
71
113
```
72
114
73
115
(Jekyll’s default theme was “minima” at the time of this writing.)
@@ -77,13 +119,14 @@ Also in the `Gemfile`, add two important plugins to the `:jekyll_plugins` group.
77
119
78
120
``` ruby
79
121
group :jekyll_plugins do
80
- gem " jekyll-seo-tag"
81
- gem " jekyll-sitemap"
82
- gem " jekyll-data"
83
- gem " jekyll-asciidoc"
122
+ gem " jekyll-theme-rop"
84
123
85
- gem " jekyll-theme-open-project-helpers"
86
- gem " jekyll-external-links"
124
+ # The following gems are automatically included by jekyll-theme-rop
125
+ # gem "jekyll-seo-tag"
126
+ # gem "jekyll-sitemap"
127
+ # gem "jekyll-data"
128
+ # gem "jekyll-asciidoc"
129
+ # gem "jekyll-external-links"
87
130
88
131
# ...other plugins, if you use any
89
132
end
@@ -227,7 +270,7 @@ These settings apply to both site types (hub and project).
227
270
# and expects them to be included in SVG mode.
228
271
# Without this setting, one-file FA distribution, all.js, is included from free FA CDN.
229
272
230
- theme : jekyll-theme-open-project
273
+ theme : jekyll-theme-rop
231
274
232
275
permalink : /blog/:month-:day-:year-:title/
233
276
# It’s important that dash-separated permalink is used for blog posts.
@@ -340,7 +383,7 @@ For project posts, see below the project site section.
340
383
341
384
The hub represents your company or department, links to all projects
342
385
and offers a software and specification index.
343
-
386
+
344
387
Note that a hub site is expected to have at least one document
345
388
in the ` projects ` collection (see below).
346
389
@@ -609,7 +652,7 @@ tags: [Ruby, Python, RFC, "<some_namespace_id>:<appropriate_tag>"]
609
652
# Avoid long namespace/tag combos as they can overflow item’s card widget.
610
653
611
654
external_links:
612
- - url: https://github.com/riboseinc/asciidoctor-rfc
655
+ - url: https://github.com/metanorma/metanorma
613
656
- url: https://docs.rs/proj/ver/…/
614
657
- { url: https://example.com/, title: "Custom title" }
615
658
# External links.
@@ -865,7 +908,7 @@ under assets/css/style.scss with following exact contents:
865
908
866
909
// Variable redefinitions can go here
867
910
868
- @import 'jekyll-theme-open-project ';
911
+ @import 'jekyll-theme-rop ';
869
912
870
913
// Custom rules can go here
871
914
```
@@ -952,7 +995,7 @@ parent-hub/*
952
995
## Contributing
953
996
954
997
Bug reports and pull requests are welcome on GitHub
955
- at https://github.com/riboseinc/jekyll-theme-open-project .
998
+ at https://github.com/riboseinc/jekyll-theme-rop .
956
999
957
1000
This project is intended to be a safe, welcoming space for collaboration,
958
1001
and contributors are expected to adhere
@@ -995,8 +1038,8 @@ of this repo and have a Jekyll site using this theme:
995
1038
1 . For the Jekyll site, change Gemfile to point to local copy
996
1039
of the theme (the root of this repo) and run ` bundle ` .
997
1040
998
- For example, you’d change ` gem "jekyll-theme-open-project ", "~> 1.0.6" `
999
- to ` gem "jekyll-theme-open-project ", :path => "../jekyll-theme-open-project " ` .
1041
+ For example, you’d change ` gem "jekyll-theme-rop ", "~> 1.0.6" `
1042
+ to ` gem "jekyll-theme-rop ", :path => "../jekyll-theme-rop " ` .
1000
1043
The relative path assumes your site root and theme root are sibling directories.
1001
1044
1002
1045
2 . Run ` bundle exec jekyll serve ` to start Jekyll’s development server.
@@ -1020,30 +1063,10 @@ of this repo and have a Jekyll site using this theme:
1020
1063
Make sure theme works: build script is under construction,
1021
1064
so use good judgement and thorough manual testing.
1022
1065
1023
- 1 . Pick the next version number (think whether it’s a patch, minor or major increment).
1024
-
1025
- 2 . Release the chosen version of ` jekyll-theme-open-project-helpers ` gem:
1026
- see [ https://github.com/riboseinc/jekyll-theme-open-project-helpers ] (gem’s docs).
1027
-
1028
- (Theme and plugin are coupled tightly at this time,
1029
- and to simplify mental overhead of dependency management
1030
- we go with one version number for the whole suite.)
1031
-
1032
- 3 . Inside .gemspec within this repo’s root, update main gem version,
1033
- and also the version for ` jekyll-theme-open-project-helpers ` runtime dependency,
1034
- to the one we are releasing.
1035
-
1036
- 4 . Run ` bundle --full-index ` , ensure it pulls the newly released plugin gem.
1037
- (It may take a couple minutes after releasing helpers plugin for gem index to update.)
1038
-
1039
- 5 . Make a commit for the new release (“chore: Release vX.X.X”).
1066
+ 1 . Decide whether this is a patch, minor or major change.
1040
1067
1041
- 6 . Execute ` ./develop/ release` . This does the following:
1068
+ 2 . Run the automated " release" workflow to release the gem.
1042
1069
1043
- * Builds new gem version
1044
- * Pushes gem to rubygems.org
1045
- * Creates new version tag in this repository
1046
- * Pushes changes to GitHub
1047
1070
1048
1071
#### Testing with build script (TBD)
1049
1072
0 commit comments