Compare commits
8 Commits
main
...
distribute
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d6a375ea34 | ||
|
|
a91577319e | ||
|
|
5ff45521c5 | ||
|
|
d62bbff1f0 | ||
|
|
7091378d35 | ||
|
|
70aacb3d75 | ||
|
|
b9f761d256 | ||
|
|
aca1e0698b |
73
.github/workflows/sync-from-gitea-deploy.yml
vendored
Normal file
73
.github/workflows/sync-from-gitea-deploy.yml
vendored
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
name: Sync from Gitea (distribute→distribute, keep workflow)
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# 2 times per day (UTC): 7:00, 11:00
|
||||||
|
- cron: '0 7,11 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write # allow pushing with GITHUB_TOKEN
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
mirror:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out GitHub repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Fetch from Gitea
|
||||||
|
env:
|
||||||
|
GITEA_URL: ${{ secrets.GITEA_URL }}
|
||||||
|
GITEA_USER: ${{ secrets.GITEA_USERNAME }}
|
||||||
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
run: |
|
||||||
|
# Build authenticated Gitea URL: https://USER:TOKEN@...
|
||||||
|
AUTH_URL="${GITEA_URL/https:\/\//https:\/\/$GITEA_USER:$GITEA_TOKEN@}"
|
||||||
|
|
||||||
|
git remote add gitea "$AUTH_URL"
|
||||||
|
git fetch gitea --prune
|
||||||
|
|
||||||
|
- name: Update distribute from gitea/distribute, keep workflow, and force-push
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GH_REPO: ${{ github.repository }}
|
||||||
|
run: |
|
||||||
|
# Configure identity for commits made by this workflow
|
||||||
|
git config user.name "github-actions[bot]"
|
||||||
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
|
||||||
|
# Authenticated push URL for GitHub
|
||||||
|
git remote set-url origin "https://x-access-token:${GH_TOKEN}@github.com/${GH_REPO}.git"
|
||||||
|
|
||||||
|
WF_PATH=".github/workflows/sync-from-gitea.yml"
|
||||||
|
|
||||||
|
# If the workflow exists in the current checkout, save a copy
|
||||||
|
if [ -f "$WF_PATH" ]; then
|
||||||
|
mkdir -p /tmp/gh-workflows
|
||||||
|
cp "$WF_PATH" /tmp/gh-workflows/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Reset local 'distribute' to exactly match gitea/distribute
|
||||||
|
if git show-ref --verify --quiet refs/remotes/gitea/distribute; then
|
||||||
|
git checkout -B distribute gitea/distribute
|
||||||
|
else
|
||||||
|
echo "No gitea/distribute found, nothing to sync."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Restore the workflow into the new HEAD and commit if needed
|
||||||
|
if [ -f "/tmp/gh-workflows/sync-from-gitea.yml" ]; then
|
||||||
|
mkdir -p .github/workflows
|
||||||
|
cp /tmp/gh-workflows/sync-from-gitea.yml "$WF_PATH"
|
||||||
|
git add "$WF_PATH"
|
||||||
|
if ! git diff --cached --quiet; then
|
||||||
|
git commit -m "Inject GitHub sync workflow"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Force-push distribute so GitHub mirrors Gitea + workflow
|
||||||
|
git push origin distribute --force
|
||||||
@@ -1,23 +1,61 @@
|
|||||||
export default {
|
export default {
|
||||||
index: "Course Description",
|
menu: {
|
||||||
"---":{
|
title: 'Home',
|
||||||
type: 'separator'
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
},
|
},
|
||||||
CSE332S_L1: "Object-Oriented Programming Lab (Lecture 1)",
|
about: {
|
||||||
CSE332S_L2: "Object-Oriented Programming Lab (Lecture 2)",
|
title: 'About',
|
||||||
CSE332S_L3: "Object-Oriented Programming Lab (Lecture 3)",
|
href: '/about'
|
||||||
CSE332S_L4: "Object-Oriented Programming Lab (Lecture 4)",
|
},
|
||||||
CSE332S_L5: "Object-Oriented Programming Lab (Lecture 5)",
|
contact: {
|
||||||
CSE332S_L6: "Object-Oriented Programming Lab (Lecture 6)",
|
title: 'Contact Me',
|
||||||
CSE332S_L7: "Object-Oriented Programming Lab (Lecture 7)",
|
href: '/contact'
|
||||||
CSE332S_L8: "Object-Oriented Programming Lab (Lecture 8)",
|
}
|
||||||
CSE332S_L9: "Object-Oriented Programming Lab (Lecture 9)",
|
},
|
||||||
CSE332S_L10: "Object-Oriented Programming Lab (Lecture 10)",
|
},
|
||||||
CSE332S_L11: "Object-Oriented Programming Lab (Lecture 11)",
|
Math3200'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE332S_L12: "Object-Oriented Programming Lab (Lecture 12)",
|
Math429'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE332S_L13: "Object-Oriented Programming Lab (Lecture 13)",
|
Math4111'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE332S_L14: "Object-Oriented Programming Lab (Lecture 14)",
|
Math4121'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE332S_L15: "Object-Oriented Programming Lab (Lecture 15)",
|
Math4201'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE332S_L16: "Object-Oriented Programming Lab (Lecture 16)",
|
Math416'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE332S_L17: "Object-Oriented Programming Lab (Lecture 17)"
|
Math401'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
}
|
CSE332S'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE347'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE442T'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE5313'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE510'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE559A'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE5519'CSE332S_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,18 +1,61 @@
|
|||||||
export default {
|
export default {
|
||||||
index: "Course Description",
|
menu: {
|
||||||
"---":{
|
title: 'Home',
|
||||||
type: 'separator'
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
},
|
},
|
||||||
Exam_reviews: "Exam reviews",
|
about: {
|
||||||
CSE347_L1: "Analysis of Algorithms (Lecture 1)",
|
title: 'About',
|
||||||
CSE347_L2: "Analysis of Algorithms (Lecture 2)",
|
href: '/about'
|
||||||
CSE347_L3: "Analysis of Algorithms (Lecture 3)",
|
},
|
||||||
CSE347_L4: "Analysis of Algorithms (Lecture 4)",
|
contact: {
|
||||||
CSE347_L5: "Analysis of Algorithms (Lecture 5)",
|
title: 'Contact Me',
|
||||||
CSE347_L6: "Analysis of Algorithms (Lecture 6)",
|
href: '/contact'
|
||||||
CSE347_L7: "Analysis of Algorithms (Lecture 7)",
|
}
|
||||||
CSE347_L8: "Analysis of Algorithms (Lecture 8)",
|
},
|
||||||
CSE347_L9: "Analysis of Algorithms (Lecture 9)",
|
},
|
||||||
CSE347_L10: "Analysis of Algorithms (Lecture 10)",
|
Math3200'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE347_L11: "Analysis of Algorithms (Lecture 11)"
|
Math429'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
}
|
Math4111'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
Math4121'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
Math4201'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
Math416'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
Math401'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE332S'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE347'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE442T'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE5313'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE510'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE559A'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE5519'CSE347_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,31 +1,61 @@
|
|||||||
export default {
|
export default {
|
||||||
index: "Course Description",
|
menu: {
|
||||||
"---":{
|
title: 'Home',
|
||||||
type: 'separator'
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
},
|
},
|
||||||
Exam_reviews: "Exam reviews",
|
about: {
|
||||||
CSE442T_L1: "Introduction to Cryptography (Lecture 1)",
|
title: 'About',
|
||||||
CSE442T_L2: "Introduction to Cryptography (Lecture 2)",
|
href: '/about'
|
||||||
CSE442T_L3: "Introduction to Cryptography (Lecture 3)",
|
},
|
||||||
CSE442T_L4: "Introduction to Cryptography (Lecture 4)",
|
contact: {
|
||||||
CSE442T_L5: "Introduction to Cryptography (Lecture 5)",
|
title: 'Contact Me',
|
||||||
CSE442T_L6: "Introduction to Cryptography (Lecture 6)",
|
href: '/contact'
|
||||||
CSE442T_L7: "Introduction to Cryptography (Lecture 7)",
|
}
|
||||||
CSE442T_L8: "Introduction to Cryptography (Lecture 8)",
|
},
|
||||||
CSE442T_L9: "Introduction to Cryptography (Lecture 9)",
|
},
|
||||||
CSE442T_L10: "Introduction to Cryptography (Lecture 10)",
|
Math3200'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L11: "Introduction to Cryptography (Lecture 11)",
|
Math429'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L12: "Introduction to Cryptography (Lecture 12)",
|
Math4111'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L13: "Introduction to Cryptography (Lecture 13)",
|
Math4121'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L14: "Introduction to Cryptography (Lecture 14)",
|
Math4201'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L15: "Introduction to Cryptography (Lecture 15)",
|
Math416'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L16: "Introduction to Cryptography (Lecture 16)",
|
Math401'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L17: "Introduction to Cryptography (Lecture 17)",
|
CSE332S'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L18: "Introduction to Cryptography (Lecture 18)",
|
CSE347'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L19: "Introduction to Cryptography (Lecture 19)",
|
CSE442T'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L20: "Introduction to Cryptography (Lecture 20)",
|
CSE5313'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L21: "Introduction to Cryptography (Lecture 21)",
|
CSE510'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L22: "Introduction to Cryptography (Lecture 22)",
|
CSE559A'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L23: "Introduction to Cryptography (Lecture 23)",
|
CSE5519'CSE442T_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE442T_L24: "Introduction to Cryptography (Lecture 24)"
|
Swap: {
|
||||||
}
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,30 +1,61 @@
|
|||||||
export default {
|
export default {
|
||||||
index: "Course Description",
|
menu: {
|
||||||
"---":{
|
title: 'Home',
|
||||||
type: 'separator'
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
},
|
},
|
||||||
CSE510_L1: "CSE510 Deep Reinforcement Learning (Lecture 1)",
|
about: {
|
||||||
CSE510_L2: "CSE510 Deep Reinforcement Learning (Lecture 2)",
|
title: 'About',
|
||||||
CSE510_L3: "CSE510 Deep Reinforcement Learning (Lecture 3)",
|
href: '/about'
|
||||||
CSE510_L4: "CSE510 Deep Reinforcement Learning (Lecture 4)",
|
},
|
||||||
CSE510_L5: "CSE510 Deep Reinforcement Learning (Lecture 5)",
|
contact: {
|
||||||
CSE510_L6: "CSE510 Deep Reinforcement Learning (Lecture 6)",
|
title: 'Contact Me',
|
||||||
CSE510_L7: "CSE510 Deep Reinforcement Learning (Lecture 7)",
|
href: '/contact'
|
||||||
CSE510_L8: "CSE510 Deep Reinforcement Learning (Lecture 8)",
|
}
|
||||||
CSE510_L9: "CSE510 Deep Reinforcement Learning (Lecture 9)",
|
},
|
||||||
CSE510_L10: "CSE510 Deep Reinforcement Learning (Lecture 10)",
|
},
|
||||||
CSE510_L11: "CSE510 Deep Reinforcement Learning (Lecture 11)",
|
Math3200'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L12: "CSE510 Deep Reinforcement Learning (Lecture 12)",
|
Math429'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L13: "CSE510 Deep Reinforcement Learning (Lecture 13)",
|
Math4111'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L14: "CSE510 Deep Reinforcement Learning (Lecture 14)",
|
Math4121'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L15: "CSE510 Deep Reinforcement Learning (Lecture 15)",
|
Math4201'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L16: "CSE510 Deep Reinforcement Learning (Lecture 16)",
|
Math416'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L17: "CSE510 Deep Reinforcement Learning (Lecture 17)",
|
Math401'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L18: "CSE510 Deep Reinforcement Learning (Lecture 18)",
|
CSE332S'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L19: "CSE510 Deep Reinforcement Learning (Lecture 19)",
|
CSE347'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L20: "CSE510 Deep Reinforcement Learning (Lecture 20)",
|
CSE442T'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L21: "CSE510 Deep Reinforcement Learning (Lecture 21)",
|
CSE5313'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L22: "CSE510 Deep Reinforcement Learning (Lecture 22)",
|
CSE510'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L23: "CSE510 Deep Reinforcement Learning (Lecture 23)",
|
CSE559A'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE510_L24: "CSE510 Deep Reinforcement Learning (Lecture 24)",
|
CSE5519'CSE510_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
}
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,30 +1,61 @@
|
|||||||
export default {
|
export default {
|
||||||
index: "Course Description",
|
menu: {
|
||||||
"---":{
|
title: 'Home',
|
||||||
type: 'separator'
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
},
|
},
|
||||||
Exam_reviews: "Exam reviews",
|
about: {
|
||||||
CSE5313_L1: "CSE5313 Coding and information theory for data science (Lecture 1)",
|
title: 'About',
|
||||||
CSE5313_L2: "CSE5313 Coding and information theory for data science (Lecture 2)",
|
href: '/about'
|
||||||
CSE5313_L3: "CSE5313 Coding and information theory for data science (Lecture 3)",
|
},
|
||||||
CSE5313_L4: "CSE5313 Coding and information theory for data science (Lecture 4)",
|
contact: {
|
||||||
CSE5313_L5: "CSE5313 Coding and information theory for data science (Lecture 5)",
|
title: 'Contact Me',
|
||||||
CSE5313_L6: "CSE5313 Coding and information theory for data science (Lecture 6)",
|
href: '/contact'
|
||||||
CSE5313_L7: "CSE5313 Coding and information theory for data science (Lecture 7)",
|
}
|
||||||
CSE5313_L8: "CSE5313 Coding and information theory for data science (Lecture 8)",
|
},
|
||||||
CSE5313_L9: "CSE5313 Coding and information theory for data science (Lecture 9)",
|
},
|
||||||
CSE5313_L10: "CSE5313 Coding and information theory for data science (Recitation 10)",
|
Math3200'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L11: "CSE5313 Coding and information theory for data science (Recitation 11)",
|
Math429'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L12: "CSE5313 Coding and information theory for data science (Lecture 12)",
|
Math4111'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L13: "CSE5313 Coding and information theory for data science (Lecture 13)",
|
Math4121'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L14: "CSE5313 Coding and information theory for data science (Lecture 14)",
|
Math4201'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L15: "CSE5313 Coding and information theory for data science (Lecture 15)",
|
Math416'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L16: "CSE5313 Coding and information theory for data science (Exam Review)",
|
Math401'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L17: "CSE5313 Coding and information theory for data science (Lecture 17)",
|
CSE332S'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L18: "CSE5313 Coding and information theory for data science (Lecture 18)",
|
CSE347'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L19: "CSE5313 Coding and information theory for data science (Lecture 19)",
|
CSE442T'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L20: "CSE5313 Coding and information theory for data science (Lecture 20)",
|
CSE5313'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L21: "CSE5313 Coding and information theory for data science (Lecture 21)",
|
CSE510'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L22: "CSE5313 Coding and information theory for data science (Lecture 22)",
|
CSE559A'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5313_L23: "CSE5313 Coding and information theory for data science (Lecture 23)",
|
CSE5519'CSE5313_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
}
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,68 +1,61 @@
|
|||||||
export default {
|
export default {
|
||||||
index: "Course Description",
|
menu: {
|
||||||
"---":{
|
title: 'Home',
|
||||||
type: 'separator'
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
},
|
},
|
||||||
CSE5519_L1: "CSE5519 Advances in Computer Vision (Lecture 1)",
|
about: {
|
||||||
CSE5519_L2: "CSE5519 Advances in Computer Vision (Lecture 2)",
|
title: 'About',
|
||||||
CSE5519_L3: "CSE5519 Advances in Computer Vision (Lecture 3)",
|
href: '/about'
|
||||||
"---":{
|
|
||||||
type: 'separator'
|
|
||||||
},
|
},
|
||||||
CSE5519_C1: "CSE5519 Advances in Computer Vision (Topic C: 2021 and before: Neural Rendering)",
|
contact: {
|
||||||
CSE5519_F1: "CSE5519 Advances in Computer Vision (Topic F: 2021 and before: Representation Learning)",
|
title: 'Contact Me',
|
||||||
CSE5519_B1: "CSE5519 Advances in Computer Vision (Topic B: 2021 and before: Vision-Language Models)",
|
href: '/contact'
|
||||||
CSE5519_D1: "CSE5519 Advances in Computer Vision (Topic D: 2021 and before: Image and Video Generation)",
|
}
|
||||||
CSE5519_A1: "CSE5519 Advances in Computer Vision (Topic A: 2021 and before: Semantic Segmentation)",
|
|
||||||
CSE5519_E1: "CSE5519 Advances in Computer Vision (Topic E: 2021 and before: Deep Learning for Geometric Computer Vision)",
|
|
||||||
CSE5519_I1: "CSE5519 Advances in Computer Vision (Topic I: 2021 and before: Embodied Computer Vision and Robotics)",
|
|
||||||
CSE5519_J1: "CSE5519 Advances in Computer Vision (Topic J: 2021 and before: Open-Vocabulary Object Detection)",
|
|
||||||
"---":{
|
|
||||||
type: 'separator'
|
|
||||||
},
|
},
|
||||||
CSE5519_H2: "CSE5519 Advances in Computer Vision (Topic H: 2022 and before: Safety, Robustness, and Evaluation of CV Models)",
|
|
||||||
CSE5519_G2: "CSE5519 Advances in Computer Vision (Topic G: 2022 and before: Correspondence Estimation and Structure from Motion)",
|
|
||||||
CSE5519_A2: "CSE5519 Advances in Computer Vision (Topic A: 2022: Semantic Segmentation)",
|
|
||||||
CSE5519_E2: "CSE5519 Advances in Computer Vision (Topic E: 2022: Deep Learning for Geometric Computer Vision)",
|
|
||||||
CSE5519_C2: "CSE5519 Advances in Computer Vision (Topic C: 2022: Neural Rendering)",
|
|
||||||
CSE5519_F2: "CSE5519 Advances in Computer Vision (Topic F: 2022: Representation Learning)",
|
|
||||||
CSE5519_B2: "CSE5519 Advances in Computer Vision (Topic B: 2022: Vision-Language Models)",
|
|
||||||
CSE5519_D2: "CSE5519 Advances in Computer Vision (Topic D: 2022: Image and Video Generation)",
|
|
||||||
CSE5519_I2: "CSE5519 Advances in Computer Vision (Topic I: 2022: Embodied Computer Vision and Robotics)",
|
|
||||||
CSE5519_J2: "CSE5519 Advances in Computer Vision (Topic J: 2022: Open-Vocabulary Object Detection)",
|
|
||||||
"---":{
|
|
||||||
type: 'separator'
|
|
||||||
},
|
},
|
||||||
CSE5519_H3: "CSE5519 Advances in Computer Vision (Topic H: 2023: Safety, Robustness, and Evaluation of CV Models)",
|
Math3200'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_B3: "CSE5519 Advances in Computer Vision (Topic B: 2023: Vision-Language Models)",
|
Math429'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_G3: "CSE5519 Advances in Computer Vision (Topic G: 2023: Correspondence Estimation and Structure from Motion)",
|
Math4111'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_C3: "CSE5519 Advances in Computer Vision (Topic C: 2023: Neural Rendering)",
|
Math4121'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_D3: "CSE5519 Advances in Computer Vision (Topic D: 2023: Image and Video Generation)",
|
Math4201'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_E3: "CSE5519 Advances in Computer Vision (Topic E: 2023: Deep Learning for Geometric Computer Vision)",
|
Math416'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_F3: "CSE5519 Advances in Computer Vision (Topic F: 2023: Representation Learning)",
|
Math401'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_I3: "CSE5519 Advances in Computer Vision (Topic I: 2023 - 2024: Embodied Computer Vision and Robotics)",
|
CSE332S'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_J3: "CSE5519 Advances in Computer Vision (Topic J: 2023 - 2024: Open-Vocabulary Object Detection)",
|
CSE347'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE5519_A3: "CSE5519 Advances in Computer Vision (Topic A: 2023 - 2024: Semantic Segmentation)",
|
CSE442T'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
"---":{
|
CSE5313'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
type: 'separator'
|
CSE510'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE559A'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
CSE5519'CSE5519_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
CSE5519_G4: "CSE5519 Advances in Computer Vision (Topic G: 2024: Correspondence Estimation and Structure from Motion)",
|
index: {
|
||||||
CSE5519_F4: "CSE5519 Advances in Computer Vision (Topic F: 2024: Representation Learning)",
|
display: 'hidden',
|
||||||
CSE5519_D4: "CSE5519 Advances in Computer Vision (Topic D: 2024: Image and Video Generation)",
|
theme:{
|
||||||
CSE5519_E4: "CSE5519 Advances in Computer Vision (Topic E: 2024: Deep Learning for Geometric Computer Vision)",
|
sidebar: false,
|
||||||
CSE5519_B4: "CSE5519 Advances in Computer Vision (Topic B: 2024: Vision-Language Models)",
|
timestamp: true,
|
||||||
CSE5519_H4: "CSE5519 Advances in Computer Vision (Topic H: 2024: Safety, Robustness, and Evaluation of CV Models)",
|
}
|
||||||
CSE5519_C4: "CSE5519 Advances in Computer Vision (Topic C: 2024 - 2025: Neural Rendering)",
|
|
||||||
"---":{
|
|
||||||
type: 'separator'
|
|
||||||
},
|
},
|
||||||
CSE5519_F5: "CSE5519 Advances in Computer Vision (Topic F: 2025: Representation Learning)",
|
about: {
|
||||||
CSE5519_B5: "CSE5519 Advances in Computer Vision (Topic B: 2025: Vision-Language Models)",
|
display: 'hidden',
|
||||||
CSE5519_D5: "CSE5519 Advances in Computer Vision (Topic D: 2025: Image and Video Generation)",
|
theme:{
|
||||||
CSE5519_E5: "CSE5519 Advances in Computer Vision (Topic E: 2025: Deep Learning for Geometric Computer Vision)",
|
sidebar: false,
|
||||||
CSE5519_A4: "CSE5519 Advances in Computer Vision (Topic A: 2025: Semantic Segmentation)",
|
timestamp: true,
|
||||||
CSE5519_G5: "CSE5519 Advances in Computer Vision (Topic G: 2025: Correspondence Estimation and Structure from Motion)",
|
}
|
||||||
CSE5519_I4: "CSE5519 Advances in Computer Vision (Topic I: 2025: Embodied Computer Vision and Robotics)",
|
},
|
||||||
CSE5519_H5: "CSE5519 Advances in Computer Vision (Topic H: 2025: Safety, Robustness, and Evaluation of CV Models)",
|
contact: {
|
||||||
CSE5519_J5: "CSE5519 Advances in Computer Vision (Topic J: 2025: Open-Vocabulary Object Detection)",
|
display: 'hidden',
|
||||||
}
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,32 +1,61 @@
|
|||||||
export default {
|
export default {
|
||||||
index: "Course Description",
|
menu: {
|
||||||
"---":{
|
title: 'Home',
|
||||||
type: 'separator'
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
},
|
},
|
||||||
CSE559A_L1: "Computer Vision (Lecture 1)",
|
about: {
|
||||||
CSE559A_L2: "Computer Vision (Lecture 2)",
|
title: 'About',
|
||||||
CSE559A_L3: "Computer Vision (Lecture 3)",
|
href: '/about'
|
||||||
CSE559A_L4: "Computer Vision (Lecture 4)",
|
},
|
||||||
CSE559A_L5: "Computer Vision (Lecture 5)",
|
contact: {
|
||||||
CSE559A_L6: "Computer Vision (Lecture 6)",
|
title: 'Contact Me',
|
||||||
CSE559A_L7: "Computer Vision (Lecture 7)",
|
href: '/contact'
|
||||||
CSE559A_L8: "Computer Vision (Lecture 8)",
|
}
|
||||||
CSE559A_L9: "Computer Vision (Lecture 9)",
|
},
|
||||||
CSE559A_L10: "Computer Vision (Lecture 10)",
|
},
|
||||||
CSE559A_L11: "Computer Vision (Lecture 11)",
|
Math3200'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L12: "Computer Vision (Lecture 12)",
|
Math429'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L13: "Computer Vision (Lecture 13)",
|
Math4111'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L14: "Computer Vision (Lecture 14)",
|
Math4121'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L15: "Computer Vision (Lecture 15)",
|
Math4201'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L16: "Computer Vision (Lecture 16)",
|
Math416'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L17: "Computer Vision (Lecture 17)",
|
Math401'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L18: "Computer Vision (Lecture 18)",
|
CSE332S'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L19: "Computer Vision (Lecture 19)",
|
CSE347'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L20: "Computer Vision (Lecture 20)",
|
CSE442T'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L21: "Computer Vision (Lecture 21)",
|
CSE5313'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L22: "Computer Vision (Lecture 22)",
|
CSE510'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L23: "Computer Vision (Lecture 23)",
|
CSE559A'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L24: "Computer Vision (Lecture 24)",
|
CSE5519'CSE559A_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)'
|
||||||
CSE559A_L25: "Computer Vision (Lecture 25)",
|
Swap: {
|
||||||
CSE559A_L26: "Computer Vision (Lecture 26)",
|
display: 'hidden',
|
||||||
}
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,11 +1,4 @@
|
|||||||
export default {
|
export default {
|
||||||
/**
|
|
||||||
* Do not remove the labels "Math Courses Start"
|
|
||||||
* and "Math Courses End" and "CSE Courses Start" and "CSE Courses End"
|
|
||||||
* or the separated builds will not work.
|
|
||||||
*
|
|
||||||
* WE USE THESE LABELS TO BUILD THE SEPARATED WEBSITES FOR MATH AND CSE COURSES.
|
|
||||||
*/
|
|
||||||
menu: {
|
menu: {
|
||||||
title: 'Home',
|
title: 'Home',
|
||||||
type: 'menu',
|
type: 'menu',
|
||||||
@@ -24,43 +17,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
/* Load link with relative path */
|
|
||||||
Math3200_link: {
|
|
||||||
title: 'Math3200',
|
|
||||||
type: 'page',
|
|
||||||
href: '/Math3200'
|
|
||||||
},
|
|
||||||
Math429_link: {
|
|
||||||
title: 'Math429',
|
|
||||||
type: 'page',
|
|
||||||
href: '/Math429'
|
|
||||||
},
|
|
||||||
Math4111_link: {
|
|
||||||
title: 'Math4111',
|
|
||||||
type: 'page',
|
|
||||||
href: '/Math4111'
|
|
||||||
},
|
|
||||||
Math4121_link: {
|
|
||||||
title: 'Math4121',
|
|
||||||
type: 'page',
|
|
||||||
href: '/Math4121'
|
|
||||||
},
|
|
||||||
Math4201_link: {
|
|
||||||
title: 'Math4201',
|
|
||||||
type: 'page',
|
|
||||||
href: '/Math4201'
|
|
||||||
},
|
|
||||||
Math416_link: {
|
|
||||||
title: 'Math416',
|
|
||||||
type: 'page',
|
|
||||||
href: '/Math416'
|
|
||||||
},
|
|
||||||
Math401_link: {
|
|
||||||
title: 'Math401',
|
|
||||||
type: 'page',
|
|
||||||
href: '/Math401'
|
|
||||||
},
|
|
||||||
/* Math Courses Start */
|
|
||||||
Math3200: {
|
Math3200: {
|
||||||
title: 'Math3200',
|
title: 'Math3200',
|
||||||
type: 'page',
|
type: 'page',
|
||||||
@@ -110,43 +66,6 @@ export default {
|
|||||||
timestamp: true,
|
timestamp: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/* Math Courses End */
|
|
||||||
CSE332S_link: {
|
|
||||||
title: 'CSE332S',
|
|
||||||
type: 'page',
|
|
||||||
href: '/CSE332S'
|
|
||||||
},
|
|
||||||
CSE347_link: {
|
|
||||||
title: 'CSE347',
|
|
||||||
type: 'page',
|
|
||||||
href: '/CSE347'
|
|
||||||
},
|
|
||||||
CSE442T_link: {
|
|
||||||
title: 'CSE442T',
|
|
||||||
type: 'page',
|
|
||||||
href: '/CSE442T'
|
|
||||||
},
|
|
||||||
CSE5313_link: {
|
|
||||||
title: 'CSE5313',
|
|
||||||
type: 'page',
|
|
||||||
href: '/CSE5313'
|
|
||||||
},
|
|
||||||
CSE510_link: {
|
|
||||||
title: 'CSE510',
|
|
||||||
type: 'page',
|
|
||||||
href: '/CSE510'
|
|
||||||
},
|
|
||||||
CSE559A_link: {
|
|
||||||
title: 'CSE559A',
|
|
||||||
type: 'page',
|
|
||||||
href: '/CSE559A'
|
|
||||||
},
|
|
||||||
CSE5519_link: {
|
|
||||||
title: 'CSE5519',
|
|
||||||
type: 'page',
|
|
||||||
href: '/CSE5519'
|
|
||||||
},
|
|
||||||
/* CSE Courses Start */
|
|
||||||
CSE332S: {
|
CSE332S: {
|
||||||
title: 'CSE332S',
|
title: 'CSE332S',
|
||||||
type: 'page',
|
type: 'page',
|
||||||
@@ -196,7 +115,6 @@ export default {
|
|||||||
timestamp: true,
|
timestamp: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/* CSE Courses End */
|
|
||||||
Swap: {
|
Swap: {
|
||||||
display: 'hidden',
|
display: 'hidden',
|
||||||
theme:{
|
theme:{
|
||||||
|
|||||||
119
distribute/CSE332S/_meta.js
Normal file
119
distribute/CSE332S/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S:{
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/CSE347/_meta.js
Normal file
119
distribute/CSE347/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347:{
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/CSE442T/_meta.js
Normal file
119
distribute/CSE442T/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T:{
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/CSE510/_meta.js
Normal file
119
distribute/CSE510/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510:{
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/CSE5313/_meta.js
Normal file
119
distribute/CSE5313/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313:{
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/CSE5519/_meta.js
Normal file
119
distribute/CSE5519/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519:{
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/CSE559A/_meta.js
Normal file
119
distribute/CSE559A/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A:{
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/Math3200/_meta.js
Normal file
119
distribute/Math3200/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200:{
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/Math401/_meta.js
Normal file
119
distribute/Math401/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401:{
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/Math4111/_meta.js
Normal file
119
distribute/Math4111/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111:{
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/Math4121/_meta.js
Normal file
119
distribute/Math4121/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121:{
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/Math416/_meta.js
Normal file
119
distribute/Math416/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416:{
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/Math4201/_meta.js
Normal file
119
distribute/Math4201/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201:{
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
119
distribute/Math429/_meta.js
Normal file
119
distribute/Math429/_meta.js
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429:{
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
117
distribute/Swap/_meta.js
Normal file
117
distribute/Swap/_meta.js
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
export default {
|
||||||
|
menu: {
|
||||||
|
title: 'Home',
|
||||||
|
type: 'menu',
|
||||||
|
items: {
|
||||||
|
index: {
|
||||||
|
title: 'Home',
|
||||||
|
href: '/'
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: 'About',
|
||||||
|
href: '/about'
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: 'Contact Me',
|
||||||
|
href: '/contact'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Math3200_link: {
|
||||||
|
title: 'Math3200',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math3200'
|
||||||
|
},
|
||||||
|
Math429_link: {
|
||||||
|
title: 'Math429',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math429'
|
||||||
|
},
|
||||||
|
Math4111_link: {
|
||||||
|
title: 'Math4111',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4111'
|
||||||
|
},
|
||||||
|
Math4121_link: {
|
||||||
|
title: 'Math4121',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4121'
|
||||||
|
},
|
||||||
|
Math4201_link: {
|
||||||
|
title: 'Math4201',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math4201'
|
||||||
|
},
|
||||||
|
Math416_link: {
|
||||||
|
title: 'Math416',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math416'
|
||||||
|
},
|
||||||
|
Math401_link: {
|
||||||
|
title: 'Math401',
|
||||||
|
type: 'page',
|
||||||
|
href: '/Math401'
|
||||||
|
},
|
||||||
|
CSE332S_link: {
|
||||||
|
title: 'CSE332S',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE332S'
|
||||||
|
},
|
||||||
|
CSE347_link: {
|
||||||
|
title: 'CSE347',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE347'
|
||||||
|
},
|
||||||
|
CSE442T_link: {
|
||||||
|
title: 'CSE442T',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE442T'
|
||||||
|
},
|
||||||
|
CSE5313_link: {
|
||||||
|
title: 'CSE5313',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5313'
|
||||||
|
},
|
||||||
|
CSE510_link: {
|
||||||
|
title: 'CSE510',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE510'
|
||||||
|
},
|
||||||
|
CSE559A_link: {
|
||||||
|
title: 'CSE559A',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE559A'
|
||||||
|
},
|
||||||
|
CSE5519_link: {
|
||||||
|
title: 'CSE5519',
|
||||||
|
type: 'page',
|
||||||
|
href: '/CSE5519'
|
||||||
|
},
|
||||||
|
Swap: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
display: 'hidden',
|
||||||
|
theme:{
|
||||||
|
sidebar: false,
|
||||||
|
timestamp: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
49
distribute/create_meta.py
Normal file
49
distribute/create_meta.py
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
"""
|
||||||
|
This script is used to generate _meta.js file for microservice deployment for this project.
|
||||||
|
|
||||||
|
We will use nginx to route traffic to different microservices.
|
||||||
|
Each microservice will have its own _meta.js file, run prebuild.sh to replace _meta.js
|
||||||
|
before building the microservice.
|
||||||
|
|
||||||
|
This script should run when you add a new microservice (add course for your note)
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
# easy python script to create meta file for each subdirectory to replace
|
||||||
|
|
||||||
|
import os
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
import re
|
||||||
|
|
||||||
|
cwd = Path(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
root_dir=Path.joinpath(cwd.parent, 'content')
|
||||||
|
# consider each subdirectory as a course
|
||||||
|
sub_dirs=os.listdir(root_dir)
|
||||||
|
# exclude .md and _meta.js
|
||||||
|
exclude_reg=r'(\.md|_meta.js)'
|
||||||
|
sub_dirs=[x for x in sub_dirs if not re.search(exclude_reg, x)]
|
||||||
|
print (sub_dirs)
|
||||||
|
meta_file = os.path.join(root_dir, '_meta.js')
|
||||||
|
|
||||||
|
# auto generate meta files
|
||||||
|
course_match=r"(\w+\d+.*)\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)"
|
||||||
|
link_parse=r"\1_link: \2\n href: '/\1'\n \3"
|
||||||
|
link_match=r"_link\s*:\s*(\{\s+.+\s+.+)\s+.+\s+.+\s+.+\s+(\},)"
|
||||||
|
course_parse=r":\1\n theme:{\n timestamp: true,\n }\n \2"
|
||||||
|
|
||||||
|
# copy new _meta.js
|
||||||
|
for sub_dir in sub_dirs:
|
||||||
|
sub_meta_file=os.path.join(cwd, sub_dir, '_meta.js')
|
||||||
|
full_text=Path(meta_file).read_text()
|
||||||
|
matches=re.findall(course_match, full_text)
|
||||||
|
new_text=re.sub(course_match, link_parse, full_text)
|
||||||
|
print(f'parsed link file: {new_text}')
|
||||||
|
cur_link_match=r'{}{}'.format(sub_dir,link_match)
|
||||||
|
cur_course_match=r'{}{}'.format(sub_dir,course_parse)
|
||||||
|
print(f'new reg: {cur_link_match}, {cur_course_match}')
|
||||||
|
new_text=re.sub(cur_link_match, cur_course_match, new_text)
|
||||||
|
print (f'parsed course file: {new_text}')
|
||||||
|
# create directory if not exist
|
||||||
|
Path(sub_meta_file).parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
Path(sub_meta_file).write_text(new_text)
|
||||||
43
distribute/next.config.mjs
Normal file
43
distribute/next.config.mjs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
import nextra from 'nextra'
|
||||||
|
import withBundleAnalyzer from '@next/bundle-analyzer'
|
||||||
|
|
||||||
|
const withNextra = nextra({
|
||||||
|
latex: {
|
||||||
|
renderer: 'katex',
|
||||||
|
options: {
|
||||||
|
// suppress warnings from katex for `\\`
|
||||||
|
strict: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mdxOptions: {
|
||||||
|
format: 'detect'
|
||||||
|
},
|
||||||
|
contentDirBasePath: '/'
|
||||||
|
})
|
||||||
|
|
||||||
|
const bundleAnalyzer = withBundleAnalyzer({
|
||||||
|
enabled: process.env.ANALYZE === 'true'
|
||||||
|
})
|
||||||
|
|
||||||
|
export default bundleAnalyzer(withNextra({
|
||||||
|
|
||||||
|
// static export start
|
||||||
|
output: 'export',
|
||||||
|
images: {
|
||||||
|
unoptimized: true // mandatory, otherwise won't export
|
||||||
|
},
|
||||||
|
// static export end
|
||||||
|
|
||||||
|
// eslint: {
|
||||||
|
// ignoreDuringBuilds: true,
|
||||||
|
// },
|
||||||
|
// compiler: {
|
||||||
|
// // enable console log in production
|
||||||
|
// removeConsole: false,
|
||||||
|
// },
|
||||||
|
// experimental: {
|
||||||
|
// webpackMemoryOptimizations: true,
|
||||||
|
// staticGenerationMaxConcurrency: 2, // try 1–3, default is 8
|
||||||
|
// staticGenerationMinPagesPerWorker: 1 // keep small, default is 25
|
||||||
|
// }
|
||||||
|
}))
|
||||||
57
distribute/prebuild.sh
Normal file
57
distribute/prebuild.sh
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# This is pre-build script that cleans up resources and compiles for selected pages, then finally you may combine those subdirectories into one via nginx.
|
||||||
|
# double check you are using LF instead of CRLF
|
||||||
|
|
||||||
|
export KEEP_PAGES="Math3200"
|
||||||
|
|
||||||
|
# check if environment variable is set
|
||||||
|
if [ -z "$KEEP_PAGES" ]; then
|
||||||
|
echo "Please set environment variable KEEP_PAGES to the pages you want to keep for microsite building."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Currently compiling pages: ${KEEP_PAGES}"
|
||||||
|
|
||||||
|
# Rewrite base _meta.js and next.config.js for export pages
|
||||||
|
echo "Rewrite base _meta.js and keeping ${KEEP_PAGES}"
|
||||||
|
|
||||||
|
cp "./distribute/${KEEP_PAGES}/_meta.js" "./content/_meta.js"
|
||||||
|
|
||||||
|
# remove other subdirectories
|
||||||
|
for dir in ./content/*/; do
|
||||||
|
# strip the leading path and trailing slash
|
||||||
|
base_dir="$(basename "${dir%/}")"
|
||||||
|
|
||||||
|
# check if base_dir is in KEEP_PAGES (space-separated list)
|
||||||
|
case " $KEEP_PAGES " in
|
||||||
|
*" $base_dir "*)
|
||||||
|
echo "Keeping content dir: $dir"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Removing content dir: $dir"
|
||||||
|
rm -rf -- "$dir"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# remove public directory
|
||||||
|
for dir in ./public/*/; do
|
||||||
|
base_dir="$(basename "${dir%/}")"
|
||||||
|
|
||||||
|
case " $KEEP_PAGES " in
|
||||||
|
*" $base_dir "*)
|
||||||
|
echo "Keeping public dir: $dir"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Removing public dir: $dir"
|
||||||
|
rm -rf -- "$dir"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Done clearing up resources and compiling for ${KEEP_PAGES}"
|
||||||
|
|
||||||
|
echo "modify next.config.js"
|
||||||
|
|
||||||
|
cp "./distribute/next.config.mjs" "./next.config.mjs"
|
||||||
|
|
||||||
|
|
||||||
111
docker/Jenkinsfile
vendored
111
docker/Jenkinsfile
vendored
@@ -1,111 +0,0 @@
|
|||||||
pipeline {
|
|
||||||
environment {
|
|
||||||
registry = "trance0/notenextra"
|
|
||||||
version = "1.2"
|
|
||||||
NODE_OPTIONS = "--max-old-space-size=8192"
|
|
||||||
// NEXT_SEARCH_ALGOLIA_APP_ID = "${NEXT_SEARCH_ALGOLIA_APP_ID}"
|
|
||||||
// NEXT_SEARCH_ALGOLIA_API_KEY = "${NEXT_SEARCH_ALGOLIA_API_KEY}"
|
|
||||||
// NEXT_SEARCH_ALGOLIA_INDEX_NAME = "${NEXT_SEARCH_ALGOLIA_INDEX_NAME}"
|
|
||||||
}
|
|
||||||
|
|
||||||
agent any
|
|
||||||
|
|
||||||
stages {
|
|
||||||
stage("Cleanup Workspace") {
|
|
||||||
steps {
|
|
||||||
// Using Workspace Cleanup Plugin (if installed and configured)
|
|
||||||
cleanWs()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("Checkout") {
|
|
||||||
steps {
|
|
||||||
checkout([
|
|
||||||
$class: "GitSCM",
|
|
||||||
branches: [[ name: "*/main" ]],
|
|
||||||
userRemoteConfigs: [[
|
|
||||||
url: "https://github.com/Trance-0/NoteNextra",
|
|
||||||
]]
|
|
||||||
])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("Build and test"){
|
|
||||||
parallel {
|
|
||||||
stage("Build Math") {
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
echo "Building docker image ${registry}-math:${version}.${env.BUILD_ID}"
|
|
||||||
def customImage = docker.build("${registry}-math:v${version}.${env.BUILD_ID}","-f ./docker/math/Dockerfile --no-cache --progress=plain .")
|
|
||||||
echo "Logging in to docker hub"
|
|
||||||
// docker.withRegistry("https://registry.hub.docker.com", "docker-hub-creds") {
|
|
||||||
// echo "Pushing docker image ${registry}:v${version}.${env.BUILD_ID}"
|
|
||||||
// customImage.push()
|
|
||||||
// }
|
|
||||||
echo "skipping push due to conflicted servers"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("Build CSE") {
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
echo "Building docker image ${registry}-cse:${version}.${env.BUILD_ID}"
|
|
||||||
def customImage = docker.build("${registry}-cse:v${version}.${env.BUILD_ID}","-f ./docker/cse/Dockerfile --no-cache --progress=plain .")
|
|
||||||
echo "Logging in to docker hub"
|
|
||||||
// docker.withRegistry("https://registry.hub.docker.com", "docker-hub-creds") {
|
|
||||||
// echo "Pushing docker image ${registry}:v${version}.${env.BUILD_ID}"
|
|
||||||
// customImage.push()
|
|
||||||
// }
|
|
||||||
echo "skipping push due to conflicted servers"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("Cleanup Docker tags") {
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
echo "1. Stopping existing container"
|
|
||||||
sh "docker compose -f ./docker/docker-compose.yaml down"
|
|
||||||
// Using Workspace Cleanup Plugin (if installed and configured)
|
|
||||||
echo "2. Removing existing images"
|
|
||||||
def imageNameMath = "${registry}-math:latest"
|
|
||||||
def imageNameCSE = "${registry}-cse:latest"
|
|
||||||
def oldImageIDMath = sh(
|
|
||||||
script: "docker images -qf reference=\${imageNameMath}",
|
|
||||||
returnStdout: true
|
|
||||||
)
|
|
||||||
def oldImageIDCSE = sh(
|
|
||||||
script: "docker images -qf reference=\${imageNameCSE}",
|
|
||||||
returnStdout: true
|
|
||||||
)
|
|
||||||
if ( "${oldImageIDMath}" != "" ) {
|
|
||||||
echo "Removing old image ${oldImageIDMath}"
|
|
||||||
echo "Image Name: " + "${imageNameMath}"
|
|
||||||
echo "Old Image: ${oldImageIDMath}"
|
|
||||||
sh "docker rmi ${oldImageIDMath}"
|
|
||||||
}else{
|
|
||||||
echo "Warning: ${imageNameMath} does not exist"
|
|
||||||
}
|
|
||||||
if ( "${oldImageIDCSE}" != "" ) {
|
|
||||||
echo "Removing old image ${oldImageIDCSE}"
|
|
||||||
echo "Image Name: " + "${imageNameCSE}"
|
|
||||||
echo "Old Image: ${oldImageIDCSE}"
|
|
||||||
sh "docker rmi ${oldImageIDCSE}"
|
|
||||||
}else{
|
|
||||||
echo "Warning: ${imageNameCSE} does not exist"
|
|
||||||
}
|
|
||||||
echo "3. Assigned new tags to the images"
|
|
||||||
sh "docker tag ${registry}-math:v${version}.${env.BUILD_ID} ${registry}-math:latest"
|
|
||||||
sh "docker tag ${registry}-cse:v${version}.${env.BUILD_ID} ${registry}-cse:latest"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage("Deploy") {
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
echo "Deploying docker image ${registry}-math:${version}.${env.BUILD_ID} and ${registry}-cse:${version}.${env.BUILD_ID} with docker compose"
|
|
||||||
sh "docker compose -f ./docker/docker-compose.yaml up -d"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
# Dockerfile for Math folders
|
|
||||||
|
|
||||||
# Source: https://github.com/vercel/next.js/blob/canary/examples/with-docker-multi-env/docker/production/Dockerfile
|
|
||||||
# syntax=docker.io/docker/dockerfile:1
|
|
||||||
|
|
||||||
FROM node:20-alpine AS base
|
|
||||||
|
|
||||||
ENV NODE_OPTIONS="--max-old-space-size=8192"
|
|
||||||
|
|
||||||
# 1. Install dependencies only when needed
|
|
||||||
FROM base AS deps
|
|
||||||
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
|
|
||||||
RUN apk add --no-cache libc6-compat git
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
# Install dependencies based on the preferred package manager
|
|
||||||
COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* .npmrc* ./
|
|
||||||
RUN \
|
|
||||||
if [ -f yarn.lock ]; then yarn --frozen-lockfile; \
|
|
||||||
elif [ -f package-lock.json ]; then npm ci; \
|
|
||||||
elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm i; \
|
|
||||||
else echo "Lockfile not found, use default npm install" && npm i; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 2. Rebuild the source code only when needed
|
|
||||||
FROM base AS builder
|
|
||||||
WORKDIR /app
|
|
||||||
COPY --from=deps /app/node_modules ./node_modules
|
|
||||||
COPY . .
|
|
||||||
RUN ls -la
|
|
||||||
|
|
||||||
# 2.1 Remove unnecessary files for build with title starting with CSE
|
|
||||||
RUN cd ./content && find . -maxdepth 1 -type d -name "Math*" -exec rm -rf {} +
|
|
||||||
RUN cd ./public && find . -maxdepth 1 -type d -name "Math*" -exec rm -rf {} +
|
|
||||||
|
|
||||||
# 2.1.1 Check the updated folders
|
|
||||||
RUN cd ./content && ls -la
|
|
||||||
RUN cd ./public && ls -la
|
|
||||||
|
|
||||||
# 2.2 Update the _meta.js files in the content folder
|
|
||||||
RUN sed -i '/\/\* Math Courses Start \*\//,/\/\* Math Courses End \*\//d' ./content/_meta.js
|
|
||||||
|
|
||||||
# 2.2.1 Check the updated _meta.js file
|
|
||||||
RUN cat ./content/_meta.js
|
|
||||||
|
|
||||||
# This will do the trick, use the corresponding env file for each environment.
|
|
||||||
# COPY .env.production.sample .env.production
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# 3. Production image, copy all the files and run next
|
|
||||||
FROM base AS runner
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ENV NODE_ENV=production
|
|
||||||
|
|
||||||
RUN addgroup -g 1001 -S nodejs
|
|
||||||
RUN adduser -S nextjs -u 1001
|
|
||||||
|
|
||||||
COPY --from=builder /app/public ./public
|
|
||||||
|
|
||||||
# Automatically leverage output traces to reduce image size
|
|
||||||
# https://nextjs.org/docs/advanced-features/output-file-tracing
|
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
|
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
|
||||||
|
|
||||||
USER nextjs
|
|
||||||
|
|
||||||
EXPOSE 4200
|
|
||||||
|
|
||||||
ENV PORT=4200
|
|
||||||
|
|
||||||
CMD HOSTNAME="0.0.0.0" node server.js
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
sudo docker build -t trance-0/notenextra-cse:v1.2.0 -f ./docker/cse/Dockerfile --no-cache --progress=plain .
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
docker compose -f docker/docker-compose.yaml up -d --build notenextra-math notenextra-cse
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
name: notenextra
|
|
||||||
services:
|
|
||||||
# you may need to update relative directories if you move this file
|
|
||||||
# default created directories is /docker/docker-compose.yaml
|
|
||||||
notenextra-math:
|
|
||||||
image: trance0/notenextra-math:latest
|
|
||||||
build:
|
|
||||||
context: ../
|
|
||||||
dockerfile: ./docker/math/Dockerfile
|
|
||||||
tags:
|
|
||||||
- trance0/notenextra-math:latest
|
|
||||||
restart: on-failure:5
|
|
||||||
ports:
|
|
||||||
- 13001:4200
|
|
||||||
notenextra-cse:
|
|
||||||
image: trance0/notenextra-cse:latest
|
|
||||||
build:
|
|
||||||
context: ../
|
|
||||||
dockerfile: ./docker/cse/Dockerfile
|
|
||||||
tags:
|
|
||||||
- trance0/notenextra-cse:latest
|
|
||||||
restart: on-failure:5
|
|
||||||
ports:
|
|
||||||
- 13002:4200
|
|
||||||
nginx:
|
|
||||||
image: nginx:latest
|
|
||||||
ports:
|
|
||||||
- 13000:80
|
|
||||||
volumes:
|
|
||||||
- ./nginx.conf:/etc/nginx/nginx.conf
|
|
||||||
depends_on:
|
|
||||||
- notenextra-math
|
|
||||||
- notenextra-cse
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
# Dockerfile for Math folders
|
|
||||||
|
|
||||||
# Source: https://github.com/vercel/next.js/blob/canary/examples/with-docker-multi-env/docker/production/Dockerfile
|
|
||||||
# syntax=docker.io/docker/dockerfile:1
|
|
||||||
|
|
||||||
FROM node:20-alpine AS base
|
|
||||||
|
|
||||||
ENV NODE_OPTIONS="--max-old-space-size=8192"
|
|
||||||
|
|
||||||
# 1. Install dependencies only when needed
|
|
||||||
FROM base AS deps
|
|
||||||
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
|
|
||||||
RUN apk add --no-cache libc6-compat git
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
# Install dependencies based on the preferred package manager
|
|
||||||
COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* .npmrc* ./
|
|
||||||
RUN \
|
|
||||||
if [ -f yarn.lock ]; then yarn --frozen-lockfile; \
|
|
||||||
elif [ -f package-lock.json ]; then npm ci; \
|
|
||||||
elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm i; \
|
|
||||||
else echo "Lockfile not found, use default npm install" && npm i; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 2. Rebuild the source code only when needed
|
|
||||||
FROM base AS builder
|
|
||||||
WORKDIR /app
|
|
||||||
COPY --from=deps /app/node_modules ./node_modules
|
|
||||||
COPY . .
|
|
||||||
RUN ls -la
|
|
||||||
|
|
||||||
# 2.1 Remove unnecessary files for build with title starting with CSE
|
|
||||||
RUN cd ./content && find . -maxdepth 1 -type d -name "CSE*" -exec rm -rf {} +
|
|
||||||
RUN cd ./public && find . -maxdepth 1 -type d -name "CSE*" -exec rm -rf {} +
|
|
||||||
|
|
||||||
# 2.1.1 Check the updated folders
|
|
||||||
RUN cd ./content && ls -la
|
|
||||||
RUN cd ./public && ls -la
|
|
||||||
|
|
||||||
# 2.2 Update the _meta.js files in the content folder
|
|
||||||
RUN sed -i '/\/\* CSE Courses Start \*\//,/\/\* CSE Courses End \*\//d' ./content/_meta.js
|
|
||||||
|
|
||||||
# 2.2.1 Check the updated _meta.js file
|
|
||||||
RUN cat ./content/_meta.js
|
|
||||||
|
|
||||||
# This will do the trick, use the corresponding env file for each environment.
|
|
||||||
# COPY .env.production.sample .env.production
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# 3. Production image, copy all the files and run next
|
|
||||||
FROM base AS runner
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ENV NODE_ENV=production
|
|
||||||
|
|
||||||
RUN addgroup -g 1001 -S nodejs
|
|
||||||
RUN adduser -S nextjs -u 1001
|
|
||||||
|
|
||||||
COPY --from=builder /app/public ./public
|
|
||||||
|
|
||||||
# Automatically leverage output traces to reduce image size
|
|
||||||
# https://nextjs.org/docs/advanced-features/output-file-tracing
|
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
|
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
|
||||||
|
|
||||||
USER nextjs
|
|
||||||
|
|
||||||
EXPOSE 4200
|
|
||||||
|
|
||||||
ENV PORT=4200
|
|
||||||
|
|
||||||
CMD HOSTNAME="0.0.0.0" node server.js
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
sudo docker build -t trance-0/notenextra-math:v1.2.0 -f ./docker/math/Dockerfile --no-cache --progress=plain .
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
# Example for conf.d/default.conf
|
|
||||||
user www-data;
|
|
||||||
worker_processes 1;
|
|
||||||
|
|
||||||
error_log /var/log/nginx/error.log;
|
|
||||||
pid /var/run/nginx.pid;
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
|
|
||||||
upstream notenextra-math {
|
|
||||||
server notenextra-math:4200;
|
|
||||||
}
|
|
||||||
|
|
||||||
upstream notenextra-cse {
|
|
||||||
server notenextra-cse:4200;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Decide where to send /_pagefind* based on the page that made the request
|
|
||||||
map $http_referer $load_upstream {
|
|
||||||
default http://notenextra-cse;
|
|
||||||
~*://[^/]+/Math(?:/|$) http://notenextra-math;
|
|
||||||
~*://[^/]+/CSE(?:/|$) http://notenextra-cse;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
include /etc/nginx/mime.types;
|
|
||||||
|
|
||||||
# add extra types
|
|
||||||
|
|
||||||
types {
|
|
||||||
text/javascript mjs;
|
|
||||||
}
|
|
||||||
|
|
||||||
default_type application/octet-stream;
|
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
|
||||||
'$status $body_bytes_sent "$http_referer" '
|
|
||||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
|
||||||
|
|
||||||
access_log /var/log/nginx/access.log main;
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
server_name localhost;
|
|
||||||
|
|
||||||
rewrite ^/.well-known/carddav /remote.php/dav/ permanent;
|
|
||||||
rewrite ^/.well-known/caldav /remote.php/dav/ permanent;
|
|
||||||
|
|
||||||
location = /robots.txt {
|
|
||||||
allow all;
|
|
||||||
log_not_found off;
|
|
||||||
access_log off;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Send all next or additional assets (/_pagefind.js and /_pagefind/*) to the chosen app
|
|
||||||
# ^~ /_pagefind matches both "/_pagefind.js" and "/_pagefind/..."
|
|
||||||
location ^~ /_(.*)$ {
|
|
||||||
proxy_pass $load_upstream; # leaves URI intact (/_pagefind.js, /_pagefind/manifest.json, etc.)
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ ^/Math(.*)$ {
|
|
||||||
proxy_pass http://notenextra-math/Math$1;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ ^/CSE(.*)$ {
|
|
||||||
proxy_pass http://notenextra-cse/CSE$1;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://notenextra-math;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -20,13 +20,14 @@ const bundleAnalyzer = withBundleAnalyzer({
|
|||||||
})
|
})
|
||||||
|
|
||||||
export default bundleAnalyzer(withNextra({
|
export default bundleAnalyzer(withNextra({
|
||||||
output: 'standalone',
|
// output: 'standalone',
|
||||||
|
|
||||||
// static export start
|
// static export start
|
||||||
// output: 'export',
|
output: 'export',
|
||||||
// images: {
|
images: {
|
||||||
// unoptimized: true // mandatory, otherwise won't export
|
unoptimized: true // mandatory, otherwise won't export
|
||||||
// },
|
},
|
||||||
|
basePath: '/',
|
||||||
// static export end
|
// static export end
|
||||||
|
|
||||||
// eslint: {
|
// eslint: {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next --turbopack",
|
"dev": "next --turbopack",
|
||||||
"build": "cross-env VERCEL_FORCE_NO_BUILD_CACHE=1 NODE_OPTIONS='--max-old-space-size=16384' next build",
|
"build": "bash ./distribute/prebuild.sh && cross-env VERCEL_FORCE_NO_BUILD_CACHE=1 NODE_OPTIONS='--max-old-space-size=16384' next build",
|
||||||
"build:test": "cross-env ANALYZE=true NODE_OPTIONS='--inspect --max-old-space-size=4096' next build",
|
"build:test": "cross-env ANALYZE=true NODE_OPTIONS='--inspect --max-old-space-size=4096' next build",
|
||||||
"build:analyze": "cross-env ANALYZE=true NODE_OPTIONS='--max-old-space-size=16384' next build",
|
"build:analyze": "cross-env ANALYZE=true NODE_OPTIONS='--max-old-space-size=16384' next build",
|
||||||
"postbuild": "next-sitemap && pagefind --site .next/server/app --output-path out/_pagefind",
|
"postbuild": "next-sitemap && pagefind --site .next/server/app --output-path out/_pagefind",
|
||||||
|
|||||||
Reference in New Issue
Block a user