diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..abb74f5e738b7dd2f70636ed066ba214c307ae9c --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ + +artifacts/node_modules/ + +artifacts/package-lock.json + +artifacts/dist/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..2f527518775a07c25bd5e9ce98dbfc7c92e02248 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,19 @@ +stages: + - deploy + +pages: + image: eicweb.phy.anl.gov:4567/containers/eic_container/debian_base:testing + stage: deploy + rules: + - if: '$CI_SERVER_HOST == "gitlab.phy.anl.gov" && $CI_COMMIT_BRANCH == "master"' + script: + - git clone -b 6.1.0 https://github.com/root-project/jsroot.git public + - cp .htaccess public/. + - cp -r macros public/. + - cd public && ln -s index.htm index.html && cd .. + #- cp index.htm public/. + #- cp -r `root-config --prefix`/js public + artifacts: + paths: + - public + diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000000000000000000000000000000000000..65ea8bb9f8a96ae3af68c47cf3fe1e21fcc91d5d --- /dev/null +++ b/.htaccess @@ -0,0 +1,8 @@ +<IfModule mod_headers.c> + <FilesMatch "\.root"> + Header set Access-Control-Allow-Origin "*" + Header set Access-Control-Allow-Headers "range" + Header set Access-Control-Expose-Headers "content-range,content-length,accept-ranges" + Header set Access-Control-Allow-Methods "HEAD,GET" + </FilesMatch> +</IfModule> diff --git a/index.htm b/index.htm new file mode 100644 index 0000000000000000000000000000000000000000..18939324e94436381cfab45042bfdb83291bd5a5 --- /dev/null +++ b/index.htm @@ -0,0 +1,56 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> + <title>Read a ROOT file</title> + <link rel="shortcut icon" href="img/RootIcon.ico"/> + <!-- To make use of RequireJS, replace following line with commented one --> + <!--script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="scripts/JSRoot.core.js"></script--> + <script type="text/javascript" src="scripts/JSRoot.core.js"></script> + <script type="text/javascript" src="https://eicweb.phy.anl.gov/EIC/detectors/topside/-/jobs/87825/artifacts/raw/images/jsroot/scripts/JSRoot.core.js"></script> + </head> + <body> + <div id="simpleGUI" path="../files/" files="ct.root;exclusion.root;fillrandom.root;glbox.root;graph.root;hsimple.root;legends.root;rf107.root;stacks.root;zdemo.root"> + loading scripts ... + </div> + <script type="text/javascript"> + JSROOT.buildGUI("simpleGUI"); + </script> + </body> +</html> + +<!-- + +This is JSROOT main page, which aims to display content of ROOT files. +Several URL parameters could be specified when opening page: + file - name of the file(s), which will be automatically open with page loading + json - name of JSON file(s) with ROOT object, stored by TBufferJSON::ConvertToJSON method + item - object name in the file to display + items - object names in the file to display + opt - draw option for the item + opts - draw options for the items + layout - can be 'simple', 'flex', 'collapsible', 'tabs' or gridNxM where N and M are integer values + nobrowser - only file item(s) will be displayed, browser will be disabled + load - name of JavaScript(s), automatically loaded at the beginning + mathjax - use MathJax for Latex output (automatically loaded for TMathText objects) + palette - id of default color palette, 51..123 - new ROOT6 palette (default 57) + style - TStyle object itemname or JSON file name + toolbar - configure position and orientation of pad toolbar, combine 'right','vert','off' + +Example: + https://root.cern/js/latest/?file=../files/hsimple.root&layout=grid2x2&item=[hpx;1,hpxpy;1]&opts=[,colz] + +Page can be used to open files from other web servers like: + https://root.cern/js/latest/?file=https://jsroot.gsi.de/files/hsimple.root + +But one should be aware about Cross-Origin Request blocking. +Read https://developer.mozilla.org/en/http_access_control for more details. + +To avoid problem at all, one can copy only index.htm on the web server where data files are located. +And specify full path to the JSRoot.core.js script like + <script type="text/javascript" src="https://root.cern/js/latest/scripts/JSRoot.core.min.js"></script> + +If necessary, complete JSROOT can be installed on the web server. +Project repository: https://github.com/root-project/jsroot. + +-->