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