Coder Social home page Coder Social logo

Comments (9)

mojavelinux avatar mojavelinux commented on July 30, 2024 1

Here's my proposal (when I get to it):

  • Move the asciidoctor-latex repo to asciidoctor-latex-plus
    • GitHub will automatically add a redirect from asciidoctor-latex to asciidoctor-latex-plus
  • The formal name of the new project is "Asciidoctor LaTeX"
  • Update the gem name to asciidoctor-latex-plus
  • Create a new repository named asciidoctor-latex-core
    • I plan to rename it to asciidoctor-latex, but I want to give people a chance to be redirected to asciidoctor-latex-plus before we take over the name
  • Set up a new gem structure for the LaTeX converter
  • Start to convert the nodes

The main open question is how to structure the converter. Clearly, we want a concrete converter class which can be extended, perhaps named LaTeXConverter. But should we create a monolithic class like the ManpageConverter, or should we create a class for each node? So far, I've been implementing converters as a single class with methods to handle each node, but I'm open to new approaches.

The converter should not extend the built-in converter class since that is meant to be internal. Instead, it should extend or include the Converter class, which is the proper extension point. In fact, there should be no direct reference to any converter-related class in core except for Converter.

In terms of goals and policies, the converter should only convert AsciiDoc to LaTeX. In doing so, it should not introduce any new syntax into AsciiDoc, nor should it do any preprocessing. Instead, it should faithfully map the semantics of AsciiDoc to the semantics of LaTeX. Enhancements to the notation belong in "plus", as that will become the experimental playground for new ideas that may find their way back into core.

The output the converter produces should only require the most minimal LaTeX toolchain as possible, within reason. In other words, if someone has the LaTeX toolchain (which the README should document how to install or at least what's expected), they should be able to convert the .tex file without having to get a lot of extra / optional LaTeX packages. If they need more stuff included in the header, they can rely on docinfo files, just like with other formats.

from asciidoctor-latex.

tribut avatar tribut commented on July 30, 2024 1

Are there any plans to proceed on this? I have a couple of improvements I want to make to asciidoctor-latex and I'm not sure if waiting for this split to happen would save everybody time...

from asciidoctor-latex.

tribut avatar tribut commented on July 30, 2024

Sounds reasonable.

from asciidoctor-latex.

jxxcarlson avatar jxxcarlson commented on July 30, 2024

I agree with @mojavelinux that there are two separate needs and therefore having two projects make sense. As I see it, asciidoctor-latex-plus is indeed asciidoctor-latex plus some other things. Therefore, if the projects could be set up so that the latter can build on any changes to the former, that would be great, since it would allow me to work with a better foundation. For reasons of my own interests and abilities, I think it would be best to have someone other than me be the lead on the base (vanilla) version. Of course I would be glad to help to the extent that I can.

I see two benefits from this. One is that by having a really good asciidoc-latex (complete coveragte!), one will have a way to generate very high quality pdf output for asciidoc docs. The other is that it will make my own work much easier.

from asciidoctor-latex.

prudhomm avatar prudhomm commented on July 30, 2024

sounds good. we can definitely provide tests :)

from asciidoctor-latex.

jxxcarlson avatar jxxcarlson commented on July 30, 2024

from asciidoctor-latex.

mojavelinux avatar mojavelinux commented on July 30, 2024

Great! Thanks for the feedback. I'll start working on this change this weekend. It shouldn't affect any outstanding work as GitHub preserves all the data. The only change is that when we create a new repository at asciidoctor-latex, you'll need to update your git remote URL to asciidoctor-latex-plus. But I'll let you know as we go along.

from asciidoctor-latex.

mojavelinux avatar mojavelinux commented on July 30, 2024

I'm going to need to push this migration to next weekend. I have family coming into town and I ran out of time this weekend to get it started. I'll be back ;)

from asciidoctor-latex.

ggrossetie avatar ggrossetie commented on July 30, 2024

The output the converter produces should only require the most minimal LaTeX toolchain as possible, within reason.

πŸ‘
It will also be easier to port this converter to JavaScript.

from asciidoctor-latex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.