1
0
mirror of https://github.com/tabler/tabler.git synced 2025-12-21 17:34:25 +04:00

Move additional libraries to Tabler core (#2385)

This commit is contained in:
Paweł Kuna
2025-05-19 20:35:01 +02:00
committed by GitHub
parent 9007e73cb6
commit ad54f61429
22 changed files with 305 additions and 271 deletions

33
core/.build/copy-libs.mjs Normal file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/env node
'use strict'
import { existsSync, mkdirSync, lstatSync } from 'fs'
import { emptyDirSync, copySync } from 'fs-extra/esm'
import libs from '../libs.json' with { type: 'json' }
import { fileURLToPath } from 'url'
import { join, dirname } from 'node:path';
const __dirname = dirname(fileURLToPath(import.meta.url))
emptyDirSync(join(__dirname, '..', 'dist/libs'))
for(const name in libs) {
const { npm } = libs[name]
if (npm) {
const from = join(__dirname, '..', `node_modules/${npm}`)
const to = join(__dirname, '..', `dist/libs/${npm}`)
// create dir in dist/libs
if (!existsSync(to)) {
mkdirSync(to, { recursive: true })
}
copySync(from, to, {
dereference: true,
})
console.log(`Successfully copied ${npm}`)
}
}

164
core/libs.json Normal file
View File

@@ -0,0 +1,164 @@
{
"imask": {
"npm": "imask",
"js": [
"dist/imask.min.js"
]
},
"autosize": {
"npm": "autosize",
"js": [
"dist/autosize.min.js"
]
},
"apexcharts": {
"npm": "apexcharts",
"js": [
"dist/apexcharts.min.js"
]
},
"nouislider": {
"npm": "nouislider",
"js": [
"dist/nouislider.min.js"
],
"css": [
"dist/nouislider.min.css"
]
},
"countup": {
"npm": "countup.js",
"js": [
"dist/countUp.umd.js"
]
},
"lists": {
"npm": "list.js",
"js": [
"dist/list.min.js"
]
},
"masonry": {
"js": [
"https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js"
]
},
"mapbox": {
"js": [
"https://api.mapbox.com/mapbox-gl-js/v1.8.0/mapbox-gl.js"
],
"css": [
"https://api.mapbox.com/mapbox-gl-js/v1.8.0/mapbox-gl.css"
]
},
"google-maps": {
"js": [
"https://maps.googleapis.com/maps/api/js?key=GOOGLE_MAPS_KEY"
]
},
"litepicker": {
"npm": "litepicker",
"js": [
"dist/litepicker.js"
]
},
"tom-select": {
"npm": "tom-select",
"js": [
"dist/js/tom-select.base.min.js"
],
"css": [
"dist/css/tom-select.bootstrap5.min.css"
]
},
"jsvectormap": {
"npm": "jsvectormap",
"js": [
"dist/jsvectormap.min.js",
"dist/maps/world.js",
"dist/maps/world-merc.js"
],
"css": [
"dist/jsvectormap.css"
]
},
"fslightbox": {
"npm": "fslightbox",
"js": [
"index.js"
]
},
"hugerte": {
"npm": "hugerte",
"js": [
"hugerte.min.js"
]
},
"plyr": {
"npm": "plyr",
"js": [
"dist/plyr.min.js"
],
"css": [
"dist/plyr.css"
]
},
"dropzone": {
"npm": "dropzone",
"js": [
"dist/dropzone-min.js"
],
"css": [
"dist/dropzone.css"
]
},
"star-rating.js": {
"npm": "star-rating.js",
"js": [
"dist/star-rating.min.js"
],
"css": [
"dist/star-rating.min.css"
]
},
"coloris.js": {
"npm": "@melloware/coloris",
"js": [
"dist/umd/coloris.min.js"
],
"css": [
"dist/coloris.min.css"
]
},
"typed.js": {
"npm": "typed.js",
"js": [
"dist/typed.umd.js"
]
},
"signature_pad": {
"npm": "signature_pad",
"js": [
"dist/signature_pad.umd.min.js"
]
},
"clipboard": {
"npm": "clipboard",
"js": [
"dist/clipboard.min.js"
]
},
"fullcalendar": {
"npm": "fullcalendar",
"js": [
"index.global.min.js"
]
},
"turbo": {
"npm": "@hotwired/turbo",
"js": [
"dist/turbo.es2017-umd.js"
],
"head": true
}
}

View File

@@ -4,7 +4,7 @@
"description": "Premium and Open Source dashboard template with responsive and high quality UI.",
"homepage": "https://tabler.io",
"scripts": {
"dev": "pnpm run watch",
"dev": "pnpm run clean && pnpm run copy && pnpm run watch",
"build": "pnpm run clean && pnpm run css && pnpm run js && pnpm run copy && pnpm run generate-sri",
"clean": "shx rm -rf dist demo",
"css": "pnpm run css-compile && pnpm run css-prefix && pnpm run css-rtl && pnpm run css-minify && pnpm run css-banner",
@@ -26,8 +26,9 @@
"js-minify-standalone-esm": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/tabler.esm.js.map,includeSources,url=tabler.esm.min.js.map\" --output dist/js/tabler.esm.min.js dist/js/tabler.esm.js",
"js-minify-theme": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/tabler-theme.js.map,includeSources,url=tabler-theme.min.js.map\" --output dist/js/tabler-theme.min.js dist/js/tabler-theme.js",
"js-minify-theme-esm": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/tabler-theme.esm.js.map,includeSources,url=tabler-theme.esm.min.js.map\" --output dist/js/tabler-theme.esm.min.js dist/js/tabler-theme.esm.js",
"copy": "pnpm run copy-img",
"copy": "pnpm run copy-img && pnpm run copy-libs",
"copy-img": "shx mkdir -p dist/img && shx cp -rf img/* dist/img",
"copy-libs": "node .build/copy-libs.mjs",
"watch": "concurrently \"pnpm run watch-css\" \"pnpm run watch-js\"",
"watch-css": "nodemon --watch scss/ --ext scss --exec \"pnpm run css-compile && pnpm run css-prefix\"",
"watch-js": "nodemon --watch js/ --ext js --exec \"pnpm run js-compile\"",
@@ -66,7 +67,8 @@
"dist/**/*",
"js/**/*.{js,map}",
"img/**/*.{svg}",
"scss/**/*.scss"
"scss/**/*.scss",
"libs.json"
],
"style": "dist/css/tabler.css",
"sass": "scss/tabler.scss",
@@ -146,6 +148,30 @@
"@popperjs/core": "^2.11.8",
"bootstrap": "5.3.6"
},
"devDependencies": {
"@hotwired/turbo": "^8.0.13",
"@melloware/coloris": "^0.24.2",
"apexcharts": "3.54.1",
"autosize": "^6.0.1",
"choices.js": "^11.1.0",
"clipboard": "^2.0.11",
"countup.js": "^2.8.2",
"dropzone": "^6.0.0-beta.2",
"flatpickr": "^4.6.13",
"fslightbox": "^3.6.0",
"fullcalendar": "^6.1.17",
"hugerte": "^1.0.9",
"imask": "^7.6.1",
"jsvectormap": "^1.6.0",
"list.js": "^2.3.1",
"litepicker": "^2.0.12",
"nouislider": "^15.8.1",
"plyr": "^3.7.8",
"signature_pad": "^5.0.7",
"star-rating.js": "^4.3.1",
"tom-select": "^2.4.3",
"typed.js": "^2.1.0"
},
"directories": {
"doc": "docs"
}

View File

@@ -1,6 +1,6 @@
---
title: Vector Maps
docs-libs: [jsvectormap, jsvectormap-world, jsvectormap-world-merc]
docs-libs: [jsvectormap]
description: Interactive guide to creating vector maps with jsVectorMap.
summary: Vector maps are a great way to display geographical data in an interactive and visually appealing way. Learn how to create vector maps with jsVectorMap.
---

View File

@@ -1,5 +1,5 @@
import { appFilters } from "../shared/e11ty/filters.mjs"
import { appData, getCopyList } from "../shared/e11ty/data.mjs";
import { appData } from "../shared/e11ty/data.mjs";
import { readFileSync, existsSync } from 'node:fs';
import { fileURLToPath } from 'node:url'
import { join, dirname } from 'node:path';
@@ -17,7 +17,7 @@ export default function (eleventyConfig) {
appData(eleventyConfig);
eleventyConfig.addPassthroughCopy({
...getCopyList(),
"node_modules/@tabler/core/dist": "dist",
"public": "/",
"static": "static",
});

View File

@@ -24,36 +24,14 @@
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@hotwired/turbo": "^8.0.13",
"@melloware/coloris": "^0.24.0",
"@tabler/core": "workspace:*",
"@tabler/icons": "^3.31.0",
"apexcharts": "3.54.1",
"autosize": "^6.0.1",
"choices.js": "^11.1.0",
"clipboard": "^2.0.11",
"countup.js": "^2.8.0",
"dropzone": "^6.0.0-beta.2",
"flatpickr": "^4.6.13",
"fslightbox": "^3.5.1",
"hugerte": "^1.0.9",
"imask": "^7.6.1",
"jsvectormap": "^1.6.0",
"list.js": "^2.3.1",
"litepicker": "^2.0.12",
"nouislider": "^15.8.1",
"plyr": "^3.7.8",
"signature_pad": "^5.0.7",
"star-rating.js": "^4.3.1",
"tom-select": "^2.4.3",
"typed.js": "^2.1.0"
},
"devDependencies": {
"@11ty/eleventy": "^3.1.0",
"@docsearch/css": "^3.9.0",
"@docsearch/js": "^3.9.0",
"flat-cache": "^6.1.8",
"shiki": "^3.2.2"
},
"dependencies": {
"@tabler/core": "workspace:*"
}
}

View File

@@ -30,6 +30,7 @@
"clean-css-cli": "^5.6.3",
"concurrently": "^9.1.2",
"cross-env": "^7.0.3",
"fs-extra": "^11.3.0",
"glob": "^11.0.2",
"js-beautify": "^1.15.4",
"nodemon": "^3.1.10",

140
pnpm-lock.yaml generated
View File

@@ -50,6 +50,9 @@ importers:
cross-env:
specifier: ^7.0.3
version: 7.0.3
fs-extra:
specifier: ^11.3.0
version: 11.3.0
glob:
specifier: ^11.0.2
version: 11.0.2
@@ -104,109 +107,13 @@ importers:
bootstrap:
specifier: 5.3.6
version: 5.3.6(@popperjs/core@2.11.8)
docs:
dependencies:
'@hotwired/turbo':
specifier: ^8.0.13
version: 8.0.13
'@melloware/coloris':
specifier: ^0.24.0
version: 0.24.0
'@tabler/core':
specifier: workspace:*
version: link:../core
'@tabler/icons':
specifier: ^3.31.0
version: 3.31.0
apexcharts:
specifier: 3.54.1
version: 3.54.1
autosize:
specifier: ^6.0.1
version: 6.0.1
choices.js:
specifier: ^11.1.0
version: 11.1.0
clipboard:
specifier: ^2.0.11
version: 2.0.11
countup.js:
specifier: ^2.8.0
version: 2.8.2
dropzone:
specifier: ^6.0.0-beta.2
version: 6.0.0-beta.2
flatpickr:
specifier: ^4.6.13
version: 4.6.13
fslightbox:
specifier: ^3.5.1
version: 3.5.1
hugerte:
specifier: ^1.0.9
version: 1.0.9
imask:
specifier: ^7.6.1
version: 7.6.1
jsvectormap:
specifier: ^1.6.0
version: 1.6.0
list.js:
specifier: ^2.3.1
version: 2.3.1
litepicker:
specifier: ^2.0.12
version: 2.0.12
nouislider:
specifier: ^15.8.1
version: 15.8.1
plyr:
specifier: ^3.7.8
version: 3.7.8
signature_pad:
specifier: ^5.0.7
version: 5.0.7
star-rating.js:
specifier: ^4.3.1
version: 4.3.1
tom-select:
specifier: ^2.4.3
version: 2.4.3
typed.js:
specifier: ^2.1.0
version: 2.1.0
devDependencies:
'@11ty/eleventy':
specifier: ^3.1.0
version: 3.1.0
'@docsearch/css':
specifier: ^3.9.0
version: 3.9.0
'@docsearch/js':
specifier: ^3.9.0
version: 3.9.0(@algolia/client-search@5.24.0)(search-insights@2.17.3)
flat-cache:
specifier: ^6.1.8
version: 6.1.8
shiki:
specifier: ^3.2.2
version: 3.2.2
preview:
dependencies:
'@hotwired/turbo':
specifier: ^8.0.13
version: 8.0.13
'@melloware/coloris':
specifier: ^0.24.2
version: 0.24.2
'@tabler/core':
specifier: workspace:*
version: link:../core
'@tabler/icons':
specifier: ^3.31.0
version: 3.31.0
apexcharts:
specifier: 3.54.1
version: 3.54.1
@@ -267,6 +174,37 @@ importers:
typed.js:
specifier: ^2.1.0
version: 2.1.0
docs:
dependencies:
'@tabler/core':
specifier: workspace:*
version: link:../core
devDependencies:
'@11ty/eleventy':
specifier: ^3.1.0
version: 3.1.0
'@docsearch/css':
specifier: ^3.9.0
version: 3.9.0
'@docsearch/js':
specifier: ^3.9.0
version: 3.9.0(@algolia/client-search@5.24.0)(search-insights@2.17.3)
flat-cache:
specifier: ^6.1.8
version: 6.1.8
shiki:
specifier: ^3.2.2
version: 3.2.2
preview:
dependencies:
'@tabler/core':
specifier: workspace:*
version: link:../core
'@tabler/icons':
specifier: ^3.31.0
version: 3.31.0
devDependencies:
'@11ty/eleventy':
specifier: ^3.1.0
@@ -741,9 +679,6 @@ packages:
'@manypkg/get-packages@1.1.3':
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
'@melloware/coloris@0.24.0':
resolution: {integrity: sha512-9RGKHqZJsUSsxb/0xaBCK5OKywobiK/xRtV8f4KQDmviqmVfkMLR3kK4DRuTTLSFdSOqkV0OQ/Niitu+rlXXYw==}
'@melloware/coloris@0.24.2':
resolution: {integrity: sha512-6IhdPOBIc922jRMx2p6Sl6mRzqjGF7x67q0ZziA5e4NTqWoSPHBEnSmiUCcsXiNHZJ6zdOQt+6Z/eZxpxcHjDA==}
@@ -1660,9 +1595,6 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
fslightbox@3.5.1:
resolution: {integrity: sha512-HFADNFHjo26XGiGpIZeoJZ3RE3RaZItc2jmqim63zlu3GTmnd5TUkj6ZpMrdU1S4g5pbbKG2cpG2ekqtaM1Spg==}
fslightbox@3.6.0:
resolution: {integrity: sha512-ZQFlDDy0BLTbcoKss9KIcNv5g2IJ8vxFzuSIqRZe0iL7cYq9yyPXpnRYey/+jznN0DN3KanYQb+G+ncH7qz3XA==}
@@ -3787,8 +3719,6 @@ snapshots:
globby: 11.1.0
read-yaml-file: 1.1.0
'@melloware/coloris@0.24.0': {}
'@melloware/coloris@0.24.2': {}
'@nodelib/fs.scandir@2.1.5':
@@ -4665,8 +4595,6 @@ snapshots:
fsevents@2.3.3:
optional: true
fslightbox@3.5.1: {}
fslightbox@3.6.0: {}
fullcalendar@6.1.17:

View File

@@ -3,7 +3,7 @@ import { EleventyRenderPlugin } from "@11ty/eleventy";
import { join } from 'node:path';
import { sync } from 'glob';
import { appFilters } from "../shared/e11ty/filters.mjs";
import { appData, getCopyList } from "../shared/e11ty/data.mjs"
import { appData } from "../shared/e11ty/data.mjs"
/** @type {import('@11ty/eleventy').LocalConfig} */
export default function (eleventyConfig) {
@@ -20,7 +20,7 @@ export default function (eleventyConfig) {
eleventyConfig.setDataDirectory("../../shared/data");
eleventyConfig.addPassthroughCopy({
...getCopyList(),
"node_modules/@tabler/core/dist": "dist",
"pages/favicon.ico": "favicon.ico",
"static": "static",
});
@@ -33,11 +33,8 @@ export default function (eleventyConfig) {
* Data
*/
eleventyConfig.addGlobalData("environment", environment);
eleventyConfig.addGlobalData("package", JSON.parse(readFileSync(join("..", "core", "package.json"), "utf-8")));
eleventyConfig.addGlobalData("readme", readFileSync(join("..", "README.md"), "utf-8"));
eleventyConfig.addGlobalData("license", readFileSync(join("..", "LICENSE"), "utf-8"));
eleventyConfig.addGlobalData("changelog", readFileSync(join("..", "core", "CHANGELOG.md"), "utf-8"));
eleventyConfig.addGlobalData("pages", () => {
return sync('pages/**/*.html').filter((file) => {

View File

@@ -20,7 +20,7 @@
"clean": "shx rm -rf dist demo",
"html": "pnpm run html-build && pnpm run html-prettify",
"html-build": "eleventy",
"html-prettify": "prettier --write \"dist/**/*.html\"",
"html-prettify": "prettier --write \"dist/**/*.html\" \"!dist/dist/**\"",
"svg-optimize": "svgo -f svg/brand --pretty",
"unused-files": "node .build/unused-files.mjs",
"download-images": "node .build/download-images.mjs",
@@ -30,37 +30,15 @@
"import-icons": "git checkout dev && BRANCH_NAME=\"dev-tabler-icons-`pnpm info @tabler/icons version`\" && git branch $BRANCH_NAME && git checkout $BRANCH_NAME && ncu -u @tabler/icons && pnpm install && pnpm run svg-icons && git add . && git commit -am \"update icons to v`pnpm info @tabler/icons version`\" && git push origin $BRANCH_NAME && git checkout dev",
"zip": "mkdir -p packages-zip && zip -r packages-zip/tabler-$(node -p \"require('./package.json').version\").zip demo/*"
},
"dependencies": {
"@hotwired/turbo": "^8.0.13",
"@melloware/coloris": "^0.24.2",
"@tabler/core": "workspace:*",
"@tabler/icons": "^3.31.0",
"apexcharts": "3.54.1",
"autosize": "^6.0.1",
"choices.js": "^11.1.0",
"clipboard": "^2.0.11",
"countup.js": "^2.8.2",
"dropzone": "^6.0.0-beta.2",
"flatpickr": "^4.6.13",
"fslightbox": "^3.6.0",
"fullcalendar": "^6.1.17",
"hugerte": "^1.0.9",
"imask": "^7.6.1",
"jsvectormap": "^1.6.0",
"list.js": "^2.3.1",
"litepicker": "^2.0.12",
"nouislider": "^15.8.1",
"plyr": "^3.7.8",
"signature_pad": "^5.0.7",
"star-rating.js": "^4.3.1",
"tom-select": "^2.4.3",
"typed.js": "^2.1.0"
},
"devDependencies": {
"@11ty/eleventy": "^3.1.0",
"imageoptim-cli": "^3.1.9",
"request": "^2.88.2"
},
"dependencies": {
"@tabler/core": "workspace:*",
"@tabler/icons": "^3.31.0"
},
"prettier": {
"tabWidth": 2,
"useTabs": false,

View File

@@ -2,7 +2,7 @@
title: Vector Maps
page-header: Vector Maps
page-menu: plugins.maps-vector
page-libs: [jsvectormap, jsvectormap-world, jsvectormap-world-merc]
page-libs: [jsvectormap]
layout: default
permalink: maps-vector.html
---

View File

@@ -2,6 +2,7 @@
permalink: turbo-loader.html
layout: default
page-libs: [turbo]
page-menu: plugins.turbo
---
<div class="card">

View File

@@ -1,44 +0,0 @@
{
"js": {
"imask": "imask/dist/imask.min.js",
"autosize": "autosize/dist/autosize.min.js",
"apexcharts": "apexcharts/dist/apexcharts.min.js",
"nouislider": "nouislider/dist/nouislider.min.js",
"countup": "countup.js/dist/countUp.umd.js",
"lists": "list.js/dist/list.min.js",
"masonry": "https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js",
"mapbox": "https://api.mapbox.com/mapbox-gl-js/v1.8.0/mapbox-gl.js",
"google-maps": "https://maps.googleapis.com/maps/api/js?key=GOOGLE_MAPS_KEY",
"litepicker": "litepicker/dist/litepicker.js",
"tom-select": "tom-select/dist/js/tom-select.base.min.js",
"jsvectormap": "jsvectormap/dist/jsvectormap.min.js",
"jsvectormap-world": "jsvectormap/dist/maps/world.js",
"jsvectormap-world-merc": "jsvectormap/dist/maps/world-merc.js",
"fslightbox": "fslightbox/index.js",
"hugerte": "hugerte/hugerte.min.js",
"plyr": "plyr/dist/plyr.min.js",
"dropzone": "dropzone/dist/dropzone-min.js",
"star-rating.js": "star-rating.js/dist/star-rating.min.js",
"coloris.js": "@melloware/coloris/dist/umd/coloris.min.js",
"typed.js": "typed.js/dist/typed.umd.js",
"signature_pad": "signature_pad/dist/signature_pad.umd.min.js",
"clipboard": "clipboard/dist/clipboard.min.js",
"fullcalendar": "fullcalendar/index.global.min.js"
},
"js-head": {
"turbo": "@hotwired/turbo/dist/turbo.es2017-umd.js"
},
"css": {
"mapbox": "https://api.mapbox.com/mapbox-gl-js/v1.8.0/mapbox-gl.css",
"jsvectormap": "jsvectormap/dist/jsvectormap.css",
"dropzone": "dropzone/dist/dropzone.css",
"plyr": "plyr/dist/plyr.css",
"star-rating.js": "star-rating.js/dist/star-rating.min.css",
"coloris.js": "@melloware/coloris/dist/coloris.min.css",
"tom-select": "tom-select/dist/css/tom-select.bootstrap5.min.css",
"nouislider": "nouislider/dist/nouislider.min.css"
},
"js-copy": {
"hugerte" :"hugerte/*"
}
}

View File

@@ -434,6 +434,10 @@
"url": "maps-vector.html",
"title": "Map vector"
},
"turbo": {
"url": "turbo-loader.html",
"title": "Turbo loader"
},
"wysiwyg": {
"url": "wysiwyg.html",
"title": "WYSIWYG editor"

View File

@@ -1,6 +1,6 @@
{
"css": "sha384-n8Eaco6KCZ5R99jiJnSTWVUOh41zdxwpENxWBHB9xlBwbIsFL5G419uHHwsKUD4W",
"css-rtl": "sha384-0IlPjO9Km+IBC2msQbdJOsf9C8RlaoBVjhb0Znk+OpFw7G9Q2PcyaksnJxy9oqa5",
"css": "sha384-p5xrK2AiivdjrNPtu162Vv179cyFHJY2I4Mb0NZVR8Wn2aqSGUm7zlFFjM8jAzeD",
"css-rtl": "sha384-22IGd0xp1gk5BQwuhYqr8qUmsv65cwTzenvc19bvq5PYduXkWE8gUUruxIr/ZPsn",
"css-flags": "sha384-fStl5MKxnUStSlpPiHGSFmUTTzr2KEY7jtgmvTswVDaQJ+sLbmEF+26m57M2sbCm",
"css-flags-rtl": "sha384-i8KVpZYtpnZDkTYzaYlaeiF91VNnmyORipMLZh6hKGh5Jj80QN6962xlHQPkx/xr",
"css-marketing": "sha384-IILX0Nea/+/hbVhEsrQ/djsqtSJmb4CM9hPzWd7Yh8hzbyYp4N/4hWMQL5kIPEuZ",
@@ -13,8 +13,8 @@
"css-props-rtl": "sha384-Voq7oikM1MGBKKotIvWP3THYoINUMEQurBmKseurzXaiMzL3KPlbQXhbI4tHPKHU",
"css-themes": "sha384-o3qxqNUMd6NW7wethAfo4ur0TF8cgmbdTRrUHwryoxEpy3DNmt5MWoCHRlJlX/zD",
"css-themes-rtl": "sha384-er5SohDm2dJxg5UhUf1RI96jOlVA7RwgVm5++ribGoWmjds4MntkV6Mxg66xCQQg",
"css-vendors-rtl": "sha384-pmqjDmyHCjDzKM/ggLDh4+XLOp41n8d7z1/QxB3TEnz/yg7B0nV3yBKqx/O+buIU",
"css-vendors": "sha384-IHXMAokwkmX7RM5ureM6x8sBDwkSgYw3OWYboGb+CQZH7xzu7nYjodKx5WFatxIf",
"css-vendors-rtl": "sha384-tHbMgNpCKXcS6jHEZNTL3D8vphnCwUbnP37Mu3sihnvXRk47xUWU6VYDIO8kMyr3",
"css-vendors": "sha384-Fo//Kmhz1EIFHbqRN5ZnLePKoXW3c4MjGg1DVOrvwTlQNfC2rKRflTBS1degq6n6",
"js": "sha384-PHMhDo1ZcalIgfBhQzaXnIBa6xdPJ8iQTzHd+WVAeoI/O2Xq3OuElAo7PyEYTqMg",
"js-theme": "sha384-3Z3TIkq5YSKOncCfiURX/S03AUHfI0nVzd39uRc9KLhtLi7M228qgWBjnRXwt2j0",
"demo-css": "sha384-BUDq2P684xwRBf0GDlySvob+KJg4ko8y2K7njgvYBscmEuqoVVqJ75zcTDozwkFA",

View File

@@ -1,41 +1,8 @@
import { readFileSync } from "fs";
import { dirname } from "path";
import { fileURLToPath } from "url";
import { join } from "path";
const __dirname = dirname(fileURLToPath(import.meta.url))
export function getCopyList () {
let copy = {
"node_modules/@tabler/core/dist": "dist",
}
const libs = JSON.parse(readFileSync(join(__dirname, '../data/libs.json')));
let files = []
Object.keys(libs.js).forEach((lib) => {
files.push(Array.isArray(libs.js[lib]) ? libs.js[lib] : [libs.js[lib]])
})
Object.keys(libs.css).forEach((lib) => {
files.push(Array.isArray(libs.css[lib]) ? libs.css[lib] : [libs.css[lib]])
})
Object.keys(libs['js-copy']).forEach((lib) => {
files.push(libs['js-copy'][lib])
})
files = files.flat()
files.forEach((file) => {
if (!file.match(/^https?/)) {
copy[`node_modules/${dirname(file)}`] = `libs/${dirname(file)}`;
}
})
return copy;
}
export function appData(eleventyConfig) {
eleventyConfig.addGlobalData("package", JSON.parse(readFileSync(join("..", "core", "package.json"), "utf-8")));
eleventyConfig.addGlobalData("changelog", readFileSync(join("..", "core", "CHANGELOG.md"), "utf-8"));
eleventyConfig.addGlobalData("libs", JSON.parse(readFileSync(join("..", "core", "libs.json"), "utf-8")));
}

View File

@@ -6,10 +6,10 @@
{% if page-libs -%}
<!-- BEGIN PAGE LEVEL STYLES -->
{% for lib in libs.css -%}
{% for lib in libs -%}
{% if page-libs contains lib[0] -%}
{% for file in lib[1] -%}
<link href="{% if file contains 'http://' or file contains 'https://' %}{{ file }}{% else %}{{ page | relative }}/libs/{% if environment == 'preview' %}{{ file | replace: '@', '' }}{% else %}{{ file }}{% endif %}{% if environment != 'development %}?{{ 'now' | date: '%s' }}{% endif %}{% endif %}" rel="stylesheet"/>
{% for file in lib[1].css -%}
<link href="{% if file contains 'http://' or file contains 'https://' %}{{ file }}{% else %}{{ page | relative }}/dist/libs/{{ lib[1].npm }}/{{ file }}{% if environment != 'development %}?{{ 'now' | date: '%s' }}{% endif %}{% endif %}" rel="stylesheet"/>
{% endfor -%}
{% endif -%}
{% endfor -%}

View File

@@ -1,14 +1,15 @@
{% if page-libs -%}
{% capture libs-code -%}
{% for lib in include.libs -%}
{% if page-libs contains lib[0] -%}
{% for file in lib[1] -%}
<script src="{% if file contains 'http://' or file contains 'https://' %}{{ file | replace: 'GOOGLE_MAPS_KEY', google-maps-key }}{% else %}{{ page | relative }}/libs/{{ file }}{% if environment != 'development' %}?{{ 'now' | date: '%s' }}{% endif %}{% endif %}" defer></script>
{% for lib in libs -%}
{% if page-libs contains lib[0] and lib[1].head == include.head -%}
{% for file in lib[1].js -%}
<script src="{% if file contains 'http://' or file contains 'https://' %}{{ file | replace: 'GOOGLE_MAPS_KEY', google-maps-key }}{% else %}{{ page | relative }}/dist/libs/{{ lib[1].npm }}/{{ file }}{% if environment != 'development' %}?{{ 'now' | date: '%s' }}{% endif %}{% endif %}" defer></script>
{% endfor -%}
{% endif -%}
{% endfor -%}
{% endcapture -%}
{% assign libs-code = libs-code | strip -%}
{% if libs-code != "" -%}
<!-- BEGIN PAGE LIBRARIES -->

View File

@@ -3,7 +3,7 @@
{% assign google-maps-key = site.googleMapsKey -%}
{% endif -%}
{% include "layout/js-libs.html" libs=libs.js %}
{% include "layout/js-libs.html" %}
<!-- BEGIN GLOBAL MANDATORY SCRIPTS -->
<script src="{{ page | relative }}/dist/js/tabler{% if environment != 'development' %}.min{% endif %}.js{% if environment != 'development' %}?{{ 'now' | date: '%s' }}{% endif %}" defer{% if environment == 'preview' %} integrity="{{ sri.js }}"{% endif %}></script>

View File

@@ -31,7 +31,7 @@
{% endif %}
{% include "layout/css.html" %}
{% include "layout/js-libs.html" libs=libs.js-head %}
{% include "layout/js-libs.html" head %}
<!-- BEGIN CUSTOM FONT -->
<style>

View File

@@ -149,11 +149,11 @@
</div>
</div>
{% for lib in libs.js -%}
{% for lib in libs -%}
{% if docs-libs contains lib[0] or libs.global-libs contains lib[0] or lib[0] == "clipboard" -%}
{% for file in lib[1] -%}
{% for file in lib[1].js -%}
<script
src="{% if file contains 'http://' or file contains 'https://' %}{{ file | replace: 'GOOGLE_MAPS_KEY', google-maps-key }}{% else %}/libs/{% if environment != 'development' %}{{ file | replace: '@', '' }}{% else %}{{ file }}{% endif %}{% if environment != 'development' %}?{{ 'now' | date: '%s' }}{% endif %}{% endif %}"
src="{% if file contains 'http://' or file contains 'https://' %}{{ file | replace: 'GOOGLE_MAPS_KEY', google-maps-key }}{% else %}/dist/libs/{{ lib[1].npm }}/{% if environment != 'development' %}{{ file | replace: '@', '' }}{% else %}{{ file }}{% endif %}{% if environment != 'development' %}?{{ 'now' | date: '%s' }}{% endif %}{% endif %}"
></script>
{% endfor -%}
{% endif -%}

View File

@@ -4,7 +4,7 @@ layout: default
page-header: Dashboard
page-header-pretitle: Overview
page-header-actions: buttons
page-libs: [apexcharts, jsvectormap, jsvectormap-world, jsvectormap-world-merc]
page-libs: [apexcharts, jsvectormap]
---
{% unless site.layoutOnly %}