Skip to content

Update RSS feeds index page - 2025-11-13 20:30:19 UTC #343

Update RSS feeds index page - 2025-11-13 20:30:19 UTC

Update RSS feeds index page - 2025-11-13 20:30:19 UTC #343

Workflow file for this run

name: Deploy RSS Feeds to GitHub Pages
on:
push:
branches: [ main, master ]
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Create site structure
run: |
# Create the site directory structure
mkdir -p _site/feeds
# Copy index.html if it exists, otherwise create a basic one
if [ -f "index.html" ]; then
cp index.html _site/
else
cat > _site/index.html << 'EOF'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>RSS Feeds</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
max-width: 900px;
margin: 0 auto;
padding: 20px;
line-height: 1.6;
background-color: #f8f9fa;
}
.header {
text-align: center;
margin-bottom: 40px;
padding: 20px;
background: white;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.feed {
margin: 20px 0;
padding: 20px;
background: white;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.feed-title {
font-size: 1.3em;
font-weight: 600;
margin-bottom: 10px;
color: #2c3e50;
}
.feed-url a {
color: #3498db;
text-decoration: none;
}
.updated {
color: #95a5a6;
font-size: 0.9em;
text-align: center;
margin-top: 40px;
padding: 20px;
background: white;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
</style>
</head>
<body>
<div class="header">
<h1>🎯 RSS Feed Collection</h1>
</div>
<div class="feed">
<div class="feed-title">RSS Feeds</div>
<p>RSS feed files will appear here when uploaded.</p>
</div>
<div class="updated">
Last updated: $(date -u '+%Y-%m-%d %H:%M:%S UTC')
</div>
</body>
</html>
EOF
fi
# Copy all XML/RSS feed files to the feeds directory
if ls feeds/*.xml 1> /dev/null 2>&1; then
cp feeds/*.xml _site/feeds/
fi
if ls feeds/*.rss 1> /dev/null 2>&1; then
cp feeds/*.rss _site/feeds/
fi
# Copy any other feed files that might exist
if [ -d "feeds" ]; then
find feeds -type f \( -name "*.xml" -o -name "*.rss" -o -name "*.atom" -o -name "*.json" \) -exec cp {} _site/feeds/ \;
fi
# List what we're deploying
echo "Site contents:"
find _site -type f | sort
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
# 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@v4