-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
GSoC ideas
We have submitted an application as an organization for GSoC 2017. This wiki page helps you get started with your proposals as student.
Update MathJax didn't make the cut in its first application. We'll look forward to updating this next year.
These ideas are suggestions that we think would make good GSoC projects. They are only meant to be a starting point. Check out our proposal template, and feel free to open an issue to ask questions or discuss other ideas.
You can reach the team in a multitude of ways.
- Here on GitHub.
- On our community mailing list, mathjax-user
- On our developer mailing list, mathjax-dev
- On twitter @mathjax
- By email
We take our responsibility seriously to provide a safe and productive environment for anyone who wants to work on MathJax. As part of this, we expect you to follow our Code of Conduct.
If you need help or have any questions, don't hesitate to contact us through any of our channels or write directly to our project manager Peter.
Please read and apply via https://summerofcode.withgoogle.com/get-started/.
In your application please tell us:
- About yourself your name and how we contact you (e.g. email)
- About the idea you are proposing which of our ideas is it? or describe in detail if it's your own!
- How you will implement your idea provide a detailed work timeline that breaks the project into 1 week milestones.
- Why you link to a previous MathJax pull-request you've submitted or share a piece of your work that you've built with MathJax!
Davide Cervone (@dpvc)
Volker Sorge (@zorkow)
Peter Krautzberger (@pkra
MathJax and its child projects are primary written in JavaScript and we use Git and GitHub for version control and updates. You do not need to have used any of these before but you must be willing to learn JavaScript, Git and GitHub.
Also make sure to read our Contributing Guidelines for details on our development workflow. In particular, we will need accepted students to sign our contributor license agreement (a standard Apache-License CLA).
Below is a suggestion for structuring a project application. We gladly acknowledge of stealing this from Wikimedia's excellent example (where we participated as mentors before).
1 Title
2 Name and contact information
3 Synopsis
4 Project Details
6 Deliverables
7 Project schedule
8 Participation
9 About Me
10 Past open source experience
11 Any other info
Our advice: keep it short and share it early for feedback from the team.
Over its 7 years, MathJax has grown considerably, but its modular structure allows you to work on individual parts efficiently.
MathJax consists of several main and ancillary projects:
- The "core" MathJax
- adapting or solving issues for specific LaTeX packages
- improved copy&paste
- improved "elementary math"
- improved BiDi/RTL support
- our discoverable UI
- find additional inspiration in the Feature requests for the current version from our backlog.
- Our NodeJS API mathjax-node
- Browserify compatibility
- support for arbitrary fonts
- improved third-party extension support
- also check other feature requests
- Version 3.0 re-implementation (https://github.com/mathjax/mathjax-tc)
- implement a new renderer module (e.g. for Canvas)
- add to the context menu module
- re-implement MathJax's zoom and magnification tool in Typescript
- Our full-fledged, client-side accessibility extensions MathJax-a11y,
- Check also the sister project, speech-rule-engine.
- [Build tools] (https://github.com/mathjax/MathJax-dev) for MathJax
- in particular improving our font tool chain
- and adapting these tools for v3.0
- Our test suite, which will be completely overhauled as part of our v3.0 work this year.
- Many of our third-party extensions are also open to contributions.
While we would strongly suggest to start from an idea we suggest, we are open to your ideas for working on MathJax - so get in touch and we'll take it from there!