Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 11 additions & 29 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,41 +14,23 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Ruby
uses: ruby/setup-ruby@v1
- name: Setup Python
uses: actions/setup-python@v5
with:
ruby-version: "3.3"
bundler-cache: true
python-version: "3.12"
cache: pip

- name: Build Jekyll
run: bundle exec jekyll build --baseurl ""
env:
JEKYLL_ENV: production
- name: Install dependencies
run: pip install -r requirements.txt

- name: Check for broken internal links
run: |
echo "Checking for broken internal links..."
ERRORS=0
for link in $(grep -roh 'href="/[^"]*"' _site/ --include="*.html" | sed 's/href="//;s/"$//' | sort -u); do
CLEAN_LINK=$(echo "$link" | sed 's/#.*//' | sed 's|/$||')
if [ -z "$CLEAN_LINK" ]; then continue; fi
if [ ! -f "_site${CLEAN_LINK}.html" ] && [ ! -f "_site${CLEAN_LINK}/index.html" ] && [ ! -f "_site${CLEAN_LINK}" ]; then
echo "::warning::Broken link: $link"
ERRORS=$((ERRORS + 1))
fi
done
if [ "$ERRORS" -gt 0 ]; then
echo "::warning::Found $ERRORS potentially broken internal links"
else
echo "All internal links valid."
fi
- name: Build MkDocs (strict)
run: mkdocs build --strict

- name: Validate HTML structure
- name: Validate output
run: |
echo "Checking generated HTML files..."
HTML_COUNT=$(find _site -name "*.html" | wc -l)
HTML_COUNT=$(find site -name "*.html" | wc -l)
echo "Generated $HTML_COUNT HTML files"
if [ "$HTML_COUNT" -eq 0 ]; then
echo "::error::No HTML files generated — build may have failed silently"
echo "::error::No HTML files generated"
exit 1
fi
31 changes: 10 additions & 21 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,33 +24,22 @@ jobs:
- name: Setup Pages
uses: actions/configure-pages@v5

- name: Setup Ruby
uses: ruby/setup-ruby@v1
- name: Setup Python
uses: actions/setup-python@v5
with:
ruby-version: "3.3"
bundler-cache: true
python-version: "3.12"
cache: pip

- name: Build Jekyll
run: bundle exec jekyll build --baseurl ""
env:
JEKYLL_ENV: production
- name: Install dependencies
run: pip install -r requirements.txt

- name: Verify no inline scripts in output
run: |
echo "Checking for inline script injection in generated HTML..."
FOUND=$(grep -rn '<script[^>]*>[^<]' _site/ --include="*.html" \
| grep -v 'src=' \
| grep -v 'jtd.onReady' \
| grep -v 'initSearch' \
| grep -v '"baseurl"' \
|| true)
if [ -n "$FOUND" ]; then
echo "::warning::Unexpected inline scripts detected in generated HTML:"
echo "$FOUND"
fi
- name: Build MkDocs
run: mkdocs build --strict

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: site/

deploy:
environment:
Expand Down
9 changes: 0 additions & 9 deletions Gemfile

This file was deleted.

247 changes: 0 additions & 247 deletions Gemfile.lock

This file was deleted.

Loading
Loading