{"id":1464,"date":"2026-03-25T08:50:59","date_gmt":"2026-03-25T08:50:59","guid":{"rendered":"https:\/\/tian-jian.org\/tj-field-school\/?post_type=toolbox&#038;p=1464"},"modified":"2026-06-07T11:09:30","modified_gmt":"2026-06-07T11:09:30","slug":"%e9%a6%99%e6%b8%af%e5%85%ac%e5%8f%b8%e6%9f%a5%e5%86%8c%e5%b7%a5%e5%85%b7%e7%ae%b1","status":"publish","type":"toolbox","link":"https:\/\/tian-jian.org\/tj-field-school\/toolbox\/%e9%a6%99%e6%b8%af%e5%85%ac%e5%8f%b8%e6%9f%a5%e5%86%8c%e5%b7%a5%e5%85%b7%e7%ae%b1\/","title":{"rendered":"\u9999\u6e2f\u516c\u53f8\u67e5\u518c"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" style=\"letter-spacing:1px;line-height:1.6\">\u672c\u6559\u7a0b\u65e8\u5728\u8aaa\u660e\u5982\u4f55\u5229\u7528\u9999\u6e2f\u516c\u53f8\u8a3b\u518a\u8655\u67e5\u8a62\u516c\u53f8\u53ca\u80a1\u6771\u8cc7\u6599\u3002\u4f5c\u70ba\u5168\u7403\u9802\u5c16\u7684\u91d1\u878d\u4e2d\u5fc3\uff0c\u9999\u6e2f\u662f\u9023\u63a5\u4e2d\u570b\u5be6\u9ad4\u8207\u570b\u969b\u5e02\u5834\u7684\u6838\u5fc3\u6a1e\u7d10\u3002\u6191\u85c9\u5176\u7368\u7279\u7684\u878d\u8cc7\u5730\u4f4d\u8207\u6cd5\u5f8b\u6846\u67b6\uff0c\u9999\u6e2f\u5e38\u88ab\u8996\u70ba\u4e2d\u5916\u8cc7\u672c\u5f80\u4f86\u7684\u300c\u69d3\u687f\u9ede\u300d\uff1b\u7136\u800c\uff0c\u9019\u7a2e\u8907\u96dc\u7684\u4f01\u696d\u7d50\u69cb\u6709\u6642\u4e5f\u53ef\u80fd\u88ab\u7528\u4f86\u96b1\u533f\u8207\u4e2d\u570b\u5167\u5730\u7684\u5be6\u8cea\u806f\u7e6b\u3002\u5c0d\u65bc\u8abf\u67e5\u5831\u5c0e\u800c\u8a00\uff0c\u638c\u63e1\u8a72\u8a3b\u518a\u8655\u7684\u64cd\u4f5c\u662f\u63ed\u958b\u8de8\u5883\u6b0a\u76ca\u8207\u7522\u6b0a\u771f\u76f8\u7684\u95dc\u9375\u4e00\u6b65\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<!-- \u5728\u7530\u9593\u5b78 \u5de5\u5177\u7bb1 slider \u2014 WordPress Custom HTML block -->\n<!-- Paste this entire block into a Custom HTML block in your post -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Noto+Serif+TC:wght@400;600;700&amp;family=Noto+Sans+TC:wght@300;400;500&amp;family=IBM+Plex+Mono:wght@400;500&amp;display=swap\" rel=\"stylesheet\">\n\n<style>\n\/* \u2500\u2500 All styles scoped to #tjfs-slider-wrap \u2500\u2500 *\/\n\n#tjfs-slider-wrap {\n  --tjfs-teal:       #3dabb1;\n  --tjfs-teal-dark:  #2d8389;\n  --tjfs-teal-light: #e6f5f6;\n  --tjfs-teal-mid:   #b0dde0;\n  --tjfs-gold:       #ae8c11;\n  --tjfs-gold-light: #f7f1d9;\n  --tjfs-surface:    #ffffff;\n  --tjfs-text:       #1c1a16;\n  --tjfs-text-mid:   #4e4c46;\n  --tjfs-text-muted: #9a9890;\n  --tjfs-border:     #dedad2;\n  --tjfs-serif:      'Noto Serif TC', serif;\n  --tjfs-sans:       'Noto Sans TC', sans-serif;\n  --tjfs-mono:       'IBM Plex Mono', monospace;\n\n  \/* Fluid \u2014 fills the post column, no fixed width, no scaling *\/\n  width: 100%;\n  font-family: var(--tjfs-sans);\n  margin: 0 auto 2em;\n}\n\n#tjfs-slider-wrap *, #tjfs-slider-wrap *::before, #tjfs-slider-wrap *::after {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n}\n\n\/* \u2500\u2500 Card shell \u2014 height anchored to image aspect ratio \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-slider {\n  width: 100%;\n  background: var(--tjfs-surface);\n  border: 1px solid var(--tjfs-border);\n  border-radius: 6px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  box-shadow:\n    0 2px 4px rgba(0,0,0,0.05),\n    0 10px 32px rgba(61,171,177,0.12);\n  animation: tjfs-fadeUp 0.4s ease both;\n  \/* Total height = image height (58% wide at 5:3) + header (~46px) + footer (~50px).\n     We use a padding-top trick on the wrapper to reserve exactly that space. *\/\n}\n\n@keyframes tjfs-fadeUp {\n  from { opacity: 0; transform: translateY(10px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n\n\/* \u2500\u2500 Header \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-header {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 16px 22px;\n  border-bottom: 1px solid var(--tjfs-border);\n  background: var(--tjfs-surface);\n  flex-shrink: 0;\n  flex-wrap: wrap;\n}\n\n#tjfs-slider-wrap .tjfs-tag {\n  font-family: var(--tjfs-mono);\n  font-size: 20px;\n  font-weight: 500;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  color: #fff;\n  background: var(--tjfs-teal);\n  padding: 8px 16px 7px;\n  border-radius: 3px;\n  flex-shrink: 0;\n  line-height: 1.4;\n}\n\n#tjfs-slider-wrap .tjfs-title {\n  font-family: var(--tjfs-serif);\n  font-size: 24px;\n  font-weight: 700;\n  color: var(--tjfs-text);\n  line-height: 1.2;\n}\n\n#tjfs-slider-wrap .tjfs-sub {\n  font-family: var(--tjfs-sans);\n  font-size: 17px;\n  color: var(--tjfs-text-muted);\n  font-weight: 300;\n  letter-spacing: 0.01em;\n}\n\n\/* \u2500\u2500 Body: fixed height driven by image pane aspect ratio \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-body {\n  display: flex;\n  flex-direction: row;\n  overflow: hidden;\n  flex: 1;\n  \/* min-height prevents collapse before JS runs *\/\n  min-height: 0;\n}\n\n\/* \u2500\u2500 Image pane \u2014 fills body height, does not drive it \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-img-pane {\n  width: 58%;\n  min-width: 58%;\n  position: relative;\n  background: var(--tjfs-teal-light);\n  overflow: hidden;\n  flex-shrink: 0;\n  padding: 5px;\n  \/* height: 100% \u2014 fills whatever .tjfs-body is *\/\n  align-self: stretch;\n}\n\n#tjfs-slider-wrap .tjfs-img-inner {\n  width: 100%;\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n  border-radius: 2px;\n  background: var(--tjfs-teal-light);\n  display: flex;\n  align-items: flex-start;\n  justify-content: center;\n}\n\n#tjfs-slider-wrap .tjfs-img-inner img {\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n  object-position: top center;\n  display: block;\n  transition: opacity 0.28s ease;\n}\n\n#tjfs-slider-wrap .tjfs-img-inner img.tjfs-fading { opacity: 0; }\n\n#tjfs-slider-wrap .tjfs-badge {\n  position: absolute;\n  top: 10px;\n  left: 10px;\n  font-family: var(--tjfs-mono);\n  font-size: 14px;\n  font-weight: 500;\n  color: #fff;\n  background: rgba(61,171,177,0.92);\n  backdrop-filter: blur(6px);\n  -webkit-backdrop-filter: blur(6px);\n  padding: 5px 12px 4px;\n  border-radius: 3px;\n  letter-spacing: 0.05em;\n  pointer-events: none;\n  z-index: 2;\n  line-height: 1.4;\n}\n\n#tjfs-slider-wrap .tjfs-callout {\n  position: absolute;\n  bottom: 10px;\n  right: 10px;\n  background: var(--tjfs-gold);\n  color: #fff;\n  font-family: var(--tjfs-sans);\n  font-size: 14px;\n  font-weight: 500;\n  padding: 6px 13px;\n  border-radius: 3px;\n  max-width: 65%;\n  line-height: 1.5;\n  z-index: 2;\n  opacity: 0;\n  transform: translateY(3px);\n  transition: opacity 0.22s ease, transform 0.22s ease;\n  pointer-events: none;\n}\n\n#tjfs-slider-wrap .tjfs-callout.visible { opacity: 1; transform: translateY(0); }\n\n#tjfs-slider-wrap .tjfs-placeholder {\n  width: 100%;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 12px;\n  background: var(--tjfs-teal-light);\n  border-radius: 2px;\n}\n\n#tjfs-slider-wrap .tjfs-ph-icon {\n  width: 48px;\n  height: 48px;\n  border: 1.5px solid rgba(61,171,177,0.4);\n  border-radius: 4px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n#tjfs-slider-wrap .tjfs-placeholder span {\n  font-family: var(--tjfs-mono);\n  font-size: 11px;\n  color: var(--tjfs-teal-dark);\n  opacity: 0.5;\n  letter-spacing: 0.1em;\n}\n\n\/* \u2500\u2500 Divider \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-divider {\n  width: 1px;\n  background: var(--tjfs-border);\n  flex-shrink: 0;\n}\n\n\/* \u2500\u2500 Text pane \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-text-pane {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  min-width: 0;\n  min-height: 0;\n}\n\n#tjfs-slider-wrap .tjfs-progress-track {\n  height: 3px;\n  background: var(--tjfs-teal-mid);\n  flex-shrink: 0;\n}\n\n#tjfs-slider-wrap .tjfs-progress-fill {\n  height: 100%;\n  background: var(--tjfs-teal);\n  transition: width 0.42s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n#tjfs-slider-wrap .tjfs-text-scroll {\n  flex: 1;\n  overflow-y: auto;\n  padding: 18px 20px 14px;\n  transition: opacity 0.2s ease;\n}\n\n#tjfs-slider-wrap .tjfs-text-scroll.tjfs-fading { opacity: 0; }\n\n#tjfs-slider-wrap .tjfs-text-scroll::-webkit-scrollbar { width: 4px; }\n#tjfs-slider-wrap .tjfs-text-scroll::-webkit-scrollbar-thumb {\n  background: var(--tjfs-teal-mid); border-radius: 2px;\n}\n\n#tjfs-slider-wrap .tjfs-step-label {\n  font-family: var(--tjfs-mono);\n  font-size: 11px;\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n  color: var(--tjfs-teal-dark);\n  font-weight: 500;\n  margin-bottom: 10px;\n  display: block;\n}\n\n#tjfs-slider-wrap .tjfs-slide-text {\n  font-family: var(--tjfs-sans);\n  font-size: 14px;\n  line-height: 1.95;\n  color: var(--tjfs-text-mid);\n  font-weight: 400;\n}\n\n#tjfs-slider-wrap .tjfs-slide-text .ht {\n  background: var(--tjfs-teal-light);\n  color: var(--tjfs-teal-dark);\n  padding: 1px 5px;\n  border-radius: 2px;\n  font-weight: 500;\n}\n\n#tjfs-slider-wrap .tjfs-slide-text .hg {\n  background: var(--tjfs-gold-light);\n  color: var(--tjfs-gold);\n  padding: 1px 5px;\n  border-radius: 2px;\n  font-weight: 500;\n}\n\n#tjfs-slider-wrap .tjfs-slide-text .url {\n  font-family: var(--tjfs-mono);\n  font-size: 12px;\n  color: var(--tjfs-teal);\n  word-break: break-all;\n}\n\n\/* \u2500\u2500 Footer \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-footer {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 10px 16px;\n  border-top: 1px solid var(--tjfs-border);\n  background: #fafaf8;\n  flex-shrink: 0;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n\n#tjfs-slider-wrap .tjfs-dots {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n\n#tjfs-slider-wrap .tjfs-dot {\n  width: 10px;\n  height: 10px;\n  border-radius: 50%;\n  background: var(--tjfs-border);\n  cursor: pointer;\n  border: none;\n  padding: 0;\n  transition: background 0.18s, transform 0.18s;\n  flex-shrink: 0;\n}\n\n#tjfs-slider-wrap .tjfs-dot:hover   { transform: scale(1.4); background: var(--tjfs-teal-mid); }\n#tjfs-slider-wrap .tjfs-dot.active  { background: var(--tjfs-teal); transform: scale(1.25); }\n#tjfs-slider-wrap .tjfs-dot.done    { background: var(--tjfs-teal-mid); }\n\n#tjfs-slider-wrap .tjfs-counter {\n  font-family: var(--tjfs-mono);\n  font-size: 14px;\n  color: var(--tjfs-text-muted);\n  letter-spacing: 0.04em;\n  flex-shrink: 0;\n}\n\n#tjfs-slider-wrap .tjfs-btns { display: flex; gap: 10px; flex-wrap: wrap; }\n\n#tjfs-slider-wrap .tjfs-btn {\n  font-family: var(--tjfs-mono);\n  font-size: 14px;\n  font-weight: 500;\n  letter-spacing: 0.03em;\n  padding: 9px 18px;\n  border-radius: 4px;\n  border: 1.5px solid var(--tjfs-border);\n  background: var(--tjfs-surface);\n  color: var(--tjfs-text-mid);\n  cursor: pointer;\n  transition: all 0.15s ease;\n  line-height: 1;\n  text-decoration: none;\n}\n\n#tjfs-slider-wrap .tjfs-btn:hover:not(:disabled) {\n  border-color: var(--tjfs-teal);\n  color: var(--tjfs-teal-dark);\n  background: var(--tjfs-teal-light);\n}\n\n#tjfs-slider-wrap .tjfs-btn.primary {\n  background: var(--tjfs-teal);\n  border-color: var(--tjfs-teal);\n  color: #fff;\n}\n\n#tjfs-slider-wrap .tjfs-btn.primary:hover:not(:disabled) {\n  background: var(--tjfs-teal-dark);\n  border-color: var(--tjfs-teal-dark);\n}\n\n#tjfs-slider-wrap .tjfs-btn.dl {\n  background: var(--tjfs-gold-light);\n  border-color: var(--tjfs-gold);\n  color: var(--tjfs-gold);\n  font-family: var(--tjfs-sans);\n  font-size: 14px;\n  letter-spacing: 0.02em;\n}\n\n#tjfs-slider-wrap .tjfs-btn.dl:hover {\n  background: var(--tjfs-gold);\n  border-color: var(--tjfs-gold);\n  color: #fff;\n}\n\n#tjfs-slider-wrap .tjfs-btn:disabled { opacity: 0.3; cursor: default; }\n\n\/* \u2500\u2500 Image zoom cursor hint \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-img-pane { cursor: zoom-in; }\n\n\/* \u2500\u2500 Lightbox \u2500\u2500 *\/\n#tjfs-lightbox {\n  display: none;\n  position: fixed;\n  inset: 0;\n  z-index: 999999;\n  background: rgba(10,10,10,0.92);\n  align-items: center;\n  justify-content: center;\n  cursor: zoom-out;\n  animation: tjfs-lbIn 0.18s ease both;\n}\n\n#tjfs-lightbox.open { display: flex; }\n\n@keyframes tjfs-lbIn {\n  from { opacity: 0; }\n  to   { opacity: 1; }\n}\n\n#tjfs-lightbox img {\n  max-width: 92vw;\n  max-height: 90vh;\n  object-fit: contain;\n  border-radius: 3px;\n  box-shadow: 0 8px 48px rgba(0,0,0,0.6);\n  animation: tjfs-lbSlide 0.2s ease both;\n  pointer-events: none;\n}\n\n@keyframes tjfs-lbSlide {\n  from { opacity: 0; transform: scale(0.96); }\n  to   { opacity: 1; transform: scale(1); }\n}\n\n#tjfs-lightbox .tjfs-lb-close {\n  position: fixed;\n  top: 16px;\n  right: 20px;\n  color: rgba(255,255,255,0.75);\n  font-size: 28px;\n  line-height: 1;\n  cursor: pointer;\n  background: none;\n  border: none;\n  font-family: sans-serif;\n  transition: color 0.15s;\n  z-index: 1000000;\n}\n\n#tjfs-lightbox .tjfs-lb-close:hover { color: #fff; }\n\n#tjfs-lightbox .tjfs-lb-hint {\n  position: fixed;\n  bottom: 18px;\n  left: 50%;\n  transform: translateX(-50%);\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 11px;\n  color: rgba(255,255,255,0.35);\n  letter-spacing: 0.08em;\n  pointer-events: none;\n  white-space: nowrap;\n}\n\n\/* \u2500\u2500 Modal \u2500\u2500 *\/\n#tjfs-modal-overlay {\n  display: none;\n  position: fixed;\n  inset: 0;\n  background: rgba(28,26,22,0.55);\n  backdrop-filter: blur(3px);\n  -webkit-backdrop-filter: blur(3px);\n  z-index: 99999;\n  align-items: center;\n  justify-content: center;\n  font-family: 'Noto Sans TC', sans-serif;\n}\n\n#tjfs-modal-overlay.open { display: flex; animation: tjfs-modalIn 0.2s ease both; }\n\n@keyframes tjfs-modalIn {\n  from { opacity: 0; }\n  to   { opacity: 1; }\n}\n\n#tjfs-modal {\n  background: #fff;\n  border: 1px solid #dedad2;\n  border-radius: 6px;\n  width: 620px;\n  max-width: 92vw;\n  max-height: 80vh;\n  display: flex;\n  flex-direction: column;\n  box-shadow: 0 16px 48px rgba(0,0,0,0.18);\n  animation: tjfs-modalSlide 0.22s ease both;\n  box-sizing: border-box;\n}\n\n@keyframes tjfs-modalSlide {\n  from { opacity: 0; transform: translateY(10px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n\n#tjfs-modal * { box-sizing: border-box; margin: 0; padding: 0; }\n\n#tjfs-modal .tjfs-mhead {\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 14px 20px 12px; border-bottom: 1px solid #dedad2; flex-shrink: 0;\n}\n\n#tjfs-modal .tjfs-mtitle {\n  font-family: 'Noto Serif TC', serif; font-size: 16px; font-weight: 700; color: #1c1a16;\n}\n\n#tjfs-modal .tjfs-mclose {\n  background: none; border: none; cursor: pointer; color: #9a9890;\n  font-size: 20px; line-height: 1; padding: 2px 6px; border-radius: 3px;\n  transition: background 0.15s, color 0.15s;\n}\n\n#tjfs-modal .tjfs-mclose:hover { background: #e6f5f6; color: #2d8389; }\n\n#tjfs-modal .tjfs-mbody {\n  flex: 1; overflow-y: auto; padding: 16px 20px;\n}\n\n#tjfs-modal .tjfs-mbody::-webkit-scrollbar { width: 4px; }\n#tjfs-modal .tjfs-mbody::-webkit-scrollbar-thumb { background: #b0dde0; border-radius: 2px; }\n\n#tjfs-modal .tjfs-mtext {\n  font-family: 'Noto Sans TC', sans-serif; font-size: 14px;\n  line-height: 1.9; color: #4e4c46; white-space: pre-wrap; user-select: all;\n}\n\n#tjfs-modal .tjfs-mfoot {\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 11px 20px 13px; border-top: 1px solid #dedad2; flex-shrink: 0; gap: 12px;\n}\n\n#tjfs-modal .tjfs-mhint {\n  font-family: 'IBM Plex Mono', monospace; font-size: 11px;\n  color: #9a9890; letter-spacing: 0.05em;\n}\n\n#tjfs-modal .tjfs-copybtn {\n  font-family: 'Noto Sans TC', sans-serif; font-size: 13px; font-weight: 500;\n  padding: 8px 20px; border-radius: 3px; border: 1.5px solid #3dabb1;\n  background: #3dabb1; color: #fff; cursor: pointer;\n  transition: all 0.15s ease; flex-shrink: 0;\n}\n\n#tjfs-modal .tjfs-copybtn:hover  { background: #2d8389; border-color: #2d8389; }\n#tjfs-modal .tjfs-copybtn.copied { background: #2c7a4b; border-color: #2c7a4b; }\n<\/style>\n\n<!-- \u2500\u2500 Widget \u2500\u2500 -->\n<div id=\"tjfs-slider-wrap\">\n  <div class=\"tjfs-slider\">\n\n    <div class=\"tjfs-header\">\n      <span class=\"tjfs-tag\">\u6307\u5357<\/span>\n      <span class=\"tjfs-title\">\u9999\u6e2f\u516c\u53f8\u6ce8\u518c\u5904<\/span>\n      <span class=\"tjfs-sub\">\u5982\u4f55\u67e5\u95b1\u9999\u6e2f\u7279\u5225\u884c\u653f\u5340\u7684\u516c\u53f8\u8cc7\u6599<\/span>\n    <\/div>\n\n    <div class=\"tjfs-body\">\n\n      <div class=\"tjfs-img-pane\">\n        <div class=\"tjfs-img-inner\" id=\"tjfsImgInner\"><\/div>\n        <div class=\"tjfs-badge\" id=\"tjfsBadge\"><\/div>\n        <div class=\"tjfs-callout\" id=\"tjfsCallout\"><\/div>\n      <\/div>\n\n      <div class=\"tjfs-divider\"><\/div>\n\n      <div class=\"tjfs-text-pane\">\n        <div class=\"tjfs-progress-track\">\n          <div class=\"tjfs-progress-fill\" id=\"tjfsProgress\"><\/div>\n        <\/div>\n        <div class=\"tjfs-text-scroll\" id=\"tjfsScroll\">\n          <span class=\"tjfs-step-label\" id=\"tjfsLabel\"><\/span>\n          <div class=\"tjfs-slide-text\" id=\"tjfsText\"><\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n\n    <div class=\"tjfs-footer\">\n      <div class=\"tjfs-dots\" id=\"tjfsDots\"><\/div>\n      <div class=\"tjfs-counter\" id=\"tjfsCounter\"><\/div>\n      <div class=\"tjfs-btns\">\n        <button class=\"tjfs-btn dl\" onclick=\"tjfsOpenModal()\">\ud83d\udccb \u4e0b\u8f09\u8aaa\u660e\u6587\u5b57<\/button>\n        <button class=\"tjfs-btn\" id=\"tjfsPrev\" onclick=\"tjfsGo(-1)\">\u2190 \u4e0a\u4e00\u6b65<\/button>\n        <button class=\"tjfs-btn primary\" id=\"tjfsNext\" onclick=\"tjfsGo(1)\">\u4e0b\u4e00\u6b65 \u2192<\/button>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<!-- Modal -->\n<div id=\"tjfs-modal-overlay\" onclick=\"tjfsOverlayClick(event)\">\n  <div id=\"tjfs-modal\">\n    <div class=\"tjfs-mhead\">\n      <span class=\"tjfs-mtitle\">\u67e5\u518a\u6b65\u9a5f\u8aaa\u660e\u6587\u5b57<\/span>\n      <button class=\"tjfs-mclose\" onclick=\"tjfsCloseModal()\">\u2715<\/button>\n    <\/div>\n    <div class=\"tjfs-mbody\">\n      <div class=\"tjfs-mtext\" id=\"tjfsModalText\"><\/div>\n    <\/div>\n    <div class=\"tjfs-mfoot\">\n      <span class=\"tjfs-mhint\">\u5168\u9078\u6587\u5b57\u5f8c\u53ef\u76f4\u63a5\u8cbc\u4e0a\uff0c\u6216\u9ede\u64ca\u53f3\u5074\u6309\u9215\u8907\u88fd<\/span>\n      <button class=\"tjfs-copybtn\" id=\"tjfsCopyBtn\" onclick=\"tjfsCopyText()\">\u8907\u88fd\u5168\u6587<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- Lightbox \u2014 click image to zoom -->\n<div id=\"tjfs-lightbox\" onclick=\"tjfsLbClose()\">\n  <button class=\"tjfs-lb-close\" onclick=\"tjfsLbClose()\">\u2715<\/button>\n  <img decoding=\"async\" id=\"tjfsLbImg\" src=\"\" alt=\"\">\n  <span class=\"tjfs-lb-hint\">\u6309\u4efb\u610f\u8655\u6216 ESC \u95dc\u9589<\/span>\n<\/div>\n\n<script>\n(function() {\n\nconst SLIDES = [\n  {\n    label:   \"STEP 01\",\n    badge:   \"\u6b65\u9a5f 1 \u2500\u2500 \u524d\u5f80\u67e5\u518a\u7db2\u7ad9\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/CR-Tutorial-1-1-scaled-1.jpg\",\n    callout: \"\u25bc \u9ede\u64ca\u300c\u7121\u5e33\u6236\u4f7f\u7528\u8005\u670d\u52d9\u300d\",\n    html: `\u9999\u6e2f\u7279\u5225\u884c\u653f\u5340\u653f\u5e9c<span class=\"ht\">\u516c\u53f8\u8a3b\u518a\u8655<\/span>\uff08Companies Registry\uff09\u4fdd\u5b58\u5168\u6e2f\u516c\u53f8\u7684\u516c\u958b\u767b\u8a18\u8a18\u9304\uff0c\u53ef\u6309\u82f1\u6587\u6216\u7e41\u9ad4\u4e2d\u6587\u540d\u7a31\u67e5\u8a62\uff0c\u4ea6\u53ef\u4ed8\u8cbb\u641c\u5c0b\u516c\u53f8\u8463\u4e8b\u59d3\u540d\u53ca\u4e0b\u8f09\u76f8\u95dc\u6587\u4ef6\uff0c\u6536\u8cbb\u5408\u7406\u3002\u67e5\u518a\u6bcb\u9808\u4e8b\u5148\u958b\u7acb\u5e33\u6236\u3002<br><br>\u8acb\u5728\u700f\u89bd\u5668\u524d\u5f80\uff1a<span class=\"url\">https:\/\/www.e-services.cr.gov.hk\/<\/span><br><br>\u9032\u5165\u9801\u9762\u5f8c\uff0c\u627e\u5230\u4e26\u9ede\u64ca\u53f3\u4e0b\u65b9\u7684 <span class=\"hg\">\u300c\u7121\u5e33\u6236\u4f7f\u7528\u8005\u670d\u52d9 Unregistered User Services\u300d<\/span> \u6309\u9215\u3002`,\n    plain: `\u6b65\u9a5f\u4e00\uff1a\u524d\u5f80\u67e5\u518a\u7db2\u7ad9\\n\\n\u9999\u6e2f\u7279\u5225\u884c\u653f\u5340\u653f\u5e9c\u516c\u53f8\u8a3b\u518a\u8655\uff08Companies Registry\uff09\u4fdd\u5b58\u5168\u6e2f\u516c\u53f8\u7684\u516c\u958b\u767b\u8a18\u8a18\u9304\uff0c\u53ef\u6309\u82f1\u6587\u6216\u7e41\u9ad4\u4e2d\u6587\u540d\u7a31\u67e5\u8a62\uff0c\u4ea6\u53ef\u4ed8\u8cbb\u641c\u5c0b\u516c\u53f8\u8463\u4e8b\u59d3\u540d\u53ca\u4e0b\u8f09\u76f8\u95dc\u6587\u4ef6\uff0c\u6536\u8cbb\u5408\u7406\u3002\u67e5\u518a\u6bcb\u9808\u4e8b\u5148\u958b\u7acb\u5e33\u6236\u3002\\n\\n\u8acb\u5728\u700f\u89bd\u5668\u524d\u5f80\uff1ahttps:\/\/www.e-services.cr.gov.hk\/\\n\\n\u9032\u5165\u9801\u9762\u5f8c\uff0c\u627e\u5230\u4e26\u9ede\u64ca\u53f3\u4e0b\u65b9\u7684\u300c\u7121\u5e33\u6236\u4f7f\u7528\u8005\u670d\u52d9 Unregistered User Services\u300d\u6309\u9215\u3002`\n  },\n  {\n    label:   \"STEP 02\",\n    badge:   \"\u6b65\u9a5f 2 \u2500\u2500 \u9032\u5165\u67e5\u518a\u529f\u80fd\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/CR-Tutorial-2-scaled-1.jpg\",\n    callout: \"\u25bc \u9ede\u64ca\u9802\u90e8\u9078\u55ae\u300c\u67e5\u518a\u300d\",\n    html: `\u9ede\u64ca\u300c\u7121\u5e33\u6236\u4f7f\u7528\u8005\u670d\u52d9\u300d\u5f8c\uff0c\u9801\u9762\u5c07\u986f\u793a\u5404\u9805\u670d\u52d9\u9078\u9805\u3002\u6211\u5011\u9700\u8981\u7684\u662f<span class=\"ht\">\u641c\u5c0b\uff08Search\uff09<\/span>\u529f\u80fd\u3002<br><br>\u7559\u610f\u9801\u9762\u9802\u90e8\u7684<span class=\"hg\">\u7d05\u8272\u6a6b\u5411\u9078\u55ae\u6b04<\/span>\uff0c\u627e\u5230\u4e26\u9ede\u64ca <span class=\"hg\">\u300c\u67e5\u518a\u300d<\/span> \u6309\u9215\uff0c\u5373\u53ef\u9032\u5165\u516c\u53f8\u53ca\u8463\u4e8b\u8a18\u9304\u7684\u67e5\u518a\u4ecb\u9762\u3002`,\n    plain: `\u6b65\u9a5f\u4e8c\uff1a\u9032\u5165\u67e5\u518a\u529f\u80fd\\n\\n\u9ede\u64ca\u300c\u7121\u5e33\u6236\u4f7f\u7528\u8005\u670d\u52d9\u300d\u5f8c\uff0c\u9801\u9762\u5c07\u986f\u793a\u5404\u9805\u670d\u52d9\u9078\u9805\u3002\u6211\u5011\u9700\u8981\u7684\u662f\u641c\u5c0b\uff08Search\uff09\u529f\u80fd\u3002\\n\\n\u7559\u610f\u9801\u9762\u9802\u90e8\u7684\u7d05\u8272\u6a6b\u5411\u9078\u55ae\u6b04\uff0c\u627e\u5230\u4e26\u9ede\u64ca\u300c\u67e5\u518a\u300d\u6309\u9215\uff0c\u5373\u53ef\u9032\u5165\u516c\u53f8\u53ca\u8463\u4e8b\u8a18\u9304\u7684\u67e5\u518a\u4ecb\u9762\u3002`\n  },\n  {\n    label:   \"STEP 03\",\n    badge:   \"\u6b65\u9a5f 3 \u2500\u2500 \u586b\u5beb\u67e5\u518a\u4eba\u8cc7\u6599\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/CR-Tutorial-3-scaled-1.jpg\",\n    callout: \"\u25bc \u9078\u64c7\u76ee\u7684 (7)\uff0c\u7136\u5f8c\u9ede\u64ca\u300c\u63a5\u53d7\u53ca\u63d0\u4ea4\u300d\",\n    html: `\u9801\u9762\u5c07\u986f\u793a<span class=\"ht\">\u516c\u53f8\u8a3b\u518a\u8655\u96fb\u5b50\u67e5\u518a\u670d\u52d9\u689d\u6b3e\u53ca\u689d\u4ef6<\/span>\uff08\u7d042020\u5e74\u8d77\u65b0\u589e\u7684\u7533\u5831\u7a0b\u5e8f\uff0c\u73fe\u6642\u670d\u52d9\u4ecd\u5c6c\u76f8\u5c0d\u958b\u653e\uff09\u3002\u5411\u4e0b\u6372\u52d5\uff0c\u76f4\u81f3\u770b\u5230 <span class=\"hg\">\u300c\u8acb\u8f38\u5165\u4ee5\u4e0b\u67e5\u518a\u4eba\u8cc7\u6599\u300d<\/span>\u3002<br><br>\u5982\u6301\u6709<span class=\"ht\">\u9999\u6e2f\u8eab\u4efd\u8b49<\/span>\uff0c\u8f38\u5165\u8b49\u4ef6\u865f\u78bc\u6700\u70ba\u4fbf\u6377\uff1b\u5426\u5247\u53ef\u6539\u7528\u8b77\u7167\u8cc7\u6599\u3002\u4e2d\u82f1\u6587\u5747\u53ef\u3002\u586b\u59a5\u5f8c\u6309\u63d0\u793a\u8f38\u5165<span class=\"ht\">\u9a57\u8b49\u5bc6\u78bc<\/span>\u3002<br><br>\u67e5\u518a\u76ee\u7684\u5efa\u8b70\u9078\u64c7 <span class=\"hg\">\uff087\uff09\u8a72\u516c\u53f8\u3001\u5176\u8463\u4e8b\u6216\u5176\u4ed6\u9ad8\u7d1a\u4eba\u54e1\u22ef\u22ef\u7684\u8a73\u60c5<\/span>\uff0c\u7136\u5f8c\u9ede\u64ca\u7d05\u8272\u7684 <span class=\"hg\">\u300c\u63a5\u53d7\u53ca\u63d0\u4ea4\u300d<\/span>\u3002`,\n    plain: `\u6b65\u9a5f\u4e09\uff1a\u586b\u5beb\u67e5\u518a\u4eba\u8cc7\u6599\\n\\n\u9801\u9762\u5c07\u986f\u793a\u516c\u53f8\u8a3b\u518a\u8655\u96fb\u5b50\u67e5\u518a\u670d\u52d9\u689d\u6b3e\u53ca\u689d\u4ef6\uff08\u7d042020\u5e74\u8d77\u65b0\u589e\u7684\u7533\u5831\u7a0b\u5e8f\uff0c\u73fe\u6642\u670d\u52d9\u4ecd\u5c6c\u76f8\u5c0d\u958b\u653e\uff09\u3002\u5411\u4e0b\u6372\u52d5\uff0c\u76f4\u81f3\u770b\u5230\u300c\u8acb\u8f38\u5165\u4ee5\u4e0b\u67e5\u518a\u4eba\u8cc7\u6599\u300d\u3002\\n\\n\u5982\u6301\u6709\u9999\u6e2f\u8eab\u4efd\u8b49\uff0c\u8f38\u5165\u8b49\u4ef6\u865f\u78bc\u6700\u70ba\u4fbf\u6377\uff1b\u5426\u5247\u53ef\u6539\u7528\u8b77\u7167\u8cc7\u6599\u3002\u4e2d\u82f1\u6587\u5747\u53ef\u3002\u586b\u59a5\u5f8c\u6309\u63d0\u793a\u8f38\u5165\u9a57\u8b49\u5bc6\u78bc\u3002\\n\\n\u67e5\u518a\u76ee\u7684\u5efa\u8b70\u9078\u64c7\uff087\uff09\u8a72\u516c\u53f8\u3001\u5176\u8463\u4e8b\u6216\u5176\u4ed6\u9ad8\u7d1a\u4eba\u54e1\u2026\u2026\u7684\u8a73\u60c5\uff0c\u7136\u5f8c\u9ede\u64ca\u7d05\u8272\u7684\u300c\u63a5\u53d7\u53ca\u63d0\u4ea4\u300d\u3002`\n  },\n  {\n    label:   \"STEP 04\",\n    badge:   \"\u6b65\u9a5f 4 \u2500\u2500 \u641c\u5c0b\u516c\u53f8\u540d\u7a31\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/CR-Tutorial-4-scaled-1.jpg\",\n    callout: \"\u25bc \u8f38\u5165\u95dc\u9375\u5b57\u5f8c\u9ede\u64ca\u300c\u8df3\u81f3\u300d\",\n    html: `\u63d0\u4ea4\u5f8c\u5373\u9032\u5165<span class=\"ht\">\u5feb\u901f\u67e5\u518a<\/span>\u4ecb\u9762\uff0c\u63d0\u4f9b\u4e09\u7a2e\u641c\u5c0b\u65b9\u5f0f\uff1a<span class=\"hg\">\u4ee5\u5168\u540d\u8a3b\u518a<\/span>\u3001<span class=\"hg\">\u4ee5\u540d\u7a31\u8d77\u9996\u67e5\u518a<\/span>\uff0c\u4ee5\u53ca<span class=\"hg\">\u5546\u696d\u767b\u8a18\u865f\u78bc<\/span>\uff08BRN\uff09\u3002<br><br><span class=\"ht\">\u5546\u696d\u767b\u8a18\u865f\u78bc\uff08BRN\uff09<\/span>\u662f\u7531\u7a05\u52d9\u5c40\uff08IRD\uff09\u5411\u6240\u6709\u5546\u696d\u5be6\u9ad4\u767c\u51fa\u76848\u4f4d\u6578\u5b57\u7de8\u865f\u3002\u81ea2023\u5e7412\u670827\u65e5\u8d77\uff0cBRN\u540c\u6642\u7528\u4f5c\u516c\u53f8\u8a3b\u518a\u8655\u7684<span class=\"ht\">\u7d71\u4e00\u696d\u52d9\u8b58\u5225\u78bc\uff08UBI\uff09<\/span>\uff0c\u8f38\u5165\u5f8c\u53ef\u76f4\u63a5\u5b9a\u4f4d\u76ee\u6a19\u516c\u53f8\u3002<br><br>\u8209\u4f8b\uff1a\u5982\u61f7\u7591\u7f8e\u570b\u5a92\u9ad4\u6a5f\u69cb SinoVision \u8207\u9999\u6e2f\u67d0\u516c\u53f8\u6709\u95dc\u806f\uff0c\u53ef\u5617\u8a66\u4ee5<span class=\"hg\">\u300c\u4ee5\u540d\u7a31\u8d77\u9996\u67e5\u518a\u300d<\/span>\u8f38\u5165\u300c\u4e9e\u6d32\u6587\u5316\u300d\uff0c\u7136\u5f8c\u9ede\u64ca<span class=\"hg\">\u300c\u8df3\u81f3\u300d<\/span>\uff0c\u67e5\u770b\u7cfb\u7d71\u8fd4\u56de\u7684\u5339\u914d\u7d50\u679c\u3002`,\n    plain: `\u6b65\u9a5f\u56db\uff1a\u641c\u5c0b\u516c\u53f8\u540d\u7a31\\n\\n\u63d0\u4ea4\u5f8c\u5373\u9032\u5165\u5feb\u901f\u67e5\u518a\u4ecb\u9762\uff0c\u63d0\u4f9b\u4e09\u7a2e\u641c\u5c0b\u65b9\u5f0f\uff1a\u4ee5\u5168\u540d\u8a3b\u518a\u3001\u4ee5\u540d\u7a31\u8d77\u9996\u67e5\u518a\uff0c\u4ee5\u53ca\u5546\u696d\u767b\u8a18\u865f\u78bc\uff08BRN\uff09\u3002\\n\\n\u5546\u696d\u767b\u8a18\u865f\u78bc\uff08BRN\uff09\u662f\u7531\u7a05\u52d9\u5c40\uff08IRD\uff09\u5411\u6240\u6709\u5546\u696d\u5be6\u9ad4\u767c\u51fa\u76848\u4f4d\u6578\u5b57\u7de8\u865f\u3002\u81ea2023\u5e7412\u670827\u65e5\u8d77\uff0cBRN\u540c\u6642\u7528\u4f5c\u516c\u53f8\u8a3b\u518a\u8655\u7684\u7d71\u4e00\u696d\u52d9\u8b58\u5225\u78bc\uff08UBI\uff09\uff0c\u8f38\u5165\u5f8c\u53ef\u76f4\u63a5\u5b9a\u4f4d\u76ee\u6a19\u516c\u53f8\u3002\\n\\n\u8209\u4f8b\uff1a\u5982\u61f7\u7591\u7f8e\u570b\u5a92\u9ad4\u6a5f\u69cb SinoVision \u8207\u9999\u6e2f\u67d0\u516c\u53f8\u6709\u95dc\u806f\uff0c\u53ef\u5617\u8a66\u4ee5\u300c\u4ee5\u540d\u7a31\u8d77\u9996\u67e5\u518a\u300d\u8f38\u5165\u300c\u4e9e\u6d32\u6587\u5316\u300d\uff0c\u7136\u5f8c\u9ede\u64ca\u300c\u8df3\u81f3\u300d\uff0c\u67e5\u770b\u7cfb\u7d71\u8fd4\u56de\u7684\u5339\u914d\u7d50\u679c\u3002`\n  },\n  {\n    label:   \"STEP 05\",\n    badge:   \"\u6b65\u9a5f 5 \u2500\u2500 \u67e5\u770b\u641c\u5c0b\u7d50\u679c\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/Step-5-correction-scaled-1.jpg\",\n    callout: \"\u25bc \u9ede\u64ca\u300c\u4e9e\u6d32\u6587\u5316\u4f01\u696d\u6709\u9650\u516c\u53f8\u300d\",\n    html: `\u641c\u5c0b\u7d50\u679c\u5373\u6642\u986f\u793a\u2014\u2014\u672c\u4f8b\u4e2d\u53ea\u6709<span class=\"ht\">\u4e00\u500b\u5339\u914d\u7d50\u679c<\/span>\uff0c\u67e5\u518a\u5de5\u4f5c\u56e0\u6b64\u4e8b\u534a\u529f\u500d\u3002<br><br>\u5982\u9700\u53d6\u5f97\u5b98\u65b9\u5831\u544a\uff0c\u53ef\u5373\u6642\u4ee5 <span class=\"hg\">\u6e2f\u5e63 $140<\/span> \u8a02\u8cfc\u6b63\u5f0f\u516c\u53f8\u5831\u544a\uff08\u9700\u4fe1\u7528\u5361\u4ed8\u6b3e\uff09\u3002\u4e0d\u904e\u6211\u5011\u66ab\u6642\u4e0d\u5fc5\u5982\u6b64\u2014\u2014\u7cfb\u7d71\u5df2\u63d0\u4f9b\u90e8\u5206\u514d\u8cbb\u8cc7\u6599\u4f9b\u67e5\u95b1\u3002<br><br>\u76f4\u63a5\u9ede\u64ca\u516c\u53f8\u540d\u7a31 <span class=\"hg\">\u300c\u4e9e\u6d32\u6587\u5316\u4f01\u696d\u6709\u9650\u516c\u53f8\u300d<\/span>\uff0c\u5373\u53ef\u67e5\u95b1\u66f4\u591a\u514d\u8cbb\u767b\u8a18\u8cc7\u6599\u3002`,\n    plain: `\u6b65\u9a5f\u4e94\uff1a\u67e5\u770b\u641c\u5c0b\u7d50\u679c\\n\\n\u641c\u5c0b\u7d50\u679c\u5373\u6642\u986f\u793a\u2014\u2014\u672c\u4f8b\u4e2d\u53ea\u6709\u4e00\u500b\u5339\u914d\u7d50\u679c\uff0c\u67e5\u518a\u5de5\u4f5c\u56e0\u6b64\u4e8b\u534a\u529f\u500d\u3002\\n\\n\u5982\u9700\u53d6\u5f97\u5b98\u65b9\u5831\u544a\uff0c\u53ef\u5373\u6642\u4ee5\u6e2f\u5e63 $140 \u8a02\u8cfc\u6b63\u5f0f\u516c\u53f8\u5831\u544a\uff08\u9700\u4fe1\u7528\u5361\u4ed8\u6b3e\uff09\u3002\u4e0d\u904e\u6211\u5011\u66ab\u6642\u4e0d\u5fc5\u5982\u6b64\u2014\u2014\u7cfb\u7d71\u5df2\u63d0\u4f9b\u90e8\u5206\u514d\u8cbb\u8cc7\u6599\u4f9b\u67e5\u95b1\u3002\\n\\n\u76f4\u63a5\u9ede\u64ca\u516c\u53f8\u540d\u7a31\u300c\u4e9e\u6d32\u6587\u5316\u4f01\u696d\u6709\u9650\u516c\u53f8\u300d\uff0c\u5373\u53ef\u67e5\u95b1\u66f4\u591a\u514d\u8cbb\u767b\u8a18\u8cc7\u6599\u3002`\n  },\n  {\n    label:   \"STEP 06\",\n    badge:   \"\u6b65\u9a5f 6 \u2500\u2500 \u67e5\u95b1\u516c\u53f8\u57fa\u672c\u8cc7\u6599\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/STEP-6-correction-scaled-1.jpg\",\n    callout: \"\u25bc \u5411\u4e0b\u6372\u52d5\u67e5\u770b\u66f4\u591a\u9078\u9805\",\n    html: `\u9ede\u64ca\u516c\u53f8\u540d\u7a31\u5f8c\uff0c\u9801\u9762\u5373\u986f\u793a\u8a72\u516c\u53f8\u7684<span class=\"ht\">\u57fa\u672c\u767b\u8a18\u8cc7\u6599<\/span>\uff0c\u7121\u9700\u4ed8\u8cbb\uff1a<br><br>\u5305\u62ec\u516c\u53f8\u6210\u7acb\u65e5\u671f\u3001<span class=\"ht\">\u5546\u696d\u767b\u8a18\u865f\u78bc\uff08BRN\uff09<\/span>\uff0c\u4ee5\u53ca\u6700\u95dc\u9375\u7684 <span class=\"hg\">\u516c\u53f8\u73fe\u6cc1<\/span>\u2014\u2014\u986f\u793a\u8a72\u516c\u53f8\u76ee\u524d\u662f\u5426\u4ecd\u7136\u6709\u6548\u904b\u4f5c\uff0c\u6291\u6216\u5df2\u88ab\u9664\u540d\u64a4\u92b7\u3002<br><br>\u5982\u5099\u6709\u4fe1\u7528\u5361\u4e26\u9858\u610f\u4ed8\u8cbb\uff0c\u53ef\u5728\u540c\u4e00\u9801\u9762\u53d6\u5f97\u66f4\u591a\u8a73\u7d30\u8cc7\u6599\u3002\u5411\u4e0b\u6372\u52d5\u9801\u9762\uff0c\u67e5\u770b\u9032\u4e00\u6b65\u7684\u67e5\u518a\u9078\u9805\u3002`,\n    plain: `\u6b65\u9a5f\u516d\uff1a\u67e5\u95b1\u516c\u53f8\u57fa\u672c\u8cc7\u6599\\n\\n\u9ede\u64ca\u516c\u53f8\u540d\u7a31\u5f8c\uff0c\u9801\u9762\u5373\u986f\u793a\u8a72\u516c\u53f8\u7684\u57fa\u672c\u767b\u8a18\u8cc7\u6599\uff0c\u7121\u9700\u4ed8\u8cbb\uff1a\\n\\n\u5305\u62ec\u516c\u53f8\u6210\u7acb\u65e5\u671f\u3001\u5546\u696d\u767b\u8a18\u865f\u78bc\uff08BRN\uff09\uff0c\u4ee5\u53ca\u6700\u95dc\u9375\u7684\u516c\u53f8\u73fe\u6cc1\u2014\u2014\u986f\u793a\u8a72\u516c\u53f8\u76ee\u524d\u662f\u5426\u4ecd\u7136\u6709\u6548\u904b\u4f5c\uff0c\u6291\u6216\u5df2\u88ab\u9664\u540d\u64a4\u92b7\u3002\\n\\n\u5982\u5099\u6709\u4fe1\u7528\u5361\u4e26\u9858\u610f\u4ed8\u8cbb\uff0c\u53ef\u5728\u540c\u4e00\u9801\u9762\u53d6\u5f97\u66f4\u591a\u8a73\u7d30\u8cc7\u6599\u3002\u5411\u4e0b\u6372\u52d5\u9801\u9762\uff0c\u67e5\u770b\u9032\u4e00\u6b65\u7684\u67e5\u518a\u9078\u9805\u3002`\n  },\n  {\n    label:   \"STEP 07\",\n    badge:   \"\u6b65\u9a5f 7 \u2500\u2500 \u9032\u5165\u6587\u4ef6\u7d22\u5f15\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/Step-7-correction-scaled-1.jpg\",\n    callout: \"\u25bc \u9078\u64c7\u300c\u5f71\u50cf\u7d00\u9304\u300d\u5f8c\u9ede\u64ca\u300c\u8df3\u81f3\u300d\",\n    html: `\u5728\u540c\u4e00\u9801\u9762\u5411\u4e0b\u6372\u52d5\uff0c\u53ef\u898b\u4e00\u500b\u4e0b\u62c9\u9078\u55ae\uff0c\u9810\u8a2d\u9078\u9805\u70ba <span class=\"hg\">\u300c\u5f71\u50cf\u7d00\u9304\uff08\u5305\u62ec\u6587\u4ef6\u7d22\u5f15\uff09\u300d<\/span>\u3002\u9ede\u958b\u53f3\u5074\u7bad\u982d\uff0c\u53ef\u898b\u4ee5\u4e0b\u4ed8\u8cbb\u9078\u9805\uff1a<br><br><span class=\"ht\">\u67e5\u95b1\u516c\u53f8\u8cc7\u6599<\/span> \uff0f <span class=\"ht\">\u67e5\u95b1\u8463\u4e8b\u7d22\u5f15\uff08\u4ee5\u516c\u53f8\u8cc7\u6599\u67e5\u95b1\uff09<\/span> \uff0f <span class=\"ht\">\u67e5\u95b1\u62bc\u8a18\u767b\u8a18\u518a<\/span> \uff0f <span class=\"ht\">\u516c\u53f8\u8fc4\u4eca\u4ecd\u8a3b\u518a\u8b49\u66f8<\/span> \uff0f <span class=\"ht\">\u67e5\u95b1\u8463\u4e8b\u8cc7\u6599<\/span><br><br>\u73fe\u5728\u6bcb\u9808\u9078\u64c7\u4e0a\u8ff0\u4efb\u4f55\u9078\u9805\u2014\u2014\u4fdd\u6301\u9810\u8a2d\u7684 <span class=\"hg\">\u300c\u5f71\u50cf\u7d00\u9304\uff08\u5305\u62ec\u6587\u4ef6\u7d22\u5f15\uff09\u300d<\/span>\uff0c\u76f4\u63a5\u9ede\u64ca <span class=\"hg\">\u300c\u8df3\u81f3\u300d<\/span> \u6309\u9215\uff0c\u9032\u5165\u65b0\u9801\u9762\uff0c\u5373\u53ef\u770b\u5230\u8a72\u516c\u53f8\u540d\u7a31\u3001\u5546\u696d\u767b\u8a18\u865f\u78bc\uff0c\u4ee5\u53ca\u7d05\u8272\u7684 <span class=\"hg\">\u300c\u9032\u5165\u6587\u4ef6\u7d22\u5f15\u300d<\/span> \u6309\u9215\u3002`,\n    plain: `\u6b65\u9a5f\u4e03\uff1a\u9032\u5165\u6587\u4ef6\u7d22\u5f15\\n\\n\u5728\u540c\u4e00\u9801\u9762\u5411\u4e0b\u6372\u52d5\uff0c\u53ef\u898b\u4e00\u500b\u4e0b\u62c9\u9078\u55ae\uff0c\u9810\u8a2d\u9078\u9805\u70ba\u300c\u5f71\u50cf\u7d00\u9304\uff08\u5305\u62ec\u6587\u4ef6\u7d22\u5f15\uff09\u300d\u3002\u9ede\u958b\u53f3\u5074\u7bad\u982d\uff0c\u53ef\u898b\u4ee5\u4e0b\u4ed8\u8cbb\u9078\u9805\uff1a\\n\\n\u67e5\u95b1\u516c\u53f8\u8cc7\u6599 \uff0f \u67e5\u95b1\u8463\u4e8b\u7d22\u5f15\uff08\u4ee5\u516c\u53f8\u8cc7\u6599\u67e5\u95b1\uff09\uff0f \u67e5\u95b1\u62bc\u8a18\u767b\u8a18\u518a \uff0f \u516c\u53f8\u8fc4\u4eca\u4ecd\u8a3b\u518a\u8b49\u66f8 \uff0f \u67e5\u95b1\u8463\u4e8b\u8cc7\u6599\\n\\n\u73fe\u5728\u6bcb\u9808\u9078\u64c7\u4e0a\u8ff0\u4efb\u4f55\u9078\u9805\u2014\u2014\u4fdd\u6301\u9810\u8a2d\u7684\u300c\u5f71\u50cf\u7d00\u9304\uff08\u5305\u62ec\u6587\u4ef6\u7d22\u5f15\uff09\u300d\uff0c\u76f4\u63a5\u9ede\u64ca\u300c\u8df3\u81f3\u300d\u6309\u9215\uff0c\u9032\u5165\u65b0\u9801\u9762\uff0c\u5373\u53ef\u770b\u5230\u8a72\u516c\u53f8\u540d\u7a31\u3001\u5546\u696d\u767b\u8a18\u865f\u78bc\uff0c\u4ee5\u53ca\u7d05\u8272\u7684\u300c\u9032\u5165\u6587\u4ef6\u7d22\u5f15\u300d\u6309\u9215\u3002`\n  },\n  {\n    label:   \"STEP 08\",\n    badge:   \"\u6b65\u9a5f 8 \u2500\u2500 \u67e5\u95b1\u6587\u4ef6\u7d22\u5f15\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/CR-Tutorial-9-scaled-1.jpg\",\n    callout: \"\u25bc \u9078\u53d6 2024 \u5e74\u5468\u5e74\u7533\u5831\u8868\uff08NAR1\uff09\",\n    html: `\u9ede\u64ca\u300c\u9032\u5165\u6587\u4ef6\u7d22\u5f15\u300d\u5f8c\uff0c\u9801\u9762\u986f\u793a\u8a72\u516c\u53f8\u7684<span class=\"ht\">\u5b8c\u6574\u6587\u4ef6\u6e05\u55ae<\/span>\uff0c\u5404\u985e\u6587\u4ef6\u9010\u4e00\u5217\u51fa\uff0c\u9019\u6b63\u662f\u8abf\u67e5\u5de5\u4f5c\u7684\u6838\u5fc3\u6240\u5728\u3002<br><br>\u6700\u5177\u53c3\u8003\u50f9\u503c\u7684\u6587\u4ef6\u985e\u578b\u5305\u62ec\uff1a<br><span class=\"hg\">\u5468\u5e74\u7533\u5831\u8868\uff08NAR1\uff09<\/span>\u2014\u2014\u6bcf\u5e74\u63d0\u4ea4\uff0c\u8f09\u6709\u516c\u53f8<span class=\"ht\">\u8463\u4e8b\u540d\u55ae\u3001\u80a1\u6771\u8cc7\u6599\u3001\u5730\u5740\u53ca\u90e8\u5206\u8eab\u4efd\u8b49\u865f\u78bc<\/span>\uff0c\u662f\u8ffd\u67e5\u4eba\u8108\u95dc\u4fc2\u7684\u91cd\u8981\u7dda\u7d22\u3002<br><span class=\"hg\">\u80a1\u4efd\u914d\u767c\u7533\u5831\u66f8<\/span>\u2014\u2014\u65bc\u80a1\u6b0a\u8b8a\u66f4\u6642\u63d0\u4ea4\uff0c\u8a18\u9304\u6301\u80a1\u7d50\u69cb\u7684\u8b8a\u52d5\uff0c\u4ea6\u53ef\u900f\u904e\u6bd4\u5c0d\u6b77\u5e74\u5468\u5e74\u7533\u5831\u8868\u52a0\u4ee5\u8ffd\u8e64\u3002<br><br>\u9801\u9762\u5de6\u5074\u53ef\u9078\u64c7\u6587\u4ef6\u7528\u9014\uff1a<span class=\"ht\">\u4e0b\u8f09<\/span>\uff08\u8f03\u5ec9\u5b9c\uff09\u6216<span class=\"ht\">\u6838\u8b49\u526f\u672c<\/span>\uff08\u5b98\u65b9\u8a8d\u8b49\uff0c\u8cbb\u7528\u8f03\u9ad8\uff09\u3002\u6211\u5011\u73fe\u5728\u9078\u53d6 <span class=\"hg\">2024 \u5e74\u5468\u5e74\u7533\u5831\u8868\uff08NAR1\uff09<\/span> \u9032\u884c\u4e0b\u8f09\u3002`,\n    plain: `\u6b65\u9a5f\u516b\uff1a\u67e5\u95b1\u6587\u4ef6\u7d22\u5f15\\n\\n\u9ede\u64ca\u300c\u9032\u5165\u6587\u4ef6\u7d22\u5f15\u300d\u5f8c\uff0c\u9801\u9762\u986f\u793a\u8a72\u516c\u53f8\u7684\u5b8c\u6574\u6587\u4ef6\u6e05\u55ae\uff0c\u5404\u985e\u6587\u4ef6\u9010\u4e00\u5217\u51fa\uff0c\u9019\u6b63\u662f\u8abf\u67e5\u5de5\u4f5c\u7684\u6838\u5fc3\u6240\u5728\u3002\\n\\n\u6700\u5177\u53c3\u8003\u50f9\u503c\u7684\u6587\u4ef6\u985e\u578b\u5305\u62ec\uff1a\\n\\n\u5468\u5e74\u7533\u5831\u8868\uff08NAR1\uff09\u2014\u2014\u6bcf\u5e74\u63d0\u4ea4\uff0c\u8f09\u6709\u516c\u53f8\u8463\u4e8b\u540d\u55ae\u3001\u80a1\u6771\u8cc7\u6599\u3001\u5730\u5740\u53ca\u90e8\u5206\u8eab\u4efd\u8b49\u865f\u78bc\uff0c\u662f\u8ffd\u67e5\u4eba\u8108\u95dc\u4fc2\u7684\u91cd\u8981\u7dda\u7d22\u3002\\n\\n\u80a1\u4efd\u914d\u767c\u7533\u5831\u66f8\u2014\u2014\u65bc\u80a1\u6b0a\u8b8a\u66f4\u6642\u63d0\u4ea4\uff0c\u8a18\u9304\u6301\u80a1\u7d50\u69cb\u7684\u8b8a\u52d5\uff0c\u4ea6\u53ef\u900f\u904e\u6bd4\u5c0d\u6b77\u5e74\u5468\u5e74\u7533\u5831\u8868\u52a0\u4ee5\u8ffd\u8e64\u3002\\n\\n\u9801\u9762\u5de6\u5074\u53ef\u9078\u64c7\u6587\u4ef6\u7528\u9014\uff1a\u4e0b\u8f09\uff08\u8f03\u5ec9\u5b9c\uff09\u6216\u6838\u8b49\u526f\u672c\uff08\u5b98\u65b9\u8a8d\u8b49\uff0c\u8cbb\u7528\u8f03\u9ad8\uff09\u3002\u6211\u5011\u73fe\u5728\u9078\u53d6 2024 \u5e74\u5468\u5e74\u7533\u5831\u8868\uff08NAR1\uff09\u9032\u884c\u4e0b\u8f09\u3002`\n  },\n  {\n    label:   \"STEP 09\",\n    badge:   \"\u6b65\u9a5f 9 \u2500\u2500 \u8cfc\u8cb7\u53ca\u4e0b\u8f09\u6587\u4ef6\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/CR-Tutorial-10-scaled-1.jpg\",\n    callout: \"\u25bc \u9ede\u64ca\u300c\u78ba\u5b9a\u300d\u78ba\u8a8d\u8cfc\u8cb7\",\n    html: `\u9ede\u64ca\u5de6\u5074\u4e0b\u8f09\u6309\u9215\u5f8c\uff0c\u5f48\u51fa\u8996\u7a97\u986f\u793a\u4f60\u7684\u9078\u64c7\u53ca\u8cbb\u7528\u2014\u2014\u672c\u4f8b\u70ba <span class=\"hg\">\u6e2f\u5e63 $18<\/span>\u3002\u9ede\u64ca <span class=\"hg\">\u300c\u78ba\u5b9a\u300d<\/span> \u78ba\u8a8d\u3002<br><br>\u5982\u9700\u8cfc\u8cb7\u591a\u4efd\u6587\u4ef6\uff0c\u53ef\u8fd4\u56de\u7d22\u5f15\u9801\u9010\u4e00\u9078\u53d6\uff0c\u6240\u6709\u9805\u76ee\u5c07\u7d2f\u7a4d\u81f3<span class=\"ht\">\u8cfc\u7269\u7c43<\/span>\u3002\u9078\u9f4a\u5f8c\u9ede\u64ca <span class=\"hg\">\u300c\u7d50\u7b97\u548c\u6e05\u4ed8\u8cfc\u7269\u7c43\u300d<\/span> \u9032\u884c\u4ed8\u6b3e\uff08\u4fe1\u7528\u5361\uff09\u3002\u4ed8\u6b3e\u7a0b\u5e8f\u76f8\u5c0d\u7c21\u55ae\uff0c\u6b64\u8655\u4e0d\u4f5c\u793a\u7bc4\u3002<br><br>\u26a0\ufe0f <span class=\"ht\">\u8acb\u52d9\u5fc5\u4fdd\u5b58\u4ed8\u6b3e\u5f8c\u6536\u5230\u7684\u300c\u4e0b\u8f09\u78bc\u300d\uff08Download Code\uff09<\/span>\uff0c\u4e0b\u4e00\u6b65\u9a5f\u5c07\u6703\u7528\u5230\u3002\u4ed8\u6b3e\u5b8c\u6210\u5f8c\uff0c\u9ede\u64ca <span class=\"hg\">\u300c\u4e0b\u8f09\u5df2\u8cfc\u9805\u76ee\u300d<\/span>\uff0c\u8f38\u5165\u4e0b\u8f09\u78bc\uff0c\u6587\u4ef6\u5373\u5e7e\u4e4e\u5373\u6642\u53ef\u4f9b\u4e0b\u8f09\u3002`,\n    plain: `\u6b65\u9a5f\u4e5d\uff1a\u8cfc\u8cb7\u53ca\u4e0b\u8f09\u6587\u4ef6\\n\\n\u9ede\u64ca\u5de6\u5074\u4e0b\u8f09\u6309\u9215\u5f8c\uff0c\u5f48\u51fa\u8996\u7a97\u986f\u793a\u4f60\u7684\u9078\u64c7\u53ca\u8cbb\u7528\u2014\u2014\u672c\u4f8b\u70ba\u6e2f\u5e63 $18\u3002\u9ede\u64ca\u300c\u78ba\u5b9a\u300d\u78ba\u8a8d\u3002\\n\\n\u5982\u9700\u8cfc\u8cb7\u591a\u4efd\u6587\u4ef6\uff0c\u53ef\u8fd4\u56de\u7d22\u5f15\u9801\u9010\u4e00\u9078\u53d6\uff0c\u6240\u6709\u9805\u76ee\u5c07\u7d2f\u7a4d\u81f3\u8cfc\u7269\u7c43\u3002\u9078\u9f4a\u5f8c\u9ede\u64ca\u300c\u7d50\u7b97\u548c\u6e05\u4ed8\u8cfc\u7269\u7c43\u300d\u9032\u884c\u4ed8\u6b3e\uff08\u4fe1\u7528\u5361\uff09\u3002\u4ed8\u6b3e\u7a0b\u5e8f\u76f8\u5c0d\u7c21\u55ae\uff0c\u6b64\u8655\u4e0d\u4f5c\u793a\u7bc4\u3002\\n\\n\u8acb\u52d9\u5fc5\u4fdd\u5b58\u4ed8\u6b3e\u5f8c\u6536\u5230\u7684\u300c\u4e0b\u8f09\u78bc\u300d\uff08Download Code\uff09\uff0c\u4e0b\u4e00\u6b65\u9a5f\u5c07\u6703\u7528\u5230\u3002\u4ed8\u6b3e\u5b8c\u6210\u5f8c\uff0c\u9ede\u64ca\u300c\u4e0b\u8f09\u5df2\u8cfc\u9805\u76ee\u300d\uff0c\u8f38\u5165\u4e0b\u8f09\u78bc\uff0c\u6587\u4ef6\u5373\u5e7e\u4e4e\u5373\u6642\u53ef\u4f9b\u4e0b\u8f09\u3002`\n  },\n  {\n    label:   \"STEP 10\",\n    badge:   \"\u6b65\u9a5f 10 \u2500\u2500 \u89e3\u8b80\u5468\u5e74\u7533\u5831\u8868\",\n    img:     \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/Yazhou-WENHUA-combo-CR-tutorial-scaled-1.jpg\",\n    callout: \"\u25bc \u80a1\u6771\u540d\u518a\u53ca\u8463\u4e8b\u8cc7\u6599\",\n    html: `\u4e0b\u8f09\u7684\u5468\u5e74\u7533\u5831\u8868\uff08NAR1\uff09\u662f\u8abf\u67e5\u7684\u6838\u5fc3\u6750\u6599\u3002\u6587\u4ef6\u5217\u51fa\u5168\u9ad4<span class=\"ht\">\u8463\u4e8b\u59d3\u540d\u3001\u5730\u5740\u53ca\u90e8\u5206\u8eab\u4efd\u8b49\u865f\u78bc<\/span>\uff0c\u4ee5\u53ca\u5b8c\u6574\u7684<span class=\"ht\">\u80a1\u6771\u540d\u518a<\/span>\uff0c\u5305\u62ec\u6301\u80a1\u4eba\u59d3\u540d\u3001\u5730\u5740\u53ca\u6301\u80a1\u6578\u91cf\u2014\u2014\u6bcf\u4e00\u689d\u90fd\u662f\u53ef\u8ffd\u67e5\u7684\u7dda\u7d22\u3002<br><br>\u4ee5\u672c\u4f8b\u70ba\u8b49\uff1a\u8463\u4e8b\u4e4b\u4e2d\u6709<span class=\"hg\">\u5f35\u66c9\u8c9d<\/span>\uff0c\u5176\u7236<span class=\"ht\">\u5f35\u9999\u5c71<\/span>\u66fe\u4efb\u4e2d\u5171<span class=\"ht\">\u4e2d\u592e\u5c0d\u5916\u806f\u7d61\u90e8<\/span>\u526f\u90e8\u9577\u53ca<span class=\"ht\">\u4e2d\u592e\u5ba3\u50b3\u90e8<\/span>\u526f\u90e8\u9577\u3002\u5f35\u66c9\u8c9d\u672c\u4eba\u662f\u7d71\u6230\u5de5\u4f5c\u7684\u95dc\u9375\u4eba\u7269\uff0c\u8207<span class=\"ht\">\u4e2d\u570b\u65b0\u805e\u793e\uff08\u4e2d\u65b0\u793e\uff09<\/span>\u53ca\u7d71\u6230\u80cc\u666f\u7684<span class=\"hg\">\u300a\u6b50\u6d32\u6642\u5831\u300b<\/span>\u5747\u6709\u95dc\u806f\u3002<br><br>\u4e00\u4efd\u516c\u53f8\u6587\u4ef6\uff0c\u5f80\u5f80\u727d\u51fa\u4e00\u5f35\u66f4\u5927\u7684\u7db2\u7d61\u3002`,\n    plain: `\u6b65\u9a5f\u5341\uff1a\u89e3\u8b80\u5468\u5e74\u7533\u5831\u8868\\n\\n\u4e0b\u8f09\u7684\u5468\u5e74\u7533\u5831\u8868\uff08NAR1\uff09\u662f\u8abf\u67e5\u7684\u6838\u5fc3\u6750\u6599\u3002\u6587\u4ef6\u5217\u51fa\u5168\u9ad4\u8463\u4e8b\u59d3\u540d\u3001\u5730\u5740\u53ca\u90e8\u5206\u8eab\u4efd\u8b49\u865f\u78bc\uff0c\u4ee5\u53ca\u5b8c\u6574\u7684\u80a1\u6771\u540d\u518a\uff0c\u5305\u62ec\u6301\u80a1\u4eba\u59d3\u540d\u3001\u5730\u5740\u53ca\u6301\u80a1\u6578\u91cf\u2014\u2014\u6bcf\u4e00\u689d\u90fd\u662f\u53ef\u8ffd\u67e5\u7684\u7dda\u7d22\u3002\\n\\n\u4ee5\u672c\u4f8b\u70ba\u8b49\uff1a\u8463\u4e8b\u4e4b\u4e2d\u6709\u5f35\u66c9\u8c9d\uff0c\u5176\u7236\u5f35\u9999\u5c71\u66fe\u4efb\u4e2d\u5171\u4e2d\u592e\u5c0d\u5916\u806f\u7d61\u90e8\u526f\u90e8\u9577\u53ca\u4e2d\u592e\u5ba3\u50b3\u90e8\u526f\u90e8\u9577\u3002\u5f35\u66c9\u8c9d\u672c\u4eba\u662f\u7d71\u6230\u5de5\u4f5c\u7684\u95dc\u9375\u4eba\u7269\uff0c\u8207\u4e2d\u570b\u65b0\u805e\u793e\uff08\u4e2d\u65b0\u793e\uff09\u53ca\u7d71\u6230\u80cc\u666f\u7684\u300a\u6b50\u6d32\u6642\u5831\u300b\u5747\u6709\u95dc\u806f\u3002\\n\\n\u4e00\u4efd\u516c\u53f8\u6587\u4ef6\uff0c\u5f80\u5f80\u727d\u51fa\u4e00\u5f35\u66f4\u5927\u7684\u7db2\u7d61\u3002`\n  }\n];\n\nvar cur = 0;\n\nfunction tjfsRender() {\n  var s      = SLIDES[cur];\n  var scroll = document.getElementById('tjfsScroll');\n  scroll.classList.add('tjfs-fading');\n\n  setTimeout(function() {\n    var inner  = document.getElementById('tjfsImgInner');\n    var oldImg = inner.querySelector('img');\n    var oldPh  = inner.querySelector('.tjfs-placeholder');\n\n    if (s.img) {\n      if (oldPh) oldPh.remove();\n      var img = oldImg;\n      if (!img) { img = document.createElement('img'); img.alt = '\u64cd\u4f5c\u622a\u5716'; inner.appendChild(img); }\n      img.classList.add('tjfs-fading');\n      img.src = s.img;\n      img.onload = function() { img.classList.remove('tjfs-fading'); };\n    } else {\n      if (oldImg) oldImg.remove();\n      if (!inner.querySelector('.tjfs-placeholder')) {\n        var ph = document.createElement('div');\n        ph.className = 'tjfs-placeholder';\n        ph.innerHTML = '<div class=\"tjfs-ph-icon\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3dabb1\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/><\/svg><\/div><span>\u622a\u5716\u5f85\u4e0a\u50b3<\/span>';\n        inner.appendChild(ph);\n      }\n    }\n\n    document.getElementById('tjfsBadge').textContent = s.badge;\n\n    var callout = document.getElementById('tjfsCallout');\n    callout.textContent = s.callout || '';\n    callout.classList.toggle('visible', !!s.callout);\n\n    document.getElementById('tjfsLabel').textContent = s.label;\n    document.getElementById('tjfsText').innerHTML    = s.html;\n    scroll.scrollTop = 0;\n\n    document.getElementById('tjfsProgress').style.width = ((cur+1)\/SLIDES.length*100)+'%';\n    document.getElementById('tjfsCounter').textContent  = (cur+1)+' \/ '+SLIDES.length;\n\n    document.getElementById('tjfsPrev').disabled = cur === 0;\n    var nxt = document.getElementById('tjfsNext');\n    nxt.textContent = cur === SLIDES.length-1 ? '\u5b8c\u6210 \u2713' : '\u4e0b\u4e00\u6b65 \u2192';\n    nxt.disabled    = cur === SLIDES.length-1;\n\n    var dotsEl = document.getElementById('tjfsDots');\n    dotsEl.innerHTML = '';\n    SLIDES.forEach(function(_, i) {\n      var d = document.createElement('button');\n      d.className = 'tjfs-dot'+(i===cur?' active':i<cur?' done':'');\n      d.title = '\u6b65\u9a5f '+(i+1);\n      d.onclick = function() { cur=i; tjfsRender(); };\n      dotsEl.appendChild(d);\n    });\n\n    scroll.classList.remove('tjfs-fading');\n  }, 190);\n}\n\nfunction tjfsGo(dir) {\n  var next = cur+dir;\n  if (next<0||next>=SLIDES.length) return;\n  cur=next; tjfsRender();\n}\n\nfunction tjfsOpenModal() {\n  var text = SLIDES.map(function(s,i){ return s.plain||('\u6b65\u9a5f'+(i+1)+'\\n\\n\uff08\u5f85\u88dc\uff09'); }).join('\\n\\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\\n\\n');\n  document.getElementById('tjfsModalText').textContent = text;\n  document.getElementById('tjfsCopyBtn').textContent = '\u8907\u88fd\u5168\u6587';\n  document.getElementById('tjfsCopyBtn').classList.remove('copied');\n  document.getElementById('tjfs-modal-overlay').classList.add('open');\n}\n\nfunction tjfsCloseModal() { document.getElementById('tjfs-modal-overlay').classList.remove('open'); }\n\nfunction tjfsOverlayClick(e) { if (e.target===document.getElementById('tjfs-modal-overlay')) tjfsCloseModal(); }\n\nfunction tjfsCopyText() {\n  var text = document.getElementById('tjfsModalText').textContent;\n  var btn  = document.getElementById('tjfsCopyBtn');\n  function done() {\n    btn.textContent='\u2713 \u5df2\u8907\u88fd'; btn.classList.add('copied');\n    setTimeout(function(){ btn.textContent='\u8907\u88fd\u5168\u6587'; btn.classList.remove('copied'); },2200);\n  }\n  if (navigator.clipboard) { navigator.clipboard.writeText(text).then(done).catch(done); }\n  else {\n    var r=document.createRange(); r.selectNodeContents(document.getElementById('tjfsModalText'));\n    window.getSelection().removeAllRanges(); window.getSelection().addRange(r);\n    document.execCommand('copy'); window.getSelection().removeAllRanges(); done();\n  }\n}\n\ndocument.addEventListener('keydown', function(e){\n  if(e.key==='Escape') { tjfsCloseModal(); tjfsLbClose(); }\n});\n\n\/\/ \u2500\u2500 Lightbox \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\nfunction tjfsLbOpen(src) {\n  if (!src) return;\n  document.getElementById('tjfsLbImg').src = src;\n  document.getElementById('tjfs-lightbox').classList.add('open');\n  document.body.style.overflow = 'hidden';\n}\n\nfunction tjfsLbClose() {\n  document.getElementById('tjfs-lightbox').classList.remove('open');\n  document.body.style.overflow = '';\n}\n\n\/\/ Wire click on the image pane to open lightbox\ndocument.getElementById('tjfsImgInner').addEventListener('click', function() {\n  var img = this.querySelector('img');\n  if (img && img.src) tjfsLbOpen(img.src);\n});\n\nwindow.tjfsLbOpen  = tjfsLbOpen;\nwindow.tjfsLbClose = tjfsLbClose;\n\nwindow.tjfsGo=tjfsGo; window.tjfsOpenModal=tjfsOpenModal; window.tjfsCloseModal=tjfsCloseModal;\nwindow.tjfsOverlayClick=tjfsOverlayClick; window.tjfsCopyText=tjfsCopyText;\n\n\/\/ \u2500\u2500 Lock card to a stable height \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\/\/ Image pane is 58% of card width at 5:3 ratio.\n\/\/ Card height = image height + header height + footer height.\nfunction tjfsFixHeight() {\n  var card   = document.querySelector('#tjfs-slider-wrap .tjfs-slider');\n  var header = document.querySelector('#tjfs-slider-wrap .tjfs-header');\n  var footer = document.querySelector('#tjfs-slider-wrap .tjfs-footer');\n  if (!card) return;\n  var cardW   = card.offsetWidth;\n  var imgH    = Math.round((cardW * 0.58) * (4\/5));\n  var headerH = header ? header.offsetHeight : 46;\n  var footerH = footer ? footer.offsetHeight : 50;\n  card.style.height = (imgH + headerH + footerH) + 'px';\n}\n\ntjfsFixHeight();\nwindow.addEventListener('resize', tjfsFixHeight);\n\ntjfsRender();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u9999\u6e2f\u516c\u53f8\u6ce8\u518c\u5904\u662f\u9999\u6e2f\u653f\u5e9c\u8d1f\u8d23\u7ba1\u7406\u516c\u53f8\u6ce8\u518c\u4e0e\u4fe1\u606f\u516c\u5f00\u7684\u5b98\u65b9\u673a\u6784\uff0c\u6536\u5f55\u4e86\u5728\u6e2f\u6ce8\u518c\u7684\u6240\u6709\u516c\u53f8\u7684\u57fa\u672c\u8d44\u6599\uff0c\u5305\u62ec\u516c\u53f8\u8463\u4e8b\u3001\u80a1\u4e1c\u53ca\u6ce8\u518c\u5730\u5740\u7b49\u3002<\/p>\n","protected":false},"featured_media":3450,"template":"","toolbox-type":[],"class_list":["post-1464","toolbox","type-toolbox","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/toolbox\/1464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/toolbox"}],"about":[{"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/types\/toolbox"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/media\/3450"}],"wp:attachment":[{"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/media?parent=1464"}],"wp:term":[{"taxonomy":"toolbox-type","embeddable":true,"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/toolbox-type?post=1464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}