Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LaTeXML support for CVs #200

Closed
dginev opened this issue Mar 17, 2011 · 12 comments
Closed

LaTeXML support for CVs #200

dginev opened this issue Mar 17, 2011 · 12 comments

Comments

@dginev
Copy link
Collaborator

dginev commented Mar 17, 2011

[Originally Ticket 1524]

I have been asked whether LaTeXML could be used to create CVs for websites. I think that is a good feature that would gear more normal users to benefit from LaTeXML. Of course, this is definitely not a first priority.

From my understanding, some of the complex parts are creating bindings for CV packages such as moderncv and to support bibliography magic (multi-section bibliographies) as for example does bibtopic.

I am filing the ticket here for a lack of a better place and giving it low priority.

@brucemiller
Copy link
Owner

Offhand, can't think of a reason why it shouldn't be fairly easy...
depends on how perverse the cv style is, though.

@dginev dginev added this to the Future milestone Feb 17, 2014
@dginev dginev modified the milestones: LaTeXML-0.8.3, Future Nov 22, 2014
@dginev
Copy link
Collaborator Author

dginev commented Mar 23, 2015

Just to show this is possible (and I do apologize I am linking to my own bio), this is a moderncv-based resume, created via LaTeXML: http://prodg.org/cv .

I would like to make arrangements for the responsible code to swim back into the master repo, but it needs some polish first. At the moment, it contains:

  • A moderncv.sty.ltxml binding
  • A LaTeXML-CV.xsl post-processing stylesheet (because I used bootstrap)
  • A ltx-cv.css stylesheet for making it look pretty

The issue is that I made them too specific for the context of my personal website, so they need some disentangling back into mint status. For instance, the only reason I needed a custom stylesheet (that just extended on top of the HTML5 one) is that I was doing some Bootstrap-based styling.

@brucemiller
Copy link
Owner

Interesting, since I just updated my cv using moderncv...

Most of moderncv looks "easy", if tedious; and the styling takes some creativity; so the 1st & 3rd items shouldn't be hard to integrate.

Trickier is how to deal with the 2nd item: to easily integrate extra stylesheets, or to avoid the need to do so. The catch with bootstrap, is that, perhaps inevitably, you have to completely buy-in at the outset and use official bootstrap classes on many critical elements.

You could, in principle, arrange for the appropriate elements to get appropriate classes added during conversion. It's not quite in the spirit of LaTeXML to do such complete restyling at that stage, and probably isn't trivial to insert such behaviour at all the right places.

Perhaps more in the right spirit would be a way of customizing the way classes are added to element upon conversion?

@dginev
Copy link
Collaborator Author

dginev commented Mar 24, 2015

I agree that moderncv is easy but tedious, it is 100% styling work.

I think we can do with a simpler solution that is already compliant with the way LaTeXML deals with CSS. Namely:

  • The moderncv binding will add LaTeX-motivated structural markup via class attributes (ltx-cv-address if need be).
  • There can be be two separate stylesheets - ltx-cv.css and ltx-cv-bstrp.css that style a CV with and without bootstrap markup. To generate the latter stylesheet I would need to use the LESS generator for CSS, but that is something acceptable if only the stylesheet developer needs to have it installed.

@brucemiller
Copy link
Owner

But bootstrap is general purpose, not specific to cv, right? So someone might want to use it with any document that LaTeXML generates. Seems like we should be thinking of either hooks, or conventions, or a suggestion guide as to how someone could generate their own extra boostrap css. They can always request the extra stylesheet be loaded using the --css option.

@dginev
Copy link
Collaborator Author

dginev commented Mar 24, 2015

Right, my previous suggestion was "let whoever is writing the CSS files figure out how to integrate Bootstrap", keeping it completely external to the LaTeXML pipeline.

Internalizing a particular CSS dialect may cause more problems than it solves.

@dginev
Copy link
Collaborator Author

dginev commented Mar 24, 2015

So I totally agree with your "let them use --css" conclusion. Guides on how to write Bootstrap-inheriting CSS already exist, it's basically writing LESS and compiling it to CSS.

@brucemiller
Copy link
Owner

I'll be looking forward to seeing the binding & css. And of course, if there's ways to make using bootstrap easier, w/o necessarily building it in, that'd be nice to hear!

@drogeek
Copy link

drogeek commented Jul 3, 2015

I'm interested by this suggestion.

@dginev
Copy link
Collaborator Author

dginev commented Aug 21, 2017

Bumping this thread while talking with @tkw1536 , it looks like my custom binding from 2 years ago is still useful and I still "just" need to do the extra work of separating the concrete CSS from the class names. Something for me to do on a rainy weekend. (Good news: fall is coming, lots of rainy weekends ahead!)

@dginev dginev self-assigned this Dec 5, 2017
@dginev
Copy link
Collaborator Author

dginev commented Dec 5, 2017

I still feel somewhat guilty for haven't getting the moderncv binding in a state acceptable by master. It is also relevant to the HTML5 documentation issue I just opened at #896 , as the guidelines could both be informed by, and could direct me in choosing the markup and general approach to styling the final CV.

Won't go into more hand-waving here for now, just giving myself a bump to remember to upgrade the binding into a bootstrap-independent form and contribute it back to master.

@dginev
Copy link
Collaborator Author

dginev commented Apr 16, 2018

Just about 7 years after opening this issue, finally had enough time to land a working binding in master! 🎱

The coverage is incomplete still, but providing further support is a lot easier now that the infrastructure is in place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants