HTML Export

Export your ePoc as a static website, ready to be hosted (GitLab Pages, etc).

The HTML export generates a web version of your ePoc that can be read directly in a browser, without the mobile application. The result is a static site that can be hosted on any web server (GitLab Pages, local server, etc).

Export

Click the arrow on the right of the Publish button in the top right
Choose Export HTML
Select the folder in which the export will be created

The editor creates a folder named {ePoc identifier}-html (for example E006PE-html) containing:

  • index.html: the entry page
  • 404.html: a copy of index.html, required by hosts such as GitLab Pages to handle refreshes on a sub-page
  • assets/: the ePoc player and your ePoc content

The folder content is ready to use: there is no intermediate folder to remove.

Host on GitLab Pages

Create a GitLab repository and copy the content of the exported folder into a public/ folder
Add a .gitlab-ci.yml file at the root of the repository:
pages:
  stage: deploy
  script:
    - echo "Publishing the ePoc"
  artifacts:
    paths:
      - public
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
Once the pipeline is done, the ePoc is available at the URL shown in Deploy > Pages

When the site URL is opened without any parameter, the player automatically adds your ePoc identifier (?epocId=...), so you can share the address as is.

Host on GitHub Pages

Create a GitHub repository and upload the content of the exported folder (index.html, 404.html and assets/ at the root of the repository)
In Settings > Pages, choose Deploy from a branch, the main branch and the / (root) folder
After a few moments, the ePoc is available at https://{user}.github.io/{repository}/

GitHub Pages automatically serves the 404.html file for unknown addresses, no extra configuration is needed.

Host on a regular web server

Copy the content of the exported folder to your server's public folder (or a sub-folder). Since the player uses URLs without #, the server must return index.html for addresses that do not match any file.

Nginx

server {
    listen 80;
    server_name epoc.example.org;
    root /var/www/my-epoc;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

For a sub-folder (https://example.org/my-epoc/), use try_files $uri $uri/ /my-epoc/index.html; inside a location /my-epoc/.

Apache

Put this .htaccess file next to index.html (the mod_rewrite module and AllowOverride All must be enabled):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html [L]

Test locally

The site must be served by a web server (opening index.html directly does not work). From the exported folder:

npx serve .