github / markup

Determines which markup library to use to render a content file (e.g. README) on GitHub
MIT License
5.87k stars 3.39k forks source link

Rendering math equations? #897

Closed IreneCrisologo closed 7 years ago

IreneCrisologo commented 8 years ago

Hi folks, Any updates on this? Rendering math on README pages would be very very helpful.

I know it can be done using online tools like iTex2Img but it would be easier if the normal latex expressions can be digested.

Thanks a bunch! -i

FlorianFranzen commented 7 years ago

@kivikakk I would strongly urge you to look up how latex-style math for websites is rendered, e.g. KaTeX.

It does not actually involve (La)TeX, but only adheres to the syntax LaTeX uses in its math environments. All we are asking for is that the github-markup gem supports some kind of math rendering, preferably LaTeX-style based, as it is quick to write and intuitive to read.

If you need more inspiration on how to potentially implement it, feel free to check out how gitlab implemented it.

Please stop blaming security for your unwillingness to invest any time on this issue, we hear that excuse from our governments often enough.

milasudril commented 7 years ago

Another hack: Pretend that it is supported and refer to this issue (if someone complains that your pages cannot be read properly.

hyiltiz commented 7 years ago

If you are reading this, consider yourself redirected to www.gitlab.org.

ghost commented 7 years ago

@kivikakk I understand that GitHub developers are trying to make the best decisions about any new features, but this is important, please reconsider working on finding a way to render LaTeX equations on wiki pages.

As a stop-gap solution I'm currently using the GitHub with MathJax Chrome extension.

cben commented 7 years ago

BTW, Github already supports math in 2 contexts, so the "security" argument doesn't hold.

P.S. if anyone in GitHub will actually look at implementing this, there is the problem of everybody choosing different syntax for math in markdown :-( I'm collecting known syntaxes in https://github.com/cben/mathdown/wiki/math-in-markdown

milasudril commented 7 years ago

Please do output native text when possible, and not images. Syntax-wise I would suggest the same as math.stackexchange.

jrappen commented 7 years ago

I prefer Gitlab's approach of using:

```math
```
eyalroz commented 7 years ago

I dislike the the links-to-images option - not easily copyable-editable like Markdown - and would very much like to have even basic math support (such as different font and spacing for symbols, and allowing subscripts and superscripts.)

johndpope commented 7 years ago

I think an officially supported maths plugin in browser would over time would be best solution. The rendering and security problems would be limited to client (think flash updates). It need not be drab - throw the kitchen sink at it. Allowing some maths input. While the mathjax plugin works for rendering - it falls short in input.

https://chrome.google.com/webstore/detail/github-with-mathjax/ioemnmodlmafdkllaclgeombjnmnbima

screen shot 2017-05-11 at 8 33 41 pm

https://gist.github.com/ivanlukianchuk/e74d0f786c1beae9c0c6

AaronNGray commented 7 years ago

I have delt with the security problems. Basically you store the TeX in a repo and only allow display of images generated from the TeX in markdown files in that repo. The app can allow editing of the TeX via its web UI. This will allow forks and will use GitHub OAuth2 authentification.

On 12 May 2017 at 01:34, John Pope notifications@github.com wrote:

I think an officially supported maths 3rd party plugin in browser would over time would be best solution. The rendering and security problems would be limited to client (think flash updates). It need not be drab - throw the kitchen sink at it. Allowing some maths input. While the mathjax plugin works for rendering - it falls short in input.

https://chrome.google.com/webstore/detail/github-with-mathjax/ ioemnmodlmafdkllaclgeombjnmnbima

[image: screen shot 2017-05-11 at 8 33 41 pm] https://cloud.githubusercontent.com/assets/289994/25977358/2a85c230-3689-11e7-8863-37d8b80208d1.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/github/markup/issues/897#issuecomment-300952555, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOEzmI0lVq4N950KYgPC3aBMtssnqXks5r46khgaJpZM4IrWxc .

-- Aaron Gray

Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.

AaronNGray commented 7 years ago

Also on the server side the latex exec can be run in a sandbox'ed separate user account possibly chroot'ed in its own small directory structure one per GitHub user/organization account with symlink's to shared resource.

On 12 May 2017 at 01:42, Aaron Gray aaronngray@gmail.com wrote:

I have delt with the security problems. Basically you store the TeX in a repo and only allow display of images generated from the TeX in markdown files in that repo. The app can allow editing of the TeX via its web UI. This will allow forks and will use GitHub OAuth2 authentification.

On 12 May 2017 at 01:34, John Pope notifications@github.com wrote:

I think an officially supported maths 3rd party plugin in browser would over time would be best solution. The rendering and security problems would be limited to client (think flash updates). It need not be drab - throw the kitchen sink at it. Allowing some maths input. While the mathjax plugin works for rendering - it falls short in input.

https://chrome.google.com/webstore/detail/github-with-mathja x/ioemnmodlmafdkllaclgeombjnmnbima

[image: screen shot 2017-05-11 at 8 33 41 pm] https://cloud.githubusercontent.com/assets/289994/25977358/2a85c230-3689-11e7-8863-37d8b80208d1.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/github/markup/issues/897#issuecomment-300952555, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOEzmI0lVq4N950KYgPC3aBMtssnqXks5r46khgaJpZM4IrWxc .

-- Aaron Gray

Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.

-- Aaron Gray

Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.

johndpope commented 7 years ago

Dear github / mergers and acquisition people - please just buy a company that has some expertise in this field. these guys could be a good candidate. http://www.mathmagic.com/product/lite.html

this issue hasn't shifted in 3 years. https://github.com/github/markup/issues/274

Be bold. Show some leadership to the scientific, mathematic and machine learning communities.

potential acquisition https://www.overleaf.com/

nihonjinrxs commented 7 years ago

This issue is definitely important, and it's really painful not to have support for equations.

Image based workarounds are clunky at best, hard to edit, and generally don't meet accessibility requirements, which are a legal mandate for all publicly funded universities in the US.

Individual browser plugin based workarounds don't help because they don't allow for someone else looking at the repo who doesn't have the plugin installed.

Native support is needed here.

If not this repo, then where? If it's code I can get to, I'm happy to work on it and do a PR if needed, but I'd want to know you all would merge once done before I dedicate the time. Let me know.

johndpope commented 7 years ago

Well - some good news - thanks to @goessner - and his markdown math plugin for Visual studio code - you can write / read maths equations quite elegantly by the look of it https://marketplace.visualstudio.com/items?itemName=goessner.mdmath

Dear Github - please roll out Markdown maths in gists. https://github.com/goessner/mdmath

johndpope commented 7 years ago

I think taking a leaf out of wikipedia's book - they do both - they have support for latex maths equations - and spit out an image with the 'alt' / text alternative markup allowing editors to update / edit / copy and paste.

screen shot 2017-06-30 at 15 57 29

for anyone using Chrome extension - you may want to check out Alt Text Tester (where you can double click to copy latex ) - https://chrome.google.com/webstore/detail/alt-text-tester/koldhcllpbdfcdpfpbldbicbgddglodk

there is also this chrome plugin to spit out images of maths equations https://chrome.google.com/webstore/detail/equatio-math-made-digital/hjngolefdpdnooamgdldlkjgmdcmcjnc

screen shot 2017-07-01 at 15 52 22
milasudril commented 7 years ago

However, native mml should be supported as well. Wikipedia doesn't.

AaronNGray commented 7 years ago

MathML is not supported by most browsers its sort of been dropped AFAICS dunno why ?

On 1 July 2017 at 09:09, Torbjörn Rathsman notifications@github.com wrote:

However, native mml should be supported as well. Wikipedia doesn't.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/github/markup/issues/897#issuecomment-312418291, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOEwEIQbYIbP1JZWm5_uvrxc-BUtCtks5sJf6pgaJpZM4IrWxc .

-- Aaron Gray

Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.

milasudril commented 7 years ago

Well here is a status report on that statement. There are four main browsers: Blink (WebKit fork for Chrome?), Edge, Gecko and WebKit. Gecko has complete MathML support and WebKit has experimental support. Safari (WebKit based) has it from 10.1. See also http://caniuse.com/#search=mathml. The Chrome and Edge teams have no plans to support it.

Then one can observe that XML is PITA and TeX is nice (from a user point of view, see https://groups.google.com/forum/#!topic/mozilla.dev.platform/96dZw1jXTvM). But the important thing here is that there should be a way of displaying formulas natively, without falling back to images. For Gecko, MathML is the way of doing it, while the other engines has no stable way.

Another point is that not all users are Pro(tm) users. If Chrome and Edge targets a consumer grade product, you may claim that math support is not needed. This is fine as long as there are browsers Pro(tm) users. Actually, one of the main reasons I use Firefox over Chrom* is that it supports math natively.

AaronNGray commented 7 years ago

I dont like things that dont render for all users as it can put people off of your product/content

On 1 July 2017 at 20:00, Torbjörn Rathsman notifications@github.com wrote:

Well here is a status report on that statement. There are four main browsers: Blink (WebKit fork for Chrome?), Edge, Gecko and WebKit. Gecko has complete MathML support and WebKit has experimental support. Safari (WebKit based) has it from 10.1. See also http://caniuse.com/#search= mathml. The Chrome and Edge teams have no plans to support it.

Then one can observe that XML is PITA and TeX is nice (from a user point of view, see https://groups.google.com/forum/#!topic/mozilla.dev. platform/96dZw1jXTvM). But the important thing here is that there should be a way of displaying formulas natively, without falling back to images. For Gecko, MathML is the way of doing it, while the other engines has no stable way.

Another point is that not all users are Pro(tm) users. If Chrome and Edge targets a consumer grade product, you may claim that math support is not needed. This is fine as long as there are browsers Pro(tm) users. Actually, one of the main reasons I use Firefox over Chrom* is that it supports math natively.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/github/markup/issues/897#issuecomment-312449840, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOE5mmiaySAYdSxja1Mlg3DeDv5OQhks5sJpdegaJpZM4IrWxc .

-- Aaron Gray

Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.

eyalroz commented 7 years ago

@milasudril , @AaronNGray : Shouldn't this discussion separate the markup users enter when editing and the result of rendering the markup? I mean, as far as the result is concerned, it could be MathML for WebKit and Gecko, and images for Edge and Blink. And as for the markup - that can be chosen half-independently and certainly does not depend on which browser you use.

milasudril commented 7 years ago

@eyalroz That was the implied meaning of

But the important thing here is that there should be a way of displaying formulas natively, without falling back to images. For Gecko, MathML is the way of doing it, while the other engines has no stable way.

andy-shev commented 7 years ago

GitHub has good expertise in storage are and bad one in math apparently. Guys, it's not a way how to help users. Math formulas are tighten to the software more than you (probably) think.

RoyiAvital commented 7 years ago

Any chance to make GitHub reconsider this?

Today many of the codes in GitHub deals with Data Analysis and Math documentation is essential for that. Please reconsider.

FlorianFranzen commented 7 years ago

@kivikakk Since you have not replied by now, I assuming your decision is final. Gitlab it is.

sachinruk commented 7 years ago

ping. Any update on this? I dont think anyone has given up on wanting math equations on their README's.

kivikakk commented 7 years ago

I'll repeat my last point — this repository is not for feature requests. It's a gem for delegating markup rendering.

Rendering math inline in e.g. Markdown is not a github-markup issue. You're welcome to reach out to the support team with further questions and suggestions about it, but please note that Markup does one specific thing — delegate rendering to gems — and rendering math inline in blobs happens elsewhere.

If you comment here, you don't reach the support team who can then direct your query appropriately, you reach me, and I'm not the person who decides what we implement in the GitHub product.