Packages
ckeditor5_phoenix
1.28.2
1.28.2
1.28.1
1.28.0
1.27.2
1.27.1
1.27.0
1.26.0
1.25.1
1.25.0
1.24.2
1.24.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.0
1.18.0
1.17.2
1.17.1
1.17.0
1.16.1
1.16.0
1.15.8
1.15.7
1.15.6
1.15.5
1.15.4
1.15.3
1.15.2
1.15.1
1.15.0
1.14.2
1.14.1
1.14.0
1.13.0
1.12.0
1.11.0
1.10.2
1.10.1
1.10.0
1.9.0
1.8.0
1.7.0
1.6.0
1.5.0
1.4.1
1.4.0
1.3.0
1.2.1
1.2.0
1.1.0
1.0.8
1.0.7
CKEditor 5 integration for Phoenix Framework
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.CKEditorCloudUrlBuilder, 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}.js",
url: build_url(:ckeditor, ["ckeditor5", version, "translations", "#{translation}.js"]),
type: :esm
}
end)
%AssetPackage{
js: [js_asset | translation_js_assets],
css: [css_url]
}
end
end