{"id":369,"date":"2015-05-26T09:27:44","date_gmt":"2015-05-26T01:27:44","guid":{"rendered":"http:\/\/www.gas.tcu.edu.tw\/?page_id=369"},"modified":"2026-10-18T11:02:58","modified_gmt":"2026-10-18T03:02:58","slug":"%e4%ba%a4%e9%80%9a%e8%bb%8a%e8%b3%87%e8%a8%8a","status":"publish","type":"page","link":"https:\/\/gas.tcu.edu.tw\/?page_id=369","title":{"rendered":"\u6148\u6fdf\u5927\u5b78\u4ea4\u901a\u8eca\/Tzu Chi University Shuttle Bus"},"content":{"rendered":"\n<!-- \u2605 \u8cbc\u5165 WordPress\u300c\u81ea\u8a02 HTML \u5340\u584a\u300d\u6642\uff0c\u8acb\u6574\u6bb5\u8907\u88fd\u8cbc\u4e0a \u2605 -->\n<!-- 115-1\uff082026\/09\/07 \u2013 2027\/01\/08\uff09\u3000\u66f4\u65b0\u65e5 2026-08-24 -->\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Noto+Sans+TC:wght@400;500;700;900&display=swap');\n\n#tcu-shuttle {\n  --navy: #0d3b66;\n  --blue: #1565c0;\n  --blue-pale: #e8effa;\n  --line: #dbe3ee;\n  --ink: #1a1a1a;\n  --ink-soft: #5a6472;\n  font-family: 'Noto Sans TC', 'Microsoft JhengHei', system-ui, sans-serif;\n  font-size: 15px; color: var(--ink); line-height: 1.65;\n  background: #fff; border: 1px solid var(--line); border-radius: 10px;\n  overflow: hidden; max-width: 860px; margin: 0 auto;\n}\n\n\/* \u2500\u2500 Header\uff1a\u55ae\u8272\u6df1\u85cd\u5e95\u3001\u767d\u5b57\uff0c\u4e0d\u7528\u6f38\u5c64 \u2500\u2500 *\/\n#tcu-shuttle .sh-header {\n  background: var(--navy);\n  padding: 1.5rem 1.4rem 1.3rem; position: relative;\n}\n#tcu-shuttle .sh-header * { color: #fff; }\n#tcu-shuttle .sh-lang { position: absolute; top: 1.1rem; right: 1.1rem; display: flex; gap: 6px; }\n#tcu-shuttle .sh-lang-btn {\n  padding: .3rem .8rem; border-radius: 4px;\n  font-size: .8rem; font-weight: 700; cursor: pointer;\n  border: 1px solid rgba(255,255,255,.55); background: transparent;\n  color: #fff; font-family: inherit; line-height: 1.4;\n}\n#tcu-shuttle .sh-lang-btn.active { background: #fff; color: var(--navy); border-color: #fff; }\n#tcu-shuttle .sh-title .sh-eyebrow {\n  font-size: .8rem; font-weight: 500; letter-spacing: .06em;\n  padding-bottom: .45rem; margin-bottom: .55rem;\n  border-bottom: 1px solid rgba(255,255,255,.3); display: inline-block;\n}\n#tcu-shuttle .sh-title .sh-main { font-size: 1.4rem; font-weight: 900; line-height: 1.3; }\n#tcu-shuttle .sh-title .sh-sub  { font-size: .9rem; font-weight: 400; margin-top: .3rem; }\n\n\/* \u2500\u2500 Body \u2500\u2500 *\/\n#tcu-shuttle .sh-wrap { padding: 1.2rem 1rem 1.6rem; background: #f7f9fc; }\n\n\/* \u2500\u2500 \u6642\u523b\u8868\u5361\u7247 \u2500\u2500 *\/\n#tcu-shuttle .sh-sched-card {\n  background: #fff; border: 1px solid var(--line); border-radius: 8px;\n  margin-bottom: 1rem; overflow: hidden;\n}\n#tcu-shuttle .sh-sched-top {\n  padding: 1rem 1.2rem .85rem; text-align: center; border-bottom: 1px solid var(--line);\n}\n#tcu-shuttle .sh-sched-top .sc-title { font-size: 1.1rem; font-weight: 900; color: var(--navy); }\n#tcu-shuttle .sh-sched-top .sc-term { font-size: .82rem; color: var(--ink-soft); margin-top: .2rem; }\n\n\/* \u5b78\u671f\u9032\u5ea6 *\/\n#tcu-shuttle .sh-timeline { padding: .95rem 1.3rem; border-bottom: 1px solid var(--line); }\n#tcu-shuttle .sh-tl-dates { display: flex; justify-content: space-between; font-size: .76rem; color: var(--ink-soft); margin-bottom: .45rem; }\n#tcu-shuttle .sh-tl-dates strong { color: var(--ink); font-weight: 700; }\n#tcu-shuttle .sh-tl-bar { height: 8px; background: var(--blue-pale); border-radius: 4px; position: relative; }\n#tcu-shuttle .sh-tl-fill { height: 100%; background: var(--blue); border-radius: 4px; }\n#tcu-shuttle .sh-tl-dot { position: absolute; top: 50%; width: 13px; height: 13px; background: #fff; border: 3px solid var(--blue); border-radius: 50%; transform: translate(-50%, -50%); }\n#tcu-shuttle .sh-tl-info { display: flex; justify-content: space-between; font-size: .74rem; color: var(--ink-soft); margin-top: .45rem; }\n\n\n\/* CTA *\/\n@keyframes tcu-cta-pulse {\n  0%, 100% { box-shadow: 0 0 0 0 rgba(21,101,192,.5); }\n  60%       { box-shadow: 0 0 0 10px rgba(21,101,192,0); }\n}\n#tcu-shuttle .sh-sched-cta-wrap { padding: .9rem 1.1rem; }\n#tcu-shuttle .sh-cta-hint {\n  text-align: center; font-size: .82rem; font-weight: 700;\n  color: var(--blue); margin-bottom: .45rem; letter-spacing: .03em;\n}\n#tcu-shuttle .sh-sched-cta {\n  display: block; text-align: center; text-decoration: none;\n  background: var(--blue); color: #fff; font-weight: 700;\n  padding: 1.1rem 1rem; border-radius: 6px;\n  animation: tcu-cta-pulse 2.2s ease-in-out infinite;\n  border: 2px solid transparent;\n  transition: background .18s, border-color .18s;\n}\n#tcu-shuttle .sh-sched-cta:hover {\n  background: var(--navy); color: #fff;\n  animation: none;\n  border-color: rgba(255,255,255,.3);\n}\n#tcu-shuttle .sh-sched-cta * { color: #fff; }\n#tcu-shuttle .sh-sched-cta .cta-main { font-size: 1.05rem; font-weight: 900; display: flex; align-items: center; justify-content: center; gap: .4rem; }\n#tcu-shuttle .sh-sched-cta .cta-arrow { font-size: 1.15rem; line-height: 1; }\n#tcu-shuttle .sh-sched-cta .cta-sub { font-size: .82rem; font-weight: 400; display: block; margin-top: .3rem; opacity: .9; }\n\n\/* \u2500\u2500 \u8eca\u7a2e\u6a19\u7c64\uff1a\u4e00\u5f8b\u4e2d\u6027\u7070\uff0c\u984f\u8272\u7559\u7d66\u6821\u5340\u7528 \u2500\u2500\n   \u984f\u8272\u7684\u610f\u7fa9\u56fa\u5b9a\u70ba\u300c\u6821\u5340\u300d\uff0c\u8207\u4e09\u6821\u5340\u7ad9\u724c\u7684\u914d\u8272\u4e00\u81f4\uff1b\u8eca\u7a2e\u53ea\u7528\u6587\u5b57\u5340\u5206\uff0c\n   \u907f\u514d\u540c\u4e00\u5f35\u8868\u88e1\u51fa\u73fe\u5169\u5957\u914d\u8272\u7cfb\u7d71\uff0c\u8b80\u8005\u4e0d\u77e5\u9053\u984f\u8272\u4ee3\u8868\u4ec0\u9ebc\u3002 *\/\n#tcu-shuttle .sh-badge {\n  font-size: .74rem; font-weight: 700; padding: .16rem .5rem;\n  border-radius: 4px; white-space: nowrap; display: inline-block;\n  background: #f2f4f7; color: #48505c; border: 1px solid #d3d9e2;\n}\n#tcu-shuttle .sh-legend { margin-top: .85rem; display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }\n#tcu-shuttle .sh-legend .lg-label { font-size: .78rem; color: var(--ink-soft); }\n#tcu-shuttle .lg-dot {\n  display: inline-flex; align-items: center; gap: .3rem;\n  font-size: .78rem; font-weight: 700; color: var(--ink);\n}\n#tcu-shuttle .lg-dot i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }\n\n\/* \u7ad9\u724c\u4ee3\u78bc\n   \u2500\u2500 \u5be6\u9ad4\u7ad9\u724c\u9810\u8a08 115 \u5e74 12 \u6708\u5e95\u524d\u7acb\u597d\u3002\u5728\u90a3\u4e4b\u524d\u300c\u5730\u9ede\u540d\u7a31\u300d\u624d\u662f\u627e\u5f97\u5230\u8eca\u7684\u4f9d\u64da\uff0c\n      \u4ee3\u78bc\u53ea\u662f\u9810\u544a\uff0c\u6240\u4ee5\u653e\u5728\u540d\u7a31\u5f8c\u9762\u4e26\u6de1\u5316\uff0c\u907f\u514d\u65b0\u751f\u8aa4\u4ee5\u70ba\u73fe\u5834\u6709\u724c\u5b50\u53ef\u627e\u3002\n   \u2500\u2500 \u7ad9\u724c\u7acb\u597d\u5f8c\uff1a\u5728\u6700\u5916\u5c64 div \u52a0\u4e0a class=\"signs-ready\"\uff08<div id=\"tcu-shuttle\" class=\"signs-ready\">\uff09\uff0c\n      \u4ee3\u78bc\u5c31\u6703\u8b8a\u6210\u6df1\u85cd\u5be6\u6846\u3001\u5f80\u524d\u7ad9\u5230\u540d\u7a31\u524d\u9762\uff0c\u540c\u6642\u9ec3\u8272\u63d0\u9192\u6703\u81ea\u52d5\u96b1\u85cf\u3002 *\/\n#tcu-shuttle .sh-code {\n  display: inline-block; text-align: center;\n  font-family: Consolas, \"Courier New\", monospace; font-size: .72rem; font-weight: 700;\n  color: #8a94a3; background: #f2f4f7; border: 1px dashed #c3cad4;\n  border-radius: 3px; padding: .02rem .32rem; margin-left: .4rem; letter-spacing: .03em;\n  vertical-align: .05em;\n}\n#tcu-shuttle.signs-ready .sh-code {\n  color: var(--navy); background: #fff; border: 1px solid var(--navy); border-style: solid;\n}\n#tcu-shuttle.signs-ready .sh-code-note { display: none; }\n#tcu-shuttle .sh-code-note {\n  margin-top: .85rem; font-size: .82rem; color: #6b5a1e;\n  background: #fffdf3; border: 1px solid #e6dcae; border-left: 4px solid #c9a227;\n  border-radius: 4px; padding: .7rem .85rem; line-height: 1.7;\n}\n#tcu-shuttle .sh-code-note strong { color: #7a6620; }\n#tcu-shuttle .sp-hint { font-size: .8rem; color: var(--ink-soft); font-weight: 400; display: block; margin-top: .15rem; }\n\n\/* \u2500\u2500 Tabs \u2500\u2500 *\/\n#tcu-shuttle .sh-tabs-wrap { background: #e3e9f2; border-radius: 8px 8px 0 0; padding: .45rem .45rem 0; }\n#tcu-shuttle .sh-tabs { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 3px; scrollbar-width: none; }\n#tcu-shuttle .sh-tabs::-webkit-scrollbar { display: none; }\n#tcu-shuttle .sh-tab-btn {\n  flex-shrink: 0; padding: .55rem .9rem; background: transparent; border: none;\n  border-radius: 5px 5px 0 0; cursor: pointer; font-family: inherit;\n  font-size: .85rem; font-weight: 700; color: #4a5568; white-space: nowrap;\n}\n#tcu-shuttle .sh-tab-btn.active { background: #fff; color: var(--navy); box-shadow: inset 0 -3px 0 var(--blue); }\n#tcu-shuttle .sh-tab-btn:hover:not(.active) { background: rgba(255,255,255,.6); color: var(--navy); }\n\n#tcu-shuttle .sh-panels {\n  background: #fff; border: 1px solid var(--line); border-top: none;\n  border-radius: 0 0 8px 8px; padding: 1.1rem 1.1rem 1.2rem; margin-bottom: 1rem;\n}\n#tcu-shuttle .sh-panel { display: none; }\n#tcu-shuttle .sh-panel.active { display: block; }\n\n\/* \u2500\u2500 \u6642\u523b\u8868 \u2500\u2500 *\/\n#tcu-shuttle .sh-term-line {\n  font-size: .88rem; color: var(--ink); line-height: 1.7;\n  background: var(--blue-pale); border-left: 4px solid var(--blue);\n  border-radius: 0 5px 5px 0; padding: .55rem .85rem; margin-bottom: .8rem;\n}\n#tcu-shuttle .sh-term-line strong { color: var(--navy); }\n#tcu-shuttle .sh-tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }\n#tcu-shuttle .sh-tbl { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .86rem; }\n#tcu-shuttle .sh-tbl th, #tcu-shuttle .sh-tbl td { border: 1px solid var(--line); padding: .45rem .5rem; text-align: center; }\n#tcu-shuttle .sh-tbl thead th { background: var(--navy); color: #fff; font-weight: 700; font-size: .82rem; line-height: 1.35; }\n#tcu-shuttle .sh-tbl thead th small { display: block; font-weight: 400; font-size: .72rem; }\n#tcu-shuttle .sh-tbl tbody tr:nth-child(even) { background: #f7f9fc; }\n#tcu-shuttle .sh-tbl td.sid { font-family: Consolas, monospace; font-weight: 700; color: var(--navy); }\n#tcu-shuttle .sh-tbl td.dash { color: #c3cad4; }\n#tcu-shuttle .sh-tbl tr.is-school td { background: #f2f7f4; }\n#tcu-shuttle .sh-tbl tr.is-school:nth-child(even) td { background: #eaf2ed; }\n\n\/* \u2500\u2500 \u505c\u99db\u65e5\u6e05\u55ae\uff08\u4f9d\u4eca\u5929\u65e5\u671f\u81ea\u52d5\u8b8a\u5316\uff09\u2500\u2500 *\/\n#tcu-shuttle .sh-off { margin-top: 1rem; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }\n#tcu-shuttle .sh-off-head {\n  background: #f7f9fc; border-bottom: 1px solid var(--line);\n  padding: .55rem .8rem; font-size: .88rem; font-weight: 800; color: var(--navy);\n  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;\n}\n#tcu-shuttle .sh-off-next { font-size: .8rem; font-weight: 700; color: #b3261e; margin-left: auto; }\n#tcu-shuttle .sh-off-list { list-style: none; margin: 0; padding: 0; }\n#tcu-shuttle .sh-off-list li {\n  display: flex; align-items: baseline; gap: .6rem;\n  padding: .45rem .8rem; border-bottom: 1px solid #eef1f5; font-size: .88rem;\n}\n#tcu-shuttle .sh-off-list li:last-child { border-bottom: none; }\n#tcu-shuttle .sh-off-list .off-date { font-family: Consolas, monospace; font-weight: 700; color: var(--navy); min-width: 5.4em; }\n#tcu-shuttle .sh-off-list .off-name { flex: 1; }\n#tcu-shuttle .sh-off-list .off-tag { font-size: .73rem; font-weight: 700; padding: .1rem .45rem; border-radius: 3px; white-space: nowrap; }\n#tcu-shuttle .sh-off-list li.is-past { color: #a8b0ba; }\n#tcu-shuttle .sh-off-list li.is-past .off-date { color: #a8b0ba; text-decoration: line-through; }\n#tcu-shuttle .sh-off-list li.is-past .off-tag { background: #f2f4f7; color: #9aa3ae; }\n#tcu-shuttle .sh-off-list li.is-next { background: #fdf3f2; }\n#tcu-shuttle .sh-off-list li.is-next .off-date,\n#tcu-shuttle .sh-off-list li.is-next .off-name { color: #b3261e; font-weight: 700; }\n#tcu-shuttle .sh-off-list li.is-next .off-tag { background: #b3261e; color: #fff; }\n#tcu-shuttle .sh-off-list li.is-today { background: #fff8e1; }\n#tcu-shuttle .sh-off-list li.is-today .off-tag { background: #c9a227; color: #fff; }\n\n#tcu-shuttle .sh-alert {\n  border: 1px solid #e0c3c3; border-left: 5px solid #b3261e; background: #fdf3f2;\n  border-radius: 6px; padding: .85rem 1rem;\n}\n#tcu-shuttle .sh-alert .alert-title { color: #b3261e; font-weight: 800; font-size: .95rem; margin-bottom: .35rem; }\n#tcu-shuttle .sh-alert p { font-size: .9rem; line-height: 1.75; margin: 0; }\n#tcu-shuttle .sh-alert a { color: #b3261e; font-weight: 700; }\n\n#tcu-shuttle .sh-notes { list-style: none; padding: 0; margin: 0; }\n#tcu-shuttle .sh-notes li {\n  font-size: .9rem; line-height: 1.75; padding: .55rem .3rem .55rem 1.5rem;\n  position: relative; border-bottom: 1px solid #eef1f5;\n}\n#tcu-shuttle .sh-notes li:last-child { border-bottom: none; }\n#tcu-shuttle .sh-notes li::before {\n  content: \"\"; position: absolute; left: .35rem; top: 1.05rem;\n  width: 6px; height: 6px; background: var(--blue); border-radius: 1px;\n}\n\/* \u82f1\u6587\u88dc\u8ff0\uff1a\u53ea\u5728\u82f1\u6587\u6a21\u5f0f\u51fa\u73fe\uff0c\u4e2d\u6587\u6a21\u5f0f\u4e0d\u4e26\u6392\u986f\u793a *\/\n#tcu-shuttle .sh-notes .en-note { color: var(--ink-soft); font-size: .9rem; display: none; }\n#tcu-shuttle.lang-en .sh-notes .en-note { display: block; }\n\n\/* \u2500\u2500 \u5019\u8eca\u5730\u9ede\uff1a\u914d\u8272\u8ddf\u8457\u300c\u6821\u5340\u300d\u8d70\uff0c\u8207\u4e09\u6821\u5340\u7ad9\u724c\u4e00\u81f4 \u2500\u2500\n   \u4e2d\u592e\uff1d\u85cd #023F74\uff08VI \u85cd C92 M58 Y8 K45\uff09\uff0f \u4ecb\u4ec1\uff1d\u73ca\u745a\u6a58 #F26B4A \uff0f \u5efa\u570b\uff1d\u9752 #6EB92C\uff08VI \u9752 C60 Y100\uff09\n   \uff08\u8207\u5be6\u9ad4\u7ad9\u724c\u8a2d\u8a08\u7a3f\u4e00\u81f4\uff1b\u9752\u8272\u592a\u6dfa\u4e0d\u9069\u5408\u7576\u5b57\u8272\uff0c\u6a19\u984c\u5b57\u6539\u7528\u6df1\u4e00\u968e\u7684 #3d7a12\uff09 *\/\n#tcu-shuttle .sh-campus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }\n#tcu-shuttle .sh-campus-card {\n  background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--cc);\n  border-radius: 6px; padding: .75rem .8rem .8rem;\n}\n#tcu-shuttle .sh-campus-card .cc-title {\n  font-size: .95rem; font-weight: 800; color: var(--cc-ink);\n  margin: 0 0 .55rem; padding-bottom: .35rem; border-bottom: 1px solid var(--line);\n  display: flex; align-items: center; gap: .4rem;\n}\n#tcu-shuttle .sh-campus-card .cc-title::before {\n  content: \"\"; width: 10px; height: 10px; border-radius: 2px; background: var(--cc); flex: 0 0 auto;\n}\n#tcu-shuttle .cc-main    { --cc: #023F74; --cc-ink: #023F74; }\n#tcu-shuttle .cc-jieren  { --cc: #F26B4A; --cc-ink: #b8391b; }\n#tcu-shuttle .cc-jianguo { --cc: #6EB92C; --cc-ink: #3d7a12; }\n#tcu-shuttle .sh-spot { margin-top: .6rem; padding-left: .55rem; border-left: 3px solid var(--cc); }\n#tcu-shuttle .sh-spot .sp-loc { font-weight: 700; font-size: .88rem; color: var(--ink); }\n#tcu-shuttle .sh-spot .sp-types { margin-top: .3rem; display: flex; flex-wrap: wrap; gap: .3rem; }\n\n#tcu-shuttle .sh-route-btn {\n  display: block; text-align: center; padding: .9rem 1rem;\n  background: #e7f3ec; border: 1px solid #b2d6be; border-radius: 6px;\n  text-decoration: none; color: #1b3a18; font-weight: 700; font-size: .95rem;\n}\n#tcu-shuttle .sh-route-btn:hover { background: #d9ebe0; }\n#tcu-shuttle .sh-route-btn .rb-sub { font-size: .83rem; font-weight: 400; color: #3a5c38; display: block; margin-top: .18rem; }\n\n#tcu-shuttle .sh-rule-card { background: #f7f9fc; border: 1px solid var(--line); border-radius: 6px; padding: .9rem 1rem; font-size: .88rem; line-height: 1.75; }\n#tcu-shuttle .sh-rule-card .formula { font-size: .93rem; font-weight: 700; margin-bottom: .65rem; color: var(--navy); }\n#tcu-shuttle .sh-rule-tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: .5rem 0; }\n#tcu-shuttle .sh-rule-tbl { width: 100%; min-width: 420px; border-collapse: collapse; font-size: .84rem; }\n#tcu-shuttle .sh-rule-tbl th, #tcu-shuttle .sh-rule-tbl td { border: 1px solid var(--line); padding: .42rem .55rem; vertical-align: top; }\n#tcu-shuttle .sh-rule-tbl thead th { background: var(--navy); color: #fff; font-weight: 700; }\n#tcu-shuttle .sh-rule-tbl tbody tr:nth-child(even) { background: #fff; }\n#tcu-shuttle code { font-family: Consolas, monospace; color: #b3261e; font-weight: 700; }\n#tcu-shuttle .sh-example { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--blue); padding: .65rem .85rem; border-radius: 4px; margin-top: .7rem; font-size: .87rem; }\n\n#tcu-shuttle .sh-foot { font-size: .79rem; color: var(--ink-soft); text-align: center; margin: 1.3rem 0 0; padding-top: .8rem; border-top: 1px solid var(--line); }\n\n\/* \u2500\u2500 \u8a9e\u8a00\u5207\u63db \u2500\u2500 *\/\n#tcu-shuttle .zh { display: block; }\n#tcu-shuttle .en { display: none; }\n#tcu-shuttle span.zh { display: inline; }\n#tcu-shuttle span.en { display: none; }\n#tcu-shuttle.lang-en .zh { display: none !important; }\n#tcu-shuttle.lang-en .en { display: block; }\n#tcu-shuttle.lang-en span.en { display: inline; }\n#tcu-shuttle.lang-en span.zh { display: none !important; }\n\n@media (max-width: 600px) {\n  #tcu-shuttle .sh-campus-grid { grid-template-columns: 1fr; }\n  #tcu-shuttle .sh-title .sh-main { font-size: 1.15rem; }\n  #tcu-shuttle .sh-wrap { padding: 1rem .7rem 1.3rem; }\n  #tcu-shuttle .sh-tab-btn { font-size: .79rem; padding: .5rem .65rem; }\n}\n@media (min-width: 601px) and (max-width: 768px) {\n  #tcu-shuttle .sh-campus-grid { grid-template-columns: 1fr 1fr; }\n}\n<\/style>\n\n<div id=\"tcu-shuttle\">\n\n  <!-- Header -->\n  <div class=\"sh-header\">\n    <div class=\"sh-lang\">\n      <button class=\"sh-lang-btn active\" id=\"tcu-btn-zh\" onclick=\"tcuSetLang('zh')\">\u4e2d\u6587<\/button>\n      <button class=\"sh-lang-btn\" id=\"tcu-btn-en\" onclick=\"tcuSetLang('en')\">English<\/button>\n    <\/div>\n    <div class=\"sh-title\">\n      <div class=\"zh\">\n        <div class=\"sh-eyebrow\">115 \u5b78\u5e74\u5ea6\u7b2c 1 \u5b78\u671f<\/div>\n        <div class=\"sh-main\">\u6148\u6fdf\u5927\u5b78\u4e09\u6821\u5340\u4ea4\u901a\u8eca<\/div>\n        <div class=\"sh-sub\">\u516c\u544a\u8207\u642d\u4e58\u8aaa\u660e<\/div>\n      <\/div>\n      <div class=\"en\">\n        <div class=\"sh-eyebrow\">Fall Semester 2026 (115-1)<\/div>\n        <div class=\"sh-main\">Tzu Chi University Inter-Campus Shuttle<\/div>\n        <div class=\"sh-sub\">Schedule and Travel Guide<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"sh-wrap\">\n\n    <!-- \u2460 \u6642\u523b\u8868\u5361\u7247 -->\n    <div class=\"sh-sched-card\">\n\n      <div class=\"sh-sched-top\">\n        <div class=\"sc-title\">\n          <span class=\"zh\">115-1 \u5b78\u671f\u6642\u523b\u8868<\/span>\n          <span class=\"en\">2026 Fall Shuttle Schedule<\/span>\n        <\/div>\n        <!-- \u9019\u4e00\u884c\u7531 JS \u4f9d\u4eca\u5929\u65e5\u671f\u6539\u5beb\uff1a\u958b\u5b78\u524d\u5831\u5012\u6578\u3001\u5b78\u671f\u4e2d\u5831\u7b2c\u5e7e\u9031\u3001\u7d50\u675f\u5f8c\u5831\u5df2\u7d50\u675f\u3002\n             \u5b8c\u6574\u7684\u8d77\u8a16\u65e5\u671f\u53ea\u5beb\u5728\u300c\u6bcf\u9031\u56fa\u5b9a\u73ed\u8868\u300d\u5206\u9801\u4e00\u8655\uff0c\u4e0d\u5728\u9019\u88e1\u91cd\u8907\u3002 -->\n        <div class=\"sc-term\">\n          <span class=\"zh\" id=\"tcu-sc-term-zh\">\u2014<\/span>\n          <span class=\"en\" id=\"tcu-sc-term-en\">\u2014<\/span>\n        <\/div>\n      <\/div>\n\n      <!-- \u5b78\u671f\u9032\u5ea6 -->\n      <div class=\"sh-timeline\">\n        <div class=\"sh-tl-dates\">\n          <span><strong>2026 \/ 09 \/ 07<\/strong><\/span>\n          <span><span class=\"zh\" id=\"tcu-tl-today-zh\"><\/span><span class=\"en\" id=\"tcu-tl-today-en\"><\/span><\/span>\n          <span><strong>2027 \/ 01 \/ 08<\/strong><\/span>\n        <\/div>\n        <div class=\"sh-tl-bar\">\n          <div class=\"sh-tl-fill\" id=\"tcu-tl-fill\" style=\"width:0%\"><\/div>\n          <div class=\"sh-tl-dot\" id=\"tcu-tl-dot\" style=\"left:0%\"><\/div>\n        <\/div>\n        <div class=\"sh-tl-info\">\n          <span><span class=\"zh\" id=\"tcu-tl-elapsed-zh\"><\/span><span class=\"en\" id=\"tcu-tl-elapsed-en\"><\/span><\/span>\n          <span><span class=\"zh\" id=\"tcu-tl-remain-zh\"><\/span><span class=\"en\" id=\"tcu-tl-remain-en\"><\/span><\/span>\n        <\/div>\n      <\/div>\n\n\n      <div class=\"sh-sched-cta-wrap\">\n        <div class=\"sh-cta-hint\"><span class=\"zh\">\u9ede\u6b64\u9032\u5165\u67e5\u8a62 \u2193<\/span><span class=\"en\">Tap to search \u2193<\/span><\/div>\n        <a class=\"sh-sched-cta\" href=\"https:\/\/gas.tcu.edu.tw\/wp-content\/uploads\/2026\/10\/tcu-shuttle-115-1.html\" target=\"_blank\">\n          <div class=\"cta-main\"><span class=\"cta-arrow\">&#x1F50D;<\/span><span class=\"zh\">\u67e5\u770b\u6bcf\u65e5\u73ed\u6b21\u67e5\u8a62\u8868<\/span><span class=\"en\">Find a Bus<\/span><\/div>\n          <span class=\"cta-sub\"><span class=\"zh\">115-1\u4e09\u6821\u5340\u4ea4\u901a\u8eca \u53ef\u4f9d\u65e5\u671f\u3001\u4e0a\/\u4e0b\u8eca\u6821\u5340\u3001\u51fa\u767c\u6642\u9593\u67e5\u8a62<\/span><span class=\"en\">115-1 Three-Campus Shuttle \u2014 Search by date, boarding\/alighting campus, and departure time<\/span><\/span>\n        <\/a>\n      <\/div>\n\n    <\/div><!-- \/sh-sched-card -->\n\n    <!-- \u6a19\u7c64\u5217 -->\n    <div class=\"sh-tabs-wrap\">\n      <div class=\"sh-tabs\">\n        <button class=\"sh-tab-btn active\" id=\"tab-btn-sched\" onclick=\"tcuSetTab('sched')\"><span class=\"zh\">\u6bcf\u9031\u56fa\u5b9a\u73ed\u8868<\/span><span class=\"en\">Weekly Schedule<\/span><\/button>\n        <button class=\"sh-tab-btn\" id=\"tab-btn-policy\" onclick=\"tcuSetTab('policy')\"><span class=\"zh\">\u884c\u99db\u539f\u5247<\/span><span class=\"en\">Service Rules<\/span><\/button>\n        <button class=\"sh-tab-btn\" id=\"tab-btn-notes\" onclick=\"tcuSetTab('notes')\"><span class=\"zh\">\u5099\u8a3b<\/span><span class=\"en\">Notes<\/span><\/button>\n        <button class=\"sh-tab-btn\" id=\"tab-btn-stops\" onclick=\"tcuSetTab('stops')\"><span class=\"zh\">\u5019\u8eca\u5730\u9ede<\/span><span class=\"en\">Stops<\/span><\/button>\n        <button class=\"sh-tab-btn\" id=\"tab-btn-routes\" onclick=\"tcuSetTab('routes')\"><span class=\"zh\">\u516c\u8eca\u8def\u7dda\u7db2<\/span><span class=\"en\">Bus Routes<\/span><\/button>\n        <button class=\"sh-tab-btn\" id=\"tab-btn-codes\" onclick=\"tcuSetTab('codes')\"><span class=\"zh\">\u8eca\u6b21\u7de8\u865f\u8aaa\u660e<\/span><span class=\"en\">Trip Number Guide<\/span><\/button>\n      <\/div>\n    <\/div>\n\n    <!-- \u6a19\u7c64\u5167\u5bb9 -->\n    <div class=\"sh-panels\">\n\n      <!-- \u6bcf\u9031\u56fa\u5b9a\u73ed\u8868 -->\n      <div class=\"sh-panel active\" id=\"tab-panel-sched\">\n        <!-- \u671f\u9593\u6587\u5b57\u7531 JS \u4f9d start \/ end \u5169\u500b\u65e5\u671f\u81ea\u52d5\u5e36\u5165\uff0c\u63db\u5b78\u671f\u53ea\u8981\u6539\u90a3\u5169\u884c -->\n        <div class=\"sh-term-line\">\n          <span class=\"zh\">\u884c\u99db\u671f\u9593\uff1a<strong id=\"tcu-term-zh\">\u2014<\/strong>\u3000\uff08\u6bcf\u9031\u4e00\u81f3\u9031\u4e94\uff0c\u4f8b\u5047\u65e5\u8207\u570b\u5b9a\u5047\u65e5\u505c\u99db\uff09<\/span>\n          <span class=\"en\">Buses run from <strong id=\"tcu-term-en\">\u2014<\/strong>. Monday to Friday only. No buses on weekends or public holidays.<\/span>\n        <\/div>\n        <div class=\"sh-tbl-wrap\">\n          <table class=\"sh-tbl\">\n            <thead>\n              <tr>\n                <th rowspan=\"2\"><span class=\"zh\">\u8eca\u6b21<br>\u7de8\u865f<\/span><span class=\"en\">Trip<br>No.<\/span><\/th>\n                <th colspan=\"7\"><span class=\"zh\">\u505c\u9760\u6642\u9593\uff08\u4f9d\u5e8f\uff09<\/span><span class=\"en\">Stop times in travel order<\/span><\/th>\n                <th rowspan=\"2\"><span class=\"zh\">\u884c\u99db\u65e5<\/span><span class=\"en\">Runs on<\/span><\/th>\n                <th rowspan=\"2\"><span class=\"zh\">\u8eca\u8f1b<\/span><span class=\"en\">Bus type<\/span><\/th>\n              <\/tr>\n              <tr>\n                <th><span class=\"zh\">\u4e2d\u592e<\/span><span class=\"en\">Main Campus<\/span><small>M2 \/ M1<\/small><\/th>\n                <th><span class=\"zh\">\u4ecb\u4ec1<\/span><span class=\"en\">Jieren Campus<\/span><small>J2 \/ J1<\/small><\/th>\n                <th><span class=\"zh\">\u5efa\u570b<\/span><span class=\"en\">Jianguo Campus<\/span><small>G2 \/ G3<\/small><\/th>\n                <th><span class=\"zh\">\u4ecb\u4ec1<\/span><span class=\"en\">Jieren Campus<\/span><small>J2 \/ J1<\/small><\/th>\n                <th><span class=\"zh\">\u4e2d\u592e<\/span><span class=\"en\">Main Campus<\/span><small>M2 \/ M1<\/small><\/th>\n                <th><span class=\"zh\">\u4ecb\u4ec1<\/span><span class=\"en\">Jieren Campus<\/span><small>J1<\/small><\/th>\n                <th><span class=\"zh\">\u5efa\u570b<\/span><span class=\"en\">Jianguo Campus<\/span><small>G3<\/small><\/th>\n              <\/tr>\n            <\/thead>\n            <tbody>\n              <tr class=\"is-school\">\n                <td class=\"sid\">0710S<\/td>\n                <td>07:40<\/td><td>07:50<\/td><td>07:55<\/td><td>08:00<\/td><td>08:10<\/td><td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td>\n                <td><span class=\"zh\">\u4e00\uff5e\u4e94<\/span><span class=\"en\">Mon\u2013Fri<\/span><\/td>\n                <td><span class=\"zh\">\u6821\u8eca<\/span><span class=\"en\">Campus Bus<\/span><\/td>\n              <\/tr>\n              <tr class=\"is-school\">\n                <td class=\"sid\">0820S<\/td>\n                <td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td><td>08:20<\/td><td>08:25<\/td><td>08:35<\/td><td>08:45<\/td><td>08:50<\/td>\n                <td><span class=\"zh\">\u4e00\uff5e\u4e94<\/span><span class=\"en\">Mon\u2013Fri<\/span><\/td>\n                <td><span class=\"zh\">\u6821\u8eca<\/span><span class=\"en\">Campus Bus<\/span><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"sid\">0910A<\/td>\n                <td>09:50<\/td><td>10:00<\/td><td>10:05<\/td><td>10:10<\/td><td>10:20<\/td><td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td>\n                <td><span class=\"zh\">\u4e00\uff5e\u4e94<\/span><span class=\"en\">Mon\u2013Fri<\/span><\/td>\n                <td><span class=\"zh\">\u901a\u8b58\u4ea4\u901a\u8eca<\/span><span class=\"en\">Shuttle Bus<\/span><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"sid\">1210A<\/td>\n                <td>12:20<\/td><td>12:30<\/td><td>12:35<\/td><td>12:40<\/td><td>12:50<\/td><td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td>\n                <td><span class=\"zh\">\u4e00\uff5e\u4e94<\/span><span class=\"en\">Mon\u2013Fri<\/span><\/td>\n                <td><span class=\"zh\">\u901a\u8b58\u4ea4\u901a\u8eca<\/span><span class=\"en\">Shuttle Bus<\/span><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"sid\">1310A<\/td>\n                <td>13:00<\/td><td>13:10<\/td><td>13:15<\/td><td>13:20<\/td><td>13:30<\/td><td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td>\n                <td><span class=\"zh\">\u4e00\uff5e\u4e94<\/span><span class=\"en\">Mon\u2013Fri<\/span><\/td>\n                <td><span class=\"zh\">\u901a\u8b58\u4ea4\u901a\u8eca<\/span><span class=\"en\">Shuttle Bus<\/span><\/td>\n              <\/tr>\n              <tr class=\"is-school\">\n                <td class=\"sid\">1510S<\/td>\n                <td>15:25<\/td><td>15:35<\/td><td>15:50<\/td><td>16:00<\/td><td>16:10<\/td><td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td>\n                <td><span class=\"zh\">\u4e00\uff5e\u4e94<\/span><span class=\"en\">Mon\u2013Fri<\/span><\/td>\n                <td><span class=\"zh\">\u6821\u8eca<\/span><span class=\"en\">Campus Bus<\/span><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"sid\">1521A<\/td>\n                <td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td><td>15:25<\/td><td>15:30<\/td><td>15:40<\/td><td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td>\n                <td><strong><span class=\"zh\">\u4e00\uff5e\u56db<\/span><span class=\"en\">Mon\u2013Thu<\/span><\/strong><\/td>\n                <td><span class=\"zh\">\u901a\u8b58\u4ea4\u901a\u8eca<\/span><span class=\"en\">Shuttle Bus<\/span><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"sid\">1710A<\/td>\n                <td>17:40<\/td><td>17:50<\/td><td>17:55<\/td><td>18:00<\/td><td>18:10<\/td><td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td>\n                <td><span class=\"zh\">\u4e00\uff5e\u4e94<\/span><span class=\"en\">Mon\u2013Fri<\/span><\/td>\n                <td><span class=\"zh\">\u901a\u8b58\u4ea4\u901a\u8eca<\/span><span class=\"en\">Shuttle Bus<\/span><\/td>\n              <\/tr>\n              <tr>\n                <td class=\"sid\">2110T<\/td>\n                <td>21:40<\/td><td>21:50<\/td><td>21:55<\/td><td>22:00<\/td><td>22:10<\/td><td class=\"dash\">\u2014<\/td><td class=\"dash\">\u2014<\/td>\n                <td><strong><span class=\"zh\">\u4e00\uff5e\u56db<\/span><span class=\"en\">Mon\u2013Thu<\/span><\/strong><\/td>\n                <td><span class=\"zh\">\u8a08\u7a0b\u8eca<\/span><span class=\"en\">Taxi<\/span><\/td>\n              <\/tr>\n            <\/tbody>\n          <\/table>\n        <\/div>\n        <ul class=\"sh-notes\" style=\"margin-top:.8rem\">\n          <li>\n            <span class=\"zh\"><strong>1521A<\/strong> \u8207 <strong>2110T<\/strong> \u50c5\u9031\u4e00\u81f3\u9031\u56db\u884c\u99db\uff0c<strong>\u9031\u4e94\u505c\u958b<\/strong>\u3002<\/span>\n            <span class=\"en-note\">Trips <strong>1521A<\/strong> and <strong>2110T<\/strong> run only from Monday to Thursday. They <strong>do not run on Friday<\/strong>.<\/span>\n          <\/li>\n          <li>\n            <span class=\"zh\">\u9047\u570b\u5b9a\u5047\u65e5\u8207\u505c\u8ab2\u65e5\u5168\u6578\u505c\u99db\uff0c\u505c\u99db\u65e5\u4e00\u89bd\u898b\u4e0b\u65b9\u3002<\/span>\n            <span class=\"en-note\">Buses do not run on public holidays or days when classes are canceled. See the dates below.<\/span>\n          <\/li>\n        <\/ul>\n\n        <!-- \u505c\u99db\u65e5\uff1a\u7531\u4e0b\u65b9 JS \u4f9d\u4eca\u5929\u65e5\u671f\u81ea\u52d5\u6a19\u793a\uff0c\u5df2\u904e\u7684\u6703\u8b8a\u7070\u52a0\u522a\u9664\u7dda -->\n        <div class=\"sh-off\">\n          <div class=\"sh-off-head\">\n            <span class=\"zh\">115-1 \u505c\u99db\u65e5<\/span><span class=\"en\">Dates with no buses<\/span>\n            <span class=\"sh-off-next\" id=\"tcu-off-next\"><\/span>\n          <\/div>\n          <ul class=\"sh-off-list\" id=\"tcu-off-list\"><\/ul>\n        <\/div>\n      <\/div>\n\n      <!-- \u884c\u99db\u539f\u5247 -->\n      <div class=\"sh-panel\" id=\"tab-panel-policy\">\n        <div class=\"sh-alert\">\n          <div class=\"alert-title\"><span class=\"zh\">\u4e09\u6821\u5340\u4ea4\u901a\u8eca\u884c\u99db\u539f\u5247<\/span><span class=\"en\">When Buses Run<\/span><\/div>\n          <p>\n            <span class=\"zh\">\u4ea4\u901a\u8eca\u884c\u99db\u539f\u5247\u4f9d <a href=\"https:\/\/www.tcu.edu.tw\/p\/412-1033-4858.php?Lang=zh-tw\" target=\"_blank\">\u5b78\u6821\u884c\u4e8b\u66c6<\/a> \u8fa6\u7406\uff1b\u5982\u9047\u7e23\u5e9c\u516c\u544a\u505c\u73ed\u505c\u8ab2\u7b49\u7a81\u767c\u72c0\u6cc1\uff0c\u4ea6\u5c07\u914d\u5408\u5168\u6578\u505c\u99db\u3002<\/span>\n            <span class=\"en\">Buses run according to the <a href=\"https:\/\/www.tcu.edu.tw\/p\/412-1033-4858.php?Lang=zh-tw\" target=\"_blank\">University Academic Calendar<\/a>. If the Hualien County Government closes schools, all shuttle buses will stop running.<\/span>\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <!-- \u5099\u8a3b -->\n      <div class=\"sh-panel\" id=\"tab-panel-notes\">\n        <ul class=\"sh-notes\">\n          <li>\n            <span class=\"zh\">\u901a\u8b58\u8ab2\u7a0b\u4ea4\u901a\u8eca\u59d4\u7531<strong>\u4e16\u901a\u904a\u89bd\u8eca\u5ba2\u904b\uff08\u80a1\uff09\u516c\u53f8<\/strong>\u5354\u52a9\u63a5\u9001\u5e2b\u751f\uff1b\u591c\u9593\u73ed\u6b21\u7531<strong>\u5927\u8c50\u8a08\u7a0b\u8eca<\/strong>\u63d0\u4f9b\u3002<\/span>\n            <span class=\"en-note\"><strong>Shih Tong Bus Co., Ltd.<\/strong> operates the Shuttle Bus. <strong>Dafeng Taxi<\/strong> operates the late-night trip.<\/span>\n          <\/li>\n          <li>\n            <!-- \u65e5\u671f\u540c\u6a23\u7531 JS \u5f9e start \/ end \u5e36\u5165\uff0c\u63db\u5b78\u671f\u4e0d\u5fc5\u6539\u9019\u88e1 -->\n            <span class=\"zh\">\u672c\u5b78\u671f\u767c\u8eca\u671f\u9593\uff1a<strong id=\"tcu-note-term-zh\">\u2014<\/strong>\u6b62\u3002<\/span>\n            <span class=\"en-note\">Buses run this semester from <strong id=\"tcu-note-term-en\">\u2014<\/strong>.<\/span>\n          <\/li>\n          <li>\n            <span class=\"zh\">\u4ea4\u901a\u8eca\u6642\u523b\u8868\u5c07\u65bc\u5b78\u751f\u9078\u8ab2\u52a0\u9000\u9078\u5f8c\u518d\u884c\u6aa2\u8a0e\u8eca\u73ed\uff0c\u82e5\u8a72\u73ed\u6b21<strong>\u672a\u9054 5 \u4eba\uff08\u542b\uff09<\/strong>\u4e58\u5750\uff0c\u5c07\u53d6\u6d88\u8a72\u8eca\u6b21\u3002<\/span>\n            <span class=\"en-note\">The schedule may change after the course add\/drop period. A trip may be canceled if <strong>5 or fewer passengers<\/strong> use it.<\/span>\n          <\/li>\n          <li>\n            <span class=\"zh\">\u4ea4\u901a\u8eca\u8207\u6821\u8eca\u5ea7\u4f4d\u6709\u9650\uff0c\u8acb\u63d0\u524d\u65bc\u5019\u8eca\u5730\u9ede\u7b49\u5019\uff1b<strong>\u4e0d\u63a5\u53d7\u9810\u7d04\uff0c\u984d\u6eff\u8acb\u6539\u642d\u4e0b\u4e00\u73ed<\/strong>\u3002<\/span>\n            <span class=\"en-note\">Seats are limited. You cannot reserve a seat. Please arrive at the bus stop early. If the bus is full, take the next bus.<\/span>\n          <\/li>\n        <\/ul>\n      <\/div>\n\n      <!-- \u5019\u8eca\u5730\u9ede -->\n      <div class=\"sh-panel\" id=\"tab-panel-stops\">\n        <div class=\"sh-campus-grid\">\n\n          <div class=\"sh-campus-card cc-main\">\n            <div class=\"cc-title\"><span class=\"zh\">\u4e2d\u592e\u6821\u5340<\/span><span class=\"en\">Main Campus<\/span><\/div>\n            <div class=\"sh-spot\">\n              <div class=\"sp-loc\"><span class=\"zh\">\u6821\u9580\u53e3\u8b66\u885b\u5ba4<\/span><span class=\"en\">Main Gate Guardhouse<\/span><span class=\"sh-code\">M1<\/span><\/div>\n              <div class=\"sp-types\">\n                <span class=\"sh-badge badge-bus\"><span class=\"zh\">\u6821\u8eca<\/span><span class=\"en\">Campus Bus<\/span><\/span>\n                <span class=\"sh-badge badge-taxi\"><span class=\"zh\">\u8a08\u7a0b\u8eca<\/span><span class=\"en\">Taxi<\/span><\/span>\n              <\/div>\n            <\/div>\n            <div class=\"sh-spot\">\n              <div class=\"sp-loc\"><span class=\"zh\">\u548c\u656c\u6a13<\/span><span class=\"en\">He Jing Building<\/span><span class=\"sh-code\">M2<\/span><\/div>\n              <div class=\"sp-types\">\n                <span class=\"sh-badge badge-shuttle\"><span class=\"zh\">\u901a\u8b58\u4ea4\u901a\u8eca<\/span><span class=\"en\">Shuttle Bus<\/span><\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"sh-campus-card cc-jieren\">\n            <div class=\"cc-title\"><span class=\"zh\">\u4ecb\u4ec1\u6821\u5340<\/span><span class=\"en\">Jieren Campus<\/span><\/div>\n            <div class=\"sh-spot\">\n              <div class=\"sp-loc\"><span class=\"zh\">\u5408\u5fc3\u6a13\u8b66\u885b\u5ba4<\/span><span class=\"en\">He Xin Building Guardhouse<\/span><span class=\"sh-code\">J1<\/span><\/div>\n              <div class=\"sp-types\">\n                <span class=\"sh-badge badge-bus\"><span class=\"zh\">\u6821\u8eca<\/span><span class=\"en\">Campus Bus<\/span><\/span>\n                <span class=\"sh-badge badge-taxi\"><span class=\"zh\">\u8a08\u7a0b\u8eca<\/span><span class=\"en\">Taxi<\/span><\/span>\n              <\/div>\n            <\/div>\n            <div class=\"sh-spot\">\n              <div class=\"sp-loc\"><span class=\"zh\">\u7acb\u5fc3\u6a13\u5074\u9580\u505c\u8eca\u5834<\/span><span class=\"en\">Li Xin Building Side Entrance Parking<\/span><span class=\"sh-code\">J2<\/span><\/div>\n              <div class=\"sp-types\">\n                <span class=\"sh-badge badge-shuttle\"><span class=\"zh\">\u901a\u8b58\u4ea4\u901a\u8eca<\/span><span class=\"en\">Shuttle Bus<\/span><\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"sh-campus-card cc-jianguo\">\n            <div class=\"cc-title\"><span class=\"zh\">\u5efa\u570b\u6821\u5340<\/span><span class=\"en\">Jianguo Campus<\/span><\/div>\n            <div class=\"sh-spot\">\n              <div class=\"sp-loc\"><span class=\"zh\">\u7b2c\u4e00\u8b66\u885b\u5ba4<\/span><span class=\"en\">First Guardhouse<\/span><span class=\"sh-code\">G1<\/span><\/div>\n              <div class=\"sp-types\">\n                <span class=\"sh-badge badge-taxi\"><span class=\"zh\">\u8a08\u7a0b\u8eca<\/span><span class=\"en\">Taxi<\/span><\/span>\n              <\/div>\n            <\/div>\n            <div class=\"sh-spot\">\n              <div class=\"sp-loc\"><span class=\"zh\">\u6821\u9580\u6797\u852d\u5927\u9053<\/span><span class=\"en\">Main Gate Tree-lined Avenue<\/span><span class=\"sh-code\">G2<\/span><\/div>\n              <div class=\"sp-types\">\n                <span class=\"sh-badge badge-shuttle\"><span class=\"zh\">\u901a\u8b58\u4ea4\u901a\u8eca<\/span><span class=\"en\">Shuttle Bus<\/span><\/span>\n              <\/div>\n            <\/div>\n            <div class=\"sh-spot\">\n              <div class=\"sp-loc\"><span class=\"zh\">\u667a\u6167\u6a13\u7a7f\u5802<\/span><span class=\"en\">Zhi Hui Building Passageway<\/span><span class=\"sh-code\">G3<\/span><\/div>\n              <div class=\"sp-types\">\n                <span class=\"sh-badge badge-bus\"><span class=\"zh\">\u6821\u8eca<\/span><span class=\"en\">Campus Bus<\/span><\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n\n        <\/div>\n\n        <div class=\"sh-legend\">\n          <span class=\"lg-label\"><span class=\"zh\">\u984f\u8272\u4ee3\u8868\u6821\u5340\uff1a<\/span><span class=\"en\">Campus colors:<\/span><\/span>\n          <span class=\"lg-dot\"><i style=\"background:#023F74\"><\/i><span class=\"zh\">\u4e2d\u592e<\/span><span class=\"en\">Main Campus<\/span><\/span>\n          <span class=\"lg-dot\"><i style=\"background:#F26B4A\"><\/i><span class=\"zh\">\u4ecb\u4ec1<\/span><span class=\"en\">Jieren Campus<\/span><\/span>\n          <span class=\"lg-dot\"><i style=\"background:#6EB92C\"><\/i><span class=\"zh\">\u5efa\u570b<\/span><span class=\"en\">Jianguo Campus<\/span><\/span>\n        <\/div>\n\n        <!-- \u7ad9\u724c\u7acb\u597d\u5f8c\uff1a\u5728\u6700\u5916\u5c64 <div id=\"tcu-shuttle\"> \u52a0\u4e0a class=\"signs-ready\"\uff0c\u9019\u6bb5\u6703\u81ea\u52d5\u96b1\u85cf -->\n        <div class=\"sh-code-note\">\n          <span class=\"zh\"><strong>\u73fe\u5834\u76ee\u524d\u9084\u6c92\u6709\u7ad9\u724c\uff0c\u8acb\u8a8d\u300c\u5730\u9ede\u540d\u7a31\u300d\u5019\u8eca\u3002<\/strong><br>\n            \u5be6\u9ad4\u7ad9\u724c\u65bd\u5de5\u4e2d\uff0c\u9810\u8a08 <strong>115 \u5e74 12 \u6708\u5e95\u524d<\/strong>\u5b8c\u6210\u8a2d\u7f6e\u3002\u540d\u7a31\u5f8c\u9762\u6de1\u7070\u8272\u7684\n            <span class=\"sh-code\">M1<\/span> <span class=\"sh-code\">J2<\/span> <span class=\"sh-code\">G3<\/span>\n            \u662f\u7ad9\u724c\u4ee3\u78bc\uff0c\u7ad9\u724c\u7acb\u597d\u5f8c\u73fe\u5834\u6703\u6a19\u793a\u76f8\u540c\u4ee3\u78bc\uff0c\u5c46\u6642\u53ef\u8207\u672c\u9801\u53ca\u5404\u73ed\u6b21\u8868\u5c0d\u7167\uff1b\u5728\u6b64\u4e4b\u524d<strong>\u4e0d\u5fc5\u53bb\u627e\u724c\u5b50<\/strong>\u3002<\/span>\n          <span class=\"en\"><strong>The bus stop signs are not ready yet. Please use the location name to find your stop.<\/strong><br>\n            The signs are expected by <strong>the end of December 2026<\/strong>. The grey codes after each location\n            (<span class=\"sh-code\">M1<\/span> <span class=\"sh-code\">J2<\/span> <span class=\"sh-code\">G3<\/span>)\n            will also appear on the new signs. Until the signs are installed, follow the location name.<\/span>\n        <\/div>\n      <\/div>\n\n      <!-- \u516c\u8eca\u8def\u7dda\u7db2 -->\n      <div class=\"sh-panel\" id=\"tab-panel-routes\">\n        <a class=\"sh-route-btn\" href=\"https:\/\/gas.tcu.edu.tw\/wp-content\/uploads\/2025\/10\/\u6148\u6fdf\u5927\u5b78\u516c\u8eca\u8def\u7dda\u7db2_I.html\" target=\"_blank\">\n          <span class=\"zh\">\u6148\u6fdf\u5927\u5b78\u516c\u8eca\u8def\u7dda\u7db2<\/span><span class=\"en\">Tzu Chi University Bus Routes<\/span>\n          <span class=\"rb-sub\"><span class=\"zh\">\u9ede\u6b64\u958b\u555f\u5916\u90e8\u9023\u7d50<\/span><span class=\"en\">Open the bus route map<\/span><\/span>\n        <\/a>\n      <\/div>\n\n      <!-- \u8eca\u6b21\u7de8\u865f\u8aaa\u660e -->\n      <div class=\"sh-panel\" id=\"tab-panel-codes\">\n        <div class=\"sh-rule-card\">\n          <div class=\"formula\">\n            <span class=\"zh\">\u8eca\u6b21\u7de8\u865f \uff1d \u767c\u8eca\u6642\u9593\uff08\u6642\uff09\uff0b \u767c\u8eca\u5730\u4ee3\u865f \uff0b \u5340\u9593\u985e\u578b \uff0b \u8eca\u7a2e\u4ee3\u865f<\/span>\n            <span class=\"en\">Trip No. = Departure hour + Starting campus code + Route code + Vehicle code<\/span>\n          <\/div>\n          <div class=\"sh-rule-tbl-wrap\">\n            <table class=\"sh-rule-tbl\">\n              <thead>\n                <tr>\n                  <th><span class=\"zh\">\u6b04\u4f4d<\/span><span class=\"en\">Field<\/span><\/th>\n                  <th><span class=\"zh\">\u8aaa\u660e<\/span><span class=\"en\">Description<\/span><\/th>\n                  <th><span class=\"zh\">\u4ee3\u865f<\/span><span class=\"en\">Code<\/span><\/th>\n                <\/tr>\n              <\/thead>\n              <tbody>\n                <tr>\n                  <td><span class=\"zh\">\u767c\u8eca\u6642\u9593<\/span><span class=\"en\">Departure hour<\/span><\/td>\n                  <td><span class=\"zh\">\u53d6\u5c0f\u6642\u6578\uff0c\u5982 07:40 \u2192 <code>07<\/code><\/span><span class=\"en\">Use the hour only. Example: 07:40 \u2192 <code>07<\/code><\/span><\/td>\n                  <td>07 \/ 08 \/ 09 \u2026<\/td>\n                <\/tr>\n                <tr>\n                  <td><span class=\"zh\">\u767c\u8eca\u5730<\/span><span class=\"en\">Campus<\/span><\/td>\n                  <td><span class=\"zh\">\u4e2d\u592e \/ \u5efa\u570b \/ \u4ecb\u4ec1<\/span><span class=\"en\">Main Campus \/ Jianguo Campus \/ Jieren Campus<\/span><\/td>\n                  <td><code>1<\/code> \/ <code>2<\/code> \/ <code>3<\/code><\/td>\n                <\/tr>\n                <tr>\n                  <td><span class=\"zh\">\u5340\u9593\u985e\u578b<\/span><span class=\"en\">Route<\/span><\/td>\n                  <td><span class=\"zh\">\u53bb\u56de\u7a0b\uff08\u5faa\u74b0\u4e00\u5708\uff09\uff0f \u55ae\u7a0b \uff0f \u4efb\u4e8c\u6821\u5340\u9593<\/span><span class=\"en\">Loop route \/ One-way route \/ Route between two campuses<\/span><\/td>\n                  <td><code>0<\/code> \/ <code>1<\/code> \/ <code>2<\/code><\/td>\n                <\/tr>\n                <tr>\n                  <td><span class=\"zh\">\u8eca\u7a2e\u4ee3\u865f<\/span><span class=\"en\">Vehicle type<\/span><\/td>\n                  <td>\n                    <span class=\"zh\">\u5927\u5df4 43 \u5ea7 \/ \u4e2d\u5df4 25 \u5ea7 \/ \u4e2d\u5df4 19 \u5ea7 \/ \u6821\u8eca \/ \u8a08\u7a0b\u8eca<\/span>\n                    <span class=\"en\">43-seat bus \/ 25-seat bus \/ 19-seat bus \/ Campus Bus \/ Taxi<\/span>\n                  <\/td>\n                  <td><code>A<\/code> \/ <code>B<\/code> \/ <code>C<\/code> \/ <code>S<\/code> \/ <code>T<\/code><\/td>\n                <\/tr>\n              <\/tbody>\n            <\/table>\n          <\/div>\n          <div class=\"sh-example\">\n            <strong><span class=\"zh\">\u7bc4\u4f8b\uff1a<\/span><span class=\"en\">Example:<\/span><\/strong>\n            <code>0710S<\/code>\n            <span class=\"zh\"> \uff1d 07 \u6642\u767c\u8eca \uff0b \u4e2d\u592e\u6821\u5340\uff081\uff09\uff0b \u53bb\u56de\u7a0b\uff080\uff09\uff0b \u6821\u8eca\uff08S\uff09<\/span>\n            <span class=\"en\"> = starts in the 07:00 hour + Main Campus (1) + Loop route (0) + Campus Bus (S)<\/span>\n            <br>\n            <code>1521A<\/code>\n            <span class=\"zh\"> \uff1d 15 \u6642\u767c\u8eca \uff0b \u5efa\u570b\u6821\u5340\uff082\uff09\uff0b \u55ae\u7a0b\uff081\uff09\uff0b \u5927\u5df4 43 \u5ea7\uff08A\uff09<\/span>\n            <span class=\"en\"> = starts in the 15:00 hour + Jianguo Campus (2) + One-way route (1) + 43-seat bus (A)<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div><!-- \/sh-panels -->\n\n    <p class=\"sh-foot\">\n      <span class=\"zh\">\u6148\u6fdf\u5927\u5b78 \u7e3d\u52d9\u8655\u4e8b\u52d9\u7d44 \uff5c \u66f4\u65b0\u65e5\u671f\uff1a2026 \u5e74 10 \u6708 18 \u65e5 \uff5c \u5982\u8207\u73fe\u5834\u516c\u544a\u4e0d\u4e00\u81f4\uff0c\u4ee5\u73fe\u5834\u516c\u544a\u70ba\u6e96\u3002<\/span>\n      <span class=\"en\">General Affairs Section, Tzu Chi University \uff5c Updated: October 18, 2026 \uff5c If this page and the notice at the bus stop are different, follow the notice at the bus stop.<\/span>\n    <\/p>\n\n  <\/div>\n<\/div>\n\n<script>\n(function () {\n  var MS = 86400000;\n  var start = new Date('2026-09-07T00:00:00');   \/\/ 115-1 \u958b\u5b78\n  var end   = new Date('2027-01-08T00:00:00');   \/\/ 115-1 \u6700\u5f8c\u4e0a\u8ab2\u65e5\n  var today = new Date(); today.setHours(0, 0, 0, 0);\n  var total   = (end - start) \/ MS;\n  var elapsed = Math.round(Math.max(0, Math.min(total, (today - start) \/ MS)));\n  var remain  = Math.round(Math.max(0, total - elapsed));\n  var pct     = Math.max(0, Math.min(100, elapsed \/ total * 100)).toFixed(1);\n\n  var fill = document.getElementById('tcu-tl-fill');\n  var dot  = document.getElementById('tcu-tl-dot');\n  if (fill) fill.style.width = pct + '%';\n  if (dot)  dot.style.left   = pct + '%';\n\n  var m = today.getMonth() + 1, d = today.getDate();\n  var ds = today.getFullYear() + '\/' + (m < 10 ? '0' + m : m) + '\/' + (d < 10 ? '0' + d : d);\n\n  \/\/ \u300c\u6bcf\u9031\u56fa\u5b9a\u73ed\u8868\u300d\u5206\u9801\u7684\u884c\u99db\u671f\u9593\uff1a\u8ddf\u4e0a\u9762\u7684 start \/ end \u540c\u4e00\u500b\u4f86\u6e90\uff0c\u4e0d\u6703\u5169\u908a\u5beb\u4e0d\u4e00\u6a23\n  var WZ = ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d'];\n  var MZ = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n  function zhDate(x) {\n    return x.getFullYear() + ' \u5e74 ' + (x.getMonth() + 1) + ' \u6708 ' + x.getDate() + ' \u65e5\uff08' + WZ[x.getDay()] + '\uff09';\n  }\n  function enDate(x) { return MZ[x.getMonth()] + ' ' + x.getDate() + ', ' + x.getFullYear(); }\n  var tmz = document.getElementById('tcu-term-zh');\n  if (tmz) tmz.textContent = zhDate(start) + ' \u8d77 \uff5e ' + zhDate(end) + ' \u6b62';\n  var tme = document.getElementById('tcu-term-en');\n  if (tme) tme.textContent = enDate(start) + ' \u2013 ' + enDate(end);\n\n  \/\/ \u5361\u7247\u6a19\u984c\u4e0b\u90a3\u4e00\u884c\uff1a\u4e0d\u91cd\u8907\u8d77\u8a16\u65e5\u671f\uff0c\u53ea\u8b1b\u300c\u73fe\u5728\u662f\u4ec0\u9ebc\u72c0\u614b\u300d\n  var scz = document.getElementById('tcu-sc-term-zh');\n  var sce = document.getElementById('tcu-sc-term-en');\n  var wk = Math.floor((today - start) \/ (MS * 7)) + 1;\n  var scZh, scEn;\n  if (today < start) {\n    var dd = Math.ceil((start - today) \/ MS);\n    scZh = zhDate(start) + ' \u958b\u59cb\u884c\u99db\uff0c\u9084\u6709 ' + dd + ' \u5929';\n    scEn = 'Buses start on ' + enDate(start) + '. ' + dd + ' day' + (dd > 1 ? 's' : '') + ' to go.';\n  } else if (today > end) {\n    scZh = '\u672c\u5b78\u671f\u5df2\u7d50\u675f';\n    scEn = 'Bus service for this semester has ended.';\n  } else {\n    scZh = '\u884c\u99db\u4e2d\u3000\u7b2c ' + wk + ' \u9031';\n    scEn = 'Buses are running \u2014 Week ' + wk;\n  }\n  if (scz) scz.textContent = scZh;\n  if (sce) sce.textContent = scEn;\n\n  \/\/ \u5099\u8a3b\u5206\u9801\u7684\u767c\u8eca\u671f\u9593\uff1a\u540c\u4e00\u7d44\u4f86\u6e90\uff0c\u63db\u5b78\u671f\u4e0d\u7528\u53e6\u5916\u6539\n  var nz = document.getElementById('tcu-note-term-zh');\n  if (nz) nz.textContent = zhDate(start) + ' \u81f3 ' + zhDate(end);\n  var ne = document.getElementById('tcu-note-term-en');\n  if (ne) ne.textContent = enDate(start) + ' \u2013 ' + enDate(end);\n\n  var beforeStart = today < start, afterEnd = today > end;\n  var zhToday = beforeStart ? ('\u5c1a\u672a\u958b\u5b78\uff08\u4eca\u65e5 ' + ds + '\uff09') : (afterEnd ? ('\u5b78\u671f\u5df2\u7d50\u675f\uff08\u4eca\u65e5 ' + ds + '\uff09') : ('\u4eca\u65e5 ' + ds));\n  var enToday = beforeStart ? ('Service has not started (Today: ' + ds + ')') : (afterEnd ? ('Service has ended (Today: ' + ds + ')') : ('Today: ' + ds));\n\n  var tzh = document.getElementById('tcu-tl-today-zh'); if (tzh) tzh.textContent = zhToday;\n  var ten = document.getElementById('tcu-tl-today-en'); if (ten) ten.textContent = enToday;\n\n  var ezh = document.getElementById('tcu-tl-elapsed-zh');\n  var een = document.getElementById('tcu-tl-elapsed-en');\n  var rzh = document.getElementById('tcu-tl-remain-zh');\n  var ren = document.getElementById('tcu-tl-remain-en');\n\n  if (beforeStart) {\n    var toGo = Math.ceil((start - today) \/ MS);\n    if (ezh) ezh.textContent = '\u8ddd\u958b\u5b78\u9084\u6709 ' + toGo + ' \u5929';\n    if (een) een.textContent = toGo + ' days until buses start';\n    if (rzh) rzh.textContent = '\u5b78\u671f\u5171 ' + Math.round(total) + ' \u5929';\n    if (ren) ren.textContent = 'Semester length: ' + Math.round(total) + ' days';\n  } else {\n    if (ezh) ezh.textContent = '\u5df2\u884c\u99db ' + elapsed + ' \u5929';\n    if (een) een.textContent = elapsed + ' days completed';\n    if (rzh) rzh.textContent = '\u5269\u9918 ' + remain + ' \u5929';\n    if (ren) ren.textContent = remain + ' days remaining';\n  }\n})();\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   \u505c\u99db\u65e5\uff1a\u76f4\u63a5\u8b80 Google \u8a66\u7b97\u8868\u300c\u884c\u4e8b\u66c6\u300d\u5206\u9801\n   \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   \u8cc7\u6599\u4f86\u6e90\uff1a0_\u539f\u59cb\u8eca\u73ed\u8868\u6392\u73ed\u8655 \u2192 \u884c\u4e8b\u66c6\u5206\u9801\uff08gid=759042232\uff09\n   \u884c\u4e8b\u66c6\u6539\u4e86\uff08\u98b1\u98a8\u88dc\u8ab2\u3001\u81e8\u6642\u505c\u8ab2\u3001\u8abf\u6574\u653e\u5047\uff09\uff0c\u9019\u88e1\u6703\u81ea\u5df1\u8ddf\u8457\u8b8a\uff0c\n   \u4e0d\u7528\u91cd\u8cbc\u9019\u4efd HTML\u3002\n\n   \u63db\u5b78\u671f\u53ea\u8981\u6539 OFF_TERM \u4e00\u884c\uff08'115-1' \u2192 '115-2'\uff09\u3002\n\n   \u5224\u5b9a\u898f\u5247\uff1a\u8a72\u5b78\u671f\u7bc4\u570d\u5167\uff0c\u72c0\u614b\uff08E \u6b04\uff09\u4e0d\u662f\u300c\u4e0a\u8ab2\u300d\u4e5f\u4e0d\u662f\u300c\u4e0a\u73ed\u2026\u300d\u7684\u65e5\u5b50\uff1d\u505c\u99db\u65e5\u3002\n   \u986f\u793a\u6587\u5b57\uff1a**\u4e8b\u7531\uff08F \u6b04\uff09\u539f\u6a23\u7167\u6284**\uff0c\u9801\u9762\u4e0d\u52a0\u5b57\u3001\u4e0d\u622a\u5b57\u3002\n             \u8981\u8b93\u5b78\u751f\u77e5\u9053\u300c\u7576\u5929\u6821\u8eca\u7167\u8dd1\u300d\uff0c\u5c31\u628a\u9019\u53e5\u5beb\u9032 F \u6b04\uff0c\u4f8b\u5982\n             `\u6821\u6176\u904b\u52d5\u6703\u505c\u8ab2\uff08\u50c5\u6821\u8eca\u884c\u99db\uff09`\u3002F \u6b04\u7559\u7a7a\u624d\u9000\u56de\u986f\u793a\u72c0\u614b\u3002\n\n   \u8b80\u4e0d\u5230\u96f2\u7aef\u6642\uff08\u6c92\u7db2\u8def\u3001\u8a66\u7b97\u8868\u53d6\u6d88\u767c\u5e03\uff09\uff0c\u6539\u7528\u4e0b\u9762 OFF_FALLBACK \u7684\n   \u5099\u63f4\u6e05\u55ae\uff0c\u4e26\u5728\u6a19\u984c\u53f3\u908a\u8a3b\u660e\u662f\u5099\u63f4\u8cc7\u6599\u3002\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n(function () {\n  \/* \u26a0\u26a0 \u9019\u6bb5 JS \u88e1\u300c\u7d55\u5c0d\u4e0d\u53ef\u4ee5\u51fa\u73fe\u534a\u5f62 & \u7b26\u865f\u300d\u26a0\u26a0\n     WordPress \u6703\u628a & \u6539\u5beb\u6210 &#038;\uff0c\u800c <script> \u88e1\u7684\u5be6\u9ad4\u7de8\u78bc\u4e0d\u6703\u88ab\u9084\u539f\uff0c\n     \u6574\u6bb5\u8173\u672c\u5c31\u6703\u89e3\u6790\u5931\u6557\uff08\u6a19\u7c64\u3001\u8a9e\u8a00\u5207\u63db\u3001\u505c\u99db\u65e5\u6703\u5168\u90e8\u5931\u6548\uff09\u3002\n     \u6240\u4ee5\uff1a\n       \u30fb\u7db2\u5740\u7684 & \u2192 \u7528\u4e0b\u9762\u7684 AMP \u8b8a\u6578\u4e32\u63a5\n       \u30fb\u908f\u8f2f\u7684 && \u2192 \u6539\u5beb\u6210\u5de2\u72c0 if \u6216\u7528 || \u8207 !\n     \u9019\u662f 2026-08-24 \u5be6\u969b\u8e29\u904e\u7684\u96f7\uff0c\u6539\u52d5\u6642\u8acb\u52d9\u5fc5\u7dad\u6301\u3002 *\/\n  var AMP = String.fromCharCode(38);\n  var OFF_TERM = '115-1';\n  var OFF_CSV = 'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vSyxijKX2m27fSmnP5b1nEYvR3HU6lGeVbIEYbG_5bVew6rF-3VWWjYwxJbwaH8llF-msq8L20De_hJ\/pub?gid=759042232'\n    + AMP + 'single=true' + AMP + 'output=csv';\n\n  \/* \u25bc\u25bc\u25bc OFF-START\uff1a\u5099\u63f4\u6e05\u55ae\u3002\u884c\u4e8b\u66c6\u6709\u5927\u6539\u6642\u53ef\u8dd1 scripts\\gen-\u9801\u9762369\u505c\u99db\u65e5.ps1 \u66f4\u65b0 \u25bc\u25bc\u25bc *\/\n  var OFF_FALLBACK = [\n    { d: '2026-09-25', zh: '\u4e2d\u79cb\u7bc0', en: 'Mid-Autumn Festival' },\n    { d: '2026-09-28', zh: '\u6559\u5e2b\u7bc0', en: 'Teachers\\' Day' },\n    { d: '2026-10-09', zh: '\u570b\u6176\u65e5\u88dc\u5047', en: 'National Day (observed)' },\n    { d: '2026-10-26', zh: '\u5149\u5fa9\u7bc0\u88dc\u5047', en: 'Retrocession Day (observed)' },\n    { d: '2026-11-25', zh: '\u6821\u6176\u904b\u52d5\u6703\u505c\u8ab2', en: 'University Anniversary and Sports Day (no classes)' },\n    { d: '2026-12-25', zh: '\u884c\u61b2\u7d00\u5ff5\u65e5', en: 'Constitution Day' },\n    { d: '2027-01-01', zh: '\u958b\u570b\u7d00\u5ff5\u65e5', en: 'New Year\\'s Day' }\n  ];\n  \/* \u25b2\u25b2\u25b2 OFF-END \u25b2\u25b2\u25b2 *\/\n\n  var EN = {\n    '\u4e2d\u79cb\u7bc0': 'Mid-Autumn Festival', '\u6559\u5e2b\u7bc0': \"Teachers' Day\",\n    '\u570b\u6176\u65e5\u88dc\u5047': 'National Day (observed)', '\u5149\u5fa9\u7bc0\u88dc\u5047': 'Retrocession Day (observed)',\n    '\u884c\u61b2\u7d00\u5ff5\u65e5': 'Constitution Day', '\u958b\u570b\u7d00\u5ff5\u65e5': \"New Year's Day\",\n    '\u548c\u5e73\u7d00\u5ff5\u65e5\u88dc\u5047': 'Peace Memorial Day (observed)', '\u6e05\u660e\u7bc0': 'Tomb-Sweeping Day',\n    '\u5152\u7ae5\u7bc0\u88dc\u5047': \"Children's Day (observed)\", '\u52de\u52d5\u7bc0\u88dc\u5047': 'Labor Day (observed)',\n    '\u7aef\u5348\u7bc0': 'Dragon Boat Festival', '\u9664\u5915': \"Lunar New Year's Eve\", '\u6625\u7bc0': 'Lunar New Year',\n    '\u6821\u6176\u904b\u52d5\u6703\u505c\u8ab2': 'University Anniversary and Sports Day (no classes)'\n  };\n  var W = ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d'];\n  var WE = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n  var list = document.getElementById('tcu-off-list');\n  var nextEl = document.getElementById('tcu-off-next');\n  if (!list) return;\n\n  \/\/ \u9017\u865f\u53ef\u80fd\u51fa\u73fe\u5728\u5f15\u865f\u5167\uff0c\u7528\u72c0\u614b\u6a5f\u5207\u6b04\u4f4d\u6bd4 split(',') \u4fdd\u96aa\n  \/\/ \u8a3b\uff1a\u9019\u88e1\u523b\u610f\u7528\u5de2\u72c0 if \u800c\u4e0d\u662f &&\uff0c\u539f\u56e0\u898b\u4e0a\u65b9\u8b66\u544a\n  function splitCsvLine(line) {\n    var out = [], cur = '', q = false;\n    for (var i = 0; i < line.length; i++) {\n      var ch = line[i];\n      if (ch === '\"') {\n        if (q) {\n          if (line[i + 1] === '\"') { cur += '\"'; i++; }\n          else { q = false; }\n        } else { q = true; }\n      }\n      else if (ch === ',') {\n        if (q) { cur += ch; }\n        else { out.push(cur); cur = ''; }\n      }\n      else { cur += ch; }\n    }\n    out.push(cur);\n    return out;\n  }\n\n  \/* \u53d6\u54ea\u4e9b\u65e5\u5b50\uff1a\n     \u2460 \u672c\u5b78\u671f\uff08OFF_TERM\uff09\u6240\u6709\u975e\u4e0a\u8ab2\u65e5 \u2014\u2014 \u9019\u662f\u5b78\u671f\u56fa\u5b9a\u7684\u505c\u99db\u65e5\n     \u2461 \u5b78\u671f\u5916\uff08\u5bd2\u6691\u5047\uff09\u4f46\u8fd1\u671f\u7684\u975e\u4e0a\u8ab2\u65e5 \u2014\u2014 \u98b1\u98a8\u505c\u73ed\u505c\u8ab2\u6700\u5e38\u767c\u751f\u5728\u9019\u88e1\uff0c\n        \u9650\u300c\u4eca\u5929 \u22127 \u5929 \uff5e \u4eca\u5929 +30 \u5929\u300d\uff0c\u624d\u4e0d\u6703\u628a\u6574\u5e74\u7684\u570b\u5b9a\u5047\u65e5\u90fd\u704c\u9032\u4f86 *\/\n  function parseCsv(text) {\n    var today = new Date(); today.setHours(0, 0, 0, 0);\n    var lo = new Date(today.getTime() - 7 * 86400000);\n    var hi = new Date(today.getTime() + 30 * 86400000);\n\n    var L = text.split('\\n').map(function (s) { return s.replace(\/\\r$\/, ''); }).filter(function (s) { return s.trim(); });\n    var res = [];\n    for (var i = 1; i < L.length; i++) {\n      var c = splitCsvLine(L[i]);          \/\/ \u5b78\u671f,\u9031\u6b21,\u65e5\u671f,\u661f\u671f,\u72c0\u614b,\u4e8b\u7531\n      var st = (c[4] || '').trim();\n      if (st === '\u4e0a\u8ab2' || st.indexOf('\u4e0a\u73ed') === 0) continue;   \/\/ \u7167\u5e38\u884c\u99db\n\n      var iso = (c[2] || '').trim().replace(\/\\\/\/g, '-');\n      if (!\/^\\d{4}-\\d{2}-\\d{2}$\/.test(iso)) continue;\n      var dt = new Date(iso + 'T00:00:00');\n\n      var inTerm = (c[0] === OFF_TERM);\n      var nearby = !(dt < lo || dt > hi);        \/\/ \u4e0d\u7528 &&\uff0c\u539f\u56e0\u898b\u4e0a\u65b9\u8b66\u544a\n      if (!inTerm) { if (!nearby) continue; }\n\n      \/\/ \u986f\u793a\u7684\u6587\u5b57\uff1d\u96f2\u7aef\u884c\u4e8b\u66c6 F \u6b04\u300c\u4e8b\u7531\u300d\u539f\u6a23\uff0c\u9801\u9762\u4e0d\u52a0\u5b57\u4e5f\u4e0d\u622a\u5b57\u3002\n      \/\/ 2026-08-24 \u6539\uff1a\u539f\u672c\u6703\u628a F \u6b04\u5728\u300c\uff08\u300d\u8655\u622a\u6389\u3001\u518d\u4f9d\u72c0\u614b\u81ea\u52d5\u88dc\u300c\uff08\u50c5\u6821\u8eca\u884c\u99db\uff09\u300d\uff0c\n      \/\/ \u7d50\u679c\u540c\u4e00\u4ef6\u4e8b\u6709\u5169\u500b\u5730\u65b9\u5728\u6c7a\u5b9a\u6587\u5b57\uff0c\u6539\u96f2\u7aef\u770b\u4e0d\u51fa\u6548\u679c\u3002\u73fe\u5728 F \u6b04\u5c31\u662f\u552f\u4e00\u7248\u672c\uff0c\n      \/\/ \u8981\u8b93\u5b78\u751f\u77e5\u9053\u300c\u6821\u8eca\u7167\u8dd1\u300d\u5c31\u76f4\u63a5\u5beb\u9032 F \u6b04\u3002\n      \/\/ F \u6b04\u7559\u7a7a\u6642\u9000\u56de\u986f\u793a\u72c0\u614b\uff08\u4f8b\u5982\u53ea\u586b\u300c\u653e\u5047\u300d\u6c92\u586b\u4e8b\u7531\uff09\uff0c\u907f\u514d\u6574\u5217\u7a7a\u767d\u3002\n      var why = (c[5] || '').trim();\n      var zh = why ? why : st;\n      var en = EN[zh] || zh;\n      \/\/ \u5b78\u671f\u5916\u7684\u65e5\u5b50\u7167\u6a23\u986f\u793a\uff08\u98b1\u98a8\u591a\u534a\u767c\u751f\u5728\u5bd2\u6691\u5047\uff09\uff0c\u4f46\u4e0d\u6a19\u8a3b\u300c\u5b78\u671f\u5916\u300d\u2014\u2014\n      \/\/ \u5c0d\u5b78\u751f\u4f86\u8aaa\u300c\u90a3\u5929\u6c92\u8eca\u300d\u5c31\u5920\u4e86\uff0c\u6a19\u8a3b\u53cd\u800c\u8b93\u4eba\u56f0\u60d1\u3002\n      res.push({ d: iso, zh: zh, en: en });\n    }\n    res.sort(function (a, b) { return a.d < b.d ? -1 : 1; });\n    return res;\n  }\n\n  function render(OFF, live) {\n    var today = new Date(); today.setHours(0, 0, 0, 0);\n    var nextIdx = -1;\n    for (var i = 0; i < OFF.length; i++) {\n      if (new Date(OFF[i].d + 'T00:00:00') >= today) { nextIdx = i; break; }\n    }\n\n    var html = '';\n    for (var j = 0; j < OFF.length; j++) {\n      var dt = new Date(OFF[j].d + 'T00:00:00');\n      var isPast = dt < today, isToday = dt.getTime() === today.getTime(), isNext = (j === nextIdx);\n      var cls = isToday ? 'is-today' : (isPast ? 'is-past' : (isNext ? 'is-next' : ''));\n      var mmdd = (dt.getMonth() + 1) + '\/' + dt.getDate();\n      var tagZh = isToday ? '\u4eca\u5929\u505c\u99db' : (isPast ? '\u5df2\u904e' : (isNext ? '\u4e0b\u4e00\u500b' : '\u5c1a\u672a\u5230'));\n      var tagEn = isToday ? 'Today' : (isPast ? 'Past' : (isNext ? 'Next' : 'Upcoming'));\n      html += '<li class=\"' + cls + '\">'\n        + '<span class=\"off-date\">' + mmdd + '<span class=\"zh\">\uff08' + W[dt.getDay()] + '\uff09<\/span>'\n        + '<span class=\"en\"> ' + WE[dt.getDay()] + '<\/span><\/span>'\n        + '<span class=\"off-name\"><span class=\"zh\">' + OFF[j].zh + '<\/span><span class=\"en\">' + OFF[j].en + '<\/span><\/span>'\n        + '<span class=\"off-tag\"><span class=\"zh\">' + tagZh + '<\/span><span class=\"en\">' + tagEn + '<\/span><\/span>'\n        + '<\/li>';\n    }\n    list.innerHTML = html;\n\n    \/\/ \u6a19\u984c\u53f3\u908a\u53ea\u7559\u5169\u7a2e\u8a0a\u606f\u3002\u539f\u672c\u9084\u6709\u300c\u4e0b\u4e00\u500b\u505c\u99db\u65e5\uff1aX\/X \u25cb\u25cb\uff08\u9084\u6709 N \u5929\uff09\u300d\uff0c\n    \/\/ \u4f46\u6e05\u55ae\u672c\u8eab\u5df2\u7d93\u628a\u7576\u5929\u6a19\u9ec3\u3001\u4e0b\u4e00\u500b\u6a19\u7d05\uff0c\u7b49\u65bc\u540c\u4e00\u4ef6\u4e8b\u8b1b\u5169\u6b21\uff0c2026-08-24 \u62ff\u6389\u3002\n    if (!nextEl) return;\n    var note = live ? '' : '<span class=\"zh\">\uff08\u5099\u63f4\u8cc7\u6599\uff09<\/span><span class=\"en\"> (saved list)<\/span>';\n    if (nextIdx === -1) {\n      nextEl.innerHTML = '<span class=\"zh\">\u672c\u5b78\u671f\u505c\u99db\u65e5\u5df2\u5168\u90e8\u7d50\u675f<\/span><span class=\"en\">No more no-service dates this semester<\/span>' + note;\n    } else {\n      nextEl.innerHTML = note;\n    }\n  }\n\n  \/\/ \u5148\u7528\u5099\u63f4\u6e05\u55ae\u756b\u51fa\u4f86\uff0c\u96f2\u7aef\u8b80\u5230\u518d\u63db\u6389\uff0c\u9019\u6a23\u7db2\u8def\u6162\u7684\u6642\u5019\u756b\u9762\u4e0d\u6703\u7a7a\u767d\n  render(OFF_FALLBACK, false);\n\n  if (!window.fetch) return;\n  fetch(OFF_CSV, { cache: 'no-store' })\n    .then(function (r) { if (!r.ok) throw new Error('HTTP ' + r.status); return r.text(); })\n    .then(function (t) {\n      var rows = parseCsv(t);\n      if (rows.length) { render(rows, true); }\n    })\n    .catch(function () { \/* \u8b80\u4e0d\u5230\u5c31\u7dad\u6301\u5099\u63f4\u6e05\u55ae *\/ });\n})();\n\nfunction tcuSetTab(tabId) {\n  document.querySelectorAll('#tcu-shuttle .sh-panel').forEach(function(p) { p.classList.remove('active'); });\n  document.querySelectorAll('#tcu-shuttle .sh-tab-btn').forEach(function(b) { b.classList.remove('active'); });\n  document.getElementById('tab-panel-' + tabId).classList.add('active');\n  document.getElementById('tab-btn-'   + tabId).classList.add('active');\n}\n\nfunction tcuSetLang(lang) {\n  var el = document.getElementById('tcu-shuttle');\n  lang === 'en' ? el.classList.add('lang-en') : el.classList.remove('lang-en');\n  document.getElementById('tcu-btn-zh').classList.toggle('active', lang === 'zh');\n  document.getElementById('tcu-btn-en').classList.toggle('active', lang === 'en');\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u4e2d\u6587 English 115 \u5b78\u5e74\u5ea6\u7b2c 1 \u5b78\u671f \u6148\u6fdf\u5927\u5b78\u4e09\u6821\u5340\u4ea4\u901a\u8eca \u516c\u544a\u8207\u642d &hellip; <a href=\"https:\/\/gas.tcu.edu.tw\/?page_id=369\">\u95b1\u8b80\u5168\u6587 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-369","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gas.tcu.edu.tw\/index.php?rest_route=\/wp\/v2\/pages\/369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gas.tcu.edu.tw\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gas.tcu.edu.tw\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gas.tcu.edu.tw\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gas.tcu.edu.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=369"}],"version-history":[{"count":344,"href":"https:\/\/gas.tcu.edu.tw\/index.php?rest_route=\/wp\/v2\/pages\/369\/revisions"}],"predecessor-version":[{"id":9550,"href":"https:\/\/gas.tcu.edu.tw\/index.php?rest_route=\/wp\/v2\/pages\/369\/revisions\/9550"}],"wp:attachment":[{"href":"https:\/\/gas.tcu.edu.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}