Skip to content

chore: autogen pdf from md #14

chore: autogen pdf from md

chore: autogen pdf from md #14

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Start the docs server
run: |
npx live-server docs &
sleep 20
- name: Install dependencies
run: |
npm install puppeteer
- name: Install gowitness
run: |
sudo apt-get update
sudo apt-get install -y libnss3-tools wget
wget https://github.com/sensepost/gowitness/releases/download/2.5.1/gowitness-2.5.1-linux-amd64
mv gowitness-2.5.1-linux-amd64 gowitness
chmod +x gowitness
./gowitness
# - name: Generate URLs
# run: |
# node -e "
# const puppeteer = require('puppeteer');
# (async () => {
# const browser = await puppeteer.launch();
# const page = await browser.newPage();
# await page.goto('http://localhost:8080');
# const numberOfPages = await page.evaluate(() => {
# return document.querySelectorAll('.remark-slide').length;
# });
# const urls = Array.from({ length: numberOfPages }, (_, i) => \`http://localhost:8080/#\${i + 1}\`).join('\\n');
# require('fs').writeFileSync('urls.txt', urls);
# await browser.close();
# })();"
- name: Print Urls
run: |
cat urls.txt
- name: Run gowitness on URLs
run: |
./gowitness file -f urls.txt
- name: Install imagemagick
run: |
sudo apt-get install -y imagemagick
- name: Convert images to PDF
run: |
convert screenshots/*.png screenshots/output.pdf
echo "PDF created: screenshots/output.pdf"
- name: Upload PDF artifact
uses: actions/upload-artifact@v3
with:
name: slides-pdf
path: screenshots/output.pdf
- name: Print Actions run URL
run: |
echo "Download the artifact from: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"