Skip to content

Commit

Permalink
Merge pull request #262 from mgroeber9110/master
Browse files Browse the repository at this point in the history
Generate documentation on Github Pages with Jekyll and just-the-docs
  • Loading branch information
bluewaysw authored Nov 17, 2023
2 parents 16866b0 + ab166a3 commit 9214764
Show file tree
Hide file tree
Showing 6 changed files with 334 additions and 11 deletions.
73 changes: 73 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages

on:
push:
branches: ["master"]
paths:
- "TechDocs/Markdown/**"

# 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 one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

jobs:
# Build job
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: TechDocs/Markdown
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
bundler-cache: true
cache-version: 0 # Increment this number if you need to re-download cached gems
working-directory: '${{ github.workspace }}/TechDocs/Markdown'
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --verbose --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
# For jekyll-github-metadata
JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PAGES_REPO_NWO: ${{ github.repository }}
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v1
with:
path: "TechDocs/Markdown/_site/"

# Deployment job
deploy:
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@v2
22 changes: 11 additions & 11 deletions TechDocs/Markdown/Concepts/cshapes.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ GrDrawArc(), GrFillArc()

An arc is a partial ellipse. An arc is defined in terms of its base ellipse, the
angle at which to start drawing the arc, and the angle at which to stop
drawing. Angles are counted in degrees counter-clockwise with 0°
drawing. Angles are counted in degrees counter-clockwise with 0
corresponding to the positive x axis (i.e., "3 o'clock").

![](Art/figure_24-5.png)
Expand Down Expand Up @@ -267,23 +267,23 @@ where speed is a top priority.
To find out whether a given point falls within a polygon, call
**GrTestPointInPolygon()**.

#### 24.2.9 Bézier Curves and Splines
#### 24.2.9 Bézier Curves and Splines

GrDrawCurve(), GrDrawCurveTo(), GrDrawSpline(),
GrDrawSplineTo(), GrDrawRelCurveTo()

Bézier curves are mathematical constructs which provide a cheap and easy
Bézier curves are mathematical constructs which provide a cheap and easy
way to define smooth curves in a manner that computers can understand.
There are other ways to define curves to computers, but the Bézier was
There are other ways to define curves to computers, but the Bézier was
chosen for the GEOS kernel because it is used in many standard font
description formats. Splines, as implemented in GEOS, are created by
drawing curves in sequence.

![](Art/figure_24-10.png)
**Figure 24-10** Splines and Bézier Curves
**Figure 24-10** Splines and Bézier Curves
_Curves and a spline, shown here with control points._

Bézier curves are defined in terms of four points. Two of these points are the
Bézier curves are defined in terms of four points. Two of these points are the
endpoints, known as anchor points. The other two points are known as
control points, one associated with each anchor point. The curve extends from
anchor point to anchor point. The line between an anchor point and its
Expand All @@ -294,7 +294,7 @@ anchor point. A control point at zero distance from its anchor point won't
affect the curve; if both control points are at zero distance from their anchors,
the result will be a straight line segment.

**GrDrawCurve()** draws a Bézier curve. It takes four points as arguments,
**GrDrawCurve()** draws a Bézier curve. It takes four points as arguments,
using the first and last as anchor points and the middle two as control points.
**GrDrawCurveTo()** draws a curve but uses the current pen position as the
first anchor point, setting the pen position to the second anchor point after
Expand All @@ -314,8 +314,8 @@ this function the array should start with the first control point, and there
should be 3n points passed.

![](Art/equation_24-1.png)
**Equation 24-1** Bézier Curve Equations
_Coordinates of the points of a Bézier curve can be expressed by parametric
**Equation 24-1** B�zier Curve Equations
_Coordinates of the points of a B�zier curve can be expressed by parametric
equations. The equation for both x and y is given in two forms here, one a
rearrangement of the other._

Expand Down Expand Up @@ -836,7 +836,7 @@ that the "T" and "o" are closer together than normal leading
would dictate. Do not confuse kerned pairs with ligatures. A
kerned pair just has strange spacing (e.g. "To" vs. "To"); a
ligature is a pair of characters which have been combined into
one (e.g. "¿" and "æ").
one (e.g. "" and "").

**Driver**
The font driver associated with the font, specified by a member
Expand Down Expand Up @@ -1178,7 +1178,7 @@ Figure 24-22.
![](Art/figure_24-22.png)
**Figure 24-22** Custom Hatch Patterns
_This simple hatch pattern is made up of three line families. The
measurements used to compute the 120° family are illustrated to the right.
measurements used to compute the 120 family are illustrated to the right.
Full measurements are shown below._
|Origin |DeltaX, DeltaY |Angle |numDash; Dashes |
|:------|:--------------|:-----|:---------------|
Expand Down
15 changes: 15 additions & 0 deletions TechDocs/Markdown/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
source 'https://rubygems.org'

gem "jekyll", "~> 4.3.2" # installed by `gem jekyll`
# gem "webrick" # required when using Ruby >= 3 and Jekyll <= 4.2.2

gem "just-the-docs", "0.7.0" # pinned to the current release
# gem "just-the-docs" # always download the latest release

group :jekyll_plugins do
gem "jekyll-github-metadata"
gem "jekyll-relative-links"
gem "jekyll-optional-front-matter"
gem "jekyll-titles-from-headings"
gem "jekyll-default-layout"
end
119 changes: 119 additions & 0 deletions TechDocs/Markdown/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
base64 (0.2.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)
faraday (2.7.11)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
ffi (1.15.5)
ffi (1.15.5-x64-mingw-ucrt)
forwardable-extended (2.6.0)
google-protobuf (3.24.3-arm64-darwin)
google-protobuf (3.24.3-x64-mingw-ucrt)
google-protobuf (3.24.3-x86_64-linux)
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-default-layout (0.1.5)
jekyll (>= 3.0, < 5.0)
jekyll-github-metadata (2.16.0)
jekyll (>= 3.4, < 5.0)
octokit (>= 4, < 7, != 4.4.0)
jekyll-include-cache (0.2.1)
jekyll (>= 3.7, < 5.0)
jekyll-optional-front-matter (0.3.2)
jekyll (>= 3.0, < 5.0)
jekyll-relative-links (0.7.0)
jekyll (>= 3.3, < 5.0)
jekyll-sass-converter (3.0.0)
sass-embedded (~> 1.54)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-titles-from-headings (0.5.3)
jekyll (>= 3.3, < 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)
octokit (6.1.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.3)
rake (13.0.6)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.6)
rouge (4.1.3)
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass-embedded (1.67.0-arm64-darwin)
google-protobuf (~> 3.23)
sass-embedded (1.67.0-x64-mingw-ucrt)
google-protobuf (~> 3.23)
sass-embedded (1.67.0-x86_64-linux-gnu)
google-protobuf (~> 3.23)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.4.2)
webrick (1.8.1)

PLATFORMS
arm64-darwin-23
x64-mingw-ucrt
x86_64-linux

DEPENDENCIES
jekyll (~> 4.3.2)
jekyll-default-layout
jekyll-github-metadata
jekyll-optional-front-matter
jekyll-relative-links
jekyll-titles-from-headings
just-the-docs (= 0.7.0)

BUNDLED WITH
2.3.26
98 changes: 98 additions & 0 deletions TechDocs/Markdown/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
theme: just-the-docs

# Footer "Edit this page on GitHub" link text
gh_edit_link: true
gh_edit_link_text: "Edit this page on GitHub."
gh_edit_repository: "https://github.com/bluewaysw/pcgeos"
gh_edit_branch: "master"
gh_edit_source: "TechDocs/Markdown"
gh_edit_view_mode: "tree"

# Jekyll plugins to simplify working with plain Markdown files
# (copied from default jekyll-build-pages action)
plugins:
- jekyll-github-metadata
- jekyll-relative-links
- jekyll-optional-front-matter
- jekyll-titles-from-headings
- jekyll-default-layout

github: [metadata]

defaults:
-
scope:
path: "" # all files
values:
# Turn off liquid rendering due to problems with {{...}} in code
render_with_liquid: false
-
scope:
path: "assets"
values:
# Turn liquid rendering back on for theme assets
render_with_liquid: true
-
scope:
path: ""
values:
has_children: true
-
scope:
path: "Asmref"
values:
parent: "Assembly Reference"
has_children: false
-
scope:
path: "Concepts"
values:
parent: "Concepts"
has_children: false
-
scope:
path: "Ddk"
values:
parent: "Driver Development"
has_children: false
-
scope:
path: "Esp"
values:
parent: "Esp"
has_children: false
-
scope:
path: "Objects"
values:
parent: "Objects"
has_children: false
-
scope:
path: "QuickRef"
values:
parent: "Quick Reference"
has_children: false
-
scope:
path: "Routines"
values:
parent: "Routines"
has_children: false
-
scope:
path: "Tools"
values:
parent: "Tools"
has_children: false
-
scope:
path: "Tutorial"
values:
parent: "Tutorial"
has_children: false
-
scope:
path: "index.md"
values:
has_children: false
Loading

0 comments on commit 9214764

Please sign in to comment.