Compare commits

..

3 Commits

Author SHA1 Message Date
Jekyll Converter
4ba63ae1cf Add comprehensive deployment setup
- Add simplified deployment workflow (deploy-simple.yml)
- Create detailed deployment guide with manual instructions
- Include automated deployment script
- Update project documentation

This provides both automated and manual deployment options
for the Jekyll site to web.resist.is
2025-08-26 23:13:51 -04:00
Jekyll Converter
85a627e1ab Add Gitea Action for automated Jekyll deployment
- Builds Jekyll site on push to main branch
- Backs up existing site before deployment
- Deploys to web.resist.is with proper permissions
- Includes verification and cleanup steps
2025-08-26 23:11:32 -04:00
Jekyll Converter
bee872301d Convert site to Jekyll
- Add Jekyll configuration (_config.yml)
- Create default layout with proper HTML structure
- Extract CSS to separate file (assets/css/main.css)
- Convert index.html to Jekyll format (index.md)
- Move image to assets directory
- Add Gemfile for Jekyll dependencies
- Backup original index.html

The site now uses Jekyll static site generator while maintaining
the same visual appearance and functionality as the original.
2025-08-26 22:48:31 -04:00
9 changed files with 367 additions and 0 deletions

View File

@ -0,0 +1,99 @@
name: Deploy Jekyll Site (Simple)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
types: [ closed ]
jobs:
deploy:
runs-on: ubuntu-latest
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged == true)
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true
- name: Install dependencies
run: |
gem install bundler
bundle install
- name: Build Jekyll site
run: |
bundle exec jekyll build
- name: Create deployment package
run: |
# Create deployment package
tar -czf site-deployment.tar.gz -C _site .
echo "Deployment package created: site-deployment.tar.gz"
echo "Package size: $(du -h site-deployment.tar.gz | cut -f1)"
- name: List deployment contents
run: |
echo "Contents of _site directory:"
find _site -type f | head -20
echo "Total files: $(find _site -type f | wc -l)"
- name: Upload deployment artifact
uses: actions/upload-artifact@v3
with:
name: jekyll-site
path: site-deployment.tar.gz
retention-days: 30
- name: Deployment Instructions
run: |
echo "=========================================="
echo "DEPLOYMENT INSTRUCTIONS"
echo "=========================================="
echo ""
echo "The Jekyll site has been built successfully!"
echo "To deploy to web.resist.is, follow these steps:"
echo ""
echo "1. Download the artifact 'jekyll-site' from this workflow run"
echo "2. Extract site-deployment.tar.gz"
echo "3. Connect to web.resist.is as resistbot user"
echo "4. Create backup: sudo cp -r /var/www/join.resist.is /var/backups/join.resist.is/backup-\$(date +%Y%m%d-%H%M%S)"
echo "5. Deploy files: sudo rsync -av --delete extracted-files/ /var/www/join.resist.is/"
echo "6. Set permissions: sudo chown -R www-data:www-data /var/www/join.resist.is"
echo "7. Set permissions: sudo chmod -R 755 /var/www/join.resist.is"
echo ""
echo "Or use the automated deployment script:"
echo "=========================================="
echo "#!/bin/bash"
echo "# Save this as deploy.sh and run on web.resist.is"
echo ""
echo "SITE_PATH=\"/var/www/join.resist.is\""
echo "BACKUP_DIR=\"/var/backups/join.resist.is/backup-\$(date +%Y%m%d-%H%M%S)\""
echo ""
echo "# Create backup"
echo "sudo mkdir -p /var/backups/join.resist.is"
echo "if [ -d \"\$SITE_PATH\" ]; then"
echo " sudo cp -r \"\$SITE_PATH\" \"\$BACKUP_DIR\""
echo " echo \"Backup created at \$BACKUP_DIR\""
echo "fi"
echo ""
echo "# Deploy new site"
echo "sudo mkdir -p \"\$SITE_PATH\""
echo "sudo tar -xzf site-deployment.tar.gz -C \"\$SITE_PATH\""
echo ""
echo "# Set permissions"
echo "sudo chown -R www-data:www-data \"\$SITE_PATH\""
echo "sudo chmod -R 755 \"\$SITE_PATH\""
echo "sudo find \"\$SITE_PATH\" -type f -exec chmod 644 {} \\;"
echo ""
echo "echo \"Deployment completed successfully!\""
echo "=========================================="

122
.gitea/workflows/deploy.yml Normal file
View File

@ -0,0 +1,122 @@
name: Deploy Jekyll Site
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
types: [ closed ]
jobs:
deploy:
runs-on: ubuntu-latest
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged == true)
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true
- name: Install dependencies
run: |
gem install bundler
bundle install
- name: Build Jekyll site
run: |
bundle exec jekyll build
- name: Prepare deployment files
run: |
# Create deployment package
tar -czf site-deployment.tar.gz -C _site .
- name: Deploy to web.resist.is
env:
DEPLOY_HOST: web.resist.is
DEPLOY_USER: resistbot
DEPLOY_PASS: ${{ secrets.DEPLOY_PASSWORD }}
SITE_PATH: /var/www/join.resist.is
run: |
# Install sshpass for password authentication
sudo apt-get update
sudo apt-get install -y sshpass rsync
# Create backup directory name with timestamp
BACKUP_DIR="backup-$(date +%Y%m%d-%H%M%S)"
# Create SSH config to disable host key checking (for automation)
mkdir -p ~/.ssh
echo "Host web.resist.is" >> ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
echo " UserKnownHostsFile /dev/null" >> ~/.ssh/config
# Create backup of existing site
echo "Creating backup of existing site..."
sshpass -p "$DEPLOY_PASS" ssh "$DEPLOY_USER@$DEPLOY_HOST" "
if [ -d '$SITE_PATH' ]; then
sudo mkdir -p /var/backups/join.resist.is
sudo cp -r '$SITE_PATH' '/var/backups/join.resist.is/$BACKUP_DIR'
echo 'Backup created at /var/backups/join.resist.is/$BACKUP_DIR'
else
echo 'No existing site found to backup'
fi
"
# Create site directory if it doesn't exist
echo "Preparing deployment directory..."
sshpass -p "$DEPLOY_PASS" ssh "$DEPLOY_USER@$DEPLOY_HOST" "
sudo mkdir -p '$SITE_PATH'
sudo chown -R $DEPLOY_USER:$DEPLOY_USER '$SITE_PATH'
"
# Deploy new site
echo "Deploying new Jekyll site..."
sshpass -p "$DEPLOY_PASS" rsync -avz --delete \
-e "ssh -o StrictHostKeyChecking=no" \
_site/ "$DEPLOY_USER@$DEPLOY_HOST:$SITE_PATH/"
# Set proper permissions
sshpass -p "$DEPLOY_PASS" ssh "$DEPLOY_USER@$DEPLOY_HOST" "
sudo chown -R www-data:www-data '$SITE_PATH'
sudo chmod -R 755 '$SITE_PATH'
sudo find '$SITE_PATH' -type f -exec chmod 644 {} \;
"
echo "Deployment completed successfully!"
echo "Site is now live at: https://join.resist.is"
echo "Backup location: /var/backups/join.resist.is/$BACKUP_DIR"
- name: Verify deployment
env:
DEPLOY_HOST: web.resist.is
DEPLOY_USER: resistbot
DEPLOY_PASS: ${{ secrets.DEPLOY_PASSWORD }}
SITE_PATH: /var/www/join.resist.is
run: |
# Verify the deployment by checking if index.html exists
echo "Verifying deployment..."
sshpass -p "$DEPLOY_PASS" ssh "$DEPLOY_USER@$DEPLOY_HOST" "
if [ -f '$SITE_PATH/index.html' ]; then
echo 'Deployment verification successful - index.html found'
echo 'File count in deployment:'
find '$SITE_PATH' -type f | wc -l
else
echo 'Deployment verification failed - index.html not found'
exit 1
fi
"
- name: Cleanup
run: |
# Remove deployment artifacts
rm -f site-deployment.tar.gz
echo "Cleanup completed"

25
Gemfile Normal file
View File

@ -0,0 +1,25 @@
source "https://rubygems.org"
gem "jekyll", "~> 4.4"
gem "minima", "~> 2.5"
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
gem "jekyll-sitemap"
gem "jekyll-seo-tag"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]

36
_config.yml Normal file
View File

@ -0,0 +1,36 @@
# Site settings
title: Resist
description: United Interwebs Department of Internautics - Bureau of Decentralized Resistance
baseurl: ""
url: ""
# Build settings
markdown: kramdown
highlighter: rouge
permalink: pretty
# Exclude files from processing
exclude:
- README.md
- LICENSE
- Gemfile
- Gemfile.lock
# Collections
collections:
posts:
output: true
# Defaults
defaults:
- scope:
path: ""
type: "pages"
values:
layout: "default"
- scope:
path: ""
type: "posts"
values:
layout: "post"

16
_layouts/default.html Normal file
View File

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% if page.title %}{{ page.title }} - {{ site.title }}{% else %}{{ site.title }}{% endif %}</title>
<meta name="description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
</head>
<body>
<div class="main-container">
{{ content }}
</div>
</body>
</html>

45
assets/css/main.css Normal file
View File

@ -0,0 +1,45 @@
/* Main styles for resist.is */
body {
background-color: black;
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
p {
color: white;
}
div {
max-width: 700px;
margin-left: auto;
margin-right: auto;
}
.main-container {
text-align: center;
}
.content-wrapper {
text-align: center;
}
.bold-text {
font-weight: bold;
margin: 0;
}
.no-margin {
margin: 0;
}
.link {
text-align: center;
color: royalblue;
text-decoration: none;
}
.link:hover {
text-decoration: underline;
}

BIN
assets/images/omegablk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

24
index.md Normal file
View File

@ -0,0 +1,24 @@
---
layout: default
title: Resist
description: United Interwebs Department of Internautics - Bureau of Decentralized Resistance
---
<div class="content-wrapper">
<img src="{{ '/assets/images/omegablk.png' | relative_url }}" alt="Omega Symbol">
<p class="bold-text">United Interwebs Department of Internautics:</p>
<p class="bold-text">Bureau of Decentralized Resistance</p>
<p class="no-margin">9 March 2025</p>
<p class="no-margin">For Immediate Release</p>
<p>Those we have elected to represent us and protect our constitution have failed us. Trump, alongside Musk and DOGE are ignoring the constitution and turning our country into a fascist oligarchy. Therefore, it falls to us, The People of the United States, to support and defend the constitution of the United States.</p>
<p>There is no more republican vs democrat, or liberal vs conservative. There is only the fascists and those that would stand against them.</p>
<p>This page serves as a gateway for new to the resistance. In the future there will be information on how to find and join various resistance groups. In the meantime, the Department of Internautics is openly recruiting and welcoming resisters of all backgrounds.</p>
<a href="https://bsky.app/profile/doi.timeto.resist.is" class="link">Find us on Bluesky</a><br>
<a href="https://matrix.to/#/#BureauOfDecentralizedResistance:weresist.is" class="link">Find us on Matrix</a>
</div>