elm-tooling / gsoc-projects

A list of possible gsoc projects
4 stars 4 forks source link

Student Proposal: Math equations parsing in elm-markdown by building a Latex parser #15

Open btofficiel opened 3 years ago

btofficiel commented 3 years ago

Math equations parsing in elm-markdown by building a Latex parser

Name : Bhaskar Thakur Name in Slack : bhaskarthakur Email: bhaskar.dezire@gmail.com Possible Mentor: Dilon Kearns @dillonkearns

Summary

The project would focus on parsing latex strings written in Markdown and converting those to HTML. Currently dillonkearns/elm-markdown doesn't seem to provide a way of writing Math equations in Markdown and converting those to HTML. There are hacks to do that using MathJax and custom elements or elm katex package but none of those two are pure Elm. The project aims to solve that problem using Pure elm and no other JavaScript libraries.

How will I achieve this

What will the project focus on

The project has two primary parts to focus on:-

Benefits

Projects such as elm-pages will benefit from these as it will enable mathematical writing for blog writers who are using elm-pages or similar static site generators for their blogs. Static Site generators in JS ecosystem already can do this using MathJax or Katex and thus it's essential for the elm community to enable such a feature using Pure Elm rather than using ports or building custom elements.

Timeline

May 17 - June 7 (Community bonding)

Get familiar with the team and the mentors and study Dilon's elm-markdown implementation in more depth. This period would be used to schedule the tasks and checkpoints so that the progress of the project can be kept in check.

June 8 - June 22

This period would contain most of the work that is to be done in the project. Specifically, I plan to complete the building of Latex Parser during this period of time. If some time is left, then would use that in figuring out the correct way to structure and render the Latex Block as HTML.

June 23 - July 11

The focus in this period would be to get done with the rendering part of the project. The remaining time will be used to fix bugs if any exist. The commitment from my side will see a dip during this phase as my midterms happen during the end of June.

July 12 - July 16 (First Evaluation)

The work will be reviewed by the mentor in this period and any changes required in the project would be scheduled as tasks to complete further.

July 17 - July 31

The changes prescribed by the mentor in the previous phase would be completed during this period.

August 1 - August 15

Documentation work related to the changes made in the library would be done during this period. The remaining time would be spent on fixing any major bugs that are left in the package.

August 16 - August 23 (Code Submission and Final Evaluation)

I will get my final work reviewed by the mentors and would recap my experience in GSoc in a blog post.

Goals

Requirements

Language: Elm Packages: elm/parser, dillonkearns/elm-markdown

razzeee commented 3 years ago

I think goals should also reference "Tests" in some way, even if that's a given for most people.