Інтеграція unpkg.com для MODX Revolution

Синтаксис:

    
        [[unpkg.com?
            &packages=`{
                "link" : [
                    { "package" : "", "version" : "", "file" : "", "algo" : "", "crossorigin" : "" }
                ],
                "script" : [
                    { "package" : "", "version" : "", "file" : "", "async" : "", "defer" : "", "algo" : "", "crossorigin" : "" }
                ]
            }`
            &async=`false`
            &defer=`false`
            &algo=`sha384`
            &crossorigin=`anonymous`
            &lifetime=`604800`
        ]]
        [[+unpkg.com.link]]
        [[+unpkg.com.script]]
    

Параметри:

&packages
Обов'язковий. JSON-об'єкт, що містить інформацію про пакунки, їх версії та файли. Ім'я пакунка є обов'язковим, в той час як інші властивості заміняються відповідними за замовчуванням з перенаправлення, якщо не вказані. Багато пакунків не мають встановленного за замовчуванням імені файлу.
&async
Не обов'язковий. За замовчуванням false. Значення атрибуту async для усіх ресурсів script. Інтерпретується як boolean. Може бути вказаний окремо для ресурсу script.
&defer
Не обов'язковий. За замовчуванням false. Значення атрибуту defer для усіх ресурсів script. Інтерпретується як boolean. Може бути вказаний окремо для ресурсу script.
&algo
Не обов'язковий. За замовчуванням sha384. Алгоритм, що буде використано для обчислення хешу контролю цілісності ресурсів. Не чутливий до регістру. Можливі значення: sha256, sha384, sha512. Може бути вказаний окремо для ресурсу.
&crossorigin
Не обов'язковий. За замовчуванням anonymous. Значення атрибуту сrossorigin для усіх ресурсів. Не чутливий до регістру. Можливі значення: anonymous, use-credentials. Може бути вказаний окремо для ресурсу.
&lifetime
Не обов'язковий. За замовчуванням 604800. Термін дії кешу ресурсів.

Плейсхолдери:

[[+unpkg.com.link]]
Плейсхолдер для всіх тегів link.
[[+unpkg.com.script]]
Плейсхолдер для всіх тегів script.

Приклади:

Остання версія jQuery та prism.js ( async ) з щоденним оновленням:

    
        [[unpkg.com?
            &libraries=`{
                "script" : [
                    { "package" : "jquery", "file" : "dist/jquery.min.js" },
                    { "package" : "prismjs", "file" : "prism.js", "async" : "true" }
                ]
            }`
            &lifetime=`86400`
        ]]
    

Остання версія Bootstrap з defer для усіх ресурсів script:

    
        [[unpkg.com?
            &libraries=`{
                "link" : [
                    { "package" : "bootstrap", "file" : "dist/css/bootstrap.min.css" }
                ],
                "script" : [
                    { "package" : "jquery", "file" : "dist/jquery.min.js" },
                    { "package" : "popper.js", "file" : "dist/umd/popper.min.js" },
                    { "package" : "bootstrap", "file" : "dist/js/bootstrap.min.js" }
                ]
            }`
            &defer=`true`
        ]]
    

Примітки:

Цей додаток створений для полегшення управління оновленнями пакунків. Він не повинен використовуватися в разі суворих вимог до безпеки проекту.