From 872a341b9bd0345cbec5144d67df070a32ce7c6c Mon Sep 17 00:00:00 2001 From: Zheyuan Wu <60459821+Trance-0@users.noreply.github.com> Date: Tue, 2 Sep 2025 22:11:18 -0500 Subject: [PATCH] batch update from _meta.js --- content/CSE5519/CSE5519_A1.md | 2 + content/CSE5519/CSE5519_A2.md | 2 + content/CSE5519/CSE5519_A3.md | 2 + content/CSE5519/CSE5519_A4.md | 2 + content/CSE5519/CSE5519_B1.md | 2 + content/CSE5519/CSE5519_B2.md | 2 + content/CSE5519/CSE5519_B3.md | 2 + content/CSE5519/CSE5519_B4.md | 2 + content/CSE5519/CSE5519_B5.md | 2 + content/CSE5519/CSE5519_C1.md | 2 + content/CSE5519/CSE5519_C2.md | 2 + content/CSE5519/CSE5519_C3.md | 2 + content/CSE5519/CSE5519_C4.md | 2 + content/CSE5519/CSE5519_D1.md | 2 + content/CSE5519/CSE5519_D2.md | 2 + content/CSE5519/CSE5519_D3.md | 2 + content/CSE5519/CSE5519_D4.md | 2 + content/CSE5519/CSE5519_D5.md | 2 + content/CSE5519/CSE5519_E1.md | 2 +- content/CSE5519/CSE5519_E2.md | 2 + content/CSE5519/CSE5519_E3.md | 2 + content/CSE5519/CSE5519_E4.md | 2 + content/CSE5519/CSE5519_E5.md | 2 + content/CSE5519/CSE5519_F1.md | 2 + content/CSE5519/CSE5519_F2.md | 2 + content/CSE5519/CSE5519_F3.md | 2 + content/CSE5519/CSE5519_F4.md | 2 + content/CSE5519/CSE5519_F5.md | 2 + content/CSE5519/CSE5519_G2.md | 2 + content/CSE5519/CSE5519_G3.md | 2 + content/CSE5519/CSE5519_G4.md | 2 + content/CSE5519/CSE5519_G5.md | 2 + content/CSE5519/CSE5519_H2.md | 2 + content/CSE5519/CSE5519_H3.md | 2 + content/CSE5519/CSE5519_H4.md | 2 + content/CSE5519/CSE5519_H5.md | 2 + content/CSE5519/CSE5519_I1.md | 2 + content/CSE5519/CSE5519_I2.md | 2 + content/CSE5519/CSE5519_I3.md | 2 + content/CSE5519/CSE5519_I4.md | 2 + content/CSE5519/CSE5519_J1.md | 2 + content/CSE5519/CSE5519_J2.md | 2 + content/CSE5519/CSE5519_J3.md | 2 + content/CSE5519/CSE5519_J5.md | 2 + content/CSE5519/CSE5519_L1.md | 2 +- content/CSE5519/CSE5519_L2.md | 2 +- content/CSE5519/CSE5519_L3.md | 2 +- content/CSE5519/_meta.js | 56 +++++++ toolboxes/generate_markdown_from_meta.py | 191 +++++++++++++++++++++++ 49 files changed, 337 insertions(+), 4 deletions(-) create mode 100644 content/CSE5519/CSE5519_A1.md create mode 100644 content/CSE5519/CSE5519_A2.md create mode 100644 content/CSE5519/CSE5519_A3.md create mode 100644 content/CSE5519/CSE5519_A4.md create mode 100644 content/CSE5519/CSE5519_B1.md create mode 100644 content/CSE5519/CSE5519_B2.md create mode 100644 content/CSE5519/CSE5519_B3.md create mode 100644 content/CSE5519/CSE5519_B4.md create mode 100644 content/CSE5519/CSE5519_B5.md create mode 100644 content/CSE5519/CSE5519_C1.md create mode 100644 content/CSE5519/CSE5519_C2.md create mode 100644 content/CSE5519/CSE5519_C3.md create mode 100644 content/CSE5519/CSE5519_C4.md create mode 100644 content/CSE5519/CSE5519_D1.md create mode 100644 content/CSE5519/CSE5519_D2.md create mode 100644 content/CSE5519/CSE5519_D3.md create mode 100644 content/CSE5519/CSE5519_D4.md create mode 100644 content/CSE5519/CSE5519_D5.md create mode 100644 content/CSE5519/CSE5519_E2.md create mode 100644 content/CSE5519/CSE5519_E3.md create mode 100644 content/CSE5519/CSE5519_E4.md create mode 100644 content/CSE5519/CSE5519_E5.md create mode 100644 content/CSE5519/CSE5519_F1.md create mode 100644 content/CSE5519/CSE5519_F2.md create mode 100644 content/CSE5519/CSE5519_F3.md create mode 100644 content/CSE5519/CSE5519_F4.md create mode 100644 content/CSE5519/CSE5519_F5.md create mode 100644 content/CSE5519/CSE5519_G2.md create mode 100644 content/CSE5519/CSE5519_G3.md create mode 100644 content/CSE5519/CSE5519_G4.md create mode 100644 content/CSE5519/CSE5519_G5.md create mode 100644 content/CSE5519/CSE5519_H2.md create mode 100644 content/CSE5519/CSE5519_H3.md create mode 100644 content/CSE5519/CSE5519_H4.md create mode 100644 content/CSE5519/CSE5519_H5.md create mode 100644 content/CSE5519/CSE5519_I1.md create mode 100644 content/CSE5519/CSE5519_I2.md create mode 100644 content/CSE5519/CSE5519_I3.md create mode 100644 content/CSE5519/CSE5519_I4.md create mode 100644 content/CSE5519/CSE5519_J1.md create mode 100644 content/CSE5519/CSE5519_J2.md create mode 100644 content/CSE5519/CSE5519_J3.md create mode 100644 content/CSE5519/CSE5519_J5.md create mode 100644 toolboxes/generate_markdown_from_meta.py diff --git a/content/CSE5519/CSE5519_A1.md b/content/CSE5519/CSE5519_A1.md new file mode 100644 index 0000000..a1dfa59 --- /dev/null +++ b/content/CSE5519/CSE5519_A1.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic A: 2021 and before: Semantic Segmentation) + diff --git a/content/CSE5519/CSE5519_A2.md b/content/CSE5519/CSE5519_A2.md new file mode 100644 index 0000000..9ab8dfe --- /dev/null +++ b/content/CSE5519/CSE5519_A2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic A: 2022: Semantic Segmentation) + diff --git a/content/CSE5519/CSE5519_A3.md b/content/CSE5519/CSE5519_A3.md new file mode 100644 index 0000000..31c31a9 --- /dev/null +++ b/content/CSE5519/CSE5519_A3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic A: 2023 - 2024: Semantic Segmentation) + diff --git a/content/CSE5519/CSE5519_A4.md b/content/CSE5519/CSE5519_A4.md new file mode 100644 index 0000000..53ba0d9 --- /dev/null +++ b/content/CSE5519/CSE5519_A4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic A: 2025: Semantic Segmentation) + diff --git a/content/CSE5519/CSE5519_B1.md b/content/CSE5519/CSE5519_B1.md new file mode 100644 index 0000000..4272fb6 --- /dev/null +++ b/content/CSE5519/CSE5519_B1.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic B: 2021 and before: Vision-Language Models) + diff --git a/content/CSE5519/CSE5519_B2.md b/content/CSE5519/CSE5519_B2.md new file mode 100644 index 0000000..2ca26b4 --- /dev/null +++ b/content/CSE5519/CSE5519_B2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic B: 2022: Vision-Language Models) + diff --git a/content/CSE5519/CSE5519_B3.md b/content/CSE5519/CSE5519_B3.md new file mode 100644 index 0000000..aba47b0 --- /dev/null +++ b/content/CSE5519/CSE5519_B3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic B: 2023: Vision-Language Models) + diff --git a/content/CSE5519/CSE5519_B4.md b/content/CSE5519/CSE5519_B4.md new file mode 100644 index 0000000..e6037b4 --- /dev/null +++ b/content/CSE5519/CSE5519_B4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic B: 2024: Vision-Language Models) + diff --git a/content/CSE5519/CSE5519_B5.md b/content/CSE5519/CSE5519_B5.md new file mode 100644 index 0000000..2d3a459 --- /dev/null +++ b/content/CSE5519/CSE5519_B5.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic B: 2025: Vision-Language Models) + diff --git a/content/CSE5519/CSE5519_C1.md b/content/CSE5519/CSE5519_C1.md new file mode 100644 index 0000000..f8dfff7 --- /dev/null +++ b/content/CSE5519/CSE5519_C1.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic C: 2021 and before: Neural Rendering) + diff --git a/content/CSE5519/CSE5519_C2.md b/content/CSE5519/CSE5519_C2.md new file mode 100644 index 0000000..296b4fa --- /dev/null +++ b/content/CSE5519/CSE5519_C2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic C: 2022: Neural Rendering) + diff --git a/content/CSE5519/CSE5519_C3.md b/content/CSE5519/CSE5519_C3.md new file mode 100644 index 0000000..5bc5ec4 --- /dev/null +++ b/content/CSE5519/CSE5519_C3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic C: 2023: Neural Rendering) + diff --git a/content/CSE5519/CSE5519_C4.md b/content/CSE5519/CSE5519_C4.md new file mode 100644 index 0000000..6177990 --- /dev/null +++ b/content/CSE5519/CSE5519_C4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic C: 2024 - 2025: Neural Rendering) + diff --git a/content/CSE5519/CSE5519_D1.md b/content/CSE5519/CSE5519_D1.md new file mode 100644 index 0000000..08e4572 --- /dev/null +++ b/content/CSE5519/CSE5519_D1.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic D: 2021 and before: Image and Video Generation) + diff --git a/content/CSE5519/CSE5519_D2.md b/content/CSE5519/CSE5519_D2.md new file mode 100644 index 0000000..9cafa05 --- /dev/null +++ b/content/CSE5519/CSE5519_D2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic D: 2022: Image and Video Generation) + diff --git a/content/CSE5519/CSE5519_D3.md b/content/CSE5519/CSE5519_D3.md new file mode 100644 index 0000000..c4e75c2 --- /dev/null +++ b/content/CSE5519/CSE5519_D3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic D: 2023: Image and Video Generation) + diff --git a/content/CSE5519/CSE5519_D4.md b/content/CSE5519/CSE5519_D4.md new file mode 100644 index 0000000..2ceadd6 --- /dev/null +++ b/content/CSE5519/CSE5519_D4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic D: 2024: Image and Video Generation) + diff --git a/content/CSE5519/CSE5519_D5.md b/content/CSE5519/CSE5519_D5.md new file mode 100644 index 0000000..988a76f --- /dev/null +++ b/content/CSE5519/CSE5519_D5.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic D: 2025: Image and Video Generation) + diff --git a/content/CSE5519/CSE5519_E1.md b/content/CSE5519/CSE5519_E1.md index aade902..0f033a1 100644 --- a/content/CSE5519/CSE5519_E1.md +++ b/content/CSE5519/CSE5519_E1.md @@ -1,4 +1,4 @@ -# CSE5519 Topic E.1 2021 and before: Deep Learning for Geometric Computer Vision +# CSE5519 Advances in Computer Vision (Topic E: 2021 and before: Deep Learning for Geometric Computer Vision) > [!NOTE] > diff --git a/content/CSE5519/CSE5519_E2.md b/content/CSE5519/CSE5519_E2.md new file mode 100644 index 0000000..be745e6 --- /dev/null +++ b/content/CSE5519/CSE5519_E2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic E: 2022: Deep Learning for Geometric Computer Vision) + diff --git a/content/CSE5519/CSE5519_E3.md b/content/CSE5519/CSE5519_E3.md new file mode 100644 index 0000000..4e29ffa --- /dev/null +++ b/content/CSE5519/CSE5519_E3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic E: 2023: Deep Learning for Geometric Computer Vision) + diff --git a/content/CSE5519/CSE5519_E4.md b/content/CSE5519/CSE5519_E4.md new file mode 100644 index 0000000..fad8c7d --- /dev/null +++ b/content/CSE5519/CSE5519_E4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic E: 2024: Deep Learning for Geometric Computer Vision) + diff --git a/content/CSE5519/CSE5519_E5.md b/content/CSE5519/CSE5519_E5.md new file mode 100644 index 0000000..767d429 --- /dev/null +++ b/content/CSE5519/CSE5519_E5.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic E: 2025: Deep Learning for Geometric Computer Vision) + diff --git a/content/CSE5519/CSE5519_F1.md b/content/CSE5519/CSE5519_F1.md new file mode 100644 index 0000000..6641c78 --- /dev/null +++ b/content/CSE5519/CSE5519_F1.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic F: 2021 and before: Representation Learning) + diff --git a/content/CSE5519/CSE5519_F2.md b/content/CSE5519/CSE5519_F2.md new file mode 100644 index 0000000..6696b14 --- /dev/null +++ b/content/CSE5519/CSE5519_F2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic F: 2022: Representation Learning) + diff --git a/content/CSE5519/CSE5519_F3.md b/content/CSE5519/CSE5519_F3.md new file mode 100644 index 0000000..7c1d6c8 --- /dev/null +++ b/content/CSE5519/CSE5519_F3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic F: 2023: Representation Learning) + diff --git a/content/CSE5519/CSE5519_F4.md b/content/CSE5519/CSE5519_F4.md new file mode 100644 index 0000000..9add9a4 --- /dev/null +++ b/content/CSE5519/CSE5519_F4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic F: 2024: Representation Learning) + diff --git a/content/CSE5519/CSE5519_F5.md b/content/CSE5519/CSE5519_F5.md new file mode 100644 index 0000000..d77dc4d --- /dev/null +++ b/content/CSE5519/CSE5519_F5.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic F: 2025: Representation Learning) + diff --git a/content/CSE5519/CSE5519_G2.md b/content/CSE5519/CSE5519_G2.md new file mode 100644 index 0000000..13fd442 --- /dev/null +++ b/content/CSE5519/CSE5519_G2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic G: 2022 and before: Correspondence Estimation and Structure from Motion) + diff --git a/content/CSE5519/CSE5519_G3.md b/content/CSE5519/CSE5519_G3.md new file mode 100644 index 0000000..b7ddf9f --- /dev/null +++ b/content/CSE5519/CSE5519_G3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic G: 2023: Correspondence Estimation and Structure from Motion) + diff --git a/content/CSE5519/CSE5519_G4.md b/content/CSE5519/CSE5519_G4.md new file mode 100644 index 0000000..8682d61 --- /dev/null +++ b/content/CSE5519/CSE5519_G4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic G: 2024: Correspondence Estimation and Structure from Motion) + diff --git a/content/CSE5519/CSE5519_G5.md b/content/CSE5519/CSE5519_G5.md new file mode 100644 index 0000000..486ed2d --- /dev/null +++ b/content/CSE5519/CSE5519_G5.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic G: 2025: Correspondence Estimation and Structure from Motion) + diff --git a/content/CSE5519/CSE5519_H2.md b/content/CSE5519/CSE5519_H2.md new file mode 100644 index 0000000..811a386 --- /dev/null +++ b/content/CSE5519/CSE5519_H2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic H: 2022 and before: Safety, Robustness, and Evaluation of CV Models) + diff --git a/content/CSE5519/CSE5519_H3.md b/content/CSE5519/CSE5519_H3.md new file mode 100644 index 0000000..3416c63 --- /dev/null +++ b/content/CSE5519/CSE5519_H3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic H: 2023: Safety, Robustness, and Evaluation of CV Models) + diff --git a/content/CSE5519/CSE5519_H4.md b/content/CSE5519/CSE5519_H4.md new file mode 100644 index 0000000..efc0814 --- /dev/null +++ b/content/CSE5519/CSE5519_H4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic H: 2024: Safety, Robustness, and Evaluation of CV Models) + diff --git a/content/CSE5519/CSE5519_H5.md b/content/CSE5519/CSE5519_H5.md new file mode 100644 index 0000000..eef9c86 --- /dev/null +++ b/content/CSE5519/CSE5519_H5.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic H: 2025: Safety, Robustness, and Evaluation of CV Models) + diff --git a/content/CSE5519/CSE5519_I1.md b/content/CSE5519/CSE5519_I1.md new file mode 100644 index 0000000..eeda435 --- /dev/null +++ b/content/CSE5519/CSE5519_I1.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic I: 2021 and before: Embodied Computer Vision and Robotics) + diff --git a/content/CSE5519/CSE5519_I2.md b/content/CSE5519/CSE5519_I2.md new file mode 100644 index 0000000..7301392 --- /dev/null +++ b/content/CSE5519/CSE5519_I2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic I: 2022: Embodied Computer Vision and Robotics) + diff --git a/content/CSE5519/CSE5519_I3.md b/content/CSE5519/CSE5519_I3.md new file mode 100644 index 0000000..a1ab2f0 --- /dev/null +++ b/content/CSE5519/CSE5519_I3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic I: 2023 - 2024: Embodied Computer Vision and Robotics) + diff --git a/content/CSE5519/CSE5519_I4.md b/content/CSE5519/CSE5519_I4.md new file mode 100644 index 0000000..8211175 --- /dev/null +++ b/content/CSE5519/CSE5519_I4.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic I: 2025: Embodied Computer Vision and Robotics) + diff --git a/content/CSE5519/CSE5519_J1.md b/content/CSE5519/CSE5519_J1.md new file mode 100644 index 0000000..5fb93b9 --- /dev/null +++ b/content/CSE5519/CSE5519_J1.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic J: 2021 and before: Open-Vocabulary Object Detection) + diff --git a/content/CSE5519/CSE5519_J2.md b/content/CSE5519/CSE5519_J2.md new file mode 100644 index 0000000..f635064 --- /dev/null +++ b/content/CSE5519/CSE5519_J2.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic J: 2022: Open-Vocabulary Object Detection) + diff --git a/content/CSE5519/CSE5519_J3.md b/content/CSE5519/CSE5519_J3.md new file mode 100644 index 0000000..264d8a6 --- /dev/null +++ b/content/CSE5519/CSE5519_J3.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic J: 2023 - 2024: Open-Vocabulary Object Detection) + diff --git a/content/CSE5519/CSE5519_J5.md b/content/CSE5519/CSE5519_J5.md new file mode 100644 index 0000000..3b78fb8 --- /dev/null +++ b/content/CSE5519/CSE5519_J5.md @@ -0,0 +1,2 @@ +# CSE5519 Advances in Computer Vision (Topic J: 2025: Open-Vocabulary Object Detection) + diff --git a/content/CSE5519/CSE5519_L1.md b/content/CSE5519/CSE5519_L1.md index 2d90cb2..8833bf9 100644 --- a/content/CSE5519/CSE5519_L1.md +++ b/content/CSE5519/CSE5519_L1.md @@ -1,4 +1,4 @@ -# CSE5519 Lecture 1 +# CSE5519 Advances in Computer Vision (Lecture 1) ## What is the class about? diff --git a/content/CSE5519/CSE5519_L2.md b/content/CSE5519/CSE5519_L2.md index 9b75911..bef49a1 100644 --- a/content/CSE5519/CSE5519_L2.md +++ b/content/CSE5519/CSE5519_L2.md @@ -1,4 +1,4 @@ -# CSE5519 Lecture 2 +# CSE5519 Advances in Computer Vision (Lecture 2) ## A brief history (time) of computer vision diff --git a/content/CSE5519/CSE5519_L3.md b/content/CSE5519/CSE5519_L3.md index 68756da..aa77699 100644 --- a/content/CSE5519/CSE5519_L3.md +++ b/content/CSE5519/CSE5519_L3.md @@ -1,4 +1,4 @@ -# CSE5519 Lecture 3 +# CSE5519 Advances in Computer Vision (Lecture 3) ## Reminders diff --git a/content/CSE5519/_meta.js b/content/CSE5519/_meta.js index 4b7c17a..a44dc85 100644 --- a/content/CSE5519/_meta.js +++ b/content/CSE5519/_meta.js @@ -9,4 +9,60 @@ export default { "---":{ type: 'separator' }, + CSE5519_C1: "CSE5519 Advances in Computer Vision (Topic C: 2021 and before: Neural Rendering)", + CSE5519_F1: "CSE5519 Advances in Computer Vision (Topic F: 2021 and before: Representation Learning)", + CSE5519_B1: "CSE5519 Advances in Computer Vision (Topic B: 2021 and before: Vision-Language Models)", + 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)", + CSE5519_B3: "CSE5519 Advances in Computer Vision (Topic B: 2023: Vision-Language Models)", + CSE5519_G3: "CSE5519 Advances in Computer Vision (Topic G: 2023: Correspondence Estimation and Structure from Motion)", + CSE5519_C3: "CSE5519 Advances in Computer Vision (Topic C: 2023: Neural Rendering)", + CSE5519_D3: "CSE5519 Advances in Computer Vision (Topic D: 2023: Image and Video Generation)", + CSE5519_E3: "CSE5519 Advances in Computer Vision (Topic E: 2023: Deep Learning for Geometric Computer Vision)", + CSE5519_F3: "CSE5519 Advances in Computer Vision (Topic F: 2023: Representation Learning)", + CSE5519_I3: "CSE5519 Advances in Computer Vision (Topic I: 2023 - 2024: Embodied Computer Vision and Robotics)", + CSE5519_J3: "CSE5519 Advances in Computer Vision (Topic J: 2023 - 2024: Open-Vocabulary Object Detection)", + CSE5519_A3: "CSE5519 Advances in Computer Vision (Topic A: 2023 - 2024: Semantic Segmentation)", + "---":{ + type: 'separator' + }, + CSE5519_G4: "CSE5519 Advances in Computer Vision (Topic G: 2024: Correspondence Estimation and Structure from Motion)", + CSE5519_F4: "CSE5519 Advances in Computer Vision (Topic F: 2024: Representation Learning)", + CSE5519_D4: "CSE5519 Advances in Computer Vision (Topic D: 2024: Image and Video Generation)", + CSE5519_E4: "CSE5519 Advances in Computer Vision (Topic E: 2024: Deep Learning for Geometric Computer Vision)", + CSE5519_B4: "CSE5519 Advances in Computer Vision (Topic B: 2024: Vision-Language Models)", + 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)", + CSE5519_B5: "CSE5519 Advances in Computer Vision (Topic B: 2025: Vision-Language Models)", + CSE5519_D5: "CSE5519 Advances in Computer Vision (Topic D: 2025: Image and Video Generation)", + CSE5519_E5: "CSE5519 Advances in Computer Vision (Topic E: 2025: Deep Learning for Geometric Computer Vision)", + CSE5519_A4: "CSE5519 Advances in Computer Vision (Topic A: 2025: Semantic Segmentation)", + 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)", + CSE5519_J5: "CSE5519 Advances in Computer Vision (Topic J: 2025: Open-Vocabulary Object Detection)", } \ No newline at end of file diff --git a/toolboxes/generate_markdown_from_meta.py b/toolboxes/generate_markdown_from_meta.py new file mode 100644 index 0000000..2b92dc3 --- /dev/null +++ b/toolboxes/generate_markdown_from_meta.py @@ -0,0 +1,191 @@ +#!/usr/bin/env python3 +""" +Script to generate markdown files from _meta.js entries. +For each entry in _meta.js, creates a markdown file with the key as filename and value as H1. +""" + +import os +import re +import json +from pathlib import Path + +def parse_meta_js(file_path): + """Parse the _meta.js file and extract entries.""" + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + + # Remove export default and clean up + content = content.replace('export default', '').strip() + content = content.replace('{', '').replace('}', '').strip() + + entries = {} + lines = content.split('\n') + + for line in lines: + line = line.strip() + if not line or line.startswith('//') or line.startswith('"---"'): + continue + + # Match key: "value" pattern + match = re.match(r'(\w+):\s*"([^"]+)"', line) + if match: + key = match.group(1) + value = match.group(2) + entries[key] = value + + return entries + +def get_user_confirmation(action, file_path, title): + """Get user confirmation for file operations.""" + print(f"\n{action}: {file_path}") + print(f"Title: {title}") + + while True: + response = input("Proceed? (y/n/a for all/q to quit): ").lower().strip() + if response in ['y', 'yes']: + return True + elif response in ['n', 'no']: + return False + elif response in ['a', 'all']: + return 'all' + elif response in ['q', 'quit']: + return 'quit' + else: + print("Please enter 'y' (yes), 'n' (no), 'a' (all), or 'q' (quit)") + +def create_or_update_markdown_file(file_path, title, auto_confirm=False): + """Create a new markdown file or update existing one with correct H1.""" + file_path = Path(file_path) + + # Create directory if it doesn't exist + file_path.parent.mkdir(parents=True, exist_ok=True) + + if file_path.exists(): + # Read existing file to check current H1 + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + + lines = content.split('\n') + current_h1 = None + for line in lines: + if line.startswith('# '): + current_h1 = line[2:].strip() + break + + # Check if H1 needs updating + if current_h1 == title: + print(f"Skipped: {file_path} (H1 already correct)") + return True + + if not auto_confirm: + action = f"Update existing file" + if current_h1: + action += f" (current H1: '{current_h1}')" + else: + action += " (no H1 found)" + + confirmation = get_user_confirmation(action, file_path, title) + if confirmation == 'quit': + return 'quit' + elif confirmation == 'all': + auto_confirm = True + elif not confirmation: + print(f"Skipped: {file_path}") + return True + + # Update the file + updated_lines = [] + h1_updated = False + + for line in lines: + # Check if this is an H1 line (starts with #) + if line.startswith('# ') and not h1_updated: + updated_lines.append(f"# {title}") + h1_updated = True + else: + updated_lines.append(line) + + # If no H1 was found, add it at the beginning + if not h1_updated: + updated_lines.insert(0, f"# {title}") + updated_lines.insert(1, "") # Add empty line after H1 + + # Write updated content + with open(file_path, 'w', encoding='utf-8') as f: + f.write('\n'.join(updated_lines)) + + print(f"Updated: {file_path}") + else: + if not auto_confirm: + confirmation = get_user_confirmation("Create new file", file_path, title) + if confirmation == 'quit': + return 'quit' + elif confirmation == 'all': + auto_confirm = True + elif not confirmation: + print(f"Skipped: {file_path}") + return True + + # Create new file + content = f"# {title}\n\n" + with open(file_path, 'w', encoding='utf-8') as f: + f.write(content) + + print(f"Created: {file_path}") + + return True + +def main(): + # Get current working directory + cwd = Path.cwd() + print(f"Current working directory: {cwd}") + + # Path to the _meta.js file (relative to current working directory) + meta_file = cwd / "content/CSE5519/_meta.js" + + if not meta_file.exists(): + print(f"Error: {meta_file} not found!") + return + + # Parse the _meta.js file + entries = parse_meta_js(meta_file) + + if not entries: + print("No entries found in _meta.js") + return + + # Output directory for markdown files (relative to current working directory) + output_dir = cwd / "content/CSE5519" + + # Filter out separators and special entries + valid_entries = {k: v for k, v in entries.items() if k != "index" and not k.startswith("---")} + + print(f"Found {len(valid_entries)} entries to process from {meta_file}") + print("Options: y=yes, n=no, a=all (auto-confirm remaining), q=quit") + print("-" * 50) + + auto_confirm = False + processed = 0 + skipped = 0 + + # Generate markdown files + for key, title in valid_entries.items(): + # Create markdown file path (relative to current working directory) + md_file = output_dir / f"{key}.md" + + # Create or update the markdown file + result = create_or_update_markdown_file(md_file, title, auto_confirm) + + if result == 'quit': + print("\nOperation cancelled by user.") + break + elif result: + processed += 1 + else: + skipped += 1 + + print("-" * 50) + print(f"Completed: {processed} files processed, {skipped} files skipped") + +if __name__ == "__main__": + main()