RunestoneInteractive / rs

A New Monorepo structure for Runestone
Other
42 stars 69 forks source link

Executable parsons #500

Closed ascholerChemeketa closed 3 months ago

ascholerChemeketa commented 4 months ago

This goes with pretext PR: https://github.com/PreTeXtBook/pretext/pull/2204

I am fairly confident about RS side. PTX side may need some tweaks.

ascholerChemeketa commented 3 months ago

@bnmnetp PTX side is merged but non-functional until this JS is merged.

@rbeezer if you want to test the functionality of the runnable Parsons, you can use the debug.rs.dev flag on the Sample Book and then grab this PR and build it. Instructions for building local Runestone components are here: https://github.com/RunestoneInteractive/rs/blob/main/docs/source/javascript_feature.rst

bnmnetp commented 3 months ago

@ascholerChemeketa looks good.
I made the primes example runnable in the sample book. The only issue I notice is that the horizontal output does not scroll, like it does in other cases. The sieve program outputs one very long line and it ends up making the editor window wider and the stdout wider also...

I'm fine merging this and fixing that in a followup unless you want to fix it in this PR.

bnmnetp commented 3 months ago

@rbeezer this is merged, working my way through the accumulation.

bnmnetp commented 3 months ago

Question for @rbeezer and @ascholerChemeketa Does the debug.rs.dev replace the debug.rs.services.file string param? I guess technically they could have different uses?

rbeezer commented 3 months ago

Does the debug.rs.dev replace the debug.rs.services.file

I think tat's for @ascholerChemeketa. Can't say I tracked everthing too carefully with the relevant PreTeXt PR.

ascholerChemeketa commented 3 months ago

I agree they have different uses. debug.rs.dev = let me use my development copy of RS. debug.rs.services.file = let me test a particular version of RS from the CDN.

There is overlap where a RS dev uses debug.rs.services.file to test out an old release. They could instead revert their RS code and use debug.rs.dev. Not sure which approach you would use @bnmnetp

It feels like debug.rs.services.file also has a use case where an author pins to an older version of RS temporarily because of some issue they are encountering with the latest code.

I suppose they could be compacted into one construct. If anyone feels strongly about that happening I can PR it.

bnmnetp commented 3 months ago

Thanks @ascholerChemeketa -- I think my head was deep down the debugging and testing hole.