|
|
## MathJax's Google Summer of Code 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.
|
|
|
|
|
|
## Get in touch
|
|
|
|
|
|
You can reach the team in a multitude of ways.
|
|
|
|
|
|
* Here on [GitHub](https://github.com/mathjax/).
|
|
|
* On our community mailing list, [mathjax-user](https://groups.google.com/forum/#!forum/mathjax-users)
|
|
|
* On our developer mailing list, [mathjax-dev](https://groups.google.com/forum/#!forum/mathjax-dev)
|
|
|
* On twitter [@mathjax](https://twitter.com/mathjax)
|
|
|
* By [email](info@mathjax.org)
|
|
|
|
|
|
|
|
|
## Code of Conduct
|
|
|
|
|
|
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](https://github.com/mathjax/MathJax/blob/master/CONTRIBUTING.md#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](peter.krautzberger@mathjax.org).
|
|
|
|
|
|
|
|
|
## Application Instructions
|
|
|
|
|
|
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!
|
|
|
|
|
|
### Mentors
|
|
|
|
|
|
Davide Cervone ([@dpvc](https://github.com/dpvc))
|
|
|
|
|
|
Volker Sorge ([@zorkow](https://github.com/zorkow))
|
|
|
|
|
|
Peter Krautzberger ([@pkra](https://github.com/pkra)
|
|
|
|
|
|
### Technologies Used
|
|
|
|
|
|
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](https://github.com/mathjax/MathJax/blob/master/CONTRIBUTING.md) for details on our development workflow. In particular, we will need accepted students to sign our [contributor license agreement](Contributor-license-agreement-etc) (a standard Apache-License CLA).
|
|
|
|
|
|
### Template for GSoC applications
|
|
|
|
|
|
Below is a suggestion for structuring a project application. We gladly acknowledge of stealing this from [Wikimedia's excellent example](https://www.mediawiki.org/wiki/Google_Summer_of_Code_2014) (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.
|
|
|
|
|
|
## Project ideas
|
|
|
|
|
|
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](https://github.com/mathjax/mathjax)
|
|
|
* [adapting or solving issues for specific LaTeX packages](https://github.com/mathjax/MathJax/issues/1127)
|
|
|
* [improved copy&paste](https://github.com/mathjax/MathJax/issues/1117)
|
|
|
* [improved "elementary math"](https://github.com/mathjax/MathJax/issues/1101)
|
|
|
* [improved BiDi/RTL support](https://github.com/mathjax/MathJax/issues/1311)
|
|
|
* [our discoverable UI](https://github.com/mathjax/MathJax/issues/1114)
|
|
|
* find additional inspiration in the Feature requests for the current version from [our backlog](https://github.com/mathjax/MathJax/milestone/10).
|
|
|
* Our NodeJS API [mathjax-node](https://github.com/mathjax/MathJax-node)
|
|
|
* [Browserify](https://github.com/mathjax/MathJax-node/issues/147) compatibility
|
|
|
* [support for arbitrary fonts](https://github.com/mathjax/MathJax-node/issues/80)
|
|
|
* [improved third-party extension support](https://github.com/mathjax/MathJax-node/issues/147)
|
|
|
* also check other [feature requests](https://github.com/mathjax/MathJax-node/issues?q=is%3Aissue+is%3Aopen+label%3A%22Feature+Request%22)
|
|
|
* Version 3.0 re-implementation (https://github.com/mathjax/mathjax-tc)
|
|
|
* implement a new renderer module (e.g. for [Canvas](https://www.w3.org/wiki/HTML/Elements/canvas))
|
|
|
* add to the [context menu module](https://github.com/zorkow/context-menu/)
|
|
|
* re-implement MathJax's zoom and magnification tool in [Typescript](http://www.typescriptlang.org)
|
|
|
* Our full-fledged, client-side accessibility extensions [MathJax-a11y](https://github.com/mathjax/MathJax-a11y),
|
|
|
* Check also the sister project, [speech-rule-engine](https://github.com/zorkow/speech-rule-engine).
|
|
|
* [Build tools] (https://github.com/mathjax/MathJax-dev) for MathJax
|
|
|
* in particular [improving our font tool chain](https://github.com/mathjax/MathJax-dev/issues/13)
|
|
|
* and adapting these tools for v3.0
|
|
|
* Our [test suite](https://github.com/mathjax/MathJax-test), which will be completely overhauled as part of our v3.0 work this year.
|
|
|
* Many of our [third-party extensions](https://github.com/mathjax/MathJax-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! |