openacs_bootstrap5_theme::resource_info (private)

 openacs_bootstrap5_theme::resource_info

Defined in packages/openacs-bootstrap5-theme/tcl/resource-procs.tcl

Get information about available version(s) of the bootstrap packages. The goal is to deliver resources either from the local filesystem, or from CDN.

Returns:
dict containing resourceDir, resourceName, cdn, cdnHost, prefix, cssFiles, jsFiles and extraFiles.

Partial Call Graph (max 5 caller/called nodes):
%3 packages/openacs-bootstrap5-theme/tcl/resource-init.tcl packages/openacs-bootstrap5-theme/ tcl/resource-init.tcl openacs_bootstrap5_theme::resource_info openacs_bootstrap5_theme::resource_info packages/openacs-bootstrap5-theme/tcl/resource-init.tcl->openacs_bootstrap5_theme::resource_info packages/openacs-bootstrap5-theme/www/sitewide-admin/download.tcl packages/openacs-bootstrap5-theme/ www/sitewide-admin/download.tcl packages/openacs-bootstrap5-theme/www/sitewide-admin/download.tcl->openacs_bootstrap5_theme::resource_info packages/openacs-bootstrap5-theme/www/sitewide-admin/index.tcl packages/openacs-bootstrap5-theme/ www/sitewide-admin/index.tcl packages/openacs-bootstrap5-theme/www/sitewide-admin/index.tcl->openacs_bootstrap5_theme::resource_info acs_package_root_dir acs_package_root_dir (public) openacs_bootstrap5_theme::resource_info->acs_package_root_dir

Testcases:
No testcase defined.
Source code:
        #
        # Provide paths for loading either via /resources/ or CDN
        #
        #   "resourceDir" is the absolute path in the filesystem
        #   "resourceUrl" is the URL path provided to the request processor
        #   "versionDir" is the version-specific element both in the
        #                URL and in the filesystem.
        #
        set resourceDir   [acs_package_root_dir openacs-bootstrap5-theme/www/resources/bootstrap]
        set resourceUrl   /resources/openacs-bootstrap5-theme/bootstrap
        set cdnHost       cdn.jsdelivr.net
        set cdn           //$cdnHost/npm
        set version       $openacs_bootstrap5_theme::bootstrap_version
        set versionDir    bootstrap@$version/dist

        if {[file exists $resourceDir/$versionDir]} {
            set prefix $resourceUrl/$versionDir
            set cdnHost ""
        } else {
            # https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css
            # https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js
            set prefix $cdn/$versionDir
        }

        lappend result  resourceName "Bootstrap 5"  resourceDir $resourceDir  versionDir $versionDir  cdn $cdn  cdnHost $cdnHost  prefix $prefix  cssFiles {css/bootstrap.min.css css/bootstrap.min.css.map}  jsFiles  {js/bootstrap.bundle.min.js js/bootstrap.bundle.min.js.map}  extraFiles {}  urnMap {
                urn:ad:css:bootstrap5 css/bootstrap.min.css
                urn:ad:js:bootstrap5  js/bootstrap.bundle.min.js
            }  versionCheckURL "https://cdnjs.com/libraries?q=bootstrap"

        #urn:ad:js:popper2     dist/umd/popper.min.js

        if {$cdnHost ne ""} {
            lappend result cspMap [subst {
                urn:ad:css:bootstrap5 {
                    style-src $cdnHost
                    font-src $cdnHost
                }
                urn:ad:js:bootstrap5 {
                    script-src $cdnHost
                }
            }]
        }
        return $result
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: