panglesd / slipshow Goto Github PK
View Code? Open in Web Editor NEWAn engine for displaying slips, the next-gen version of slides
License: MIT License
An engine for displaying slips, the next-gen version of slides
License: MIT License
I tried opening the two sample projects, but couldn't get passed the first 'page'
The npm package has support for tikz support, in some sense.
It would be so cool (but technically difficult) to have support for tikz directly in slipshow!
it would be nice to have a way to reveal figures layer by layer (assuming a stack of transparent layers has been generated).
This makes them much better examples and will check that markdown is expressive enough and nice to write... (or not!)
The engine was written in javascript a long time ago, when I did not know a lot about static checking!
It will be very convenient to have it in OCaml, compiled to javascript.
In this rewrite, I'd like to change at least one thing: the "step back". Instead of recording the initial step and "go back to the beginning, go forward
This also raises the question of how much is computed at runtime by the engine and how much is computed at compile-time by the compiler!
Is there any way to have event handlers on elements within a slip, that can then trigger moving to another slide? (long winded way of saying ‘link’).
Or is there a way to conditionally hide/show a slip?
The motivation is if one had a presentation that is intended for audiences of different levels of prior knowledge.
Re: links - one might have a subslip-tree (slip-subtree?) that is too detailed for the main body of (one version of) the presentation. So in the flow of the main talk, those overly-detailed subtrees would not be traversed. However maybe its likely you’ll have to return to it in the Q+A at the end. In this case, links to these subtrees would be useful to have in the end slip. Or if someone were to pose a relevant query during the presentation, an inline link from the parent slip of the overly-detailed subtree.
Re: conditionality - one could have a single presentation where the slip hierarchy goes into increasing levels of detail on the presentation topic. But conditionality allows for ‘lower-resolution’ versions of the same presentation, by setting a depth parameter (‘only go into this sliptree to nesting_level=X’) somewhere (presumably in Javascript).
They’re obviously related issues (an event handler that conditionally shows the subtree is equivalent to a link to the subtree), hence combining them into a single issue. Basically something like Milanote or ‘Workflowy-for-slides’, where you can expand/collapse subtrees.
Kudos on the whole project though, its really great to have an OSS multiply-nested presentation lib. I’m surprised its not more known more widely..
The compiler would load the "dependencies".
Idea for syntax:
![path/to/input.md]
This could be combined with #28:
{subslip}
![path/to/input.md]
Hi on my Mac OS M2 pro (Silicon) :
slipshow -o file.html file.md --watch
compile: internal error, uncaught exception:
Unix.Unix_error(Unix.EOPNOTSUPP, "inotify_init", "")
Here's some more info :
file $(which slipshow)
/Users/mguiraud/.local/bin/slipshow: Mach-O 64-bit executable arm64
And my mac :
Seems some issue on the arm64 version of slipshow :
slipshow --version
%%VERSION%%
I used slipshow-macos-arm64.tar
decompile it and copied slipshow in the /usr/bin.
What am I missing ?
Taking inspiration from https://github.com/ralexander-phi/marp-to-pages.
Thanks 8organicbits for the idea!
It is nice in eg beamer that you can add a description of your information, and the theme organizes them in a presentation screen.
I want the same!
They will benefit the latest bugfixes, which is nice since they serve as example.
Check that there were no breaking change in the engine (I don't think there were!)
Mermaid seem a popular and nice diagramming library, markdown-consistent.
I'd consider adding support for it! Github has it:
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
For instance, for mathjax math I had to change it to svg, but there are still assets that are not included I think.
But more importantly, fonts need to be included for all browser to display the presentation the same!
It is frustrating eg not to be able to write math in a definition name!
Dataurls have a limit, but there are workaround, à la ocaml-crunch!
<script>
let file_content = "\56\54[...]";
document.replace(old_element, element_from_file_content)
</script>
(not very precise but ...)
This would increase portability and would allow users to edit the presentation themselves.
Using slipshow --serve
, markdown locations, ...
Resizing could be cool as well!
The npm package lack some feature. Do I want to still support it?
slipshow-gui, the VSCode extension, are on other repo but would benefit from some change in the API to support local images!
Change port if used
Add an option to choose port
I think it would be nice to have an "ascii layout" to place elements as ascii art.
For instance:
```layout
aa b
aa b
c dd
```
[a]: Some content
[b]: other content
[c]: and
[d]: so on
Which one? tailwind needs compilation...
Sometimes, figures are much quicker to make by hand.
I'd like to have a way to record writing and save it to a file, similarly to https://github.com/panglesd/write-your-website, but included in slipshow's writing workflow!
The engine support having subslips, but it is not possible to have them in the compiler.
An idea for the syntax:
{subslip}
> subslip content
> ...
See for instance https://choum.net/panglesd/slides/WDCM-2021-slips/wdcm-ada.html section III.17
The actual theme is inspired by Warsaw but it would be great to have a way to easily change or modify the theme, without tinkering with the distributed css
.
css
(in src/css
) as neutral as possible.src/css/themes
.css
, then the chosen theme css
, then the specialized slipIntroduction.css
.I might missed something in the document. But how to separate different headline in separated slides?
Slide 1
Slide 2
Slide 3
After generating html file, all 3 slides are showing in the same page.
There is no sample markdown file anywhere. It is very hard to get started. The html file in example/
folder is more of demo, instead of an example.
Very nice work, but it's still hard for beginners to create presentation, can you provide the examples with uncompiled raw markdown file (not html file)? so we could learn and make modifications. Thanks!
The following file:
![](https://avatars.githubusercontent.com/u/34110029?s=80&v=4){.myclass}
will have the wrong output:
<p><img src="[https://avatars.githubusercontent.com/u/34110029?s=80&v=4](view-source:https://avatars.githubusercontent.com/u/34110029?s=80&v=4)" alt="" ><span class="myclass"><span>![](https://avatars.githubusercontent.com/u/34110029?s=80&v=4)</span></span></p>
Binary release file got CPU arch wrong (says x86_64, but it's actually arm).
https://github.com/panglesd/slipshow/releases/download/v0.0.32/slipshow-macos-x86_64.tar
It doesn't run on my Intel machine. :(
A file containing
| {a}[b] |
generates:
compile: internal error, uncaught exception:
File "vendor/github.com/panglesd/cmarkit/src/cmarkit.ml", line 2173, characters 6-12: Assertion failed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.