Commit Graph

446 Commits

Author SHA1 Message Date
janishutz 77a83f6a4e Some ideas on API
probably not going to continue, as there is nowhere near enough need for
it
2025-10-24 14:29:51 +02:00
janishutz ef80cf45dc some progress on util 2024-07-21 08:50:00 +02:00
janis 1d185e05a7 some small tweaks to init function 2024-02-26 17:00:56 +01:00
janis 667cca709e small updates 2024-02-26 16:10:11 +01:00
janis 33386d6247 go back to js 2024-02-26 15:50:12 +01:00
Janis Hutz d0b9bca5d4 Update README.md 2024-01-30 22:00:32 +01:00
janis 2f99906932 some more progress 2024-01-22 17:09:34 +01:00
janishutz b0eb35bae4 check if all impress features are available 2024-01-17 14:52:37 +01:00
janis b07199bc16 remove unnecessary function 2024-01-16 11:05:04 +01:00
janis 587be5ee61 Some more progress on comments 2024-01-16 10:25:35 +01:00
janis 2efd14b392 progress on implementing core functionality 2024-01-15 17:02:41 +01:00
janis 328cf3b8e8 add / remove elements 2024-01-15 16:24:18 +01:00
janis 6761ff8dfe some more docs 2024-01-15 15:43:37 +01:00
janishutz fd49cd4fb4 some small fixes 2024-01-11 18:00:00 +01:00
janishutz 2d9c48d375 update jsdocs 2024-01-10 16:21:23 +01:00
Janis Hutz 6a74c4e237 Merge branch 'impress:master' into v3 2024-01-10 08:30:14 +01:00
janishutz 472e6d0f19 some small progress 2024-01-09 20:22:02 +01:00
janis e326b2635f some more restructuring 2024-01-09 09:32:41 +01:00
janishutz a1fa8bea3d make eslint default linter 2024-01-08 21:26:02 +01:00
janishutz 4199e99d81 massive readme update 2024-01-08 21:21:10 +01:00
janishutz b4cc35084c some more TS config 2024-01-08 20:53:24 +01:00
janishutz 90653fa34e restructure, move to TS 2024-01-08 20:37:18 +01:00
janis 125ab80766 add some docs 2024-01-08 16:58:10 +01:00
janis ad27645c39 Some more work on refactoring 2024-01-08 16:16:45 +01:00
Thomas Reitmayr b3a7a632c7 Fix default substep order when no explicit order given (#855) (#856)
This affects both going to the next and previous substep.
2023-12-05 06:25:20 +02:00
Janis Hutz e0ebff6b0c Update README.md 2023-11-06 10:23:22 +01:00
Janis Hutz 80d496f2bd add logo with correct name 2023-11-06 10:20:22 +01:00
Janis Hutz 42af5452ae Delete logo.jpg.JPG 2023-11-06 10:19:27 +01:00
Janis Hutz 2b88f378b2 Update README.md 2023-11-06 10:19:01 +01:00
Janis Hutz 78bdf4050b add impress logo 2023-11-06 10:18:12 +01:00
Janis Hutz fa87b43aab Update README.md
remove commit activity
2023-11-06 10:15:36 +01:00
Janis Hutz 698558254f Update README.md 2023-11-06 10:10:41 +01:00
Meng Weng Wong d0ba7ff884 New "bookmark" plugin allows hotkey fast-travel to specific steps (#852)
add plugin bookmark supporting direct access via hotkeys
similar to "click", we can now fast travel using hotkeys e.g. 1 2 3
2023-11-01 01:13:40 +02:00
Janis Hutz 9475720f42 Plugins documentation / getting started guide (#835) 2023-02-02 04:14:44 -08:00
Janis Hutz 4edb9e08a0 Getting Started Guide (#831)
Also update version and copyright information
2023-02-02 04:11:33 -08:00
Janis Hutz 0e26510cb4 Npm readme (#836) 2023-02-01 14:04:44 -08:00
Falco Nogatz 7817f12c12 Allow multiple data-substep-order with the same value (#825) 2022-12-23 06:52:07 -08:00
Falco Nogatz 972dc413f3 Add .slideView or .preView classes in speaker console view (#827) 2022-12-19 07:55:17 -08:00
Falco Nogatz 64d66bf77f Replace backslashes by slashes in href to CSS (#828) 2022-12-11 17:03:49 -08:00
thawk b572362c3a Auto guess slide title from first non-blank line (#821)
* Auto guess slide title from first non-blank line
* If line content is too long, trim to the first 40 bytes
2022-10-17 08:39:54 +08:00
thawk 0d52faa60d Fix incorrect tag in 3D-positions example (#822) 2022-10-09 23:16:02 +03:00
thawk f8dd0e92b4 Improve markdown support. (#817)
1. Support `marked`, you can using it instead. #811
2. Auto trim the indentation, so it can be indent like regular HTML.
   #812
2022-08-19 11:57:48 +03:00
thawk dc3cf69747 Fix issue that data-x/y/z can't use relative-to-screen-size unit. (#815) 2022-07-21 21:49:39 +03:00
Henrik Ingo 78c954ac09 Change default target resolution to HD 1920x1080.
If you aren't setting target width and height explicitly in the root div,
this change will likely affect the size and layout of your presentation
steps. See DOCUMENTATION.md for details and how to fix.
2022-05-29 11:41:25 +03:00
Henrik Ingo 20cd28ff00 Add fsevents to package-lock.json 2022-05-29 11:41:06 +03:00
Christoph Neumann bc3612118a Fix impress().lib.util reference in blackout.js (#810) 2022-05-02 16:33:18 +03:00
thawk 629f7686f3 Add relative move and rotate to rel plugin (#794)
The relative position in rel plugin is currently based on the world coordinate. So for the same effect, like fly in from the right-hand side, we must use different `data-rel-x/y/z` value. Why not let the plugin do the hard part?

So I introduce a `data-rel-position`, when set to `relative`, all relative attribute is based on the position and rotation of previous slide. So no matter the rotation of previous slide, data-rel-x="1000" always looks like fly in from the right-hand side. We can change the position and rotation of one slide, and the position of all following slides will be changed too.

When `data-rel-position` is set to `relative`, relative rotation has a clear meaning. It describes the relative rotations between slides. We don't need to set rotations for all slide, setting the key slides is enough. If `data-rel-position` is not relative, the effect of `data-rel-rotate-x/y/z` is not clear, so they're only used when `data-rel-position="relative"`.

After the introduction of relative rotation, there're 6 attribute that will inherit from previous slide. If we want to set a relative X move, we have to set all other 5 attributes to 0. It's boring. So a `data-rel-clear` is used to set all 6 attributes to 0, and then the value specified in current slide is applied. 

The `examples/3D-positions/index.html` shows some usage. As you can see, the html code of two slide ring is the same, and slides except for the first two in a ring has no position attributes. It work by inheriting the previous one.

This PR invokes a lot math calculations. Basically, the rotation of a slide is translated into the coordinate describing the directions of X/Y/Z axes. And `data-rel-x/y/z` can be easily calculated by that. The rotations is the hard part, I mainly use the algorithm in the Quaternions and spatial rotation - Wikipedia to compose two and more rotations.  I'm not a math guy, hope I don't make much mistakes.
2022-04-24 21:37:50 +03:00
thawk d3760dfa0a make data-x/y/z supports relative-to-screen size (#804) 2022-02-13 12:35:52 +02:00
thawk 20f74a8b56 Fix relative-to-screen-size calculation (h and w) (#799) 2022-01-30 17:17:56 +02:00
hugocvx ecbdd43ca8 use element title as navigation select option text when available (#803) 2022-01-30 17:06:42 +02:00