From 46d0d69257a0aec45e1a0b139390f56dba72ff2f Mon Sep 17 00:00:00 2001 From: Kwankyu Lee Date: Thu, 7 Apr 2022 13:50:19 +0900 Subject: [PATCH] Add sage package mathjax3 --- .../mathjax3/MathJax-3.2.0/CONTRIBUTING.md | 314 ++++++++++++++++++ build/pkgs/mathjax3/MathJax-3.2.0/LICENSE | 202 +++++++++++ build/pkgs/mathjax3/MathJax-3.2.0/README.md | 237 +++++++++++++ build/pkgs/mathjax3/MathJax-3.2.0/bower.json | 11 + .../pkgs/mathjax3/MathJax-3.2.0/composer.json | 14 + .../pkgs/mathjax3/MathJax-3.2.0/package.json | 59 ++++ build/pkgs/mathjax3/SPKG.rst | 32 ++ build/pkgs/mathjax3/checksums.ini | 4 + build/pkgs/mathjax3/distros/conda.txt | 1 + build/pkgs/mathjax3/distros/opensuse.txt | 1 + build/pkgs/mathjax3/distros/repology.txt | 1 + build/pkgs/mathjax3/distros/void.txt | 1 + build/pkgs/mathjax3/package-version.txt | 1 + build/pkgs/mathjax3/spkg-install.in | 4 + build/pkgs/mathjax3/spkg-src | 34 ++ build/pkgs/mathjax3/type | 1 + 16 files changed, 917 insertions(+) create mode 100644 build/pkgs/mathjax3/MathJax-3.2.0/CONTRIBUTING.md create mode 100644 build/pkgs/mathjax3/MathJax-3.2.0/LICENSE create mode 100644 build/pkgs/mathjax3/MathJax-3.2.0/README.md create mode 100644 build/pkgs/mathjax3/MathJax-3.2.0/bower.json create mode 100644 build/pkgs/mathjax3/MathJax-3.2.0/composer.json create mode 100644 build/pkgs/mathjax3/MathJax-3.2.0/package.json create mode 100644 build/pkgs/mathjax3/SPKG.rst create mode 100644 build/pkgs/mathjax3/checksums.ini create mode 100644 build/pkgs/mathjax3/distros/conda.txt create mode 100644 build/pkgs/mathjax3/distros/opensuse.txt create mode 100644 build/pkgs/mathjax3/distros/repology.txt create mode 100644 build/pkgs/mathjax3/distros/void.txt create mode 100644 build/pkgs/mathjax3/package-version.txt create mode 100644 build/pkgs/mathjax3/spkg-install.in create mode 100755 build/pkgs/mathjax3/spkg-src create mode 100644 build/pkgs/mathjax3/type diff --git a/build/pkgs/mathjax3/MathJax-3.2.0/CONTRIBUTING.md b/build/pkgs/mathjax3/MathJax-3.2.0/CONTRIBUTING.md new file mode 100644 index 00000000000..7153d85d6b6 --- /dev/null +++ b/build/pkgs/mathjax3/MathJax-3.2.0/CONTRIBUTING.md @@ -0,0 +1,314 @@ +# Contributing to MathJax + +You are interested in giving us a hand? That's awesome! We've put +together some brief guidelines that should help you get started +quickly and easily. + +There are lots and lots of ways to get involved, this document covers: + +* [reporting an issue](#reporting-an-issue) + * [bug reports](#bug-reports) + * [feature requests](#feature-requests) + * [change requests](#change-requests) +* [working on MathJax core](#working-on-mathjax-core) + * [key branches and tags](#key-branches--tags) + * [submitting pull requests](#submitting-pull-requests) + * [testing and quality assurance](#testing-and-quality-assurance) + * [writing documentation](#writing-documentation) + * [translation](#translation) +* [Conduct](#conduct) + + +## Reporting An Issue + +If you're about to raise an issue because you think you've found a +problem with MathJax, or you'd like to make a request for a new +feature in the codebase, or any other reason, please read this first. + +The [MathJax issue +tracker](https://github.com/mathjax/MathJax/issues) is the +preferred channel for [bug reports](#bug-reports), [feature +requests](#feature-requests), [change requests](#change-requests), and +[submitting pull requests](#submitting-pull-requests), but please +respect the following restrictions: + +* Please **search for existing issues**. Help us keep duplicate issues + to a minimum by checking to see if someone has already reported your + problem or requested your idea. + +* Please **do not** use the issue tracker for personal support + requests (use [the MathJax User Group](https://groups.google.com/forum/#!forum/mathjax-users)). + +* Please **be civil**. Keep the discussion on topic and respect the + opinions of others. See also our [Conduct Guidelines](#conduct) + +### Bug Reports + +A bug is a *demonstrable problem* that is caused by the code in the +repository. Good bug reports are extremely helpful — thank you! + +Guidelines for bug reports: + +1. **Use the GitHub issue search** — check if the issue has already been + reported. + +2. **Check if the issue has been fixed** — look for [closed + issues in the current + milestone](https://github.com/mathjax/MathJax/issues?q=is%3Aclosed) + or try to reproduce it using the latest `develop` branch. Please + note that you will need to + [compile MathJax and make the components](https://docs.mathjax.org/en/latest/web/hosting.html#getting-mathjax-via-git) + in order to test MathJax from the source repository. + +3. **Share a live sample of the problem** — without a live page + it is usually impossible to debug problems; see also the [Bug Report + Template](#template) below. + +4. **Isolate the problem** — a live sample is a starting point + but if you want to speed things up, create a [reduced test + case](http://css-tricks.com/6263-reduced-test-cases/). Be specific + about your setup (browser, OS versions, etc). Use services like + [jsbin](http://jsbin.com), [CodePen](http://codepen.io), or + [jsFiddle](http://jsfiddle.com) to make collaboration on minimal + test cases easier for everyone. + +5. **Include a screenshot/cast as a last resort** — Is your + issue about a layout or design feature or bug that is hard to reproduce + or isolate? Then please provide a screenshot or screencast. Tools + like [LICEcap](http://www.cockos.com/licecap/) or + [SauceLabs](http://www.saucelabs.com) allow you to quickly and + easily record a screencasts. If you make it an animated gif, you can + embed it directly into your GitHub issue. + +6. Use the [Bug Report Template](#template) below or [click this + link](https://github.com/MathJax/MathJax/issues/new?title=Bug%3A&body=%23%23%23%20Issue%20Summary%0A%0A%23%23%23%20Steps%20to%20Reproduce%0A%0A1.%20This%20is%20the%20first%20step%0A%0AThis%20is%20a%20bug%20because...%0A%0A%23%23%23%20Technical%20details%0A%0A*%20MathJax%20Version%3A%20master%20-%20latest%20commit%3A%20%20INSERT%20COMMIT%20REF%0A*%20Client%20OS%3A%20%0A*%20Browser%3A%20%0A*%20) + to start creating a bug report with the template automatically. + +A good bug report shouldn't leave others needing to request +more information from you. Be sure to include the details of your environment. + + + +Template Example ([click to use](https://github.com/MathJax/MathJax/issues/new?title=Bug%3A&body=%23%23%23%20Issue%20Summary%0A%0A%23%23%23%20Steps%20to%20Reproduce%0A%0A1.%20This%20is%20the%20first%20step%0A%0AThis%20is%20a%20bug%20because...%0A%0A%23%23%23%20Technical%20details%0A%0A*%20MathJax%20Version%3A%20master%20-%20latest%20commit%3A%20%20INSERT%20COMMIT%20REF%0A*%20Client%20OS%3A%20%0A*%20Browser%3A%20%0A*%20)): + +``` +Short and descriptive example bug report title + +### Issue Summary + +A summary of the issue and the browser/OS environment in which it occurs. If +suitable, include the steps required to reproduce the bug. + +### Steps to Reproduce + +1. This is the first step +2. This is the second step +3. Further steps, etc. + +Any other information you want to share that is relevant to the issue +being reported. Especially, why do you consider this to be a bug? What +do you expect to happen instead? + +### Technical details: + +* MathJax Version: 2.3 (latest commit: f3aaf3a2a3e964df2770dc4aaaa9c87ce5f47e2c) +* Client OS: Mac OS X 10.8.4 +* Browser: Chrome 29.0.1547.57 +``` + + +### Feature Requests + +Feature requests are welcome. Before you submit one, be sure to have: + +1. **Used the GitHub search** to check that the feature hasn't already + been requested. +2. Take a moment to think about whether your idea fits with the scope + and aims of the project, or if it might better fit being a [custom + extension](https://github.com/mathjax/MathJax-third-party-extensions). +3. Remember, it's up to *you* to make a strong case to convince the + project's leaders of the merits of this feature. Please provide as + much detail and context as possible, this means explaining the use + case and why it is likely to be common. + +### Change Requests + +Change requests cover both architectural and functional changes to how +MathJax works. If you have an idea for a new or different dependency, +a refactor, or an improvement to a feature, etc., please be sure to: + +1. **Use the GitHub search** to check that someone else didn't get there first. +2. Take a moment to think about the best way to make a case for, and + explain what you're thinking. Are you sure this shouldn't really be + a [bug report](#bug-reports) or a [feature + request](#feature-requests)? Is it really one idea or is it many? + What's the context? What problem are you solving? Why is what you + are suggesting better than what's already there? + +## Working on MathJax core + +You want to contribute code? We describe how below. First, note that +the MathJax source code is in the + repository, not the + repository, which contains the +packaged component files for distribution on CDNs and the [mathjax npm +package](https://www.npmjs.com/package/mathjax) (the source code is +included in the [mathjax-full npm +package](https://www.npmjs.com/package/mathjax-full)). + +### Key Branches & Tags + +MathJax uses several permanent branches in the [MathJax source repository](https://github.com/mathjax/MathJax-src): + +- **[develop](https://github.com/mathjax/MathJax-src/tree/develop)** + is the development branch. All work on the next release happens here + so you should generally branch off `develop` if you are going to + submit a pull request. Do **NOT** use this branch for a production + site. + +- **[master](https://github.com/mathjax/MathJax-src)** contains the latest + release of MathJax. This branch may be used in production. Do + **NOT** use this branch to work on MathJax's source. + +These branches reflect version 3 of MathJax, which is substantially +different from the version 2 codebase. Version 2 will continue to be +maintained while web sites transition to version 3, with work being +done using the following branches in the [MathJax distribution +repository](https://github.com/mathjax/MathJax): + +- **[legacy-v2-develop](https://github.com/mathjax/MathJax/tree/legacy-v2-develop)** + is the development branch for changes to the legacy version 2 code. + Any pull requests for version 2 should be branched from here. Do + **NOT** use this branch for a production site. + +- **[legacy-v2](https://github.com/mathjax/MathJax/tree/legacy-v2)** + is the branch that contains any updates to version 2 following + the release of version 3. Do **NOT** use this branch to work on + MathJax's source. + +In addition to these branches, MathJax uses tags to identify the +various versions. These can be checked out to obtain the specified +release; for example, `git checkout 2.7.5` would get you the files for +version 2.7.5 of MathJax. + +Note that version 3 is written in Typescript, and so must be compiled +to obtain usable javascript files, and that the components need to be +built once that is done. See the +[documentation](https://docs.mathjax.org/en/latest/web/hosting.html#getting-mathjax-via-git) +for details. For version 2, the source javascript files are not +compressed until a release is made, so you should use the copies in +the `unpacked` directory during development. + + +### Submitting Pull Requests + +Pull requests are welcome. If you're looking to submit a PR for +something that doesn't have an open issue, please consider [raising an +issue](#reporting-an-issue) that your PR can close, especially if +you're fixing a bug. This makes it more likely that there will be +enough information available for your PR to be properly tested and +merged. + +##### Need Help? + +If you're not completely clear on how to submit/update/*do* Pull +Requests, please check out our [source control +policies](https://github.com/mathjax/MathJax/wiki/Source-control-policies). For +more insights, check the excellent in depth [Git Workflow +guide](https://github.com/TryGhost/Ghost/wiki/Git-Workflow) from +Ghost, in particular + +* [Ghost Workflow guide: commit messages](https://github.com/TryGhost/Ghost/wiki/Git-workflow#commit-messages) + +### Testing and Quality Assurance + +If you're +looking to get involved with the code base and don't know where to +start, checking out and testing a pull request is one of the most +useful things you could do. + +These are some [excellent +instructions](https://gist.github.com/piscisaureus/3342247) on +configuring your GitHub repository to allow you to checkout pull +requests in the same way as branches. + + +### Writing documentation + +MathJax's main documentation can be found at [docs.mathjax.org](http://docs.mathjax.org). +The source of the docs is hosted in the +[mathjax/MathJax-docs](http://github.com/mathjax/MathJax-docs) repo here on GitHub. + +The documentation is generated using +[Sphinx-doc](http://sphinx-doc.org/) and hosted on [Read the +docs](http://readthedocs.org). You can clone the repo and submit pull +requests following the [pull-request](#submitting-pull-requests) +guidelines. + + +### Translation + +If you wish to add or update translations of MathJax, please do it on +[TranslateWiki.net](https://translatewiki.net/w/i.php?title=Special:Translate&group=out-mathjax-0-all) +(and while you're there you can help other open source projects, +too). + +For bug reports and other questions that don't fit on +TranslateWiki.net, head over to the +[mathjax/mathjax-i18n](https://github.com/mathjax/MathJax-i18n) +repository. + +The translation files currently are for version 2, as localization +hasn't been added to version 3 yet. + +## Conduct + +As a NumFOCUS fiscally sponsored project, MathJax is governed by the +[NumFOCUS code of conduct](https://numfocus.org/code-of-conduct), +which we summarize as follows: + +We are committed to providing a friendly, safe and welcoming +environment for all, regardless of gender, sexual orientation, +disability, ethnicity, religion, or similar personal characteristic. + +Please be kind and courteous. There's no need to be mean or rude. +Respect that people have differences of opinion and that every design +or implementation choice carries a trade-off and numerous costs. There +is seldom a right answer, merely an optimal answer given a set of +values and circumstances. + +Please keep unstructured critique to a minimum. If you have solid +ideas you want to experiment with, make a fork and see how it works. + +We will exclude you from interaction if you insult, demean or harass +anyone. That is not welcome behaviour. We interpret the term +"harassment" as including the definition in the [Unacceptable +Behavior](https://numfocus.org/code-of-conduct#unacceptable-behavior) +section of the [NumFOCUS code of +conduct](https://numfocus.org/code-of-conduct); if you have any lack +of clarity about what might be included in that concept, please read +that definition. In particular, we don't tolerate behavior that +excludes people in socially marginalized groups. + +Private harassment is also unacceptable. No matter who you are, if you +feel you have been or are being harassed or made uncomfortable by a +community member, please contact one of the channel ops or any of the +[MathJax](https://github.com/MathJax/MathJax) core team +immediately. Whether you're a regular contributor or a newcomer, we +care about making this community a safe place for you and we've got +your back. + +Likewise any spamming, trolling, flaming, baiting, or other +attention-stealing behaviour is not welcome. + +We also recommend that you read [discourse's +rules](http://blog.discourse.org/2013/03/the-universal-rules-of-civilized-discourse/) +for further suggestions on appropriate behavior. + +## References + +* We heavily borrowed from Mozilla and Ghost -- thank you! + * + * +* +* diff --git a/build/pkgs/mathjax3/MathJax-3.2.0/LICENSE b/build/pkgs/mathjax3/MathJax-3.2.0/LICENSE new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/build/pkgs/mathjax3/MathJax-3.2.0/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/build/pkgs/mathjax3/MathJax-3.2.0/README.md b/build/pkgs/mathjax3/MathJax-3.2.0/README.md new file mode 100644 index 00000000000..94186007ac0 --- /dev/null +++ b/build/pkgs/mathjax3/MathJax-3.2.0/README.md @@ -0,0 +1,237 @@ +# MathJax +## Beautiful math in all browsers + +![GitHub release version](https://img.shields.io/github/v/release/mathjax/MathJax-src.svg?sort=semver) +![GitHub release version (v2)](https://img.shields.io/github/package-json/v/mathjax/MathJax/legacy-v2.svg?label=release-v2) +![NPM version](https://img.shields.io/npm/v/mathjax.svg?style=flat) +![powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat) +![jsdelivr rank](https://flat.badgen.net/jsdelivr/rank/npm/mathjax?color=green) +![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hm/mathjax) +![npm monthly downloads (full)](https://img.shields.io/npm/dm/mathjax?label=npm) +![npm total downloads](https://img.shields.io/npm/dt/mathjax.svg?style=flat&label=npm%20total) + +MathJax is an open-source JavaScript display engine for LaTeX, MathML, +and AsciiMath notation that works in all modern browsers. It was +designed with the goal of consolidating the recent advances in web +technologies into a single, definitive, math-on-the-web platform +supporting the major browsers and operating systems. It requires no +setup on the part of the user (no plugins to download or software to +install), so the page author can write web documents that include +mathematics and be confident that users will be able to view it +naturally and easily. Simply include MathJax and some mathematics in +a web page, and MathJax does the rest. + +Some of the main features of MathJax include: + +- High-quality display of LaTeX, MathML, and AsciiMath notation in HTML pages + +- Supported in most browsers with no plug-ins, extra fonts, or special + setup for the reader + +- Easy for authors, flexible for publishers, extensible for developers + +- Supports math accessibility, cut-and-paste interoperability, and other + advanced functionality + +- Powerful API for integration with other web applications + +See for additional details about MathJax, +and for the MathJax documentation. + +## MathJax Components + +MathJax version 3 uses files called *components* that contain the +various MathJax modules that you can include in your web pages or +access on a server through NodeJS. Some components combine all the +pieces you need to run MathJax with one or more input formats and a +particular output format, while other components are pieces that can +be loaded on demand when needed, or by a configuration that specifies +the pieces you want to combine in a custom way. For usage +instructions, see the [MathJax documentation](https://docs.mathjax.org). + +Components provide a convenient packaging of MathJax's modules, but it +is possible for you to form your own custom components, or to use +MathJax's modules directly in a node application on a server. There +are [web examples](https://github.com/mathjax/MathJax-demos-web) +showing how to use MathJax in web pages and how to build your own +components, and [node +examples](https://github.com/mathjax/MathJax-demos-node) illustrating +how to use components in node applications or call MathJax modules +directly. + +## What's in this Repository + +This repository contains only the component files for MathJax, not the +source code for MathJax (which are available in a separate [MathJax +source repository](https://github.com/mathjax/MathJax-src/)). These +component files are the ones served by the CDNs that offer MathJax to +the web. In version 2, the files used on the web were also the source +files for MathJax, but in version 3, the source files are no longer on +the CDN, as they are not what are run in the browser. + +The components are stored in the `es5` directory, and are in ES5 format +for the widest possible compatibility. In the future, we may make an +`es6` directory containing ES6 versions of the components. + +## Installation and Use + +### Using MathJax components from a CDN on the web + +If you are loading MathJax from a CDN into a web page, there is no +need to install anything. Simply use a `script` tag that loads +MathJax from the CDN. E.g., + +``` html + +``` + +See the [MathJax +documentation](https://docs.mathjax.org/en/latest/index.html#browser-components), +the [MathJax Web Demos](https://github.com/mathjax/MathJax-demos-web), +and the [MathJax Component +Repository](https://github.com/mathjax/MathJax-demos-web) for more information. + +### Hosting your own copy of the MathJax Components + +If you want to host MathJax from your own server, you can do so by +installing the `mathjax` package using `npm` and moving the `es5` +directory to an appropriate location on your server: + +``` bash +npm install mathjax@3 +mv node_modules/mathjax/es5 /mathjax +``` + +Note that we are still making updates to version 2, so include `@3` +when you install, since the latest chronological version may not be +version 3. + +Alternatively, you can get the files via GitHub: + +``` bash +git clone https://github.com/mathjax/MathJax.git mj-tmp +mv mj-tmp/es5 /mathjax +rm -rf mj-tmp +``` + +Then (in either case) you can use a script tag like the following: + +``` html + +``` + +where `` is replaced by the URL to the location +where you moved the MathJax files above. + +See the +[documentation](https://docs.mathjax.org/en/latest/web/hosting.html) +for details. + +### Using MathJax components in a node application + +To use MathJax components in a node application, install the `mathjax` package: + +``` bash +npm install mathjax@3 +``` + +(we are still making updates to version 2, so you should include `@3` +since the latest chronological version may not be version 3). + +Then require `mathjax` within your application: + +```js +require('mathjax').init({ ... }).then((MathJax) => { ... }); +``` + +where the first `{ ... }` is a MathJax configuration, and the second +`{ ... }` is the code to run after MathJax has been loaded. E.g. + +```js +require('mathjax').init({ + loader: {load: ['input/tex', 'output/svg']} +}).then((MathJax) => { + const svg = MathJax.tex2svg('\\frac{1}{x^2-1}', {display: true}); + console.log(MathJax.startup.adaptor.outerHTML(svg)); +}).catch((err) => console.log(err.message)); +``` + +**Note:** this technique is for node-based application only, not for +browser applications. This method sets up an alternative DOM +implementation, which you don't need in the browser, and tells MathJax +to use node's `require()` command to load external modules. This +setup will not work properly in the browser, even if you webpack it or +bundle it in other ways. + +See the +[documentation](https://docs.mathjax.org/en/latest/index.html#server-nodejs) +and the [MathJax Node +Repository](https://github.com/mathjax/MathJax-demos-node) for more details. + +## Reducing the Size of the Components Directory + +Since the `es5` directory contains *all* the component files, so if +you are only planning one use one configuration, you can reduce the +size of the MathJax directory by removing unused components. For +example, if you are using the `tex-chtml.js` component, then you can +remove the `tex-mml-chtml.js`, `tex-svg.js`, `tex-mml-svg.js`, +`tex-chtml-full.js`, and `tex-svg-full.js` configurations, which will +save considerable space. Indeed, you should be able to remove +everything other than `tex-chtml.js`, and the `input/tex/extensions`, +`output/chtml/fonts/woff-v2`, `adaptors`, `a11y`, and `sre` +directories. If you are using the results only on the web, you can +remove `adaptors` as well. + +If you are not using A11Y support (e.g., speech generation, or +semantic enrichment), then you can remove `a11y` and `sre` as well +(though in this case you may need to disable the assistive tools in +the MathJax contextual menu in order to avoid MathJax trying to load +them when they aren't there). + +If you are using SVG rather than CommonHTML output (e.g., `tex-svg.js` +rather than `tex-chtml.js`), you can remove the +`output/chtml/fonts/woff-v2` directory. If you are using MathML input +rather than TeX (e.g., `mml-chtml.js` rather than `tex-chtml.js`), +then you can remove `input/tex/extensions` as well. + + +## The Component Files and Pull Requests + +The `es5` directory is generated automatically from the contents of the +MathJax source repository. You can rebuild the components using the +command + +``` bash +npm run make-es5 --silent +``` + +Note that since the contents of this repository are generated +automatically, you should not submit pull requests that modify the +contents of the `es5` directory. If you wish to submit a modification +to MathJax, you should make a pull request in the [MathJax source +repository](https://github.com/mathjax/MathJax-src). + +## MathJax Community + +The main MathJax website is , and it includes +announcements and other important information. A [MathJax user +forum](http://groups.google.com/group/mathjax-users) for asking +questions and getting assistance is hosted at Google, and the [MathJax +bug tracker](https://github.com/mathjax/MathJax/issues) is hosted +at GitHub. + +Before reporting a bug, please check that it has not already been +reported. Also, please use the bug tracker (rather than the help +forum) for reporting bugs, and use the user's forum (rather than the +bug tracker) for questions about how to use MathJax. + +## MathJax Resources + +* [MathJax Documentation](https://docs.mathjax.org) +* [MathJax Components](https://github.com/mathjax/MathJax) +* [MathJax Source Code](https://github.com/mathjax/MathJax-src) +* [MathJax Web Examples](https://github.com/mathjax/MathJax-demos-web) +* [MathJax Node Examples](https://github.com/mathjax/MathJax-demos-node) +* [MathJax Bug Tracker](https://github.com/mathjax/MathJax/issues) +* [MathJax Users' Group](http://groups.google.com/group/mathjax-users) + diff --git a/build/pkgs/mathjax3/MathJax-3.2.0/bower.json b/build/pkgs/mathjax3/MathJax-3.2.0/bower.json new file mode 100644 index 00000000000..6b214b933ea --- /dev/null +++ b/build/pkgs/mathjax3/MathJax-3.2.0/bower.json @@ -0,0 +1,11 @@ +{ + "name": "MathJax", + "main": "./MathJax.js", + "homepage": "http://www.mathjax.org/", + "ignore": [ + "**/.*", + "node_modules", + "components" + ], + "keywords": ["math", "js", "LaTeX", "MathML", "AsciiMath"] +} diff --git a/build/pkgs/mathjax3/MathJax-3.2.0/composer.json b/build/pkgs/mathjax3/MathJax-3.2.0/composer.json new file mode 100644 index 00000000000..b1b9d27aed6 --- /dev/null +++ b/build/pkgs/mathjax3/MathJax-3.2.0/composer.json @@ -0,0 +1,14 @@ +{ + "name": "mathjax/mathjax", + "type": "library", + "description": "MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all modern browsers.", + "keywords": ["math", "js", "LaTeX", "MathML", "AsciiMath"], + "homepage": "http://www.mathjax.org/", + "license": "Apache-2.0", + "authors": [ + { + "name": "MathJax Consortium", + "homepage": "https://github.com/mathjax" + } + ] +} diff --git a/build/pkgs/mathjax3/MathJax-3.2.0/package.json b/build/pkgs/mathjax3/MathJax-3.2.0/package.json new file mode 100644 index 00000000000..6706949557b --- /dev/null +++ b/build/pkgs/mathjax3/MathJax-3.2.0/package.json @@ -0,0 +1,59 @@ +{ + "name": "mathjax", + "version": "3.2.0", + "description": "Beautiful and accessible math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers. This package includes the packaged components (install mathjax-full to get the source code).", + "keywords": [ + "math", + "svg", + "mathml", + "tex", + "latex", + "asciimath", + "browser", + "node" + ], + "devDependencies": { + "mathjax-full": "3.2.0" + }, + "maintainers": [ + "MathJax Consortium (http://www.mathjax.org)" + ], + "bugs": { + "url": "http://github.com/mathjax/MathJax/issues" + }, + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "git://github.com/mathjax/MathJax.git" + }, + "main": "es5/node-main.js", + "files": [ + "/es5" + ], + "scripts": { + "test": "echo 'No tests defined'", + "clean": "npm run --silent clean:es5 && npm run --silent clean:node", + "clean:es5": "rm -rf es5", + "clean:node": "rm -rf node_modules package-lock.json", + "message": "echo \"$(tput setaf 4)${npm_package_config_message}$(tput setaf 0)\" && echo", + "line": "echo '--------------------------------------------'", + "title": "npm run --silent line && npm run --silent message --mathjax:message=\"${npm_package_config_title}\"", + "preinstall:mj3": "npm run --silent title --mathjax:title='Installing MathJax...'", + "install:mj3": "npm install", + "preinstall:mj3-deps": "npm run --silent message --mathjax:message='Installing MathJax Dependencies...'", + "install:mj3-deps": "cd node_modules/mathjax-full && npm install", + "install:all": "npm run --silent install:mj3 && npm run --silent install:mj3-deps", + "precompile": "npm run --silent title --mathjax:title='Compiling MathJax...'", + "compile": "cd node_modules/mathjax-full && npm run --silent compile", + "precomponents": "npm run --silent title --mathjax:title='Building MathJax Components...'", + "components": "cd node_modules/mathjax-full && npm run --silent make-components", + "premove": "npm run --silent title --mathjax:title='Moving MathJax Components...'", + "move": "npm run --silent clean:es5 && mv node_modules/mathjax-full/es5 .", + "premake-es5": "npm run --silent clean:node", + "make-es5": "npm run --silent install:all && npm run --silent compile && npm run --silent components && npm run --silent move", + "postmake-es5": "npm run --silent title --mathjax:title='Cleaning Up...' && npm run --silent clean:node", + "preget-es5": "npm run --silent clean:node", + "get-es5": "npm run --silent install:mj3 && npm run --silent move", + "postget-es5": "npm run --silent title --mathjax:title='Cleaning Up...' && npm run --silent clean:node" + } +} diff --git a/build/pkgs/mathjax3/SPKG.rst b/build/pkgs/mathjax3/SPKG.rst new file mode 100644 index 00000000000..b957186a448 --- /dev/null +++ b/build/pkgs/mathjax3/SPKG.rst @@ -0,0 +1,32 @@ +mathjax3: A JavaScript library for displaying mathematical formulas +=================================================================== + +Description +----------- + +MathJax3 is a JavaScript library for displaying mathematical formulas. + +MathJax3 is used by the Sage documentation built by Sphinx. + +License +------- + +Apache License, version 2.0 + + +Upstream Contact +---------------- + +Home page: https://www.mathjax.org/ + +Dependencies +------------ + +None + + +Special Update/Build Instructions +--------------------------------- + +None + diff --git a/build/pkgs/mathjax3/checksums.ini b/build/pkgs/mathjax3/checksums.ini new file mode 100644 index 00000000000..4ffadfb32b1 --- /dev/null +++ b/build/pkgs/mathjax3/checksums.ini @@ -0,0 +1,4 @@ +tarball=mathjax-VERSION.tar.gz +sha1=4fec236527498c480b92032afe36d06d2741973c +md5=6eb4395cd91b71be846623d30a9bff70 +cksum=2042371852 diff --git a/build/pkgs/mathjax3/distros/conda.txt b/build/pkgs/mathjax3/distros/conda.txt new file mode 100644 index 00000000000..37aaaac759c --- /dev/null +++ b/build/pkgs/mathjax3/distros/conda.txt @@ -0,0 +1 @@ +mathjax diff --git a/build/pkgs/mathjax3/distros/opensuse.txt b/build/pkgs/mathjax3/distros/opensuse.txt new file mode 100644 index 00000000000..37aaaac759c --- /dev/null +++ b/build/pkgs/mathjax3/distros/opensuse.txt @@ -0,0 +1 @@ +mathjax diff --git a/build/pkgs/mathjax3/distros/repology.txt b/build/pkgs/mathjax3/distros/repology.txt new file mode 100644 index 00000000000..37aaaac759c --- /dev/null +++ b/build/pkgs/mathjax3/distros/repology.txt @@ -0,0 +1 @@ +mathjax diff --git a/build/pkgs/mathjax3/distros/void.txt b/build/pkgs/mathjax3/distros/void.txt new file mode 100644 index 00000000000..37aaaac759c --- /dev/null +++ b/build/pkgs/mathjax3/distros/void.txt @@ -0,0 +1 @@ +mathjax diff --git a/build/pkgs/mathjax3/package-version.txt b/build/pkgs/mathjax3/package-version.txt new file mode 100644 index 00000000000..944880fa15e --- /dev/null +++ b/build/pkgs/mathjax3/package-version.txt @@ -0,0 +1 @@ +3.2.0 diff --git a/build/pkgs/mathjax3/spkg-install.in b/build/pkgs/mathjax3/spkg-install.in new file mode 100644 index 00000000000..4429a680a53 --- /dev/null +++ b/build/pkgs/mathjax3/spkg-install.in @@ -0,0 +1,4 @@ +TARGET="${SAGE_SHARE}/mathjax3" +# Cleanup installed version +rm -rf "${TARGET}" +sdh_install src/* "${TARGET}" diff --git a/build/pkgs/mathjax3/spkg-src b/build/pkgs/mathjax3/spkg-src new file mode 100755 index 00000000000..dadb1411c6f --- /dev/null +++ b/build/pkgs/mathjax3/spkg-src @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -e + +[ -n "${SAGE_ROOT}" ] || SAGE_ROOT="$(pwd)/../../../" + + +# determine latest version. +GIT_VERSION="$(curl https://github.com/mathjax/MathJax/releases | grep 'MathJax v' | head -1 | sed 's|^.*MathJax v||g' | sed 's/\s*$//g')" +echo "GIT_VERSION=$GIT_VERSION" + +# fetch and rename latest version. +URL="https://github.com/mathjax/MathJax/archive/refs/tags/${GIT_VERSION}.zip" +echo "Downloading $URL" +rm -rf src +if [ -z "$UPSTREAM_SOURCE_TARBALL" ]; then + tar xzf <( curl -L "$URL" ) +else + tar xzf "$UPSTREAM_SOURCE_TARBALL" +fi + +mv MathJax-${GIT_VERSION}/es5 src + +PACKAGE_VERSION=${GIT_VERSION} + +# repack +tar czf "$SAGE_ROOT/upstream/mathjax-${PACKAGE_VERSION}.tar.gz" src +rm -rf src + +# update package info +echo "${PACKAGE_VERSION}" > 'package-version.txt' +"$SAGE_ROOT"/sage --package fix-checksum mathjax3 + + diff --git a/build/pkgs/mathjax3/type b/build/pkgs/mathjax3/type new file mode 100644 index 00000000000..a6a7b9cd726 --- /dev/null +++ b/build/pkgs/mathjax3/type @@ -0,0 +1 @@ +standard