fsprojects / FsReveal

FsReveal parses markdown and F# script file and generates reveal.js slides.
http://fsprojects.github.io/FsReveal
258 stars 102 forks source link

Modernize to use Fake 5 and .NET Core #121

Open NicoVIII opened 4 years ago

NicoVIII commented 4 years ago

The code looks kind of outdated, doesn't use .NET Core or FAKE 5.

It would be nice, if this could be modernized and make use of the current tech. I already tried to port this stuff, but I didn't fully get the structure and had massive problems so it looks like I am not able to do it.

vilinski commented 3 years ago

Hi @NicoVIII you can take my fork as a start https://github.com/vilinski/FsReveal/tree/v2 Ported FSharp.Formatting and Fake. Tests are green. But fsx files need some love

baronfel commented 3 years ago

As an alternative, what if this tool became more like the following:

This would make it easier to update fsreveal in the sets of slides that use it, without a huge amount of simply copy/pasting.

vilinski commented 3 years ago

agreed with all points. Already working in this direction, made a PoC dotnet tool fsreveal. Only the branch is full of dirt, unsure wheteher I can finish it properly myself.

❯ fsreveal --help
USAGE: fsreveal [--help] [--input <string>] [--output <string>] [watch]

OPTIONS:

    --input <string>      Input directory. defaults to current folder or ./slides if exists
    --output <string>     Output directory. defaults to ./output
    watch                 Watch the input directory
    --help                display this list of options.

It could also be a part of fsdocs

schauerte commented 3 years ago

@vilinski this sounds great. Is there any way, we can help you?

vilinski commented 3 years ago

Sure. I'm not a frontender so struggling to keep the js/css stuff working or figure out why not anymore. I've managed to generate the example slides with generate.fsx or my own slides with the compiled tool, but thats' all until now

schauerte commented 3 years ago

Sorry, I am of no help here. I've tinkered a while to generate something but there seem to be so many breaking changes in so many dependencies I do not know well enough (yet). After fixing or working around some of the issues I encounter, I'm not even sure, how the different pieces are intended to work together.