-
Notifications
You must be signed in to change notification settings - Fork 0
feat: complete landing page redesign with UI/UX improvements #1
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| deployment: | ||
| tasks: | ||
| - export DEPLOYPATH=/home/sfxglllk/algo.zengfy.top/ | ||
| - /bin/cp -R . $DEPLOYPATH | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,33 @@ | ||||||||||||||||||||||||||||||||||||||||||||||
| name: Deploy to cPanel | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||||||||||||||||
| branches: | ||||||||||||||||||||||||||||||||||||||||||||||
| - main | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||||||||||||||
| deploy: | ||||||||||||||||||||||||||||||||||||||||||||||
| name: FTP Deploy | ||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+3
to
+11
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "== workflow files =="
git ls-files '.github/workflows/*' || true
echo
echo "== deploy.yml =="
if [ -f .github/workflows/deploy.yml ]; then
nl -ba .github/workflows/deploy.yml | sed -n '1,160p'
else
echo "missing .github/workflows/deploy.yml"
fi
echo
echo "== find concurrency declarations in workflows =="
rg -n "concurrency:|cancel-in-progress:" .github/workflows || true
echo
echo "== package scripts =="
if [ -f package.json ]; then
node -e "const p=require('./package.json'); console.log(JSON.stringify({scripts:p.scripts, devDependencies:p.devDependencies, dependencies:p.dependencies}, null, 2))"
fiRepository: diusazzad/algorithms_visualization Length of output: 281 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "== deploy.yml =="
awk '{printf "%6d\t%s\n", NR, $0}' .github/workflows/deploy.yml
echo
echo "== concurrency declarations in workflows =="
awk 'BEGIN{pat="concurrency:|cancel-in-progress:"} $0 ~ pat{printf "%6d\t%s\n", NR, $0}' .github/workflows/deploy.yml || true
echo
echo "== package scripts =="
if [ -f package.json ]; then
node -e "const p=require('./package.json'); console.log(JSON.stringify({scripts:p.scripts, devDependencies:p.devDependencies, dependencies:p.dependencies}, null, 2))"
fiRepository: diusazzad/algorithms_visualization Length of output: 1737 Serialize production deployments. GitHub Actions runs workflows concurrently by default, so multiple Suggested fix on:
push:
branches:
- main
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: false
+
jobs:📝 Committable suggestion
Suggested change
🤖 Prompt for AI AgentsSource: MCP tools |
||||||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||||||
| - name: 🚚 Get latest code | ||||||||||||||||||||||||||||||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: 🔨 Install dependencies and build | ||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||
| npm install | ||||||||||||||||||||||||||||||||||||||||||||||
| npm run build | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: 📂 Sync files | ||||||||||||||||||||||||||||||||||||||||||||||
| uses: SamKirkland/FTP-Deploy-Action@v4.3.5 | ||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||
| server: ${{ secrets.FTP_SERVER }} | ||||||||||||||||||||||||||||||||||||||||||||||
| username: ${{ secrets.FTP_USERNAME }} | ||||||||||||||||||||||||||||||||||||||||||||||
| password: ${{ secrets.FTP_PASSWORD }} | ||||||||||||||||||||||||||||||||||||||||||||||
| server-dir: algo.zengfy.top/ | ||||||||||||||||||||||||||||||||||||||||||||||
| local-dir: ./dist/ | ||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+21
to
+28
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "== workflow excerpt =="
if [ -f .github/workflows/deploy.yml ]; then
nl -ba .github/workflows/deploy.yml | sed -n '1,80p'
else
echo "missing .github/workflows/deploy.yml"
fi
echo
echo "== repository action checkout/config references =="
rg -n "SamKirkland/FTP-Deploy-Action|protocol:|ftp(s)?|FTP_USERNAME|FTP_PASSWORD|secrets\.FTP" .github/workflows . 2>/dev/null | head -200
echo
echo "== fetch v4.3.5 action metadata/readme protocol defaults =="
python3 - <<'PY'
import urllib.request
urls = [
"https://raw.githubusercontent.com/SamKirkland/FTP-Deploy-Action/v4.3.5/action.yml",
"https://raw.githubusercontent.com/SamKirkland/FTP-Deploy-Action/v4.3.5/README.md",
]
for url in urls:
print(f"\n-- {url} --")
try:
data = urllib.request.urlopen(url, timeout=20).read().decode("utf-8", "replace")
lines = data.splitlines()
for i, line in enumerate(lines[:260], 1):
if "protocol" in line.lower() or "default:" in line.lower() or "FTP_PASSWORD" in line or "FTP_USERNAME" in line:
print(f"{i}: {line}")
except Exception as e:
print(f"ERROR: {e}")
PYRepository: diusazzad/algorithms_visualization Length of output: 235 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "== workflow excerpt =="
if [ -f .github/workflows/deploy.yml ]; then
awk '{printf "%6d\t%s\n", NR, $0}' .github/workflows/deploy.yml | sed -n '1,80p'
else
echo "missing .github/workflows/deploy.yml"
fi
echo
echo "== repository action checkout/config references =="
grep -RIn --exclude-dir=.git --exclude-dir=node_modules \
-e 'SamKirkland/FTP-Deploy-Action' \
-e 'protocol:' \
-e 'ftp[s]?' \
-e 'FTP_USERNAME' \
-e 'FTP_PASSWORD' \
-e 'secrets\.FTP' \
. 2>/dev/null | head -200 || true
echo
echo "== fetch v4.3.5 action metadata/readme protocol defaults =="
python3 - <<'PY'
import urllib.request
urls = [
"https://raw.githubusercontent.com/SamKirkland/FTP-Deploy-Action/v4.3.5/action.yml",
"https://raw.githubusercontent.com/SamKirkland/FTP-Deploy-Action/v4.3.5/README.md",
]
for url in urls:
print(f"\n-- {url} --")
try:
data = urllib.request.urlopen(url, timeout=20).read().decode("utf-8", "replace")
lines = data.splitlines()
for i, line in enumerate(lines[:260], 1):
if "protocol" in line.lower() or "default:" in line.lower() or "FTP_PASSWORD" in line or "FTP_USERNAME" in line:
print(f"{i}: {line}")
except Exception as e:
print(f"ERROR: {e}")
PYRepository: diusazzad/algorithms_visualization Length of output: 2070 🌐 Web query:
💡 Result: For the SamKirkland FTP-Deploy-Action GitHub action (including version 4.3.5), the default protocol is ftp [1][2]. According to the official project documentation [1][3], the protocol input accepts the following options: - ftp: Provides no encryption [1][2]. - ftps: Full encryption using the newest standard (also known as "explicit" FTPS) [1][2]. - ftps-legacy: Full encryption using the legacy standard (also known as "implicit" FTPS) [1][2]. If you do not specify a protocol in your GitHub Actions workflow configuration, the action defaults to using ftp [1][3]. Citations:
Sensitive Data Exposure (CWE-319): Cleartext Transmission of Sensitive Information Reachability: External Use FTPS for the credentialed upload. This workflow passes Suggested fix password: ${{ secrets.FTP_PASSWORD }}
+ protocol: ftps
server-dir: algo.zengfy.top/📝 Committable suggestion
Suggested change
🤖 Prompt for AI AgentsSource: MCP tools |
||||||||||||||||||||||||||||||||||||||||||||||
| exclude: | | ||||||||||||||||||||||||||||||||||||||||||||||
| **/.git* | ||||||||||||||||||||||||||||||||||||||||||||||
| **/.git*/** | ||||||||||||||||||||||||||||||||||||||||||||||
| **/node_modules/** | ||||||||||||||||||||||||||||||||||||||||||||||
| **/tests/** | ||||||||||||||||||||||||||||||||||||||||||||||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
Repository: diusazzad/algorithms_visualization
Length of output: 6361
🏁 Script executed:
Repository: diusazzad/algorithms_visualization
Length of output: 321
Use one production artifact and one deployment owner.
Both deploy mechanisms target
algo.zengfy.top/, but.cpanel.ymlcopies the repository root and the workflow syncs./dist/. If both run, they can overwrite each other and leave stale files in production. Build/copydistin.cpanel.ymlif this hook is intended, or remove it and keep the workflow as the only publisher.📍 Affects 2 files
.cpanel.yml#L4-L5(this comment).github/workflows/deploy.yml#L27-L28🤖 Prompt for AI Agents