Skip to content

Commit 30448d6

Browse files
hardingwillcl-ark
authored andcommitted
Jekyllify: add Gemfile and Jekyll
Theme: try just-the-docs (suggested by sbddesign)
1 parent cf27d65 commit 30448d6

File tree

7 files changed

+341
-1
lines changed

7 files changed

+341
-1
lines changed

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
index.html
22
.ipynb_checkpoints
33
*Copy*.ipynb
4+
_site
5+
.sass-cache
6+
.jekyll-cache
7+
.jekyll-metadata
8+
vendor

404.html

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
permalink: /404.html
3+
layout: default
4+
---
5+
6+
<style type="text/css" media="screen">
7+
.container {
8+
margin: 10px auto;
9+
max-width: 600px;
10+
text-align: center;
11+
}
12+
h1 {
13+
margin: 30px 0;
14+
font-size: 4em;
15+
line-height: 1;
16+
letter-spacing: -1px;
17+
}
18+
</style>
19+
20+
<div class="container">
21+
<h1>404</h1>
22+
23+
<p><strong>Page not found :(</strong></p>
24+
<p>The requested page could not be found.</p>
25+
</div>

Gemfile

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
source 'https://rubygems.org'
2+
3+
## If you update the version here, also update it in .travis.yml, .ruby-version,
4+
## and README.md. Then push your branch and make sure Travis supports that
5+
## version.
6+
ruby '3.2.2'
7+
8+
## If you add a new Gem below, run `bundle install` to install it.
9+
group :development do
10+
gem "jekyll", "~> 4.3.2"
11+
gem "just-the-docs"
12+
gem 'jekyll-redirect-from'
13+
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
14+
# do not have a Java counterpart.
15+
#gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
16+
end
17+
18+
group :jekyll_plugins do
19+
gem "jekyll-feed", "~> 0.12"
20+
gem "jekyll-asciidoc", "~> 3.0.0"
21+
end
22+
23+
group :testing do
24+
gem 'html-proofer'
25+
gem 'mdl'
26+
gem 'json-schema'
27+
gem 'toml'
28+
end

Gemfile.lock

+157
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
Ascii85 (1.1.0)
5+
addressable (2.8.5)
6+
public_suffix (>= 2.0.2, < 6.0)
7+
afm (0.2.2)
8+
asciidoctor (2.0.20)
9+
async (2.6.3)
10+
console (~> 1.10)
11+
fiber-annotation
12+
io-event (~> 1.1)
13+
timers (~> 4.1)
14+
chef-utils (18.2.7)
15+
concurrent-ruby
16+
colorator (1.1.0)
17+
concurrent-ruby (1.2.2)
18+
console (1.23.2)
19+
fiber-annotation
20+
fiber-local
21+
em-websocket (0.5.3)
22+
eventmachine (>= 0.12.9)
23+
http_parser.rb (~> 0)
24+
ethon (0.16.0)
25+
ffi (>= 1.15.0)
26+
eventmachine (1.2.7)
27+
ffi (1.15.5)
28+
fiber-annotation (0.2.0)
29+
fiber-local (1.0.0)
30+
forwardable-extended (2.6.0)
31+
google-protobuf (3.24.0-x86_64-linux)
32+
hashery (2.1.2)
33+
html-proofer (5.0.8)
34+
addressable (~> 2.3)
35+
async (~> 2.1)
36+
nokogiri (~> 1.13)
37+
pdf-reader (~> 2.11)
38+
rainbow (~> 3.0)
39+
typhoeus (~> 1.3)
40+
yell (~> 2.0)
41+
zeitwerk (~> 2.5)
42+
http_parser.rb (0.8.0)
43+
i18n (1.14.1)
44+
concurrent-ruby (~> 1.0)
45+
io-event (1.2.3)
46+
jekyll (4.3.2)
47+
addressable (~> 2.4)
48+
colorator (~> 1.0)
49+
em-websocket (~> 0.5)
50+
i18n (~> 1.0)
51+
jekyll-sass-converter (>= 2.0, < 4.0)
52+
jekyll-watch (~> 2.0)
53+
kramdown (~> 2.3, >= 2.3.1)
54+
kramdown-parser-gfm (~> 1.0)
55+
liquid (~> 4.0)
56+
mercenary (>= 0.3.6, < 0.5)
57+
pathutil (~> 0.9)
58+
rouge (>= 3.0, < 5.0)
59+
safe_yaml (~> 1.0)
60+
terminal-table (>= 1.8, < 4.0)
61+
webrick (~> 1.7)
62+
jekyll-asciidoc (3.0.0)
63+
asciidoctor (>= 1.5.0)
64+
jekyll (>= 3.0.0)
65+
jekyll-feed (0.17.0)
66+
jekyll (>= 3.7, < 5.0)
67+
jekyll-redirect-from (0.16.0)
68+
jekyll (>= 3.3, < 5.0)
69+
jekyll-sass-converter (3.0.0)
70+
sass-embedded (~> 1.54)
71+
jekyll-seo-tag (2.8.0)
72+
jekyll (>= 3.8, < 5.0)
73+
jekyll-watch (2.2.1)
74+
listen (~> 3.0)
75+
json-schema (4.0.0)
76+
addressable (>= 2.8)
77+
just-the-docs (0.5.4)
78+
jekyll (>= 3.8.5)
79+
jekyll-seo-tag (>= 2.0)
80+
rake (>= 12.3.1)
81+
kramdown (2.4.0)
82+
rexml
83+
kramdown-parser-gfm (1.1.0)
84+
kramdown (~> 2.0)
85+
liquid (4.0.4)
86+
listen (3.8.0)
87+
rb-fsevent (~> 0.10, >= 0.10.3)
88+
rb-inotify (~> 0.9, >= 0.9.10)
89+
mdl (0.12.0)
90+
kramdown (~> 2.3)
91+
kramdown-parser-gfm (~> 1.1)
92+
mixlib-cli (~> 2.1, >= 2.1.1)
93+
mixlib-config (>= 2.2.1, < 4)
94+
mixlib-shellout
95+
mercenary (0.4.0)
96+
mixlib-cli (2.1.8)
97+
mixlib-config (3.0.27)
98+
tomlrb
99+
mixlib-shellout (3.2.7)
100+
chef-utils
101+
nokogiri (1.15.4-x86_64-linux)
102+
racc (~> 1.4)
103+
parslet (2.0.0)
104+
pathutil (0.16.2)
105+
forwardable-extended (~> 2.6)
106+
pdf-reader (2.11.0)
107+
Ascii85 (~> 1.0)
108+
afm (~> 0.2.1)
109+
hashery (~> 2.0)
110+
ruby-rc4
111+
ttfunk
112+
public_suffix (5.0.3)
113+
racc (1.7.1)
114+
rainbow (3.1.1)
115+
rake (13.0.6)
116+
rb-fsevent (0.11.2)
117+
rb-inotify (0.10.1)
118+
ffi (~> 1.0)
119+
rexml (3.2.6)
120+
rouge (4.1.3)
121+
ruby-rc4 (0.1.5)
122+
safe_yaml (1.0.5)
123+
sass-embedded (1.64.2-x86_64-linux-gnu)
124+
google-protobuf (~> 3.23)
125+
terminal-table (3.0.2)
126+
unicode-display_width (>= 1.1.1, < 3)
127+
timers (4.3.5)
128+
toml (0.3.0)
129+
parslet (>= 1.8.0, < 3.0.0)
130+
tomlrb (2.0.3)
131+
ttfunk (1.7.0)
132+
typhoeus (1.4.0)
133+
ethon (>= 0.9.0)
134+
unicode-display_width (2.4.2)
135+
webrick (1.8.1)
136+
yell (2.2.2)
137+
zeitwerk (2.6.11)
138+
139+
PLATFORMS
140+
x86_64-linux
141+
142+
DEPENDENCIES
143+
html-proofer
144+
jekyll (~> 4.3.2)
145+
jekyll-asciidoc (~> 3.0.0)
146+
jekyll-feed (~> 0.12)
147+
jekyll-redirect-from
148+
json-schema
149+
just-the-docs
150+
mdl
151+
toml
152+
153+
RUBY VERSION
154+
ruby 3.2.2p53
155+
156+
BUNDLED WITH
157+
2.4.18

README.adoc

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22

33
This documentation is currently hosted at https://bitcoincore.academy[bitcoincore.academy] however this location may be subject to change in the future.
44

5-
See https://github.com/chaincodelabs/onboarding-to-bitcoin-core/blob/master/asciidoc_workflow.adoc[asciidoc_workflow.adoc] for tips on contributing and instructions for running locally.
5+
See https://github.com/chaincodelabs/onboarding-to-bitcoin-core/blob/master/asciidoc_workflow.adoc[asciidoc_workflow.adoc]
6+
and https://github.com/chaincodelabs/onboarding-to-bitcoin-core/blob/master/jekyll_workflow.md[jekyll_workflow.md] for tips on contributing and instructions for running locally.

_config.yml

+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Welcome to Jekyll!
2+
#
3+
# This config file is meant for settings that affect your whole blog, values
4+
# which you are expected to set up once and rarely edit after that. If you find
5+
# yourself editing this file very often, consider using Jekyll's data files
6+
# feature for the data you need to update frequently.
7+
#
8+
# For technical reasons, this file is *NOT* reloaded automatically when you use
9+
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
10+
#
11+
# If you need help with YAML syntax, here are some quick references for you:
12+
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
13+
# https://learnxinyminutes.com/docs/yaml/
14+
#
15+
# Site settings
16+
# These are used to personalize your new site. If you look in the HTML files,
17+
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
18+
# You can create any custom variable you would like, and they will be accessible
19+
# in the templates via {{ site.myvariable }}.
20+
21+
title: Bitcoin Core Onboarding
22+
23+
description: >- # this means to ignore newlines until "baseurl:"
24+
Write an awesome description for your new site here. You can edit this
25+
line in _config.yml. It will appear in your document head meta (for
26+
Google search results) and in your feed.xml site description.
27+
baseurl: "" # the subpath of your site, e.g. /blog
28+
url: "https://bitcoincore.wtf" # the base hostname & protocol for your site, e.g. http://example.com
29+
#twitter_username: jekyllrb
30+
#github_username: jekyll
31+
32+
# Build settings
33+
theme: just-the-docs
34+
plugins:
35+
- jekyll-feed
36+
37+
asciidoctor:
38+
attributes:
39+
imagesdir: images
40+
41+
# Footer "Edit this page on GitHub" link text
42+
gh_edit_link: true # show or hide edit this page link
43+
gh_edit_link_text: "Edit this page on GitHub."
44+
gh_edit_repository: "https://github.com/just-the-docs/just-the-docs" # the github URL for your repo
45+
gh_edit_repository: "https://github.com/bitcoin-dev-project/onboarding-to-bitcoin-core" # the github URL for your repo
46+
gh_edit_branch: "2023-08-jekyllify" # the branch that your docs is served from
47+
# gh_edit_source: docs # the source that your files originate from
48+
gh_edit_view_mode: "edit" # "tree" or "edit" if you want the user to jump into the editor immediately
49+
50+
51+
# Exclude from processing.
52+
# The following items will not be processed, by default.
53+
# Any item listed under the `exclude:` key here will be automatically added to
54+
# the internal "default list".
55+
#
56+
# Excluded items can be processed by explicitly listing the directories or
57+
# their entries' file path in the `include:` list.
58+
#
59+
# exclude:
60+
# - .sass-cache/
61+
# - .jekyll-cache/
62+
# - gemfiles/
63+
# - Gemfile
64+
# - Gemfile.lock
65+
# - node_modules/
66+
# - vendor/bundle/
67+
# - vendor/cache/
68+
# - vendor/gems/
69+
# - vendor/ruby/
70+
exclude:
71+
- README.adoc
72+
- asciidoc_workflow.adoc
73+
- jekyll_workflow.md
74+
- old.index.adoc
75+
- 01_overview-and-development.adoc
76+
- 02_architecture.adoc
77+
- 03_consensus-and-validation.adoc
78+
- 04_wallet.adoc
79+
- 05_gui.adoc
80+
- 06_p2p.adoc
81+
- 07_mempool.adoc
82+
- 08_script.adoc
83+
- 09_build-system.adoc
84+
- 10_rpc.adoc
85+
- Gemfile
86+
- Gemfile.lock
87+
- Makefile
88+
- mermaid-config.json

jekyll_workflow.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Jekyll workflow and deployment
2+
3+
Although the documentation is written in asciidoc, it can also be
4+
deployed as a website using the the Jekyll static site generator.
5+
The Jekyll version creates one page for each group of related subjects,
6+
over 100 pages in total.
7+
8+
Operation of Jekyll has been wrapped in a Makefile for convenience:
9+
10+
- `make build` will build the site and all assets into the `_site`
11+
directory for hosting
12+
13+
- `make preview` will build the site and run a preview on a lightweight
14+
HTTP server on the port printed on the command line
15+
16+
- `make all` will build the site and run a number of tests. It is
17+
recommended to do this before publishing
18+
19+
- `make clean` will clean up files generated by the build process
20+
21+
Jekyll and the build process both use asciidoctor, so you need all the
22+
same depedencies for adoc building plus the Jekyll depedencies and GNU
23+
make. To simplify replication of this process a `Containerfile` is
24+
provided in the repository. It should be compatible with the `docker`
25+
command although it was developed with the entirely free software
26+
`podman` command. An example use:
27+
28+
```
29+
REPO=~/repos/onboarding-to-bitcoin-core/
30+
podman build -v $REPO:/srv/ -t guide $REPO
31+
id=$( podman run --cap-add NET_ADMIN --cap-add NET_RAW --detach -v $REPO:/srv/ -p 0.0.0.0:8080:4000 -it localhost/guide:latest )
32+
podman attach $id
33+
```
34+
35+
36+

0 commit comments

Comments
 (0)