MartenBE / mkslides

Use mkslides to easily turn markdown files into beautiful slides using the power of Reveal.js!
https://martenbe.github.io/mkslides/
MIT License
8 stars 1 forks source link

Thank you! #12

Open webpro opened 4 days ago

webpro commented 4 days ago

This is great. I'm planning to sunset reveal-md and more than happy to redirect users to mkslides (and https://sli.dev), if that's OK with you?

To be truly honest, I've never been too happy about reveal-md's implementation and it's been a bit of a drag for a while. It was useful (to me and others) but not technically interesting/challenging to me. It's in the best interest for everyone, especially now that you created mkslides.

Are you perhaps aware of any features/advantages of reveal-md that mkslides does not have? Perfect if not :)

Thanks a lot for your contributions to reveal-md, and even more for building mkslides!

jaywhj commented 2 days ago

Wow, so the 2 big guys are interacting as well, is the reveal-md project not going to be maintained? that's a bit of a shame.

I know some of the differences between reveal-md and mkslides, and as a user I've just been trying out these 2 project for the last 2 weeks and have submitted quite a few issues to you guys.

I'm going to give you some advice, and I'd welcome corrections from the 2 of you if anything is wrong.

In terms of presenting the slides, it's all the same, no difference. There are some differences in the use configuration and the extended configuration, I have both project installed on my computer, working in conjunction with each other, and both meet my needs.

I'll say them one by one.

reveal-md

  1. reveal-md is richer in terms of functionality and extensibility, such as pre-processing, custom scripts, custom styles, etc.
  2. Instructions for use are written in detail, what functions, how to use, there are instructions, the user just follow the steps to operate, are able to realize their desired.
  3. In addition to the basics, I really like the preprocessing and yaml front-matter features. preprocessing automatically fills in the page breaks for me, which saves a lot of tedious mechanization.
  4. When I generate a static website, I use the configuration file to do the global configuration, and in a few special cases, use the yaml front-matter. It is very convenient to use the two together.

MkSlides

  1. The configuration operation is easier, only one yml file is needed (reveal-md requires multiple json and js files), and all the options are configured in it, which is very convenient for users. But the functionality and expansibility is not very comprehensive, of course, it is also possible that I do not know how to use, welcome the author to correct, for example, I want to use preprocessing and yaml front-matter.
  2. lacks some comprehensive configuration instructions. Later, by comparing the configuration files of reveal-md, I successfully configured all the plug-ins and desired features. One is the json version and the other is the yml version. if necessary, I can share it.

That's all the above feedback so far. The above is just the user's experience in the front end, and there may be great differences in back-end services and technology. I am not very clear about this. Mkslides is based on Python encapsulation.

Finally, both are great project, and I especially hope you two will continue to maintain your project.

For mkslides, you may need to invest more time, which will be a test (I know you may be busy lately).

I am a fan of both of you, and I can do project testing at any time if necessary, and I will give practical suggestions from the user's point of view (I am not a programmer, I can't write code, I can read some simple front-end code).

@webpro @MartenBE

jaywhj commented 2 days ago

@webpro Sorry, I'll talk a little more. From the user's point of view, a good project should allow more users to use the product and cover more people, such as product managers, operation personnel, designers, administrative personnel, etc., so that these people who can't program can use it. So based on that, I don't really recommend that reveal-md direct users to sli.dev, that project is only for developers, and it's too complicated for us. As for programmers, they will have more options, and they can easily implement the slideshow use other project, and RevealJS is dispensable for them, such as Marp, but these projects do not consider non-developer users.

MartenBE commented 1 day ago

Hi @webpro , thanks for the very kind words :) ! I think I or perhaps one of my coworkers hit some limit/bugs on some file operations or something a whole while back using reveal-md. When I considered how to adapt reveal-md I came to realize that I probably had to refactor a lot and that I don't use TypeScript enough to implement it without introducing a ton of new bugs which would put again load on you as maintainer. I decided to try to write it myself in Python as I felt more comfortable in that ecosystem, knew Python had some tools I could use to do the heavy lifting, and all our Linux servers or dockers often have Python but not necessarily Node installed. I really like what mkdocs does for presenting documentation and what reveal-md does for presenting slides, and wanted to create something that would combine the workflow of reveal-md with the configuration methods of mkdocs.

I am really delighted that you react so positively! I thought of these projects to grow and complement each other, so it's indeed unfortunate that reveal-md will be sunsetted. I wouldn't want to happen that you feel like I am taking credit for your work, thus I also made sure to give full credentials in the README and website, as your impact is a very significant contributing factor in mkslides! Thank you very much for that, you showed how it could be done. I merely translated it to another ecosystem.

As you are the spiritual "grandfather" of mkslides, it would be an honor to be mentioned by you as a possible alternative :) ! Looking at reveal-md -h, I think mkslides has most of the features in some kind of way, with the exception of the following:

Before sunsetting reveal-md and redirecting users, I would like to polish up the config, config documentation, and yaml frontmatter parsing of mkslides to make it all more clear to potential migrating users. I've already did some similar work recently and the approach seems promising, so I hope/estimate to solve it in the next 30 days or so if that's OK by you?

MartenBE commented 1 day ago

@jaywhj custom scripts, custom styles, ... are possible, but indeed badly documented. As discussed here and in https://github.com/MartenBE/mkslides/issues/11 this should be handled better soon. Currently mkslides is used by coworkers and myself for production, this dogfooding also gives valid issues and bugs, but suggestions are always welcome. My daytime job has a very uneven balance in work during the year and these months are heavily tasked, but begin 2025 the load balances out the other way and I can focus more on my open-source contributions.

lacks some comprehensive configuration instructions. Later, by comparing the configuration files of reveal-md, I successfully configured all the plug-ins and desired features. One is the json version and the other is the yml version. if necessary, I can share it.

Please do! Perhaps better in a separate issue or in https://github.com/MartenBE/mkslides/issues/11

these projects do not consider non-developer users.

That's correct and won't change. If users don't know markdown or how to install/execute a python package, they are better of with PowerPoint or https://slides.com/ .

jaywhj commented 1 day ago

@MartenBE ,Thanks for the reply, there are some additions to this:

About Preprocessing

Preprocessing is very practical, for example, it can help me automatically add page breaks, especially when there is a lot of content in the md source text, when I convert it, I need to manually add 20-50 separators, with preprocessing, it can automatically insert page breaks according to the header, and it can also ensure the readability of the markdown source file to the greatest extent (there is no separator in the source text, only it is automatically added when converting).

Therefore, based on this, it is recommended that this feature be added in the next update.


About not take non-developer users

Sorry, I may not have made it clear earlier, but I was referring to projects like slidev and marp, which are too heavy and complex to be suitable for the average user. reveal is a good fit, I like the reveal project, I won't use other projects, I only use the Reveal ecosystem project for slides, and I would like to thank the two of you open source contributions.


About ScrollView

Scroll view: I don't use it also, but I've tried it, mkslides supports it as well, no additional configuration and development is required, upstream reveal.js is already done. Add the parameter ?view=scroll directly after the URL you visit,like this site/index.html?view=scroll, and then refresh the page to become a scrolling view, you try.


About use cases

I'm going to reopen an issue and submit my use case for your reference, including the preprocessing part mentioned above.


Seeing you say that the project is about to usher in a lot of updates, I am very happy and looking forward to it, come on! Thank you for your efforts, excellent project and I will recommend it to all my colleagues and friends.

jaywhj commented 13 hours ago

@MartenBE @webpro

Hi guys, the use case for MkSlides and reveal-md is here: md-slideshow.