Comments (9)
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.
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.
Sounds reasonable.
from asciidoctor-latex.
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.
sounds good. we can definitely provide tests :)
from asciidoctor-latex.
from asciidoctor-latex.
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.
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.
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)
- dollar signs in source blocks HOT 2
- Equation number in LaTeX example does not produce expected result HOT 1
- Enhancement: Support for LaTeX tables
- Multiple math mode glitches HOT 3
- Negative line number reported in output messages
- Inline stem not quoted in the latex backend HOT 1
- Missing backslash escapes in generated .tex source HOT 1
- Latex conversion of tables with "asciidoctor" style columns fails. Table captions missing too.
- Experimental macros left out HOT 1
- Fix, potentially, for fontspec/pdflatex problem
- asterisk lists aren't converted to lists
- `method_missing': undefined method `convert_environment' HOT 3
- Image captions are not getting generated with `asciidoctor-latex` HOT 4
- asciidoctor-bibtex not working with current version HOT 1
- Multiple errors and dysfunctional .tex file HOT 1
- Non escaped underscore in constrained quotes
- Does Not Handle @ In Emails Correctly HOT 1
- % sign is transcribed as is, causing it to comment rest of line
- Issue with labels in Asciidioc to LaTeX HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asciidoctor-latex.