Skip to content

Commit

Permalink
Merge branch 'master' of github.com:derbyjs/derby into racer-2
Browse files Browse the repository at this point in the history
  • Loading branch information
craigbeck committed Apr 9, 2024
2 parents 4b1c37b + 006e372 commit 98e36cf
Show file tree
Hide file tree
Showing 41 changed files with 3,427 additions and 6 deletions.
69 changes: 69 additions & 0 deletions .github/workflows/docs-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Based on https://github.com/actions/starter-workflows/blob/main/pages/jekyll.yml
name: Build Jekyll site, Deploy to Pages when on default branch

env:
DOCS_DIR: docs

on:
# Run workflow on any branch push.
# Conditionals are used to only trigger deploy on the default branch.
push:
# Uncomment to only run on specific branch pushes.
# branches: ["master"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment per branch, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow the deployments to complete.
concurrency:
group: "pages-${{ github.ref }}"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@8575951200e472d5f2d95c625da0c7bec8217c42 # v1.161.0
with:
ruby-version: '3.2' # Not needed with a .ruby-version file
working-directory: ${{ env.DOCS_DIR }}
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# cache-version: 0 # Increment this number if the cache gets corrupted and you need to force-update cached gems
- name: Setup Pages
id: pages
uses: actions/configure-pages@v4
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: cd $DOCS_DIR && bundle install && bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Upload artifact
if: github.ref == 'refs/heads/master' # Only upload when on default branch
uses: actions/upload-pages-artifact@v3
with:
# Default path is './_site'.
path: "./${{ env.DOCS_DIR }}/_site"

# Deployment job
deploy:
if: github.ref == 'refs/heads/master' # Only deploy when on default branch
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
5 changes: 5 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
_site
.sass-cache
.jekyll-cache
.jekyll-metadata
vendor
25 changes: 25 additions & 0 deletions docs/404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
permalink: /404.html
layout: default
---

<style type="text/css" media="screen">
.container {
margin: 10px auto;
max-width: 600px;
text-align: center;
}
h1 {
margin: 30px 0;
font-size: 4em;
line-height: 1;
letter-spacing: -1px;
}
</style>

<div class="container">
<h1>404</h1>

<p><strong>Page not found :(</strong></p>
<p>The requested page could not be found.</p>
</div>
43 changes: 43 additions & 0 deletions docs/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.3.2"

# Theme
gem "just-the-docs", "0.7.0"
# gem "minima", "~> 2.5" # This is the default theme for new Jekyll sites.

# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# Latest GH Pages versions are here - https://pages.github.com/versions/
# gem "github-pages", "~> 228", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
# gem "jekyll-remote-theme"
end

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]

# Lock jekyll-sass-converter to v2.
# This lock can be removed when upgrading from Ruby 2.7 to Ruby 3.
# https://github.com/jekyll/jekyll/pull/9225#issuecomment-1363894633
gem "jekyll-sass-converter", "~> 2.0"
88 changes: 88 additions & 0 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
colorator (1.1.0)
concurrent-ruby (1.2.2)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.16.3)
forwardable-extended (2.6.0)
http_parser.rb (0.8.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
jekyll (4.3.2)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0)
jekyll-include-cache (0.2.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.2.0)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
just-the-docs (0.7.0)
jekyll (>= 3.8.5)
jekyll-include-cache
jekyll-seo-tag (>= 2.0)
rake (>= 12.3.1)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.4)
rake (13.1.0)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.6)
rouge (4.2.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.5.0)
webrick (1.8.1)

PLATFORMS
ruby

DEPENDENCIES
http_parser.rb (~> 0.6.0)
jekyll (~> 4.3.2)
jekyll-feed (~> 0.12)
jekyll-sass-converter (~> 2.0)
just-the-docs (= 0.7.0)
tzinfo (>= 1, < 3)
tzinfo-data
wdm (~> 0.1.1)

BUNDLED WITH
2.1.4
44 changes: 44 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
These docs are built with Jekyll and served on GitHub Pages.

# Locally building and viewing docs

Jekyll has a dev server, which will auto-build the docs upon any changes to the source Markdown files. Only changes to `_config.yml` require a dev server restart.

## With local Ruby

Setup:

```
cd derby-docs && bundle install
```

Run the dev server:

```
bundle exec jekyll serve
```

The site is viewable at `http://localhost:4000/`.

## With Ruby in Docker container

One-time container creation:

```
docker run --name derby-docs-ruby -v "$(pwd)/docs:/derby-docs" -p 127.0.0.1:4000:4000 ruby:2.7 bash -c 'cd derby-docs && bundle install && bundle exec jekyll serve -H 0.0.0.0 -P 4000 --trace'
```

The site is viewable at `http://localhost:4000/`.

Explanation of flags:
* `-v` - Set up a Docker bind mount, mapping the host's `$PWD/docs` directory to a container directory `/derby-docs`.
* `-p` - Map the host's local port 4000 to the container's port 4000, to allow the dev server inside the container to serve requests issued against the host.
* `-H 0.0.0.0 -P 4000` - Have the dev server listen to connections from outside the container. This won't allow connections from outside the host.

Subsequently, to run the dev server:

```
docker start -i derby-docs-ruby
```

To recreate the container with a different command or setup, run `docker rm derby-docs-ruby` to delete the container first.
75 changes: 75 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
#
# If you need help with YAML syntax, here are some quick references for you:
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
# https://learnxinyminutes.com/docs/yaml/
#
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: DerbyJS Docs
baseurl: "/derby" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
repository: derbyjs/derby

aux_links:
"DerbyJS on GitHub":
- "//github.com/derbyjs/derby"

# Footer "Edit this page on GitHub" link text
gh_edit_link: true # show or hide edit this page link
gh_edit_link_text: "Edit this page on GitHub"
gh_edit_repository: "https://github.com/derbyjs/derby" # the github URL for your repo
gh_edit_branch: "master" # the branch that your docs is served from
gh_edit_source: "docs" # the source that your files originate from
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately

# Build settings
markdown: kramdown
# remote_theme: just-the-docs/just-the-docs
theme: just-the-docs
permalink: /:path/:name

# Front matter defaults
defaults:
-
scope:
path: "" # an empty string here means all files in the project
type: "pages"
values:
render_with_liquid: false
-
scope:
path: "assets" # an empty string here means all files in the project
values:
render_with_liquid: true

# Exclude from processing.
# The following items will not be processed, by default.
# Any item listed under the `exclude:` key here will be automatically added to
# the internal "default list".
#
# Excluded items can be processed by explicitly listing the directories or
# their entries' file path in the `include:` list.
#
# exclude:
# - .sass-cache/
# - .jekyll-cache/
# - gemfiles/
# - Gemfile
# - Gemfile.lock
# - node_modules/
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
37 changes: 37 additions & 0 deletions docs/_sass/custom.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/**
* Add call-out support: https://github.com/pmarsceill/just-the-docs/issues/171#issuecomment-538794741
*/
$callouts: (
info: ($blue-300, rgba($blue-000, .2), 'Note'),
warn: ($yellow-300, rgba($yellow-000, .2), 'Note'),
danger: ($red-300, rgba($red-000, .2), 'Note')
);

@each $class, $props in $callouts {
.#{$class} {
background: nth($props, 2);
border-left: $border-radius solid nth($props, 1);
border-radius: $border-radius;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
padding: .8rem;

&::before {
color: nth($props, 1);
content: nth($props, 3);
display: block;
font-weight: bold;
font-size: .75em;
padding-bottom: .125rem;
}

br {
content: '';
display: block;
margin-top: .5rem;
}
}
}

.label-grey {
background: rgba($grey-dk-000, 1);
}
Loading

0 comments on commit 98e36cf

Please sign in to comment.