Skip to content

Commit

Permalink
Merge pull request #2568 from davidhewitt/netlify-tweaks
Browse files Browse the repository at this point in the history
netlify: add banner back to internal docs
  • Loading branch information
messense committed Aug 20, 2022
2 parents c698067 + e0b7576 commit 5def1a0
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 11 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ jobs:
TAG_NAME="${GITHUB_REF##*/}"
echo "::set-output name=tag_name::${TAG_NAME}"
# Build some internal docs and inject a banner on top of it.
- name: Build the internal docs
run: cargo xtask doc --internal

- name: Clear the extra artefacts created earlier
run: rm -rf target

Expand Down
37 changes: 26 additions & 11 deletions .netlify/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,24 @@ set -uex

rustup default nightly

PYO3_VERSION=$(cargo search pyo3 --limit 1 | head -1 | tr -s ' ' | cut -d ' ' -f 3 | tr -d '"')
mkdir netlify_build

## Configure netlify _redirects file

# TODO: have some better system to automatically generate this on build rather
# than check this in to the repo
cp .netlify/_redirects netlify_build/

# Add latest redirect (proxy)
echo "/latest/* https://pyo3.rs/v${PYO3_VERSION}/:splat 200" >> netlify_build/_redirects

## Add landing page redirect
echo "<meta http-equiv=refresh content=0;url=v${PYO3_VERSION}/>" > netlify_build/index.html


## Build guide

# Install latest mdbook. Netlify will cache the cargo bin dir, so this will
# only build mdbook if needed.
MDBOOK_VERSION=$(cargo search mdbook --limit 1 | head -1 | tr -s ' ' | cut -d ' ' -f 3 | tr -d '"')
Expand All @@ -14,24 +32,21 @@ fi

pip install nox
nox -s build-guide
cargo xtask doc --internal

mkdir -p netlify_build/internal
mv target/doc netlify_build/internal/
mv target/guide netlify_build/main/

## Build public docs

cargo xtask doc
mv target/doc netlify_build/main/doc/

PYO3_VERSION=$(cargo search pyo3 --limit 1 | head -1 | tr -s ' ' | cut -d ' ' -f 3 | tr -d '"')
echo "<meta http-equiv=refresh content=0;url=v${PYO3_VERSION}/>" > netlify_build/index.html
## Build internal docs

# TODO: have some better system to automatically generate this on build rather
# than check this in to the repo
cp .netlify/_redirects netlify_build/
echo "<div class='internal-banner' style='position:fixed; z-index: 99999; color:red;border:3px solid red;margin-left: auto; margin-right: auto; width: 430px;left:0;right: 0;'><div style='display: flex; align-items: center; justify-content: center;'> ⚠️ Internal Docs ⚠️ Not Public API 👉 <a href='https://pyo3.rs/main/doc/pyo3/index.html' style='color:red;text-decoration:underline;'>Official Docs Here</a></div></div>" > netlify_build/banner.html
RUSTDOCFLAGS="--html-before-content netlify_build/banner.html" cargo xtask doc --internal
rm netlify_build/banner.html

# Add latest redirect
echo "/latest/* https://pyo3.rs/${PYO3_VERSION}/:splat 200" >> netlify_build/_redirects
mkdir -p netlify_build/internal
mv target/doc netlify_build/internal/

ls -l netlify_build/

Expand Down

0 comments on commit 5def1a0

Please sign in to comment.