diff options
| author | Dave Tang <davetingpongtang@gmail.com> | 2026-06-23 16:06:56 +0900 |
|---|---|---|
| committer | Dave Tang <davetingpongtang@gmail.com> | 2026-06-23 16:06:56 +0900 |
| commit | 2b9d10dd8eb94e5c55d12698fb4b1acf7a7c6352 (patch) | |
| tree | 039d21b01b4b1c8b16834b83efe6096ef086c4a3 /scripts | |
| parent | 01fc8071fc4e12ef23a6ef2f78bfa77eecc626a2 (diff) | |
Fix code highlighting
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/setup.sh | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/scripts/setup.sh b/scripts/setup.sh index a404eae..d77d23e 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -6,7 +6,7 @@ # bash setup-docsify.sh # # Downloads Docsify core, the search plugin, the Vue theme, the copy-to-clipboard -# plugin, and Prism syntax highlighting (bash, yaml, javascript, python, r) — all +# plugin, and extra Prism languages (bash, yaml, python, r) — all # served locally, no external CDN dependencies at runtime. # # Re-running in an existing site is safe: it refreshes the assets and regenerates @@ -82,15 +82,14 @@ fetch "${CDN}/docsify@${DOCSIFY_VERSION}/themes/vue.css" assets/css/ # Copy-to-clipboard plugin (injects its own CSS — no separate stylesheet needed) fetch "${CDN}/docsify-copy-code@3/dist/docsify-copy-code.min.js" assets/js/docsify-copy-code.min.js -# Prism syntax highlighting: core engine, then clike (required by javascript), -# then the individual languages. -fetch "${CDN}/prismjs@1/components/prism-core.min.js" assets/js/prism-core.min.js -fetch "${CDN}/prismjs@1/components/prism-clike.min.js" assets/js/prism-clike.min.js -fetch "${CDN}/prismjs@1/components/prism-javascript.min.js" assets/js/prism-javascript.min.js -fetch "${CDN}/prismjs@1/components/prism-bash.min.js" assets/js/prism-bash.min.js -fetch "${CDN}/prismjs@1/components/prism-yaml.min.js" assets/js/prism-yaml.min.js -fetch "${CDN}/prismjs@1/components/prism-python.min.js" assets/js/prism-python.min.js -fetch "${CDN}/prismjs@1/components/prism-r.min.js" assets/js/prism-r.min.js +# Extra Prism languages. Docsify already bundles Prism core plus html/css/clike/ +# javascript, so we only add the languages it does NOT ship. Never download +# prism-core here — a standalone core replaces Docsify's Prism and silently breaks +# highlighting for every language loaded after it. +fetch "${CDN}/prismjs@1/components/prism-bash.min.js" assets/js/prism-bash.min.js +fetch "${CDN}/prismjs@1/components/prism-yaml.min.js" assets/js/prism-yaml.min.js +fetch "${CDN}/prismjs@1/components/prism-python.min.js" assets/js/prism-python.min.js +fetch "${CDN}/prismjs@1/components/prism-r.min.js" assets/js/prism-r.min.js # ── Step 3: index.html ────────────────────────────────────────────────────────── step "Step 3 — Creating index.html" @@ -121,10 +120,7 @@ cat > index.html << 'HTML' <script src="assets/js/search.min.js"></script> <script src="assets/js/docsify-copy-code.min.js"></script> - <!-- Prism: core engine first, then clike (required by javascript), then languages --> - <script src="assets/js/prism-core.min.js"></script> - <script src="assets/js/prism-clike.min.js"></script> - <script src="assets/js/prism-javascript.min.js"></script> + <!-- Extra Prism languages — Docsify bundles Prism core + html/css/js. Load after docsify. --> <script src="assets/js/prism-bash.min.js"></script> <script src="assets/js/prism-yaml.min.js"></script> <script src="assets/js/prism-python.min.js"></script> @@ -200,7 +196,7 @@ echo "" echo -e "${GREEN}${BOLD}Setup complete.${NC}" echo -e "Open your site in a browser to verify." echo "" -echo -e "Syntax highlighting (Prism) is enabled for: bash, yaml, javascript, python, r." -echo -e "To add more languages, download additional prism-*.min.js files into" -echo -e "assets/js/ and add their <script> tags to index.html (after prism-core.min.js)." -echo -e "Copy-to-clipboard buttons are enabled on all code blocks." +echo -e "Syntax highlighting: html, css, and javascript are built into Docsify;" +echo -e "this setup adds bash, yaml, python, and r. To add more languages, download" +echo -e "additional prism-<lang>.min.js files into assets/js/ and add their <script>" +echo -e "tags to index.html. Copy-to-clipboard buttons are enabled on all code blocks." |
