sinaatalay / rendercv

A LaTeX CV/Resume Framework
http://docs.rendercv.com
MIT License
725 stars 63 forks source link

A more pretty HTML output #93

Closed sahiljhawar closed 1 month ago

sahiljhawar commented 1 month ago

How feasible would it be to generate a rst file following which it can be built into a more pretty HTML webpage?

sinaatalay commented 1 month ago

I don't have any experience with rst files. Any guidance on this matter would be appreciated.

sahiljhawar commented 1 month ago

rst are like md but on steriods and sphinx loves rst files to generate web pages (the Python docs you see are mostly rst now a days)

sahiljhawar commented 1 month ago

Okay, so the script indeed generates md. This can be used to generate sphinx based html. I will try have a more detailed look into it.

sahiljhawar commented 1 month ago

@sinaatalay I tried to read the code and I was easily lost within the code. But I have a suggestion for pretty HTML, alongside creating the Grammarly HTML file, we can pass the generated markdown to sphinx and create a more better looking HTML doc (based on tempelate taken from the user). Of course this can be an optional dependency. Any thoughts?

sinaatalay commented 1 month ago

You don't need to read the code for this. When you use rendercv new, a folder called markdown will be generated. This folder contains the Markdown files, which are automatically converted into HTML. If you make changes to the contents of this folder, the corresponding HTML will be updated accordingly.

If you think RST will be a good choice, I suggest the following:

  1. Update the contents of the markdown folder as if they are RST.
  2. Then take the output (John_Doe.md) and rename it to John_Doe.rst. Then, use your favorite RST to HTML tool to see the outcome.

My thoughts about a pretty HTML:

HTML is just a markup language; the style and the design come from a CSS file. People can use CSS to make the existing HTML output a very nice-looking page and also modify the Markdown to modify the HTML output. I wouldn't want to ship a CSS with RenderCV because that would be another big thing to maintain, and LaTeX designs already need maintenance.

The HTML output's primary purpose is to enable users to easily copy and paste the CV's content into other software applications, such as Grammarly.

sahiljhawar commented 1 month ago

I will try the rendercv new. Maybe rst can be skipped since markdown is already there. But my rationale behind the HTML is to allows users to have a low-code web based CV which they don’t have to maintain separately. And with sphinx it cannot be any simpler. The formatting and everything is taken care of by the sphinx

sinaatalay commented 1 month ago

HTML output will take care of that. The CSS file doesn't need to be updated every time an HTML file changes; it's a one-time development.

If you could post an example of an RST CV and an example of HTML output under this issue, we can think of using RST as well.

sahiljhawar commented 1 month ago

User can of course setup the sphinx-doc manually if they want it (as I already did it). Most Python documentation (md and rst) are sphinx based

sahiljhawar commented 1 month ago

Implementing RST will be a humongous task, I think. But I will soon share the sphinx code (if I manage to integrate the Sphinx API with rendercv)

sinaatalay commented 1 month ago

It should be very easy; when you try out rendercv new, you will understand what I mean. It requires a maximum of 60 lines of work.