Skip to content

Commit 82e245e

Browse files
committed
Remove illustrations directory from assets/images
1 parent a26a2c8 commit 82e245e

File tree

5 files changed

+211
-2
lines changed

5 files changed

+211
-2
lines changed

check-gh-pages.sh

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#!/bin/bash
2+
3+
# Script to check GitHub Pages deployment status
4+
5+
# Colors for output
6+
GREEN='\033[0;32m'
7+
YELLOW='\033[1;33m'
8+
RED='\033[0;31m'
9+
NC='\033[0m' # No Color
10+
11+
echo -e "${YELLOW}Checking GitHub Pages deployment status...${NC}"
12+
13+
# Get the repository name from git config
14+
REPO_URL=$(git config --get remote.origin.url)
15+
REPO_NAME=$(basename -s .git "$REPO_URL")
16+
ORG_NAME=$(echo "$REPO_URL" | sed -n 's/.*github.com[:/]\([^/]*\).*/\1/p')
17+
18+
if [ -z "$ORG_NAME" ] || [ -z "$REPO_NAME" ]; then
19+
echo -e "${RED}Could not determine repository information.${NC}"
20+
exit 1
21+
fi
22+
23+
echo -e "Organization: ${GREEN}$ORG_NAME${NC}"
24+
echo -e "Repository: ${GREEN}$REPO_NAME${NC}"
25+
26+
# Check if GitHub Pages is enabled
27+
echo -e "\n${YELLOW}GitHub Pages URLs to check:${NC}"
28+
echo -e "1. Organization site: ${GREEN}https://$ORG_NAME.github.io/${NC}"
29+
echo -e "2. Project site: ${GREEN}https://$ORG_NAME.github.io/$REPO_NAME/${NC}"
30+
31+
# Check for CNAME file
32+
if [ -f "www/CNAME" ]; then
33+
CUSTOM_DOMAIN=$(cat www/CNAME)
34+
echo -e "3. Custom domain: ${GREEN}https://$CUSTOM_DOMAIN${NC}"
35+
fi
36+
37+
echo -e "\n${YELLOW}Configuration files:${NC}"
38+
39+
# Check _config.yml
40+
if [ -f "www/_config.yml" ]; then
41+
echo -e "${GREEN}www/_config.yml exists${NC}"
42+
echo -e "baseurl: $(grep "^baseurl:" www/_config.yml)"
43+
echo -e "url: $(grep "^url:" www/_config.yml)"
44+
else
45+
echo -e "${RED}www/_config.yml not found${NC}"
46+
fi
47+
48+
# Check for .nojekyll
49+
if [ -f "www/.nojekyll" ]; then
50+
echo -e "${GREEN}www/.nojekyll exists${NC}"
51+
else
52+
echo -e "${RED}www/.nojekyll not found${NC}"
53+
fi
54+
55+
# Check for GitHub workflow file
56+
if [ -f ".github/workflows/jekyll-gh-pages.yml" ]; then
57+
echo -e "${GREEN}.github/workflows/jekyll-gh-pages.yml exists${NC}"
58+
else
59+
echo -e "${RED}GitHub Actions workflow file not found${NC}"
60+
fi
61+
62+
echo -e "\n${YELLOW}Next steps:${NC}"
63+
echo -e "1. Check GitHub Actions tab for workflow status"
64+
echo -e "2. Review 'github-pages-setup.md' for detailed configuration instructions"
65+
echo -e "3. If using a custom domain, verify DNS settings"
66+
67+
echo -e "\n${GREEN}Done!${NC}"

index.html echo -e

Whitespace-only changes.

www/Gemfile.lock

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,12 +258,13 @@ PLATFORMS
258258
ruby
259259

260260
DEPENDENCIES
261+
ffi (>= 1.15.5)
261262
github-pages
262263
http_parser.rb (~> 0.6.0)
263-
tzinfo (~> 1.2)
264+
tzinfo (~> 2.0)
264265
tzinfo-data
265266
wdm (~> 0.1.1)
266-
webrick (~> 1.7)
267+
webrick (~> 1.8)
267268

268269
BUNDLED WITH
269270
1.17.2

www/assets/images/safari-pinned-tab.svg

Loading

www/generate-favicon.js

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
const fs = require('fs');
2+
const { createCanvas } = require('canvas');
3+
4+
// Create apple-touch-icon.png (180x180)
5+
function createAppleTouchIcon() {
6+
const canvas = createCanvas(180, 180);
7+
const ctx = canvas.getContext('2d');
8+
9+
// Create gradient background
10+
const gradient = ctx.createLinearGradient(0, 0, 180, 180);
11+
gradient.addColorStop(0, '#2563eb');
12+
gradient.addColorStop(1, '#1d4ed8');
13+
14+
// Draw rounded rectangle background
15+
ctx.fillStyle = gradient;
16+
roundRect(ctx, 0, 0, 180, 180, 28);
17+
ctx.fill();
18+
19+
// Draw IP text
20+
ctx.fillStyle = '#ffffff';
21+
ctx.font = 'bold 60px Arial, sans-serif';
22+
ctx.textAlign = 'center';
23+
ctx.textBaseline = 'middle';
24+
ctx.fillText('IP', 90, 90);
25+
26+
// Save the image
27+
const buffer = canvas.toBuffer('image/png');
28+
fs.writeFileSync('www/assets/images/apple-touch-icon.png', buffer);
29+
console.log('Created apple-touch-icon.png');
30+
}
31+
32+
// Create android-chrome-192x192.png
33+
function createAndroidChrome192() {
34+
const canvas = createCanvas(192, 192);
35+
const ctx = canvas.getContext('2d');
36+
37+
// Create gradient background
38+
const gradient = ctx.createLinearGradient(0, 0, 192, 192);
39+
gradient.addColorStop(0, '#2563eb');
40+
gradient.addColorStop(1, '#1d4ed8');
41+
42+
// Draw rounded rectangle background
43+
ctx.fillStyle = gradient;
44+
roundRect(ctx, 0, 0, 192, 192, 30);
45+
ctx.fill();
46+
47+
// Draw IP text
48+
ctx.fillStyle = '#ffffff';
49+
ctx.font = 'bold 64px Arial, sans-serif';
50+
ctx.textAlign = 'center';
51+
ctx.textBaseline = 'middle';
52+
ctx.fillText('IP', 96, 96);
53+
54+
// Save the image
55+
const buffer = canvas.toBuffer('image/png');
56+
fs.writeFileSync('www/assets/images/android-chrome-192x192.png', buffer);
57+
console.log('Created android-chrome-192x192.png');
58+
}
59+
60+
// Create android-chrome-512x512.png
61+
function createAndroidChrome512() {
62+
const canvas = createCanvas(512, 512);
63+
const ctx = canvas.getContext('2d');
64+
65+
// Create gradient background
66+
const gradient = ctx.createLinearGradient(0, 0, 512, 512);
67+
gradient.addColorStop(0, '#2563eb');
68+
gradient.addColorStop(1, '#1d4ed8');
69+
70+
// Draw rounded rectangle background
71+
ctx.fillStyle = gradient;
72+
roundRect(ctx, 0, 0, 512, 512, 80);
73+
ctx.fill();
74+
75+
// Draw grid pattern
76+
ctx.fillStyle = 'rgba(255, 255, 255, 0.15)';
77+
for (let x = 0; x < 4; x++) {
78+
for (let y = 0; y < 4; y++) {
79+
roundRect(ctx, 96 + x * 48, 96 + y * 48, 32, 32, 4);
80+
ctx.fill();
81+
}
82+
}
83+
84+
// Draw lock body
85+
ctx.fillStyle = '#ffffff';
86+
roundRect(ctx, 288, 192, 128, 160, 16);
87+
ctx.fill();
88+
89+
// Draw lock shackle
90+
ctx.strokeStyle = '#ffffff';
91+
ctx.lineWidth = 24;
92+
ctx.lineCap = 'round';
93+
ctx.beginPath();
94+
ctx.moveTo(320, 192);
95+
ctx.lineTo(320, 144);
96+
ctx.arc(352, 144, 32, Math.PI, 0, false);
97+
ctx.lineTo(384, 192);
98+
ctx.stroke();
99+
100+
// Draw lock keyhole
101+
ctx.fillStyle = gradient;
102+
roundRect(ctx, 312, 232, 80, 80, 8);
103+
ctx.fill();
104+
105+
// Draw IP text
106+
ctx.fillStyle = '#ffffff';
107+
ctx.font = 'bold 120px Arial, sans-serif';
108+
ctx.textAlign = 'left';
109+
ctx.textBaseline = 'alphabetic';
110+
ctx.fillText('IP', 112, 352);
111+
112+
// Save the image
113+
const buffer = canvas.toBuffer('image/png');
114+
fs.writeFileSync('www/assets/images/android-chrome-512x512.png', buffer);
115+
console.log('Created android-chrome-512x512.png');
116+
}
117+
118+
// Helper function to draw rounded rectangles
119+
function roundRect(ctx, x, y, width, height, radius) {
120+
if (typeof radius === 'undefined') {
121+
radius = 5;
122+
}
123+
ctx.beginPath();
124+
ctx.moveTo(x + radius, y);
125+
ctx.lineTo(x + width - radius, y);
126+
ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
127+
ctx.lineTo(x + width, y + height - radius);
128+
ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
129+
ctx.lineTo(x + radius, y + height);
130+
ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
131+
ctx.lineTo(x, y + radius);
132+
ctx.quadraticCurveTo(x, y, x + radius, y);
133+
ctx.closePath();
134+
}
135+
136+
// Generate all icons
137+
createAppleTouchIcon();
138+
createAndroidChrome192();
139+
createAndroidChrome512();
140+
141+
console.log('Favicon generation complete!');

0 commit comments

Comments
 (0)