Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update site list to sherlockproject.xyz/sites #2178

Merged
merged 1 commit into from
Jun 20, 2024
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
31 changes: 14 additions & 17 deletions .github/workflows/update-site-list.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: Update Site List
name: Update Site List

# Trigger the workflow when changes are pushed to the main branch
# and the changes include the sherlock/resources/data.json file
on:
push:
branches:
- master
- master
paths:
- sherlock/resources/data.json

Expand All @@ -26,24 +26,21 @@ jobs:
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
python-version: '3.x'

# Execute the site_list.py Python script
- name: Execute site-list.py
run: python devel/site-list.py

# Commit any changes made by the script
- name: Commit files
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
if ! git diff --exit-code; then
git commit -a -m "Updated Site List"
fi

# Push the changes to the remote repository
- name: Push changes
uses: ad-m/github-push-action@master
- name: Pushes to another repository
uses: cpina/github-action-push-to-another-repository@main
env:
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}
source-directory: 'output'
destination-github-username: 'sherlock-project'
commit-message: "Updated site list"
destination-repository-name: 'sherlockproject.xyz'
user-email: [email protected]
target-branch: master
11 changes: 8 additions & 3 deletions devel/site-list.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# This module generates the listing of supported sites which can be found in
# sites.md. It also organizes all the sites in alphanumeric order
import json
import os

# Read the data.json file
with open("sherlock/resources/data.json", "r", encoding="utf-8") as data_file:
Expand All @@ -14,13 +15,16 @@
# Sort the social networks in alphanumeric order
social_networks: list = sorted(social_networks.items())

# Make output dir where the site list will be written
os.mkdir("output")

# Write the list of supported sites to sites.md
with open("../sites.md", "w") as site_file:
site_file.write(f"## List Of Supported Sites ({len(social_networks)} Sites In Total!)\n")
with open("output/sites.mdx", "w") as site_file:
site_file.write(f"---\ntitle: 'List of supported sites'\nsidebarTitle: 'Supported sites'\nicon: 'globe'\ndescription: 'Sherlock currently supports **400+** sites'\n---\n\n")
for social_network, info in social_networks:
url_main = info["urlMain"]
is_nsfw = "**(NSFW)**" if info.get("isNSFW") else ""
site_file.write(f"1. ![](https://www.google.com/s2/favicons?domain={url_main}) [{social_network}]({url_main}) {is_nsfw}\n")
site_file.write(f"1. [{social_network}]({url_main}) {is_nsfw}\n")

# Overwrite the data.json file with sorted data
with open("sherlock/resources/data.json", "w") as data_file:
Expand All @@ -29,3 +33,4 @@
data_file.write("\n")

print("Finished updating supported site listing!")

Loading