Current section
Files
Jump to
Current section
Files
lib/cloud/asset_package/packages/ckeditor5_premium_features.ex
defmodule CKEditor5.Cloud.AssetPackage.CKEditor5PremiumFeatures do
@moduledoc """
Generates asset package URLs for CKEditor5 Premium Features.
"""
alias CKEditor5.Cloud.AssetPackage
alias CKEditor5.Cloud.AssetPackage.JSAsset
import CKEditor5.Cloud.UrlBuilder, only: [build_url: 1]
@doc """
Creates URLs for CKEditor5 Premium Features JavaScript and CSS files.
"""
def build_package(version, translations \\ []) do
css_url = build_url(["ckeditor5-premium-features", version, "ckeditor5-premium-features.css"])
js_asset = %JSAsset{
name: "ckeditor5-premium-features",
url: build_url(["ckeditor5-premium-features", version, "ckeditor5-premium-features.js"]),
type: :esm
}
translation_js_assets =
Enum.map(translations, fn translation ->
%JSAsset{
name: "ckeditor5-premium-features/translations/#{translation}",
url:
build_url([
"ckeditor5-premium-features",
version,
"translations",
"#{translation}.js"
]),
type: :esm
}
end)
%AssetPackage{
js: [js_asset | translation_js_assets],
css: [css_url]
}
end
end