- Display lists of items: images, websites, text, documents
- List items in simple text files
- Layouts: horizontal, vertical, grid, slideshow
- Interact by hovering, scrolling, and clicking on active corners
- Sort lists by manually comparing pairs of items
- Single-file portable HTML app
Examples
Click and scroll on window and tab corners!
Web pages
Photo album
Screensavers (WebGL, heavy)
Panorama
Item sorting
Other
Viewer URL parameters
- title: Window title
- input: Text items and URLs. Newline-separated and URL-encoded
- url: Load list from URL-encoded URL. Supports multiple values,
url=URL1&url=URL2
- slideshowShuffle: Shuffle items in slideshow, if true
- slideshowDelay: Delay between slides in slideshow mode
- slideshowPreTransitionDelay: Slide fading delay
- slideshowStart: Start slideshow on load, if true
- viewMode:
gallery
, horizontal
, or vertical
- gallerySize: Number of items in viewer
- contentOnly: Show content of items without header and action buttons, if true
- viewStart: Start viewer mode on load, if true
- nested: Flip menus and buttons horizontally, useful for nested presentation
- filterInput: Keep input items containing substring
- filterComment: Keep input items containing comment/tag
- shuffleInput: Shuffle input, if true
- uniqueInput: Remove duplicates from input, if true
- lexicInput: Sort input in lexicographic order, if true
- excludeInput: Remove input items containing substring. Supports multiple values,
excludeInput=argon&excludeInput=xenon
- appendToInput: Append string to every line of input, supports multiple values
Functional tags, append to items after ` symbol
- flip: Flip item horizontally
- randflip: Flip item horizontally at random
- spectrum: Animate item colors, useful for screensavers
- noslideshow: Skip item from slideshow
- nohide: Disable lazy unloading for item, preserve state
- slideshowdelay: Custom slide duration for item
- container: Set HTML container for URL,
container=iframe, container=img
- rewrite: Rewrite item using JS eval,
rewrite?"argon"="alpha"&"xenon"=Math.random()
- style: CSS style item,
style=filter: saturate(0)
- styleflex: CSS style item with details header, useful for custom layouts
Considerations
- Some URLs refuse to be displayed, search for embeddable links
- Verify input: URLs and item lists may contain arbitrary code
Source code
Copyright (c) 2024 Nikita Korzhitskii