{"_id":"gentelella","_rev":"45-0e4e4b363fc5837a7205fbe38e36ba1c","name":"gentelella","dist-tags":{"latest":"4.2.0"},"versions":{"1.1.0":{"name":"gentelella","version":"1.1.0","keywords":["css","js","html","template","admin","bootstrap","theme","backend","responsive"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@1.1.0","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"}],"contributors":[{"name":"Christian Esperar"}],"homepage":"https://github.com/puikinsh/gentelella#readme","bugs":{"url":"https://github.com/puikinsh/gentelella/issues"},"dist":{"shasum":"89367bf813f5789d58185e88f28c249b93f11620","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-1.1.0.tgz","integrity":"sha512-fvkbIYZiHgLjB22EEHQ8MQaIm9ue2w6QErKk2OGtWrZ4ax4GX3eI4LVbrWAfbjuRqK08/ZVPm1Hk614KwnRkYQ==","signatures":[{"sig":"MEQCIH9tJvzt47NPM+lBpaLgaGHn5G759n2MReBtzW2bxESKAiBSnUSDfIjV18cEcCoA6v/qn03FfqYwucZcnTPTR43x9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"89367bf813f5789d58185e88f28c249b93f11620","gitHead":"8217d625313f158c2dc9d8f9a8a58ea7c0dc263e","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"christianesperar","email":"christianesperar@gmail.com"},"repository":{"url":"git+https://github.com/puikinsh/gentelella.git","type":"git"},"_npmVersion":"3.8.6","description":"Gentellela Admin is a free to use Bootstrap admin template","directories":{},"_nodeVersion":"6.1.0","_npmOperationalInternal":{"tmp":"tmp/gentelella-1.1.0.tgz_1463587719237_0.2787769506685436","host":"packages-16-east.internal.npmjs.com"}},"1.2.0":{"name":"gentelella","version":"1.2.0","keywords":["css","js","html","template","admin","bootstrap","theme","backend","responsive"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@1.2.0","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"}],"contributors":[{"name":"Christian Esperar"}],"homepage":"https://github.com/puikinsh/gentelella#readme","bugs":{"url":"https://github.com/puikinsh/gentelella/issues"},"dist":{"shasum":"4e1d8f5be9af723749773e08fdf1fde602feb95e","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-1.2.0.tgz","integrity":"sha512-UdYHgnv2D8IPfZsSneKrKFbzpBogd1oAWz8FnmeUVoBACB+GlwD5sfcw3q3kAXX2sOP4Z5FkihF88lfmniGyXw==","signatures":[{"sig":"MEUCIEeECnZwQSGBHRuj5kwMj7CZsDy62DleUYVMIMd89ms0AiEAxeXGNpsRkBr+a4Z1SBl1MpnO5X2cfE6ERwvZs8hC2dY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"4e1d8f5be9af723749773e08fdf1fde602feb95e","gitHead":"a342d61fc82204982d290cb7887489115283d405","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"christianesperar","email":"christianesperar@gmail.com"},"repository":{"url":"git+https://github.com/puikinsh/gentelella.git","type":"git"},"_npmVersion":"3.8.6","description":"Gentellela Admin is a free to use Bootstrap admin template","directories":{},"_nodeVersion":"6.1.0","_npmOperationalInternal":{"tmp":"tmp/gentelella-1.2.0.tgz_1463645684992_0.9698436968028545","host":"packages-16-east.internal.npmjs.com"}},"1.3.0":{"name":"gentelella","version":"1.3.0","keywords":["css","js","html","template","admin","bootstrap","theme","backend","responsive"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@1.3.0","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"}],"contributors":[{"name":"Christian Esperar"}],"homepage":"https://github.com/puikinsh/gentelella#readme","bugs":{"url":"https://github.com/puikinsh/gentelella/issues"},"dist":{"shasum":"53c4bb0671abd3a4bbb97cfd8261003b6da7c5e3","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-1.3.0.tgz","integrity":"sha512-WVkCRBERBs52TERMbvcB6ixvtUPankg4UKlr8XYMg2Smxibh3qBMtd/sznTPPeh9ComZEF53rCGhBUPbyBExLQ==","signatures":[{"sig":"MEUCIAWsPFfLrV6eg07iqff8iHdkp/4Zyzfq4b5SbpZBJ5l9AiEA8fuHmHHYrkkJzMzCG/gcj2LTqPli71blKQ+hU84E+MM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"53c4bb0671abd3a4bbb97cfd8261003b6da7c5e3","gitHead":"1b19a16103bb474f35733b473ea801dd96abafd1","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"christianesperar","email":"christianesperar@gmail.com"},"repository":{"url":"git+https://github.com/puikinsh/gentelella.git","type":"git"},"_npmVersion":"3.8.6","description":"Gentellela Admin is a free to use Bootstrap admin template","directories":{},"_nodeVersion":"6.1.0","devDependencies":{"gulp":"^3.9.1","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.5.3","browser-sync":"^2.12.10","gulp-ruby-sass":"^2.0.6","gulp-autoprefixer":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gentelella-1.3.0.tgz_1464752080829_0.541702097048983","host":"packages-12-west.internal.npmjs.com"}},"1.4.0":{"name":"gentelella","version":"1.4.0","keywords":["css","js","html","template","admin","bootstrap","theme","backend","responsive"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@1.4.0","maintainers":[{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"},{"name":"cristianraiber","email":"office@machothemes.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"christianesperar","email":"christianesperar@gmail.com"}],"contributors":[{"name":"Christian Esperar"}],"homepage":"https://github.com/puikinsh/gentelella#readme","bugs":{"url":"https://github.com/puikinsh/gentelella/issues"},"dist":{"shasum":"b3d15fd9c40c6ea47dc7f36290c8f89aee95efc5","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-1.4.0.tgz","integrity":"sha512-lp54+y6bwSLHF6KMstW2jD6oqV68vLMnFqMqATRp5a/8Tp52NYly7Q+5FZIMaNKATrb3EKx+BN/bKpaZ4BYLEw==","signatures":[{"sig":"MEUCIFqx8GolrwbogR9Rh3ON9be9Z7vqzOf/ZWskQbjlZQO5AiEA/JEFDIZfifeCwVVriGoUd9o9cEqPh0jorv3mO9EiPWc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"build/js/custom.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"},"repository":{"url":"git+https://github.com/puikinsh/gentelella.git","type":"git"},"_npmVersion":"5.4.2","description":"Gentelella Admin is a free to use Bootstrap admin template","directories":{},"_nodeVersion":"6.9.2","devDependencies":{"gulp":"^3.9.1","gulp-concat":"^2.6.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.5.3","browser-sync":"^2.12.10","gulp-ruby-sass":"^2.0.6","gulp-autoprefixer":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/gentelella-1.4.0.tgz_1508318700346_0.5085337718483061","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"gentelella","version":"2.0.0","keywords":["css","js","html","template","admin","bootstrap","bootstrap5","theme","backend","responsive","modern"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@2.0.0","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"contributors":[{"name":"Christian Esperar"}],"homepage":"https://github.com/puikinsh/gentelella#readme","bugs":{"url":"https://github.com/puikinsh/gentelella/issues"},"dist":{"shasum":"60a5e269cabb111702a68e59f922f8083b49503b","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-2.0.0.tgz","fileCount":134,"integrity":"sha512-XlmwzJQoE0+yhGJhUAk2U4TkYgElHjCbokXq2ep25fb9xTZjEBrmgYRntz0YZGQpXo+QHUUBNaRT9qKhzDj5FA==","signatures":[{"sig":"MEUCIEMxrSNeLnycnKmdGWS26Fpb/CsC/3NzsWdD+hkF8Ah1AiEA8FwKv4gEUSsLAD+cnObCJlWHeYRP7Ok1FQMHg12A3M0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4266055},"main":"src/main.js","gitHead":"c818fb96efde803ad351aeec310075b3410cd95e","scripts":{"dev":"vite","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"silkalns","actor":{"name":"silkalns","type":"user","email":"aigars.silkalns@gmail.com"},"email":"aigars.silkalns@gmail.com"},"repository":{"url":"git+https://github.com/puikinsh/gentelella.git","type":"git"},"_npmVersion":"10.9.2","description":"Gentelella Admin is a free to use Bootstrap admin template","directories":{},"_nodeVersion":"23.11.0","dependencies":{"flot":"^4.2.6","dayjs":"^1.11.13","jszip":"^3.10.1","jquery":"^3.6.1","echarts":"^5.6.0","leaflet":"^1.9.4","pdfmake":"^0.2.20","select2":"^4.0.13","skycons":"^1.0.0","autosize":"^6.0.1","chart.js":"^4.4.2","dropzone":"^5.9.3","bootstrap":"^5.3.6","cropperjs":"^2.0.0","inputmask":"^5.0.9","jquery-ui":"^1.14.1","nprogress":"^0.2.0","switchery":"^0.0.2","jquery-knob":"^1.2.11","@popperjs/core":"^2.11.8","datatables.net":"^2.3.2","@simonwep/pickr":"^1.9.1","ion-rangeslider":"^2.3.1","jquery-sparkline":"^2.4.0","bootstrap-wysiwyg":"^2.0.1","@fullcalendar/core":"^6.1.17","datatables.net-bs5":"^2.3.2","@fullcalendar/daygrid":"^6.1.17","@fullcalendar/timegrid":"^6.1.17","datatables.net-buttons":"^3.2.3","datatables.net-keytable":"^2.12.1","datatables.net-scroller":"^2.4.3","@eonasdan/tempus-dominus":"^6.10.4","@fullcalendar/interaction":"^6.1.17","datatables.net-responsive":"^3.0.4","datatables.net-buttons-bs5":"^3.2.3","datatables.net-fixedheader":"^4.0.3","@fortawesome/fontawesome-free":"^6.6.0","datatables.net-responsive-bs5":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.2","sass":"^1.89.2","vite":"^6.3.5"},"_npmOperationalInternal":{"tmp":"tmp/gentelella_2.0.0_1750531060889_0.45583367987549095","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"gentelella","version":"2.1.0","keywords":["css","js","html","template","admin","bootstrap","bootstrap5","theme","backend","responsive","modern"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@2.1.0","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"contributors":[{"name":"Christian Esperar"}],"homepage":"https://github.com/puikinsh/gentelella#readme","bugs":{"url":"https://github.com/puikinsh/gentelella/issues"},"dist":{"shasum":"cc50836d857c32bc1e83954ea8a0b22ec2a8737c","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-2.1.0.tgz","fileCount":116,"integrity":"sha512-rCu/xHIXYpwAwDHXrdE4yv5MlnODXs1l2qIFVG5EtEOKXbTTHjCGgkJaXr5mIpXSlitNpzSZ/+bjMluqFAdcpg==","signatures":[{"sig":"MEUCIEx8Qmc+Tm6qQga43zUGs8LDc1NYJtSmqp2RZ0sUG+0GAiEAj6K3aGdosllmWyxg0CkPNthesLmjJbIZyzc4ZqkX+Q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2777487},"main":"src/main.js","gitHead":"3c6ff5d28ae0e110babb7ce7b462f7e60971c0fc","scripts":{"dev":"vite","lint":"eslint src/","build":"vite build","format":"prettier --write src/","analyze":"npm run build && open dist/stats.html","preview":"vite preview","lint:fix":"eslint src/ --fix","analyze:ci":"npm run build","format:check":"prettier --check src/"},"_npmUser":{"name":"silkalns","email":"aigars.silkalns@gmail.com"},"repository":{"url":"git+https://github.com/puikinsh/gentelella.git","type":"git"},"_npmVersion":"11.5.1","description":"Gentelella Admin is a free to use Bootstrap admin template","directories":{},"_nodeVersion":"23.11.0","dependencies":{"flot":"^4.2.6","dayjs":"^1.11.13","jszip":"^3.10.1","jquery":"^3.6.1","moment":"^2.30.1","echarts":"^5.6.0","leaflet":"^1.9.4","select2":"^4.1.0-rc.0","skycons":"^1.0.0","autosize":"^6.0.1","chart.js":"^4.4.2","dropzone":"^6.0.0-beta.2","bootstrap":"^5.3.6","cropperjs":"^2.0.0","dompurify":"^3.2.6","inputmask":"^5.0.9","jquery-ui":"^1.14.1","nprogress":"^0.2.0","switchery":"^0.0.2","jquery-knob":"^1.2.11","@popperjs/core":"^2.11.8","datatables.net":"^2.3.2","@simonwep/pickr":"^1.9.1","daterangepicker":"^3.1.0","ion-rangeslider":"^2.3.1","jquery-sparkline":"^2.4.0","@fullcalendar/core":"^6.1.17","datatables.net-bs5":"^2.3.2","@fullcalendar/daygrid":"^6.1.17","@fullcalendar/timegrid":"^6.1.17","datatables.net-buttons":"^3.2.3","datatables.net-keytable":"^2.12.1","@eonasdan/tempus-dominus":"^6.10.4","@fullcalendar/interaction":"^6.1.17","datatables.net-responsive":"^3.0.4","datatables.net-buttons-bs5":"^3.2.3","datatables.net-fixedheader":"^4.0.3","@fortawesome/fontawesome-free":"^7.0.0","datatables.net-responsive-bs5":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^11.0.2","sass":"^1.89.2","vite":"^7.0.6","eslint":"^9.31.0","terser":"^5.43.1","prettier":"^3.6.2","@eslint/js":"^9.31.0","typescript":"^5.8.3","eslint-config-prettier":"^10.1.8","rollup-plugin-visualizer":"^6.0.3","@typescript-eslint/parser":"^8.38.0","@typescript-eslint/eslint-plugin":"^8.38.0"},"_npmOperationalInternal":{"tmp":"tmp/gentelella_2.1.0_1753727803967_0.2095350464649881","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"gentelella","version":"4.0.0","keywords":["admin","dashboard","template","html","css","scss","vanilla-js","echarts","datatables","vite","modern","pwa","dark-mode","command-palette","theme-generator"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@4.0.0","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"homepage":"https://github.com/ColorlibHQ/gentelella#readme","bugs":{"url":"https://github.com/ColorlibHQ/gentelella/issues"},"dist":{"shasum":"dba1a7903ece6473887061de2b08312697d914a6","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-4.0.0.tgz","fileCount":94,"integrity":"sha512-a9vOzvAhISnUFCKZVKEQ+fRJtFAw135MdCWufr6/37owNKDXnzuiY9zGcSgB7DclnzrlhMxI7UU3SOPlFVSAHg==","signatures":[{"sig":"MEUCIDBWSbzFWn25pbQKnZQx49YBrnjtz0PL63jW+HliB/P7AiEAhYrQe0UYTAT7MgvfxaYXwvLldpBj0kGUjKlPR0XSLn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1166725},"main":"src/main-v4.js","type":"module","types":"types/gentelella.d.ts","exports":{".":"./src/main-v4.js","./v4/*":"./src/v4/*.js","./types":"./types/gentelella.d.ts","./scss/*":"./src/scss/*","./package.json":"./package.json"},"gitHead":"dc87f3e038d0565602b3aa5b6572bc84c9b1b841","scripts":{"dev":"vite --clearScreen false","new":"node scripts/new-page.mjs","lint":"eslint src/","build":"NODE_ENV=production vite build","smoke":"node scripts/smoke.mjs","format":"prettier --write src/","analyze":"npm run build && open dist/stats.html","preview":"vite preview","lint:fix":"eslint src/ --fix","build:dev":"NODE_ENV=development vite build","screenshots":"node scripts/screenshots.mjs","format:check":"prettier --check src/","deploy:preview":"bash scripts/deploy-preview.sh"},"_npmUser":{"name":"silkalns","email":"aigars.silkalns@gmail.com"},"repository":{"url":"git+https://github.com/ColorlibHQ/gentelella.git","type":"git"},"_npmVersion":"11.12.1","description":"Gentelella v4 — free admin template. 60 pages, 20 chart variants, fully interactive inbox & kanban, live theme generator, component playground, PWA-ready. Vite 8, vanilla JS, no Bootstrap, no jQuery.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"echarts":"^6.1.0","leaflet":"^1.9.4","datatables.net":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.99.0","vite":"^8.0.13","eslint":"^10.4.0","terser":"^5.47.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","playwright":"^1.60.0","@playwright/test":"^1.60.0","eslint-config-prettier":"^10.1.8","rollup-plugin-visualizer":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/gentelella_4.0.0_1779711601823_0.19367126032280213","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"gentelella","version":"4.0.1","keywords":["admin","dashboard","template","html","css","scss","vanilla-js","echarts","datatables","vite","modern","pwa","dark-mode","command-palette","theme-generator"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@4.0.1","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"homepage":"https://github.com/ColorlibHQ/gentelella#readme","bugs":{"url":"https://github.com/ColorlibHQ/gentelella/issues"},"dist":{"shasum":"a0e56a175c49a55ee29891480e09ce153d77bd8b","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-4.0.1.tgz","fileCount":265,"integrity":"sha512-4yczd4Y3EPedGum/YAiiPT5gUDNJvxSMh6WdZcyQxISyeYapFPn1sgNG+EJo0xBr/ymSLSFhh87oLlprSBgh6g==","signatures":[{"sig":"MEYCIQDoqBW4atd0naUx2MySKi9JEBuQVAdQZPc98Kslb5f/agIhANIlOK5N1fvsUGk5NJIYLX0cKNgLijNkMdmq8qtJvC7B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13518065},"main":"src/main-v4.js","type":"module","types":"types/gentelella.d.ts","exports":{".":"./src/main-v4.js","./v4/*":"./src/v4/*.js","./types":"./types/gentelella.d.ts","./scss/*":"./src/scss/*","./package.json":"./package.json"},"gitHead":"f2953c1b2b1ae1303755e8799f2f65c3ba732443","scripts":{"dev":"vite --clearScreen false","new":"node scripts/new-page.mjs","lint":"eslint src/","build":"NODE_ENV=production vite build","smoke":"node scripts/smoke.mjs","format":"prettier --write src/","analyze":"npm run build && open dist/stats.html","preview":"vite preview","lint:fix":"eslint src/ --fix","build:dev":"NODE_ENV=development vite build","screenshots":"node scripts/screenshots.mjs","format:check":"prettier --check src/","deploy:preview":"bash scripts/deploy-preview.sh","prepublishOnly":"npm run build"},"_npmUser":{"name":"silkalns","email":"aigars.silkalns@gmail.com"},"repository":{"url":"git+https://github.com/ColorlibHQ/gentelella.git","type":"git"},"_npmVersion":"11.12.1","description":"Gentelella v4 — free admin template. 60 pages, 20 chart variants, fully interactive inbox & kanban, live theme generator, component playground, PWA-ready. Vite 8, vanilla JS, no Bootstrap, no jQuery.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"echarts":"^6.1.0","leaflet":"^1.9.4","datatables.net":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.99.0","vite":"^8.0.13","eslint":"^10.4.0","terser":"^5.47.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","playwright":"^1.60.0","@playwright/test":"^1.60.0","eslint-config-prettier":"^10.1.8","rollup-plugin-visualizer":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/gentelella_4.0.1_1781169839693_0.03612241598282595","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"gentelella","version":"4.0.2","keywords":["admin","dashboard","template","html","css","scss","vanilla-js","echarts","datatables","vite","modern","pwa","dark-mode","command-palette","theme-generator"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@4.0.2","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"homepage":"https://github.com/ColorlibHQ/gentelella#readme","bugs":{"url":"https://github.com/ColorlibHQ/gentelella/issues"},"dist":{"shasum":"21573c167f04962e50b8ec2b52dcd190c1c15e94","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-4.0.2.tgz","fileCount":265,"integrity":"sha512-OFl6ZO8+dI/KtKqa5+nQtjhS46D000wRciq6RjT7e3xQrCetLRoroRB1TYUJsv4NRnAEHQnK2h2f1BB3T9uv2g==","signatures":[{"sig":"MEYCIQDJXqZvJszi1c+vf5rXuuGOw/GJkmbjQ/Z4i2/uDl9L4gIhAM7Si7K9WoSoABcsunDCXh/UgP+wtEdUdbZcX+u9s9r5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13518067},"main":"src/main-v4.js","type":"module","types":"types/gentelella.d.ts","exports":{".":"./src/main-v4.js","./v4/*":"./src/v4/*.js","./types":"./types/gentelella.d.ts","./scss/*":"./src/scss/*","./package.json":"./package.json"},"gitHead":"683ec54132c1310244f8ccff1d887bca3d401f06","scripts":{"dev":"vite --clearScreen false","new":"node scripts/new-page.mjs","lint":"eslint src/","build":"NODE_ENV=production vite build","smoke":"node scripts/smoke.mjs","format":"prettier --write src/","analyze":"npm run build && open dist/stats.html","preview":"vite preview","lint:fix":"eslint src/ --fix","build:dev":"NODE_ENV=development vite build","screenshots":"node scripts/screenshots.mjs","format:check":"prettier --check src/","deploy:preview":"bash scripts/deploy-preview.sh","prepublishOnly":"npm run build"},"_npmUser":{"name":"silkalns","email":"aigars.silkalns@gmail.com"},"repository":{"url":"git+https://github.com/ColorlibHQ/gentelella.git","type":"git"},"_npmVersion":"11.12.1","description":"Gentelella v4 — free admin template. 60 pages, 20 chart variants, fully interactive inbox & kanban, live theme generator, component playground, PWA-ready. Vite 8, vanilla JS, no Bootstrap, no jQuery.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"echarts":"^6.1.0","leaflet":"^1.9.4","datatables.net":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.101.0","vite":"^8.0.16","eslint":"^10.5.0","terser":"^5.48.0","prettier":"^3.8.4","@eslint/js":"^10.0.1","playwright":"^1.61.0","@playwright/test":"^1.61.0","eslint-config-prettier":"^10.1.8","rollup-plugin-visualizer":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/gentelella_4.0.2_1781701277134_0.6721709934904614","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"gentelella","version":"4.0.3","keywords":["admin","dashboard","template","html","css","scss","vanilla-js","echarts","datatables","vite","modern","pwa","dark-mode","command-palette","theme-generator"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@4.0.3","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"homepage":"https://github.com/ColorlibHQ/gentelella#readme","bugs":{"url":"https://github.com/ColorlibHQ/gentelella/issues"},"dist":{"shasum":"37b8cb44297a6193f3bd74adf7167c56fa657f55","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-4.0.3.tgz","fileCount":269,"integrity":"sha512-+wyVZ9As6Joe40WCNEC+cne7glQ8tu6s3Ff/0x9ZLyk9rJUKlDtaEKLJgiNUE5zEygeYP5Wj6/jcJdWPaswdkQ==","signatures":[{"sig":"MEUCIQD4jPhbQCAK6RUplnwBMBweG5+SzzgBShcq9kA2JNn70wIgMX2yl1XVvhC4mJcn4gywzBF0EQO354t+HztewQo3Azo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13527219},"main":"src/main-v4.js","type":"module","types":"types/gentelella.d.ts","exports":{".":"./src/main-v4.js","./v4/*":"./src/v4/*.js","./types":"./types/gentelella.d.ts","./scss/*":"./src/scss/*","./package.json":"./package.json"},"gitHead":"f82eecb9bbc58566e1836ae3ff230df20cbff868","scripts":{"dev":"vite --clearScreen false","new":"node scripts/new-page.mjs","lint":"eslint src/","build":"NODE_ENV=production vite build","smoke":"node scripts/smoke.mjs","format":"prettier --write src/","analyze":"npm run build && open dist/stats.html","preview":"vite preview","lint:fix":"eslint src/ --fix","build:dev":"NODE_ENV=development vite build","screenshots":"node scripts/screenshots.mjs","format:check":"prettier --check src/","deploy:preview":"bash scripts/deploy-preview.sh","prepublishOnly":"npm run build"},"_npmUser":{"name":"silkalns","email":"aigars.silkalns@gmail.com"},"repository":{"url":"git+https://github.com/ColorlibHQ/gentelella.git","type":"git"},"_npmVersion":"11.12.1","description":"Gentelella v4 — free admin template. 60 pages, 20 chart variants, fully interactive inbox & kanban, live theme generator, component playground, PWA-ready. Vite 8, vanilla JS, no Bootstrap, no jQuery.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"echarts":"^6.1.0","leaflet":"^1.9.4","datatables.net":"^2.3.8"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.101.3","vite":"^8.1.5","eslint":"^10.7.0","terser":"^5.49.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","playwright":"^1.61.1","@playwright/test":"^1.61.1","eslint-config-prettier":"^10.1.8","rollup-plugin-visualizer":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/gentelella_4.0.3_1784658532020_0.6576727682044627","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"gentelella","version":"4.1.1","keywords":["admin","dashboard","template","html","css","scss","vanilla-js","echarts","datatables","vite","modern","pwa","dark-mode","command-palette","theme-generator"],"author":{"name":"Aigars Silkalns"},"license":"MIT","_id":"gentelella@4.1.1","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"homepage":"https://github.com/ColorlibHQ/gentelella#readme","bugs":{"url":"https://github.com/ColorlibHQ/gentelella/issues"},"dist":{"shasum":"3191beecc5c8b329caa2cc449207224ee50bba0a","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-4.1.1.tgz","fileCount":269,"integrity":"sha512-I+Hx7z7SEZRPm49laKCMG1JsyTGesHyd2YStnNdXNfM6R3fB9Gaf8Ovy8wx86pZbH/La9Fb1ggj/dPL6RF0fYg==","signatures":[{"sig":"MEUCICdB5nHcXRVQ6PZ3QeXmd0DhxWyXE2oh+SiE2Sx6jq/jAiEAvkF4tL0+cuCDaTjEbTWsOi9D73LUxPqqfbL8+/aDpsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13171816},"main":"src/main-v4.js","type":"module","types":"types/gentelella.d.ts","exports":{".":"./src/main-v4.js","./v4/*":"./src/v4/*.js","./types":"./types/gentelella.d.ts","./scss/*":"./src/scss/*","./package.json":"./package.json"},"gitHead":"d57de7aaccebdb10441f519c628b5fc4ec3d1d8b","scripts":{"dev":"vite --clearScreen false","new":"node scripts/new-page.mjs","lint":"eslint src/","build":"NODE_ENV=production vite build","smoke":"node scripts/smoke.mjs","format":"prettier --write src/","analyze":"npm run build && open dist/stats.html","preview":"vite preview","lint:fix":"eslint src/ --fix","build:dev":"NODE_ENV=development vite build","screenshots":"node scripts/screenshots.mjs","format:check":"prettier --check src/","deploy:preview":"bash scripts/deploy-preview.sh","prepublishOnly":"npm run build"},"_npmUser":{"name":"silkalns","email":"aigars.silkalns@gmail.com"},"repository":{"url":"git+https://github.com/ColorlibHQ/gentelella.git","type":"git"},"_npmVersion":"11.12.1","description":"Gentelella v4 — free admin template. 60 pages, 20 chart variants, fully interactive inbox & kanban, live theme generator, component playground, PWA-ready. Vite 8, vanilla JS, no Bootstrap, no jQuery.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"echarts":"^6.1.0","leaflet":"^1.9.4","datatables.net":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.102.0","vite":"^8.2.0","eslint":"^10.8.0","terser":"^5.49.2","prettier":"^3.9.6","@eslint/js":"^10.0.1","playwright":"^1.62.1","@playwright/test":"^1.62.1","eslint-config-prettier":"^10.1.8","rollup-plugin-visualizer":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/gentelella_4.1.1_1786103406424_0.9895509497695385","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"_id":"gentelella@4.2.0","bugs":{"url":"https://github.com/ColorlibHQ/gentelella/issues"},"dist":{"shasum":"c6371a5e67f88013236876527e5db6e042bae3b2","tarball":"https://registry.npmjs.org/gentelella/-/gentelella-4.2.0.tgz","fileCount":273,"integrity":"sha512-etbwRsQv+fl5tAnmE+SCZGGWWU6H6EudoWFZEPDJ93jGtVlDOnUmG09XW/BY+V3K1n28jZJ3fJx4V3WH7MVzOQ==","signatures":[{"sig":"MEYCIQCaN64s0x9Atan+fA5ia5sz/LnYgd7oaAIeaAP1E/GOCwIhAMZVtOi9NNnjUp9Fk1GwPFO/+OguxFhY4YGpWuo+V1Qr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCxbwAjwK2dQIO3GmlHYB896dmIiAM3zTiRa4vIJOKaxQIhAO4qTdDsuOUBUFMSKPtTRFfnoyi+uo7tTkfl13cgchuv"}],"unpackedSize":13278832},"main":"src/main-v4.js","name":"gentelella","type":"module","types":"types/gentelella.d.ts","author":{"name":"Aigars Silkalns"},"exports":{".":"./src/main-v4.js","./v4/*":"./src/v4/*.js","./types":"./types/gentelella.d.ts","./scss/*":"./src/scss/*","./package.json":"./package.json"},"gitHead":"33b7784b8fdb6992ab223b4d1d0cdea461b69142","license":"MIT","scripts":{"dev":"vite --clearScreen false","new":"node scripts/new-page.mjs","lint":"eslint src/","build":"NODE_ENV=production vite build","smoke":"node scripts/smoke.mjs","format":"prettier --write src/","analyze":"npm run build && open dist/stats.html","preview":"vite preview","lint:fix":"eslint src/ --fix","build:dev":"NODE_ENV=development vite build","export:php":"node scripts/export-php-nav.mjs","export:demo":"node scripts/export-demo-views.mjs","screenshots":"node scripts/screenshots.mjs","format:check":"prettier --check src/","deploy:preview":"bash scripts/deploy-preview.sh","prepublishOnly":"npm run build"},"version":"4.2.0","_npmUser":{"name":"silkalns","email":"aigars.silkalns@gmail.com"},"homepage":"https://github.com/ColorlibHQ/gentelella#readme","keywords":["admin","dashboard","template","html","css","scss","vanilla-js","echarts","datatables","vite","modern","pwa","dark-mode","command-palette","theme-generator"],"repository":{"url":"git+https://github.com/ColorlibHQ/gentelella.git","type":"git"},"_npmVersion":"11.19.1","description":"Gentelella v4 — free admin template. 58 pages, 20 chart variants, fully interactive inbox & kanban, live theme generator, component playground, PWA-ready. Vite 8, vanilla JS, no Bootstrap, no jQuery.","directories":{},"maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"_nodeVersion":"26.8.2","dependencies":{"echarts":"^6.1.0","leaflet":"^1.9.4","datatables.net":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.104.1","vite":"^8.3.0","eslint":"^10.10.0","terser":"^5.51.2","prettier":"^3.9.7","@eslint/js":"^10.0.1","playwright":"^1.63.0","@playwright/test":"^1.63.0","eslint-config-prettier":"^10.1.8","rollup-plugin-visualizer":"^7.1.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gentelella_4.2.0_1789564791523_0.6244221176885152"}}},"time":{"created":"2016-05-18T16:08:45.154Z","modified":"2026-09-16T13:19:52.000Z","1.1.0":"2016-05-18T16:08:45.154Z","1.2.0":"2016-05-19T08:14:52.694Z","1.3.0":"2016-06-01T03:34:41.380Z","1.4.0":"2017-10-18T09:25:04.591Z","2.0.0":"2025-06-21T18:37:41.128Z","2.1.0":"2025-07-28T18:36:44.223Z","4.0.0":"2026-05-25T12:20:01.995Z","4.0.1":"2026-06-11T09:23:59.946Z","4.0.2":"2026-06-17T13:01:17.411Z","4.0.3":"2026-07-21T18:28:52.272Z","4.1.1":"2026-08-07T11:50:06.661Z","4.2.0":"2026-09-16T13:19:51.681Z"},"bugs":{"url":"https://github.com/ColorlibHQ/gentelella/issues"},"author":{"name":"Aigars Silkalns"},"license":"MIT","homepage":"https://github.com/ColorlibHQ/gentelella#readme","keywords":["admin","dashboard","template","html","css","scss","vanilla-js","echarts","datatables","vite","modern","pwa","dark-mode","command-palette","theme-generator"],"repository":{"url":"git+https://github.com/ColorlibHQ/gentelella.git","type":"git"},"description":"Gentelella v4 — free admin template. 58 pages, 20 chart variants, fully interactive inbox & kanban, live theme generator, component playground, PWA-ready. Vite 8, vanilla JS, no Bootstrap, no jQuery.","maintainers":[{"name":"christianesperar","email":"christianesperar@gmail.com"},{"name":"silkalns","email":"aigars.silkalns@gmail.com"},{"name":"andreicn","email":"nicolae.andrei.cristian@gmail.com"}],"readme":"# Gentelella v4 — 免费后台管理模板\n\n[English](README.md) | **简体中文**\n\n[![npm version](https://img.shields.io/npm/v/gentelella.svg?logo=npm&label=npm)](https://www.npmjs.com/package/gentelella)\n[![npm downloads](https://img.shields.io/npm/dw/gentelella.svg?logo=npm&label=downloads)](https://www.npmjs.com/package/gentelella)\n[![jsDelivr](https://img.shields.io/jsdelivr/npm/hw/gentelella.svg?logo=jsdelivr&label=jsDelivr)](https://www.jsdelivr.com/package/npm/gentelella)\n[![GitHub stars](https://img.shields.io/github/stars/ColorlibHQ/gentelella?style=flat&logo=github&label=stars)](https://github.com/ColorlibHQ/gentelella/stargazers)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE.txt)\n[![Made with Vite 8](https://img.shields.io/badge/Vite-8-646cff.svg?logo=vite&logoColor=white)](https://vitejs.dev/)\n[![No jQuery](https://img.shields.io/badge/jQuery-free-success.svg)](#技术栈)\n[![PWA Ready](https://img.shields.io/badge/PWA-ready-5a0fc8.svg)](#技术栈)\n\n**Gentelella v4** 是一套免费开源的**后台管理模板**，基于**原生 JavaScript**、**SCSS** 和 **Vite 8** 构建。**不依赖 Bootstrap，不依赖 jQuery，不依赖任何 SPA 框架。** 适合用作 SaaS 控制台、CRM 系统、企业内部工具、电商后台以及项目管理应用的界面基础，是 Bootstrap 后台模板的现代替代方案。\n\n包含 **58 个生产级 HTML 页面**、**20 种 ECharts 图表**、功能完整的**收件箱 / 看板 / 日历 / 文件管理器 / 设置页**，以及**实时主题生成器**、**组件演练场**、**⌘K 命令面板**、**深色模式**和 **PWA 支持**。采用 MIT 许可证，个人与商业项目均可免费使用。\n\n由 [Colorlib](https://colorlib.com) 为 2026 年打造。**[在线演示 →](https://preview.colorlib.com/theme/gentelella/)**\n\n## 也提供其他技术栈版本\n\n同一套后台模板，适配你熟悉的框架 —— 当前为 **HTML** 版本：\n\n<!-- GENTELELLA-ECOSYSTEM:START -->\n<div align=\"center\">\n  <a href=\"https://github.com/ColorlibHQ/gentelella\"><img height=\"36\" alt=\"HTML\" src=\"https://img.shields.io/badge/HTML-E34F26?style=for-the-badge&logo=html5&logoColor=white\"></a>\n  <a href=\"https://github.com/ColorlibHQ/gentelella-laravel\"><img height=\"36\" alt=\"Laravel\" src=\"https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge&logo=laravel&logoColor=white\"></a>\n</div>\n<!-- GENTELELLA-ECOSYSTEM:END -->\n\n**Laravel 版本**是一个 Composer 包：相同的界面框架以 Blade 布局提供，包含 25 个组件、带服务端表格的 CRUD 引擎、登录注册页面，以及作为演示内置的全部 58 个页面。\n\n<p align=\"center\">\n  <a href=\"https://preview.colorlib.com/theme/gentelella/production/index.html\">\n    <img alt=\"Gentelella v4 后台管理模板预览 — 浅色主题\" src=\"docs/screenshots/readme/dashboard-light.webp\" width=\"49%\">\n  </a>\n  <a href=\"https://preview.colorlib.com/theme/gentelella/production/index.html\">\n    <img alt=\"Gentelella v4 后台管理模板预览 — 深色主题\" src=\"docs/screenshots/readme/dashboard-dark.webp\" width=\"49%\">\n  </a>\n</p>\n\n<p align=\"center\">\n  <em>收件箱 · 看板 · 主题生成器</em><br>\n  <a href=\"https://preview.colorlib.com/theme/gentelella/production/inbox.html\">\n    <img alt=\"带文件夹、阅读面板和写信弹窗的收件箱\" src=\"docs/screenshots/readme/inbox.webp\" width=\"32%\">\n  </a>\n  <a href=\"https://preview.colorlib.com/theme/gentelella/production/kanban.html\">\n    <img alt=\"支持拖拽的看板任务面板\" src=\"docs/screenshots/readme/kanban.webp\" width=\"32%\">\n  </a>\n  <a href=\"https://preview.colorlib.com/theme/gentelella/production/theme.html\">\n    <img alt=\"支持实时调色的主题生成器\" src=\"docs/screenshots/readme/theme.webp\" width=\"32%\">\n  </a>\n</p>\n\n> **自己生成截图** — 执行 `npm run build && npm run screenshots`，Playwright 会截取 22 个关键页面 × 浅色/深色两种主题，共 44 张 PNG 输出到 `docs/screenshots/`，同时生成本文档使用的 WebP 缩略图（需要 `cwebp`，可通过 `brew install webp` 安装）。\n\n---\n\n## 为什么选择 Gentelella v4\n\n初代 Gentelella 自 2014 年起就是一套免费的 Bootstrap 后台模板，累计**下载量超过 300 万次**，[GitHub Star 超过 21k](https://github.com/ColorlibHQ/gentelella)。v4 是一次彻底的重构：\n\n- **不依赖 Bootstrap，不依赖 jQuery** — 纯原生 JavaScript + SCSS。`node_modules` 约 165 MB（v2 时约为 600 MB）。\n- **Vite 8 构建系统** — 即时 HMR、多页面应用、入口自动发现、资源文件名哈希。\n- **浅色 + 深色主题**，自动识别 `prefers-color-scheme`，并通过首屏前置脚本消除主题闪烁。\n- **PWA 就绪** — 可安装到桌面和移动端，支持离线外壳与 Service Worker。\n- **面向 AI 辅助开发** — 内置 Claude Code、Cursor、GitHub Copilot 以及任意兼容 [agents.md](https://agents.md) 工具的上下文文件。\n\n适用场景：**SaaS 控制台**、**CRM**、**ERP**、**企业内部管理后台**、**项目管理工具**、**电商后台**、**数据分析看板**、**人力/薪酬系统**、**预订系统**、**内容管理系统**。\n\n## 功能特性\n\n- **🎨 实时主题生成器** — 选定主色后，所有图表、按钮、徽章和链接会实时换肤，并可复制或下载生成的 SCSS 变量。演示：[theme.html](https://preview.colorlib.com/theme/gentelella/production/theme.html)\n- **🧪 组件演练场** — 所有可复用组件集中在一个页面，每个组件旁附带**其确切的 HTML 源码**和一键复制按钮。演示：[playground.html](https://preview.colorlib.com/theme/gentelella/production/playground.html)\n- **⌘K 命令面板** — 对全部 58 个页面及页内操作进行模糊搜索\n- **📬 完整的收件箱客户端** — 文件夹、阅读面板、写信弹窗、回复/转发、J/K/R/S/# 快捷键，以及当前文件夹内搜索\n- **📱 PWA** — 可安装到 macOS / Windows / iOS / Android，支持离线外壳与 Service Worker\n- **↔️ 侧边栏图标模式** — 桌面端点击汉堡按钮可将侧边栏收起为纯图标，悬停显示提示，点击弹出子菜单\n- **🌗 深色模式** — 自动识别 `prefers-color-scheme`，前置脚本消除闪烁，手动切换结果保存在 `localStorage`\n- **↔️ RTL 支持** — 通过 `<html dir=\"rtl\">` 支持阿拉伯语 / 希伯来语 / 波斯语布局，基于 CSS 逻辑属性实现（无需维护镜像样式表）。详见 [docs/rtl.md](docs/rtl.md)\n- **♿ 无障碍** — 跳转链接、键盘焦点样式、交互控件的 ARIA 标签、语义化地标区域，以及对屏幕阅读器友好的 DataTables\n\n## 包含内容\n\n| 模块 | 具体内容 |\n| --- | --- |\n| **仪表板** | 4 种变体 — 运营、数据分析（热力图、漏斗图、同期群矩阵）、销售（仪表盘、雷达图、销售管线）、系统健康（资源占用条、部署列表、错误日志） |\n| **登录鉴权** | 登录 · 社交登录（Google、GitHub）· 注册 · 找回密码 · 两步验证 · 锁屏 · 403 / 404 / 500 |\n| **表单** | 基础表单 · 高级控件 · 6 步向导 · 拖拽上传 · 校验 · **日期区间选择器 · 多选框 · 富文本编辑器** |\n| **表格** | DataTables — 排序、搜索、分页、**行选择、CSV 导出** · 23 行与 50 行两种示例 |\n| **图表** | **20 种 ECharts 图表** — 折线图、面积图、堆叠面积图、柱状图、条形图、柱线混合图、环形图、饼图、雷达图、仪表盘、散点图、热力图、漏斗图、K 线图、极坐标柱状图、矩形树图、桑基图、日历热力图、甘特图，以及仪表板迷你折线图 |\n| **应用页面** | 日历（完整增删改查）· 收件箱（文件夹、写信、阅读）· 聊天（8 个会话）· 看板（拖拽）· 文件管理器（树形 + 网格）· 通知 · 发票（可编辑明细行）· 个人资料 · 设置（持久化）· 常见问题 |\n| **电商** | 店铺首页 · 商品详情 · 订单列表 · 订单详情 · 价格方案 |\n| **管理** | 联系人 · 用户管理（搜索、筛选、角色编辑）· 维护页 · 即将上线页 |\n| **UI 组件库** | **组件演练场** · **主题生成器** · 14 个分类共 120+ 图标 · 排版 · 18 种小部件 · 媒体画廊 · 通用元素（横幅、手风琴、抽屉、气泡卡片、时间线） |\n| **地图** | 基于 Leaflet 的客户分布地图 |\n| **营销** | 落地页，含主视觉、数据条、功能介绍、案例展示、用户评价、常见问题 |\n| **布局** | 固定侧边栏 / 固定页脚 / 嵌套页面 / 空白起始页 |\n\n此外还包括：10 个 SCSS 分片 · 构建期 + 运行期双重外壳渲染（无 FOUC）· 通过 `data-page` 属性自动高亮导航 · 移动端抽屉与桌面端图标模式 · 基于 `prefers-color-scheme` 的浅色/深色主题与前置脚本 · 跨文档视图过渡 · 跳转到主内容链接 · 键盘 `focus-visible` 焦点样式 · 带 sessionStorage 记忆的手风琴侧边栏 · 使用 `localStorage` 持久化的设置页 · 构建时自动注入的逐页 **`<meta description>`**、**Open Graph** 和 **Twitter Card** 标签。\n\n## 升级到高级版仪表板\n\n需要更多高级功能、专属技术支持和可直接投产的代码？欢迎访问 [DashboardPack](https://dashboardpack.com/?utm_source=github&utm_medium=readme&utm_campaign=gentelella) 查看我们精选的专业后台模板。\n\n| 模板 | 说明 |\n| --- | --- |\n| [**Apex Dashboard**](https://dashboardpack.com/theme-details/apex-dashboard-nextjs/?utm_source=github&utm_medium=readme&utm_campaign=gentelella) | Next.js 16 + React 19 + Tailwind CSS v4 + shadcn/ui。5 种仪表板变体，20+ 应用页面，125+ 路由，完整增删改查。 |\n| [**Zenith Dashboard**](https://dashboardpack.com/theme-details/zenith-shadcn/?utm_source=github&utm_medium=readme&utm_campaign=gentelella) | Next.js 16 + React 19 + Tailwind CSS v4 + shadcn/ui。极简无彩色设计，50+ 页面，6 种仪表板，实时主题定制器。 |\n| [**Haze**](https://dashboardpack.com/theme-details/haze-dashboard-nuxt/?utm_source=github&utm_medium=readme&utm_campaign=gentelella) | Nuxt 4 + Nuxt UI v4 + Tailwind CSS v4。92+ 页面，7 种布局，5 种仪表板，支持 RTL、i18n 和模拟 API 层。 |\n\n**[查看全部高级模板 →](https://dashboardpack.com/?utm_source=github&utm_medium=readme&utm_campaign=gentelella)**\n\n## 技术栈\n\n- **Vite 8**（基于 Rolldown）— 多页面应用，58 个自动发现的入口\n- **SCSS**，使用 `@use` 模块化 — 无 Bootstrap，无 CSS 框架\n- **原生 ES2022** — 无 jQuery，无 SPA 框架，无构建期 JSX\n- **Apache ECharts 6** — 按需懒加载，仅打包实际用到的图表类型\n- **DataTables.net 3** 核心 — 完全重新设计样式以匹配设计系统\n- **Leaflet 1.9** — 仅在地图页懒加载\n- 来自 Google Fonts 的 **Inter** 字体\n- **Playwright**（开发依赖）— 用于截图流水线和冒烟测试\n\n3 个生产依赖，10 个开发依赖，`node_modules` 约 **165 MB**（旧版 Gentelella 约 600 MB）。\n\n## 文档\n\n完整文档见 **<https://gentelella.colorlib.com/docs/>**，覆盖 v4 的每个部分：\n\n| 主题 | 文档 |\n| --- | --- |\n| 安装、构建、部署 | [getting-started](https://gentelella.colorlib.com/docs/getting-started/) |\n| 目录结构 | [project-structure](https://gentelella.colorlib.com/docs/project-structure/) |\n| 外壳注入与懒加载模块 | [architecture](https://gentelella.colorlib.com/docs/architecture/) |\n| 设计变量、深色模式、主题生成器 | [theming](https://gentelella.colorlib.com/docs/theming/) |\n| 新增页面与侧边栏条目 | [adding-pages](https://gentelella.colorlib.com/docs/adding-pages/) |\n| 组件演练场 | [playground](https://gentelella.colorlib.com/docs/playground/) |\n| ECharts 工厂函数 | [echarts](https://gentelella.colorlib.com/docs/echarts/) |\n| DataTables、行选择、CSV 导出 | [tables](https://gentelella.colorlib.com/docs/tables/) |\n| 输入框、校验、自定义控件 | [forms](https://gentelella.colorlib.com/docs/forms/) |\n| `showModal`、`showToast`、`openMenu` | [overlays](https://gentelella.colorlib.com/docs/overlays/) |\n| ⌘K 命令面板 | [command palette](https://gentelella.colorlib.com/docs/palette/) |\n| 收件箱客户端 | [inbox](https://gentelella.colorlib.com/docs/inbox/) |\n| 看板 | [kanban](https://gentelella.colorlib.com/docs/kanban/) |\n| Vite 多页面配置 | [vite-build](https://gentelella.colorlib.com/docs/vite-build/) |\n| Service Worker、manifest、离线 | [pwa](https://gentelella.colorlib.com/docs/pwa/) |\n| 托管、子路径、缓存头 | [deployment](https://gentelella.colorlib.com/docs/deployment/) |\n| 通过 `.d.ts` 获得 IntelliSense | [typescript](https://gentelella.colorlib.com/docs/typescript/) |\n| 种子数据与 HTTP 后端（`?api=1`） | [data-adapter](https://gentelella.colorlib.com/docs/data-adapter/) |\n| 从旧版 Gentelella 迁移 | [migration-v2](https://gentelella.colorlib.com/docs/migration-v2/) |\n| 常见问题 | [FAQ](https://gentelella.colorlib.com/docs/faq/) |\n\n## 快速开始\n\n```bash\ngit clone https://github.com/ColorlibHQ/gentelella.git\ncd gentelella\nnpm install\nnpm run dev\n```\n\n然后打开 [http://localhost:9173/production/index.html](http://localhost:9173/production/index.html)。开发服务器会对 SCSS、JS 和 HTML 热更新。可用 `PORT=4000 npm run dev` 更换端口。\n\n### 生产构建\n\n```bash\nnpm run build\n```\n\n会将静态 HTML 与带哈希的 JS/CSS 输出到 `dist/`。该目录可部署到任意静态托管平台（Netlify、Vercel、Cloudflare Pages、S3、GitHub Pages）。\n\n若需部署到子路径（例如 `https://example.com/admin/`）：\n\n```bash\nBASE_PATH=/admin/ npm run build\n```\n\n### npm 包\n\n本项目也可作为 npm 依赖使用，以便按需引入：\n\n```bash\nnpm install gentelella\n```\n\n```js\nimport { mountShell, showModal, showToast } from 'gentelella';\nimport 'gentelella/scss/v4/main.scss';\n```\n\n子路径导出：`gentelella/v4/*`（JS 模块）、`gentelella/scss/*`（样式）、`gentelella/types`（TypeScript 声明）。\n\n### CDN（jsDelivr）\n\nnpm 包中同时包含预构建的 `dist/` 和未打包的 `src/`，因此无需构建工具即可通过 [jsDelivr](https://www.jsdelivr.com/package/npm/gentelella) 访问任意文件。适合快速原型、查看设计系统实现，或单独引入某个 ES 模块：\n\n```html\n<!-- 单独引入 ES 模块辅助函数 —— src/v4/ 下的路径是稳定的 -->\n<script type=\"module\">\n  import { showModal } from 'https://cdn.jsdelivr.net/npm/gentelella@4/src/v4/modal.js';\n  import { showToast } from 'https://cdn.jsdelivr.net/npm/gentelella@4/src/v4/toast.js';\n  showToast('Hello from CDN', { variant: 'success' });\n</script>\n```\n\n也可以直接从 CDN 浏览 58 个已构建的演示页面，所有静态资源都能正确解析：\n\n```text\nhttps://cdn.jsdelivr.net/npm/gentelella@4/dist/production/index.html\nhttps://cdn.jsdelivr.net/npm/gentelella@4/dist/production/inbox.html\nhttps://cdn.jsdelivr.net/npm/gentelella@4/dist/production/kanban.html\n…\n```\n\n**关于文件哈希的提醒。** Vite 会为 `dist/assets/` 和 `dist/js/` 下的资源生成内容哈希文件名（如 `main-v4-DDS6x4g-.css`），因此这些文件的 CDN 直链会随每次发布而变化。此外 `src/main-v4.js` 入口会导入 SCSS 源文件，无法直接在浏览器中加载，需要配合打包工具使用。如果你需要类似 AdminLTE 那样带稳定 URL 的单文件 `<script src>` 引入方式，请改用 npm 包并自行打包。Gentelella v4 在 CDN 场景下的优势在于浏览演示页面和按需引入 `src/v4/*` 中的独立 ES 模块。\n\n### 脚本命令\n\n```text\nnpm run dev              启动 Vite 开发服务器（端口 9173）\nnpm run build            生产构建到 dist/\nnpm run build:dev        非压缩构建（便于调试）\nnpm run preview          本地预览 dist/ 构建产物（端口 9174）\nnpm run analyze          构建并打开打包体积树图\nnpm run new -- <slug>    脚手架生成新页面（参数见 `--help`）\nnpm run screenshots      启动 Playwright 并生成 44 张截图到 docs/screenshots/\nnpm run smoke            启动开发服务器，遍历所有页面并断言返回 200\nnpm run deploy:preview   构建并同步到 R2，按文件类型设置缓存头\nnpm run lint             对 src/ 执行 ESLint\nnpm run format           对 src/ 执行 Prettier 格式化\n```\n\n## AI 辅助开发\n\nGentelella v4 为主流 AI 编程工具内置了上下文文件 —— 用任意一款工具打开本仓库，助手就能立即获得关于架构、约定与常用范式的准确信息：\n\n| 工具 | 文件 |\n| --- | --- |\n| **Claude Code** | [`CLAUDE.md`](CLAUDE.md) |\n| **Cursor** | [`.cursor/rules/project.mdc`](.cursor/rules/project.mdc) |\n| **GitHub Copilot** | [`.github/copilot-instructions.md`](.github/copilot-instructions.md) |\n| **Aider、Cline、Codex、Continue**（以及其他 [agents.md](https://agents.md) 兼容工具） | [`AGENTS.md`](AGENTS.md) |\n\n每个文件都记录了硬性规则（仅使用原生 DOM、单一入口、通过 body 属性启用外壳、导航配置集中于一个常量、统一的浮层辅助函数、颜色一律使用 CSS 自定义属性、子路径安全的 URL）、需要避免的反模式，以及可直接复制的新增页面、图表、弹窗和提示的范式。\n\n## 项目结构\n\n```text\nsrc/\n├── main-v4.js                 入口 —— 挂载外壳，初始化图表/表格\n├── v4/\n│   ├── shell.js               运行时：移动端抽屉、主题切换、下拉菜单\n│   ├── shell-render.js        纯函数：导航配置 + 侧边栏/顶栏/页脚 HTML\n│   ├── charts.js              ECharts 工厂函数（营收、销售、环形图等）\n│   ├── tables.js              针对 [data-datatable] 的 DataTables 初始化\n│   ├── menus.js               气泡菜单与侧边面板\n│   ├── modal.js               弹窗系统\n│   ├── toast.js               轻提示\n│   ├── command-palette.js     ⌘K 模糊搜索\n│   ├── calendar.js            月视图日历\n│   ├── inbox.js               收件箱文件夹与邮件列表\n│   ├── kanban.js              支持拖拽的看板\n│   ├── file-manager.js        树形 + 网格文件浏览器\n│   ├── form-controls.js       日期区间、多选、富文本\n│   ├── settings.js            基于 localStorage 的设置页\n│   ├── details.js             项目/订单/联系人详情面板\n│   ├── markup.js              用于 JS 渲染内容的纯字符串辅助函数\n│   ├── data-adapter.js        用于后端数据填充的种子与 HTTP 适配器\n│   ├── product-images.js      商品图片放大\n│   └── product-mockups.js     SVG 商品样机\n└── scss/v4/\n    ├── main.scss              @use 聚合入口\n    ├── _tokens.scss           CSS 自定义属性（颜色、侧边栏、字体、圆角）\n    ├── _layout.scss           侧边栏、顶栏、主区域、栅格、页脚、响应式\n    ├── _components.scss       按钮、卡片、表格、状态、开关、进度条\n    ├── _forms.scss            输入框、下拉框、校验、输入组\n    ├── _widgets.scss          统计卡片、动态、环形图、迷你折线、待办\n    ├── _pages.scss            分页、提示、日历、收件箱、发票等\n    ├── _datatable.scss        DataTables 样式覆盖\n    ├── _auth.scss             登录与错误页布局\n    └── _apps.scss             聊天、看板、文件管理器、设置\n\nproduction/                    58 个入口 HTML 页面 —— 每个界面一个\npublic/                        原样复制的静态资源\ndist/                          构建产物（已 gitignore）\ntypes/gentelella.d.ts          TypeScript 声明\nvite.config.js                 多页面 Vite 配置\n```\n\n## 自定义\n\n### 设计变量\n\n所有颜色、圆角、侧边栏尺寸和字体设置都以 CSS 自定义属性的形式集中在 [`src/scss/v4/_tokens.scss`](src/scss/v4/_tokens.scss)。修改 `:root` 后保存，Vite 开发服务器会自动刷新。\n\n想换品牌色？修改 `--primary` 和 `--primary-dk` 即可，所有图表、按钮和高亮导航项都会同步更新 —— ECharts 在初始化时会读取这些变量。\n\n### 新增页面\n\n推荐方式：\n\n```sh\nnpm run new -- reports --title \"Reports\" --pretitle \"Admin\" \\\n  --breadcrumb \"Home > User management|user_management.html > Reports\" \\\n  --nav-group \"Admin\" --icon \"profile\"\n```\n\n该命令会创建带标准骨架的 `production/reports.html`，并在指定 `--nav-group` 时把侧边栏条目写入 [`src/v4/shell-render.js`](src/v4/shell-render.js) 的 `NAV` 数组。Vite 会自动发现新入口，无需修改配置。执行 `npm run new -- --help` 查看全部选项，或用 `--dry-run` 预览而不写入文件。\n\n手动方式：\n\n1. 复制 `production/` 下任意页面（例如 `profile.html`）作为起点。\n2. 更新 `<title>`、`data-page` 和 `data-breadcrumb` 属性。当面包屑片段的文字与某个侧边栏条目一致时会自动变成链接（`Forms` → `form.html`）；也可以用竖线指定任意目标，例如 `data-breadcrumb=\"Home > Projects|projects.html > Acme Redesign\"`。最后一段代表当前页面，永远不会是链接。\n3. 用 v4 组件替换 `<main>` 中的内容。\n4. 如需新增侧边栏条目，编辑 [`src/v4/shell-render.js`](src/v4/shell-render.js) 中的 `NAV` 数组。\n\n外壳会根据 `data-page` 自动高亮对应的导航项。\n\n### 新增图表\n\n在 [`src/v4/charts.js`](src/v4/charts.js) 中按照 `revenueLine` / `salesBar` 的写法添加工厂函数，注册到 `charts` 映射中，然后在页面里放入 `<div data-chart=\"your-name\" style=\"width:100%;height:300px\"></div>`。颜色会自动取自设计变量。\n\n### 新增可排序表格\n\n写一个普通的 `<table class=\"table\" data-datatable>`，包含 `<thead>` 和 `<tbody>` 即可，初始化会自动执行。用 `<th data-orderable=\"false\">` 关闭某列排序，用表格上的 `data-page-length=\"25\"` 修改每页条数。\n\n### 侧边栏导航\n\n侧边栏由唯一数据源渲染 —— 即 [`src/v4/shell-render.js`](src/v4/shell-render.js) 中的 `NAV` 数组。在那里修改，所有页面同步生效。\n\n### TypeScript / IntelliSense\n\n公开 JS 接口的类型声明位于 [`types/gentelella.d.ts`](types/gentelella.d.ts)，并通过 `package.json` 的 `types` 字段接入。VS Code 会自动解析 IntelliSense —— 无需 `tsconfig`，无需重写代码。覆盖 `mountShell`、`showModal`、`showToast`、`openMenu`、`seedAdapter`/`httpAdapter`、图表与表格初始化，以及 `NAV` 的结构。\n\n### 标记辅助函数\n\n对于需要由数据生成内容的页面（订单行、收件箱会话、看板卡片），[`src/v4/markup.js`](src/v4/markup.js) 提供了一组返回字符串的纯函数 —— `statTile()`、`statusBadge()`、`customerCell()`、`activityItem()`、`visitorRow()`、`emptyState()`、`banner()`、`skeletonRows()`，以及 `escapeHtml()`。实际示例见[组件演练场](https://preview.colorlib.com/theme/gentelella/production/playground.html#helpers-intro)。静态页面仍使用手写 HTML —— 这些函数是为样板代码较多的 JS 动态内容准备的。\n\n## SEO 与元数据\n\n每个页面在构建时都考虑了 SEO：\n\n- **语义化 HTML5** — `<main>`、`<nav>`、`<aside>`、`<header>`，以及语义化的 `<h1>` 页面标题\n- **逐页 `<meta description>`**，自动由面包屑推导\n- **Open Graph + Twitter Card** 标签在构建时注入\n- **PWA manifest** 与 theme-color（浅色/深色两套）\n- 构建时依据已发现的页面生成 **`sitemap.xml`**，自动排除登录与错误页（通过 `SITE_URL=https://example.com/ npm run build` 启用）\n- 落地页的 **JSON-LD 结构化数据** —— `SoftwareApplication`，以及构建时从页面自身 FAQ 解析出的 `FAQPage`，确保结构化数据与可见内容始终一致\n- **主题前置脚本** — 消除加载时的主题闪烁\n- **跳转到主内容链接** + ARIA 地标，便于屏幕阅读器导航\n- **区分缓存策略的部署脚本**（[`scripts/deploy-preview.sh`](scripts/deploy-preview.sh)）— 哈希资源长缓存，HTML 短缓存，Service Worker 不缓存\n\n## 部署\n\n这是一套静态模板，`dist/` 可部署到任何能提供静态文件的地方。\n\n| 托管平台 | 说明 |\n| --- | --- |\n| **Netlify / Vercel / Cloudflare Pages** | 直接拖入即可，无需配置。使用默认的 `BASE_PATH=/`。 |\n| **GitHub Pages** | 执行 `BASE_PATH=/your-repo/ npm run build`，再把 `dist/` 推送到 `gh-pages`。 |\n| **S3 / CloudFront** | 上传 `dist/`，将存储桶设为静态站点，并让 CloudFront 指向它。 |\n| **任意 nginx / Apache** | `cp -r dist/* /var/www/html/`。 |\n| **Cloudflare R2** | 使用内置的 [`npm run deploy:preview`](scripts/deploy-preview.sh)，会按文件类型设置缓存头。 |\n\n无需后端。除子路径部署所需的 `BASE_PATH` 外，不需要任何环境变量。\n\n## 刻意不包含的内容\n\n- **没有后端。** 表单提交到 `#`，不会持久化。这是一套 UI 模板 —— 请自行对接 API。\n- **没有鉴权。** 登录表单只是跳转，没有会话、令牌或校验。\n- **没有实时通信。** 不含 WebSocket、SSE 或轮询。动态流和统计数据都是静态的。\n- **没有状态管理。** 开关和待办勾选通过直接操作 DOM 实现。\n- **没有正式的无障碍审计。** 已接入跳转链接、焦点样式、ARIA 标签和地标，但尚未进行系统性的屏幕阅读器测试。欢迎提交 PR。\n\n## 路线图\n\n`4.0.0` 已交付的内容详见 [`changelog.md`](changelog.md)。仍在计划中的有：\n\n- **图片优化** — 压缩 `public/images/*.jpg`，并提供 AVIF + JPG 回退\n- **Lighthouse 审计**与调优，目标 95+ 性能 / 100 无障碍 / 100 SEO / 100 PWA\n- **按页面对图表类型做 tree-shaking**，进一步精简 ECharts 依赖块\n- **i18n 文案提取方案**\n\n希望优先实现其中某一项？欢迎[提交 issue](https://github.com/ColorlibHQ/gentelella/issues)。\n\n## 许可证\n\nMIT —— 个人与商业项目均可免费使用。详见 [`LICENSE.txt`](LICENSE.txt)。\n\n## 致谢\n\nGentelella 自 2014 年起就是一套免费的 Bootstrap 后台模板，最初由 Colorlib 的 [Aigars Silkalns](https://colorlib.com) 开发。v4 是面向 2026 年的彻底重构 —— 移除了 Bootstrap 和 jQuery，代之以自成一体的设计系统。\n\n如果 Gentelella v4 为你节省了时间，欢迎在 [GitHub](https://github.com/ColorlibHQ/gentelella) 上点个 Star —— 这能帮助更多开发者发现这个项目。\n","readmeFilename":"README.zh-CN.md","users":{"jhq":true,"lpe":true,"jream":true,"456wyc":true,"hyteer":true,"labs64":true,"makeup":true,"slance":true,"ux_web":true,"faraoman":true,"hari1295":true,"waldrupm":true,"hisorange":true,"rubiadias":true,"duriangray":true,"rocket0191":true,"ashokramcse":true,"catrielcruz":true,"violettwelt":true,"chinawolf_wyp":true,"vivek.vikhere":true,"suryasaripalli":true,"silvanosantoro78":true}}