A design editor with HTML5 export capabilities including embedded/external format options, text rendering modes, and ZIP download. Built with CE.SDK by IMG.LY, runs entirely in the browser with no server dependencies.
git clone https://github.com/imgly/starterkit-html5-ads-exporter-ts-web.git
cd starterkit-html5-ads-exporter-ts-webnpm installCE.SDK requires engine assets (fonts, icons, UI elements) served from your public/ directory.
curl -O https://cdn.img.ly/packages/imgly/cesdk-js/$UBQ_VERSION$/imgly-assets.zip
unzip imgly-assets.zip -d public/
rm imgly-assets.zipnpm run devOpen http://localhost:5173 in your browser.
The key feature of this starterkit is the custom HTML5 export panel that provides advanced export options:
// The export panel is registered as a custom panel
cesdk.ui.registerPanel(
'//ly.img.panel/html5-export',
({ builder, engine, state }) => {
// Format selection (Embedded single HTML vs External with separate assets)
// Text rendering mode (HTML text vs Vectorized)
// Page index selection for multi-page scenes
}
);
// Navigation bar button to open the export panel
cesdk.ui.registerComponent(
'ly.img.html5-export.navigationBar',
({ builder }) => {
builder.Button('html5-export-button', {
label: 'Export',
onClick: () => cesdk.ui.openPanel('//ly.img.panel/html5-export')
});
}
);The export panel supports two HTML5 output formats:
- Embedded - Single self-contained HTML file with base64-embedded assets (images, fonts)
- External - HTML file with separate image and font asset files, downloadable as ZIP
- HTML Text - Selectable and searchable text rendered with CSS styling
- Vector - Pixel-perfect vectorized text (not selectable, but visually identical to the design)
cesdk.ui.setTheme('dark'); // 'light' | 'dark' | 'system'See Theming for custom color schemes and styling.
cesdk.i18n.setTranslations({
de: { 'common.save': 'Speichern' }
});
cesdk.i18n.setLocale('de');See Localization for supported languages and translation keys.
src/
├── imgly/
│ ├── config/
│ │ ├── actions.ts # Export/import actions
│ │ ├── features.ts # Feature toggles
│ │ ├── i18n.ts # Translations
│ │ ├── plugin.ts # Main configuration plugin
│ │ ├── settings.ts # Engine settings
│ │ └── ui/
│ │ ├── canvas.ts # Canvas configuration
│ │ ├── components.ts # Custom component registration
│ │ ├── dock.ts # Dock layout configuration
│ │ ├── index.ts # Combines UI customization exports
│ │ ├── inspectorBar.ts # Inspector bar layout
│ │ ├── navigationBar.ts # Navigation bar layout
│ │ └── panel.ts # Panel configuration
│ ├── index.ts # Editor initialization function
│ └── plugins/
│ └── html5-export-panel.ts # HTML5 export panel plugin
└── index.ts
- HTML5 Export - Export designs as responsive HTML5 output
- Embedded Format - Single self-contained HTML file with base64 assets
- External Format - HTML with separate asset files, downloadable as ZIP
- Text Modes - Choose between selectable HTML text or pixel-perfect vector text
- Preview - Preview exported HTML5 in a new browser tab
- ZIP Download - Package external exports as downloadable ZIP archives
- Design Tools - Full design editor with text, shapes, images, and effects
- Node.js v22+ with npm - Download
- Supported browsers - Chrome 114+, Edge 114+, Firefox 115+, Safari 15.6+
| Issue | Solution |
|---|---|
| Editor doesn't load | Verify assets are accessible at baseURL |
| Assets don't appear | Check public/assets/ directory exists |
| Watermark appears | Add your license key |
| Export fails | Check browser console for CORS or memory errors |
| Preview doesn't open | Ensure pop-ups are not blocked by your browser |
For complete integration guides and API reference, visit the HTML5 Export Documentation.
The demo assets for this starter kit load from the IMG.LY CDN by default — nothing to configure. If you want to own them — edit them, meet compliance requirements, or remove the CDN dependency for production — eject them (the archive contains only this kit's files):
# Download this starter kit's demo assets
curl -O https://staticimgly.com/imgly/cesdk-web-examples-data/1.80.0/starterkit-html5-ads-exporter/demo-assets.zip
unzip demo-assets.zip -d demo-assets
rm demo-assets.zipUpload the extracted files to your own server or CDN, then point the app
at them via .env:
VITE_DEMO_ASSETS_BASE_URL=https://cdn.yourdomain.com/demo-assetsThe default URL is the DEMO_ASSETS_BASE_URL constant in src/index.ts if you
prefer changing it in code.
The demo assets are intended for development and prototyping — replace
them with your own content or licensed stock assets before shipping to
production (see DEMO-ASSETS-NOTICE.txt in the download). This applies in
particular to media such as music tracks and stock imagery.
This project is licensed under the MIT License - see the LICENSE file for details.
