Интеграция cdnjs.com для MODX Revolution
Синтаксис:
[[cdnjs.com?
&subresources=`{
"link" : [
{ "name" : "", "version" : "", "filename" : "", "integrity" : "", "crossorigin" : "" }
],
"script" : [
{ "name" : "", "version" : "", "filename" : "", "async" : "", "defer" : "", "integrity" : "", "crossorigin" : "" }
]
}`
&async=`false`
&defer=`false`
&integrity=`sha256 sha384 sha512`
&crossorigin=`anonymous`
&lifetime=`604800`
]]
[[+cdnjs.com.link]]
[[+cdnjs.com.script]]
Параметры:
&subresources
Обязательный. JSON-объект, содержащий информацию про ресурсы, их версии и файлы. Имя ресурса является обязательным, в то время как остальные свойства заменяются соответствующими по-умолчанию из API, если не указаны.
&async
Не обязательный. По-умолчанию false. Значения аттрибута async для всех ресурсов script. Интерпретируется как boolean. Может быть указан отдельно для ресурса script.
&defer
Не обязательный. По-умолчанию false. Значения аттрибута defer для всех ресурсов script. Интерпретируется как boolean. Может быть указан отдельно для ресурса script.
&integrity
Не обязательный. По-умолчанию sha256 sha384 sha512. Алгоритм, который будет использоваться для вычисления хеша контроля целостности ресурсов. Не чувствителен к регистру. Возможные значения: sha256, sha384, sha512, или любая их комбинация. Может быть указан отдельно для ресурса.
&crossorigin
Не обязательный. По-умолчанию anonymous. Значения аттрибута crossorigin для всех ресурсов. Не чувствителен к регистру. Возможные значения: anonymous, use-credentials. Может быть указан отдельно для ресурса.
&lifetime
Не обязательный. По-умолчанию 604800. Срок действия кеша ресурсов.
Плейсхолдеры:
[[+cdnjs.com.link]]
Плейсхолдер для всех тегов link.
[[+cdnjs.com.script]]
Плейсхолдер для всех тегов script.
Примеры:
Последняя версия jQuery и prism.js ( async ) с ежедневным обновлениями:
[[cdnjs.com?
&subresources=`{
"script" : [
{ "name" : "jquery" },
{ "name" : "prism", "async" : "true" }
]
}`
&lifetime=`86400`
]]
Последняя версия Bootstrap с defer для всех ресурсов script:
[[cdnjs.com?
&subresources=`{
"link" : [
{ "name" : "twitter-bootstrap", "filename" : "css/bootstrap.min.css" }
],
"script" : [
{ "name" : "jquery" },
{ "name" : "popper.js", "filename" : "umd/popper.min.js" },
{ "name" : "twitter-bootstrap" }
]
}`
&defer=`true`
]]
Примечания:
Кеш можно очистить вручную в меню Управление / Очистить кеш / cdnjs.com. Лучшая производительность наблюдается в паре с CloudFlare CDN.