From df952ebed432aafe3840a111399f34a4ae5ec9f0 Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Tue, 15 Aug 2023 20:02:21 +0000 Subject: [PATCH 1/8] Added Search Feature and Updated Theme Signed-off-by: Adithya Krishna --- jsdoc.conf.json | 51 ++++++--- package-lock.json | 271 ++++++++++++++++++++++++++++++++++++---------- package.json | 9 +- 3 files changed, 258 insertions(+), 73 deletions(-) diff --git a/jsdoc.conf.json b/jsdoc.conf.json index a5396fa6a..f74827a9a 100644 --- a/jsdoc.conf.json +++ b/jsdoc.conf.json @@ -2,13 +2,17 @@ "tags": { "allowUnknownTags": true }, - "plugins": ["plugins/markdown", - "../../node_modules/better-docs/typescript", - "../../node_modules/better-docs/category"], + "plugins": [ + "plugins/markdown", + "../../node_modules/better-docs/typescript", + "../../node_modules/better-docs/category" + ], + "recurseDepth": 10, "source": { "includePattern": "\\.(jsx|js|ts|tsx)$" }, "templates": { + "search": true, "cleverLinks": true, "monospaceLinks": false, "footer": "", @@ -18,9 +22,9 @@ "inverseNav" : true, "highlightTutorialCode" : true, "better-docs": { - "name": "3Dmol.js
", - "title": "3Dmol.js Documentation", - "css": "../tutorials/style.css", + "name": "3Dmol.js", + "title": "3Dmol.js Documentation", + "css": "../tutorials/style.css", "navLinks": [ { "label": "Github", @@ -31,15 +35,36 @@ }, "markdown" : { "parser" : "gfm", - "hardwrap" : true + "hardwrap": true, + "idInHeadings": true }, "opts":{ - "recurse": true, "encoding": "utf8", - "template": "./node_modules/better-docs", - "destination": "doc", + "destination": "doc/", + "recurse": true, + "verbose": true, + "template": "./node_modules/clean-jsdoc-theme", + "copyright": "3Dmol.js © 2019-2023", "tutorials": "tutorials", - "search": true - }, - "tutorials": "tutorials/" + "theme_opts": { + "default_theme": "light", + "includeFilesListInHomepage": true, + "homepageTitle": "3Dmol.js", + "tutorials": "tutorials", + "title": "3Dmol.js Documentation", + "menu": [ + { + "title": "Home", + "link": "https://3dmol.org/", + "target": "_blank" + }, + { + "title": "Github", + "link": "https://github.com/3dmol/3Dmol.js", + "target": "_blank" + } + ] + } + }, + "tutorials": "tutorials/" } diff --git a/package-lock.json b/package-lock.json index f4c83d1c1..115b19eea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { + "clean-jsdoc-theme": "^4.2.9", "iobuffer": "^5.3.1", "netcdfjs": "^2.0.2", "pako": "^2.1.0", @@ -422,7 +423,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", - "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -1764,7 +1764,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1778,7 +1777,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -1787,7 +1785,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -1796,7 +1793,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1805,14 +1801,12 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.18", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" @@ -1821,14 +1815,12 @@ "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jsdoc/salty": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.5.tgz", "integrity": "sha512-TfRP53RqunNe2HBobVBJ0VLhK1HbfvBYeTC1ahnN64PWvyYyGebmMiPkuwvD9fpw2ZbkoPb8Q7mwy0aR8Z9rvw==", - "dev": true, "dependencies": { "lodash": "^4.17.21" }, @@ -2183,14 +2175,12 @@ "node_modules/@types/linkify-it": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", - "dev": true + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==" }, "node_modules/@types/markdown-it": { "version": "12.2.3", "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", - "dev": true, "dependencies": { "@types/linkify-it": "*", "@types/mdurl": "*" @@ -2199,8 +2189,7 @@ "node_modules/@types/mdurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", - "dev": true + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" }, "node_modules/@types/node": { "version": "20.3.2", @@ -2591,7 +2580,6 @@ "version": "8.9.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -3135,8 +3123,7 @@ "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/brace": { "version": "0.11.1", @@ -3243,8 +3230,7 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/c8": { "version": "7.14.0", @@ -3323,6 +3309,15 @@ "node": ">=6" } }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -3371,7 +3366,6 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", - "dev": true, "dependencies": { "lodash": "^4.17.15" }, @@ -3462,6 +3456,34 @@ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-jsdoc-theme": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-4.2.9.tgz", + "integrity": "sha512-4ssTudHtQey0Y7j7LnSoQmr2+JBOmQmMnCM2sHZZbjAp3rMYYl2Dy+e4LWzygJxxTGNMbp2KEDtYKAZ9p8yLZw==", + "dependencies": { + "@jsdoc/salty": "^0.2.4", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^7.2.0", + "klaw-sync": "^6.0.0", + "lodash": "^4.17.21", + "nanoid": "^3.3.4", + "showdown": "^2.1.0" + }, + "peerDependencies": { + "jsdoc": ">=3.x <=4.x" + } + }, "node_modules/clean-stack": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", @@ -3607,8 +3629,7 @@ "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/concat-map": { "version": "0.0.1", @@ -4010,6 +4031,15 @@ "node": ">=12" } }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -4081,7 +4111,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -4906,6 +4935,27 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -5227,8 +5277,7 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphemer": { "version": "1.4.0", @@ -5353,6 +5402,45 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-minifier-terser/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", @@ -7662,7 +7750,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", - "dev": true, "dependencies": { "xmlcreate": "^2.0.4" } @@ -7671,7 +7758,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", - "dev": true, "dependencies": { "@babel/parser": "^7.20.15", "@jsdoc/salty": "^0.2.1", @@ -7700,7 +7786,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, "engines": { "node": ">=8" } @@ -7805,6 +7890,25 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/jstransformer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", @@ -7828,11 +7932,18 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "dev": true, "dependencies": { "graceful-fs": "^4.1.9" } }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -7874,7 +7985,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "dev": true, "dependencies": { "uc.micro": "^1.0.1" } @@ -7920,8 +8030,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.get": { "version": "4.4.2", @@ -7953,6 +8062,14 @@ "loose-envify": "cli.js" } }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -8008,7 +8125,6 @@ "version": "12.3.2", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "dev": true, "dependencies": { "argparse": "^2.0.1", "entities": "~2.1.0", @@ -8024,7 +8140,6 @@ "version": "8.6.7", "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", - "dev": true, "peerDependencies": { "@types/markdown-it": "*", "markdown-it": "*" @@ -8033,14 +8148,12 @@ "node_modules/markdown-it/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/marked": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true, "bin": { "marked": "bin/marked.js" }, @@ -8051,8 +8164,7 @@ "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" }, "node_modules/merge-stream": { "version": "2.0.0", @@ -8195,7 +8307,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -8234,7 +8345,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, "funding": [ { "type": "github", @@ -8268,6 +8378,15 @@ "iobuffer": "^5.2.1" } }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -8541,6 +8660,15 @@ "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -8610,6 +8738,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -9523,6 +9660,14 @@ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -9557,7 +9702,6 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", - "dev": true, "dependencies": { "lodash": "^4.17.21" } @@ -9825,6 +9969,29 @@ "node": ">=8" } }, + "node_modules/showdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/showdown/-/showdown-2.1.0.tgz", + "integrity": "sha512-/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ==", + "dependencies": { + "commander": "^9.0.0" + }, + "bin": { + "showdown": "bin/showdown.js" + }, + "funding": { + "type": "individual", + "url": "https://www.paypal.me/tiviesantos" + } + }, + "node_modules/showdown/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -9898,7 +10065,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -9916,7 +10082,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10068,7 +10233,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "engines": { "node": ">=8" }, @@ -10227,7 +10391,6 @@ "version": "5.18.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", - "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -10609,8 +10772,7 @@ "node_modules/tslib": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", - "dev": true + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" }, "node_modules/type-check": { "version": "0.4.0", @@ -10661,8 +10823,7 @@ "node_modules/uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "node_modules/unbzip2-stream": { "version": "1.4.3", @@ -10677,8 +10838,7 @@ "node_modules/underscore": { "version": "1.13.6", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", - "dev": true + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/universalify": { "version": "0.2.0", @@ -11536,8 +11696,7 @@ "node_modules/xmlcreate": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", - "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", - "dev": true + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==" }, "node_modules/y18n": { "version": "5.0.8", diff --git a/package.json b/package.json index 03f1268aa..7e7e994bc 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,10 @@ "text" ] }, + "engines": { + "npm": ">=8.11", + "node": ">=16.16.0" + }, "license": "BSD-3-Clause", "main": "build/3Dmol.js", "types": "build/types/index.d.ts", @@ -42,11 +46,8 @@ "cover": "npm run generate:jest && npx jest --coverage", "doc": "npx jsdoc -c jsdoc.conf.json src doc.md" }, - "engines": { - "npm": ">=8.11", - "node": ">=16.16.0" - }, "dependencies": { + "clean-jsdoc-theme": "^4.2.9", "iobuffer": "^5.3.1", "netcdfjs": "^2.0.2", "pako": "^2.1.0", From 47127b0252946046445c6f8ce38fa80b27341c0e Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Tue, 15 Aug 2023 20:04:15 +0000 Subject: [PATCH 2/8] Fixes - https://github.com/3dmol/3Dmol.js/issues/710 Signed-off-by: Adithya Krishna --- tutorials/url.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tutorials/url.md b/tutorials/url.md index 6d86160ab..afb136bf6 100644 --- a/tutorials/url.md +++ b/tutorials/url.md @@ -4,16 +4,17 @@ You can view a PDB structure immediately by visiting the 3Dmol.js server. Simpl A 3Dmol viewer URL takes the form `https://3Dmol.org/viewer.html?[query string]`, where the `query string` specifies a structure (i.e. a PDB ID) and specific 3Dmol styles to apply. Click the URL below for an example. -[`https://3Dmol.org/viewer.html?pdb=1YCR&select=chain:A&style=cartoon;stick:radius~0.1&surface=opacity:0.8;colorscheme:whiteCarbon&select=chain:B&style=cartoon;line&select=resi:19,23,26;chain:B&style=stick&labelres=backgroundOpacity:0.8;fontSize:14`](../viewer.html?pdb=1YCR&select=chain:A&style=cartoon;stick:radius~0.1&surface=opacity:0.8;colorscheme:whiteCarbon&select=chain:B&style=cartoon;line&select=resi:19,23,26;chain:B&style=cartoon;stick&labelres=backgroundOpacity:0.8;fontSize:14) +https://3Dmol.org/viewer.html?pdb=1YCR&select=chain:A&style=cartoon;stick:radius~0.1&surface=opacity:0.8;colorscheme:whiteCarbon&select=chain:B&style=cartoon;line&select=resi:19,23,26;chain:B&style=stick&labelres=backgroundOpacity:0.8;fontSize:14 + #### Mouse Controls #### -Movement |      | Mouse Input |      | Touch Input ----------|-|:------------|------------ -Rotation | | Primary Mouse Button | | Single touch -Translation | | Middle Mouse Button or Ctrl+Primary | | Triple touch -Zoom | | Scroll Wheel or Second Mouse Button or Shift+Primary | | Pinch (double touch) -Slab | | Ctrl+Second | | Not Available +| Movement | Mouse Input | Touch Input | +| ----------- | ---------------------------------------------------- | -------------------- | +| Rotation | Primary Mouse Button | Single touch | +| Translation | Middle Mouse Button or Ctrl+Primary | Triple touch | +| Zoom | Scroll Wheel or Second Mouse Button or Shift+Primary | Pinch (double touch) | +| Slab | Ctrl+Second | Not Available | ### Building a Query String ### From 320fd3ce7213aa2ff7d355421b1d819f993857ad Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Tue, 15 Aug 2023 20:10:02 +0000 Subject: [PATCH 3/8] Updated JSDOC Config Signed-off-by: Adithya Krishna --- doc.md | 21 +++++++++++---------- jsdoc.conf.json | 11 +++++++---- tutorials/embeddable.md | 32 +++++++++++++++++--------------- 3 files changed, 35 insertions(+), 29 deletions(-) diff --git a/doc.md b/doc.md index 2ef0765b3..64b39bb73 100644 --- a/doc.md +++ b/doc.md @@ -15,20 +15,21 @@ 3Dmol.js is an object-oriented, WebGL based JavaScript library for online molecular visualization - No Java required! -With 3Dmol.js, you can add beautifully rendered molecular visualizations to your web applications. Features include: +With 3Dmol.js, you can add beautifully rendered molecular visualizations to your web applications. -* support for pdb, sdf, mol2, xyz, and cube formats -* parallelized molecular surface computation -* sphere, stick, line, cross, cartoon, and surface styles -* atom property based selection and styling -* labels -* clickable interactivity with molecular data -* geometric shapes including spheres and arrows +Features include: + +1. Support for pdb, sdf, mol2, xyz, and cube formats +2. Parallelized molecular surface computation +3. Sphere, stick, line, cross, cartoon, and surface styles +4. Atom property based selection and styling +5. Labels +6. Clickable interactivity with molecular data +7. Geometric shapes including spheres and arrows ## Getting Started -Molecular data can be shared and visualized without writing any HTML - using only a declarative URL specification and our hosted viewer (see {@tutorial url}). +Molecular data can be shared and visualized without writing any HTML using only a declarative URL specification and our hosted viewer (see {@tutorial url}). Viewers can be quickly embedded in any HTML document using just two lines of source code (see {@tutorial embeddable}). diff --git a/jsdoc.conf.json b/jsdoc.conf.json index f74827a9a..bd156f9a3 100644 --- a/jsdoc.conf.json +++ b/jsdoc.conf.json @@ -51,12 +51,15 @@ "includeFilesListInHomepage": true, "homepageTitle": "3Dmol.js", "tutorials": "tutorials", - "title": "3Dmol.js Documentation", + "title": "3Dmol.js", "menu": [ { - "title": "Home", - "link": "https://3dmol.org/", - "target": "_blank" + "title": " Documentation", + "link": "https://3dmol.org/doc/index.html" + }, + { + "title": "Tutorials", + "link": "/doc/tutorial-code.html" }, { "title": "Github", diff --git a/tutorials/embeddable.md b/tutorials/embeddable.md index 2f09b9385..39a6a37e8 100644 --- a/tutorials/embeddable.md +++ b/tutorials/embeddable.md @@ -14,23 +14,25 @@ The code below is all that is needed to create the displayed viewer.
The contents of the viewer can be set and manipulated through the use of `data-` tags, as shown above. Supported tags include: - - **data-pdb** The value describes a PDB ID to be loaded into the viewer. - - **data-cid** The value describes a PubChem compound id to be loaded into the viewer. - - **data-href** The value is a URL to a molecular data file. - - **data-element** The value is the id of an HTML element on the current page that has molecular data embedded in it. - - **data-type** The value is the file format (default pdb; can be pdb, sdf, xyz, mol2, or cube). - - **data-backgroundcolor** The background color (default black). - - **data-backgroundalpha** The background alpha (default opaque: 1.0). - - **data-select** The value is an {@link AtomSpec} selection specification. - - **data-style** The value is a style specification. - - **data-surface** A surface style specification. - - **data-labelres** A residue label style specification. - - **data-zoomto** An {@link AtomSpec} selection specification to zoom to. - - **data-spin** If set will spin the model using {@link $3Dmol.GLViewer#spin}. Can specify axis and speed (e.g. data-spin='axis:z;speed:10') - - **data-ui** If set will show the UI for the viewer. + 1. **data-pdb** The value describes a PDB ID to be loaded into the viewer. + 2. **data-cid** The value describes a PubChem compound id to be loaded into the viewer. + 3. **data-href** The value is a URL to a molecular data file. + 4. **data-element** The value is the id of an HTML element on the current page that has molecular data embedded in it. + 5. **data-type** The value is the file format (default pdb; can be pdb, sdf, xyz, mol2, or cube). + 6. **data-backgroundcolor** The background color (default black). + 7. **data-backgroundalpha** The background alpha (default opaque: 1.0). + 8. **data-select** The value is an {@link AtomSpec} selection specification. + 9. **data-style** The value is a style specification. + 10. **data-surface** A surface style specification. + 11. **data-labelres** A residue label style specification. + 12. **data-zoomto** An {@link AtomSpec} selection specification to zoom to. + 13. **data-spin** If set will spin the model using {@link $3Dmol.GLViewer#spin}. Can specify axis and speed (e.g. data-spin='axis:z;speed:10') + 14. **data-ui** If set will show the UI for the viewer. Multiple selections, styles, residue labels, and surfaces can be provided by appending a suffix - each tag. For example. + each tag. + +For example: ```{@lang xml}
Date: Tue, 22 Aug 2023 13:06:33 +0000 Subject: [PATCH 4/8] Updated Theme and Docs Signed-off-by: Adithya Krishna --- jsdoc.conf.json | 22 ++++------------------ tutorials/embeddable.md | 4 ---- tutorials/learning_environment.md | 3 --- tutorials/url.md | 3 --- 4 files changed, 4 insertions(+), 28 deletions(-) diff --git a/jsdoc.conf.json b/jsdoc.conf.json index bd156f9a3..6e5f18d02 100644 --- a/jsdoc.conf.json +++ b/jsdoc.conf.json @@ -20,18 +20,7 @@ "linenums" : true, "collapseSymbols" : false, "inverseNav" : true, - "highlightTutorialCode" : true, - "better-docs": { - "name": "3Dmol.js", - "title": "3Dmol.js Documentation", - "css": "../tutorials/style.css", - "navLinks": [ - { - "label": "Github", - "href": "https://github.com/3dmol/3Dmol.js" - } - ] - } + "highlightTutorialCode" : true }, "markdown" : { "parser" : "gfm", @@ -45,12 +34,10 @@ "verbose": true, "template": "./node_modules/clean-jsdoc-theme", "copyright": "3Dmol.js © 2019-2023", - "tutorials": "tutorials", "theme_opts": { "default_theme": "light", "includeFilesListInHomepage": true, "homepageTitle": "3Dmol.js", - "tutorials": "tutorials", "title": "3Dmol.js", "menu": [ { @@ -59,15 +46,14 @@ }, { "title": "Tutorials", - "link": "/doc/tutorial-code.html" + "link": "/doc/tutorial-home.html" }, { - "title": "Github", + "title": "GitHub", "link": "https://github.com/3dmol/3Dmol.js", "target": "_blank" } ] } - }, - "tutorials": "tutorials/" + } } diff --git a/tutorials/embeddable.md b/tutorials/embeddable.md index 39a6a37e8..c78eb3244 100644 --- a/tutorials/embeddable.md +++ b/tutorials/embeddable.md @@ -42,8 +42,4 @@ For example:
Once created, the 3Dmol viewer can be accessed using the id of the container div in `$3Dmol.viewers`. - - - - diff --git a/tutorials/learning_environment.md b/tutorials/learning_environment.md index 0577489d7..dae9ba740 100644 --- a/tutorials/learning_environment.md +++ b/tutorials/learning_environment.md @@ -49,6 +49,3 @@ ProxyPassReverse /socket.io http://localhost:5000/socket.io The [flask-SocketIO documentation](https://flask-socketio.readthedocs.io/en/latest/) provides more information for running in other setups such as gunicorn, uwsgi, and nginx. - - - diff --git a/tutorials/url.md b/tutorials/url.md index afb136bf6..31e81d6aa 100644 --- a/tutorials/url.md +++ b/tutorials/url.md @@ -1,5 +1,4 @@ - You can view a PDB structure immediately by visiting the 3Dmol.js server. Simply type `https://3Dmol.org/viewer.html` with an appropriately formatted [URL query string](http://en.wikipedia.org/wiki/Query_string) into your browser. A 3Dmol viewer URL takes the form `https://3Dmol.org/viewer.html?[query string]`, where the `query string` specifies a structure (i.e. a PDB ID) and specific 3Dmol styles to apply. Click the URL below for an example. @@ -23,7 +22,6 @@ The URL query can be composed of three types of specifiers: a single **structure Specifiers are read in the order they are added, and are separated by an '&' character. - #### Specifying a Structure #### The **structure identifier** portion of the URL is a single selector formatted as `pdb=[PDB ID]`, `cid=[PubChem CID]`, or `url=[URL]` @@ -46,7 +44,6 @@ Be default, the file format will be inferred by any extension (e.g., `.sdf`) pre manually specified using the type parameter, as shown above. -
#### Selecting atoms #### From 89fcec46e72ece1201d0355c5abdb48590754f1c Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Tue, 22 Aug 2023 13:06:51 +0000 Subject: [PATCH 5/8] Added Tutorial Home Page Signed-off-by: Adithya Krishna --- tutorials/home.json | 3 +++ tutorials/home.md | 7 +++++++ 2 files changed, 10 insertions(+) create mode 100644 tutorials/home.json create mode 100644 tutorials/home.md diff --git a/tutorials/home.json b/tutorials/home.json new file mode 100644 index 000000000..d24fde8ef --- /dev/null +++ b/tutorials/home.json @@ -0,0 +1,3 @@ +{ + "title" : "3Dmol Tutorials - Home" +} diff --git a/tutorials/home.md b/tutorials/home.md new file mode 100644 index 000000000..681ca26e8 --- /dev/null +++ b/tutorials/home.md @@ -0,0 +1,7 @@ + +This guide helps you with learning how to, + +1. [Use 3Dmol within your code](tutorial-code.html) +2. [Embedding a 3Dmol Viewer](tutorial-embeddable.html) +3. [Active Learning with 3Dmol.js](tutorial-learning_environment.html) +4. [Hosted 3Dmol.js viewer](tutorial-url.html) \ No newline at end of file From e5cf4f580dc52f8c153e2b8c49e8552904b1fd15 Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Wed, 23 Aug 2023 15:41:49 +0000 Subject: [PATCH 6/8] fix: updated jsdoc config Signed-off-by: Adithya Krishna --- jsdoc.conf.json | 18 +++++++++++++++--- package.json | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/jsdoc.conf.json b/jsdoc.conf.json index 6e5f18d02..853565e9a 100644 --- a/jsdoc.conf.json +++ b/jsdoc.conf.json @@ -23,7 +23,6 @@ "highlightTutorialCode" : true }, "markdown" : { - "parser" : "gfm", "hardwrap": true, "idInHeadings": true }, @@ -38,6 +37,8 @@ "default_theme": "light", "includeFilesListInHomepage": true, "homepageTitle": "3Dmol.js", + "displayModuleHeader": true, + "footer":"3Dmol.js © 2019-2023 | University of Pittsburg | License", "title": "3Dmol.js", "menu": [ { @@ -46,14 +47,25 @@ }, { "title": "Tutorials", - "link": "/doc/tutorial-home.html" + "link": "tutorial-home.html" }, { "title": "GitHub", "link": "https://github.com/3dmol/3Dmol.js", "target": "_blank" } + ], + "meta": [ + { + "name": "Author", + "content": "David Koes & 3Dmoljs Contributors" + }, + { + "name": "Description", + "content": "A modern, object-oriented JavaScript library for visualizing molecular data" + } ] - } + }, + "tutorials": "tutorials/" } } diff --git a/package.json b/package.json index 7e7e994bc..e8f46a0f2 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "generate:glcheck": "python3 ./tests/glcheck/generate_glcheck_render_tests.py -min", "generate:jest": "python3 tests/jest/generate_jest_render_tests.py", "cover": "npm run generate:jest && npx jest --coverage", - "doc": "npx jsdoc -c jsdoc.conf.json src doc.md" + "doc": "rm -rf doc/ && npx jsdoc -c jsdoc.conf.json src doc.md" }, "dependencies": { "clean-jsdoc-theme": "^4.2.9", From bd0198a8f2959090d5ed8d38c5ef2215cd8f5e9e Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Tue, 29 Aug 2023 19:01:48 +0000 Subject: [PATCH 7/8] Updated Docs and Added Bullet Point Config Signed-off-by: Adithya Krishna --- doc.md | 14 +++++++------- jsdoc.conf.json | 1 + tutorials/embeddable.md | 28 ++++++++++++++-------------- tutorials/home.md | 8 ++++---- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/doc.md b/doc.md index 64b39bb73..f84fef50d 100644 --- a/doc.md +++ b/doc.md @@ -19,13 +19,13 @@ With 3Dmol.js, you can add beautifully rendered molecular visualizations to your Features include: -1. Support for pdb, sdf, mol2, xyz, and cube formats -2. Parallelized molecular surface computation -3. Sphere, stick, line, cross, cartoon, and surface styles -4. Atom property based selection and styling -5. Labels -6. Clickable interactivity with molecular data -7. Geometric shapes including spheres and arrows +- Support for pdb, sdf, mol2, xyz, and cube formats +- Parallelized molecular surface computation +- Sphere, stick, line, cross, cartoon, and surface styles +- Atom property based selection and styling +- Labels +- Clickable interactivity with molecular data +- Geometric shapes including spheres and arrows ## Getting Started diff --git a/jsdoc.conf.json b/jsdoc.conf.json index 853565e9a..50e128a9d 100644 --- a/jsdoc.conf.json +++ b/jsdoc.conf.json @@ -40,6 +40,7 @@ "displayModuleHeader": true, "footer":"3Dmol.js © 2019-2023 | University of Pittsburg | License", "title": "3Dmol.js", + "create_style": "article ul li { list-style: disc}", "menu": [ { "title": " Documentation", diff --git a/tutorials/embeddable.md b/tutorials/embeddable.md index c78eb3244..b4eeae322 100644 --- a/tutorials/embeddable.md +++ b/tutorials/embeddable.md @@ -14,20 +14,20 @@ The code below is all that is needed to create the displayed viewer.
The contents of the viewer can be set and manipulated through the use of `data-` tags, as shown above. Supported tags include: - 1. **data-pdb** The value describes a PDB ID to be loaded into the viewer. - 2. **data-cid** The value describes a PubChem compound id to be loaded into the viewer. - 3. **data-href** The value is a URL to a molecular data file. - 4. **data-element** The value is the id of an HTML element on the current page that has molecular data embedded in it. - 5. **data-type** The value is the file format (default pdb; can be pdb, sdf, xyz, mol2, or cube). - 6. **data-backgroundcolor** The background color (default black). - 7. **data-backgroundalpha** The background alpha (default opaque: 1.0). - 8. **data-select** The value is an {@link AtomSpec} selection specification. - 9. **data-style** The value is a style specification. - 10. **data-surface** A surface style specification. - 11. **data-labelres** A residue label style specification. - 12. **data-zoomto** An {@link AtomSpec} selection specification to zoom to. - 13. **data-spin** If set will spin the model using {@link $3Dmol.GLViewer#spin}. Can specify axis and speed (e.g. data-spin='axis:z;speed:10') - 14. **data-ui** If set will show the UI for the viewer. + - **data-pdb** The value describes a PDB ID to be loaded into the viewer. + - **data-cid** The value describes a PubChem compound id to be loaded into the viewer. + - **data-href** The value is a URL to a molecular data file. + - **data-element** The value is the id of an HTML element on the current page that has molecular data embedded in it. + - **data-type** The value is the file format (default pdb; can be pdb, sdf, xyz, mol2, or cube). + - **data-backgroundcolor** The background color (default black). + - **data-backgroundalpha** The background alpha (default opaque: 1.0). + - **data-select** The value is an {@link AtomSpec} selection specification. + - **data-style** The value is a style specification. + - **data-surface** A surface style specification. + - **data-labelres** A residue label style specification. + - **data-zoomto** An {@link AtomSpec} selection specification to zoom to. + - **data-spin** If set will spin the model using {@link $3Dmol.GLViewer#spin}. Can specify axis and speed (e.g. data-spin='axis:z;speed:10') + - **data-ui** If set will show the UI for the viewer. Multiple selections, styles, residue labels, and surfaces can be provided by appending a suffix each tag. diff --git a/tutorials/home.md b/tutorials/home.md index 681ca26e8..533f9aab2 100644 --- a/tutorials/home.md +++ b/tutorials/home.md @@ -1,7 +1,7 @@ This guide helps you with learning how to, -1. [Use 3Dmol within your code](tutorial-code.html) -2. [Embedding a 3Dmol Viewer](tutorial-embeddable.html) -3. [Active Learning with 3Dmol.js](tutorial-learning_environment.html) -4. [Hosted 3Dmol.js viewer](tutorial-url.html) \ No newline at end of file +- [Use 3Dmol within your code](tutorial-code.html) +- [Embedding a 3Dmol Viewer](tutorial-embeddable.html) +- [Active Learning with 3Dmol.js](tutorial-learning_environment.html) +- [Hosted 3Dmol.js viewer](tutorial-url.html) \ No newline at end of file From abd7314af09ee3c5424b065f5e9b7b824a421135 Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Wed, 30 Aug 2023 11:15:18 +0000 Subject: [PATCH 8/8] Fixed typo Signed-off-by: Adithya Krishna --- jsdoc.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsdoc.conf.json b/jsdoc.conf.json index 50e128a9d..c8f186ef4 100644 --- a/jsdoc.conf.json +++ b/jsdoc.conf.json @@ -38,7 +38,7 @@ "includeFilesListInHomepage": true, "homepageTitle": "3Dmol.js", "displayModuleHeader": true, - "footer":"3Dmol.js © 2019-2023 | University of Pittsburg | License", + "footer":"3Dmol.js © 2019-2023 | University of Pittsburgh | License", "title": "3Dmol.js", "create_style": "article ul li { list-style: disc}", "menu": [