steveyehtw commited on
Commit
2de9fdc
·
1 Parent(s): 4415019

Remove showcase numbering and hide MakeCode share-page student name

Browse files
projects/DEMO/展示用學生/04_Fire迷宮/link.txt CHANGED
@@ -1 +1 @@
1
- https://makecode.com/_6TDiueTVV3vV
 
1
+ https://arcade.makecode.com/--run?id=17380-99768-60760-10580
projects/DEMO/展示用學生/展示備忘.md CHANGED
@@ -4,6 +4,8 @@
4
 
5
  ## 展示順序
6
 
 
 
7
  1. `01_手勢按鈕挑戰`:MediaPipe 手部追蹤與三指捏合遊戲。
8
  2. `02_臉部3D網格`:MediaPipe 臉部網格/特徵點視覺化。
9
  3. `03_手指空中畫畫`:以手指追蹤繪圖。
 
4
 
5
  ## 展示順序
6
 
7
+ 展示清單與播放器隱藏資料夾前面的排序編號,原資料夾及分享連結保留。Fire 迷宮使用 MakeCode 的模擬器頁面,只展示遊戲,不顯示原分享頁的學生姓名標題。
8
+
9
  1. `01_手勢按鈕挑戰`:MediaPipe 手部追蹤與三指捏合遊戲。
10
  2. `02_臉部3D網格`:MediaPipe 臉部網格/特徵點視覺化。
11
  3. `03_手指空中畫畫`:以手指追蹤繪圖。
server.py CHANGED
@@ -280,6 +280,8 @@ def _scan_projects_uncached() -> dict:
280
  pass
281
 
282
  if projects:
 
 
283
  tree[class_name][student_name] = projects
284
 
285
  if not tree[class_name]:
@@ -308,6 +310,12 @@ def scan_projects(force: bool = False) -> dict:
308
  return tree
309
 
310
 
 
 
 
 
 
 
311
  def get_id(name: str) -> str:
312
  """Stable 10-char hex hash for URL tokens."""
313
  return hashlib.sha256(name.encode("utf-8")).hexdigest()[:10]
@@ -739,6 +747,7 @@ async def run_project_page(request: Request, student_token: str, project_name: s
739
  "student_name": real_student,
740
  "student_token": student_token,
741
  "project_name": project_name,
 
742
  "project_type": proj_type,
743
  "external_url": external_url,
744
  "apk_name": apk_name,
 
280
  pass
281
 
282
  if projects:
283
+ for project in projects:
284
+ project["display_name"] = _project_display_name(class_name, student_name, project["name"])
285
  tree[class_name][student_name] = projects
286
 
287
  if not tree[class_name]:
 
310
  return tree
311
 
312
 
313
+ def _project_display_name(class_name: str, student_name: str, project_name: str) -> str:
314
+ if class_name == "DEMO" and student_name == "展示用學生":
315
+ return re.sub(r"^\d+_", "", project_name)
316
+ return project_name
317
+
318
+
319
  def get_id(name: str) -> str:
320
  """Stable 10-char hex hash for URL tokens."""
321
  return hashlib.sha256(name.encode("utf-8")).hexdigest()[:10]
 
747
  "student_name": real_student,
748
  "student_token": student_token,
749
  "project_name": project_name,
750
+ "project_display_name": _project_display_name(real_class, real_student, project_name),
751
  "project_type": proj_type,
752
  "external_url": external_url,
753
  "apk_name": apk_name,
static/js/index.js CHANGED
@@ -292,7 +292,7 @@
292
  meta.className = 'project-meta';
293
  const title = document.createElement('span');
294
  title.className = 'project-title';
295
- title.textContent = proj.name;
296
  const tag = document.createElement('span');
297
  tag.className = `project-tag ${tagClass}`;
298
  tag.textContent = tagText;
 
292
  meta.className = 'project-meta';
293
  const title = document.createElement('span');
294
  title.className = 'project-title';
295
+ title.textContent = proj.display_name || proj.name;
296
  const tag = document.createElement('span');
297
  tag.className = `project-tag ${tagClass}`;
298
  tag.textContent = tagText;
templates/player.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Telearn Arcade Player - {{ project_name }}</title>
7
  <!-- Google Fonts -->
8
  <link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;600&family=Outfit:wght@400;600;800&family=Noto+Sans+TC:wght@400;700&display=swap" rel="stylesheet">
9
  <link rel="stylesheet" href="/static/css/player.css">
@@ -23,7 +23,7 @@
23
  </button>
24
  <div class="project-title-wrapper" style="margin-left: 1.2rem; border-left: 1px solid rgba(255, 255, 255, 0.08); padding-left: 1.2rem;">
25
  <span class="project-path">{{ class_name }} / {{ student_name }}</span>
26
- <span class="project-name">{{ project_name }}</span>
27
  </div>
28
  </div>
29
 
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Telearn Arcade Player - {{ project_display_name }}</title>
7
  <!-- Google Fonts -->
8
  <link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;600&family=Outfit:wght@400;600;800&family=Noto+Sans+TC:wght@400;700&display=swap" rel="stylesheet">
9
  <link rel="stylesheet" href="/static/css/player.css">
 
23
  </button>
24
  <div class="project-title-wrapper" style="margin-left: 1.2rem; border-left: 1px solid rgba(255, 255, 255, 0.08); padding-left: 1.2rem;">
25
  <span class="project-path">{{ class_name }} / {{ student_name }}</span>
26
+ <span class="project-name">{{ project_display_name }}</span>
27
  </div>
28
  </div>
29