Rev 16489 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 16489 | Rev 18584 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | ----- |
7 | ----- |
8 | 8 | ||
9 | *JSXGraph* is a cross-browser library for interactive geometry, function plotting, |
9 | *JSXGraph* is a cross-browser library for interactive geometry, function plotting, |
10 | charting, and data visualization in a web browser. It is implemented completely |
10 | charting, and data visualization in a web browser. It is implemented completely |
11 | in JavaScript, does not rely on any other library, and uses SVG, canvas, or even the venerable VML. |
11 | in JavaScript, does not rely on any other library, and uses SVG, canvas, or even the venerable VML. |
12 | *JSXGraph* is easy to embed and has a small footprint: approx. |
12 | *JSXGraph* is easy to embed and has a small footprint: approx. 200 KByte if |
13 | embedded in a web page. No plug-ins are required! Special care has been taken |
13 | embedded in a web page. No plug-ins are required! Special care has been taken |
14 | to optimize the performance. |
14 | to optimize the performance. |
15 | 15 | ||
16 | *JSXGraph* supports multi-touch events and runs on all major browsers, even on very old IEs. |
16 | *JSXGraph* supports multi-touch events and runs on all major browsers, even on very old IEs. |
17 | 17 | ||
Line 20... | Line 20... | ||
20 | University of Bayreuth, Germany |
20 | University of Bayreuth, Germany |
21 | 21 | ||
22 | Website |
22 | Website |
23 | ------- |
23 | ------- |
24 | 24 | ||
25 |
|
25 | - Project web site: https://jsxgraph.org/ |
26 |
|
26 | - Project wiki with hundreds of examples: https://jsxgraph.org/wiki/ |
27 |
|
27 | - GitHub project site: https://github.com/jsxgraph/jsxgraph |
28 |
|
28 | - Mailing List/Google Group: https://groups.google.com/group/jsxgraph |
29 |
|
29 | - JSXGraph questions at https://stackoverflow.com/search?tab=newest&q=jsxgraph |
30 |
|
30 | - jsFiddle template: https://jsfiddle.net/8kep9syd/ |
- | 31 | - YouTube channel: https://www.youtube.com/channel/UCANBFoVoOyW2eNyTvx-VZdQ |
|
31 |
|
32 | - Moodle filter: https://github.com/jsxgraph/moodle-filter_jsxgraph |
32 |
|
33 | - (outdated: SourceForge project site: https://sf.net/projects/jsxgraph) |
33 |
|
34 | - CDNs: Embed JSXGraph via |
34 | 35 | ||
35 |
|
36 | ```html |
36 | <script type="text/javascript" charset="UTF-8" |
37 | <script type="text/javascript" charset="UTF-8" |
37 | src="https://cdn.jsdelivr.net/npm/jsxgraph/distrib/jsxgraphcore.js"></script> |
38 | src="https://cdn.jsdelivr.net/npm/jsxgraph/distrib/jsxgraphcore.js"></script> |
38 | <link rel="stylesheet" |
39 | <link rel="stylesheet" |
39 | type="text/css" href="https://cdn.jsdelivr.net/npm/jsxgraph/distrib/jsxgraph.css" /> |
40 | type="text/css" href="https://cdn.jsdelivr.net/npm/jsxgraph/distrib/jsxgraph.css" /> |
40 | ``` |
41 | ``` |
41 | 42 | ||
42 | or |
43 | or |
43 | 44 | ||
44 |
|
45 | ```html |
45 | <script type="text/javascript" charset="UTF-8" |
46 | <script type="text/javascript" charset="UTF-8" |
46 | src="//cdnjs.cloudflare.com/ajax/libs/jsxgraph/1. |
47 | src="//cdnjs.cloudflare.com/ajax/libs/jsxgraph/1.4.6/jsxgraphcore.js"></script> |
47 | <link rel="stylesheet" |
48 | <link rel="stylesheet" |
48 | type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/jsxgraph/1. |
49 | type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/jsxgraph/1.4.6/jsxgraph.css" /> |
49 | ``` |
50 | ``` |
50 | 51 | ||
51 | Please report bugs to our issue tracking system found at |
52 | Please report bugs to our issue tracking system found at |
52 | https://github.com/jsxgraph/jsxgraph/issues |
53 | https://github.com/jsxgraph/jsxgraph/issues |
53 | 54 | ||
54 | Usage |
55 | Usage |
55 | ----- |
56 | ----- |
56 | 57 | ||
57 | Include |
58 | Include |
58 | 59 | ||
59 |
|
60 | - `jsxgraphcore.js` and |
60 |
|
61 | - `jsxgraph.css` and, |
61 |
|
62 | - if required, one or more file readers |
62 | 63 | ||
63 | from a CDN or a local version in your HTML file. |
64 | from a CDN or a local version in your HTML file. |
- | 65 | ||
- | 66 | __HTML template:__ |
|
- | 67 | ||
- | 68 | ```html |
|
- | 69 | <!doctype html> |
|
- | 70 | <html lang="en"> |
|
- | 71 | <head> |
|
- | 72 | <meta charset="UTF-8"> |
|
- | 73 | <title>JSXGraph template</title> |
|
- | 74 | <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> |
|
- | 75 | <link href="https://cdn.jsdelivr.net/npm/jsxgraph/distrib/jsxgraph.css" rel="stylesheet" type="text/css" /> |
|
- | 76 | <script src="https://cdn.jsdelivr.net/npm/jsxgraph/distrib/jsxgraphcore.js" charset="UTF-8"></script> |
|
- | 77 | ||
- | 78 | <!-- The next line is optional: MathJax --> |
|
- | 79 | <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js" id="MathJax-script" async></script> |
|
- | 80 | </head> |
|
- | 81 | <body> |
|
- | 82 | ||
- | 83 | <div id="jxgbox" class="jxgbox" style="max-width:800px; aspect-ratio: 1/1;"></div> |
|
- | 84 | ||
- | 85 | <script> |
|
- | 86 | var board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-8, 8, 8, -8]}); |
|
- | 87 | var p = board.create('point', [1, 3], {name: 'point'}); |
|
- | 88 | </script> |
|
- | 89 | ||
- | 90 | </body> |
|
- | 91 | </html> |
|
- | 92 | ``` |
|
64 | 93 | ||
65 | For developing content, it is recommended to include `jsxgraphsrc.js` (`jsxgraphcore.js` is the minified version of `jsxgraphsrc.js`). |
94 | For developing content, it is recommended to include `jsxgraphsrc.js` (`jsxgraphcore.js` is the minified version of `jsxgraphsrc.js`). |
66 | For further usage instructions please consult our [wiki](https://jsxgraph.org/wiki/) |
95 | For further usage instructions please consult our [wiki](https://jsxgraph.org/wiki/) |
67 | especially our [tutorials](https://jsxgraph.org/wiki/index.php/Documentation) |
96 | especially our [tutorials](https://jsxgraph.org/wiki/index.php/Documentation) |
68 | or [the API reference docs](https://jsxgraph.org/docs/). |
97 | or [the API reference docs](https://jsxgraph.org/docs/). |
69 | 98 | ||
70 | Build and develop JSXGraph |
99 | Build and develop JSXGraph |
71 | -------------- |
100 | -------------- |
72 | 101 | ||
73 | 1) Clone this repository or download the zip file. |
102 | 1) Clone this repository or download the zip file. |
74 | - | ||
75 | 2) |
103 | 2) To build and develop *JSXGraph* you need [node.js](https://nodejs.org/) v0.6+. First, install all |
76 | dependencies required to build JSXGraph using npm in the JSXGraph root directory: `$ npm install`. |
104 | dependencies required to build JSXGraph using npm in the JSXGraph root directory: `$ npm install`. |
77 | This will create a new subdirectory ```node_modules``` in the JSXGraph root directory which holds |
105 | This will create a new subdirectory ```node_modules``` in the JSXGraph root directory which holds |
78 | all tools and libraries required to build ```jsxgraphcore.js```. |
106 | all tools and libraries required to build ```jsxgraphcore.js```. |
- | 107 | 3) To build JSXGraph run `$ npm run buildCore`. This will output an non-minified version `jsxgraphsrc.js` |
|
- | 108 | and the minified version `jsxgraphcore.js` into the folder `distrib`. |
|
- | 109 | 4) Develop JSXGraph: |
|
- | 110 | - Edit the source files in the folder `src` |
|
- | 111 | - Write unit tests in folder `test` |
|
- | 112 | - Run `$ npm run eslint` and `$ npm run test` to check for errors |
|
- | 113 | - Run `$ npm run check-format` to check the formatting of the source code |
|
- | 114 | - Submit a pull request |
|
79 | 115 | ||
80 | 3) To build JSXGraph run `$ make core` which will output an unminified version ```jsxgraphsrc.js``` and the minified version ```jsxgraphcore.js``` in ```distrib```. |
- | |
- | 116 | Plug-ins |
|
- | 117 | -------- |
|
81 | 118 | ||
- | 119 | - [JSXGraph filter for moodle and formulas](https://moodle.org/plugins/filter_jsxgraph) |
|
- | 120 | - [JSXGraph is in included in STACK](https://stack-assessment.org/) |
|
- | 121 | - Mediawiki plug-in is available in the folder `plugins` |
|
- | 122 | - [JSXGraph in Jupyter](https://pypi.org/project/jsxgraph-magic/) |
|
- | 123 | - ... |
|
82 | 124 | ||
83 | License |
125 | License |
84 | ------- |
126 | ------- |
85 | 127 | ||
86 | Copyright 2008-2022 |
- | |
87 | Matthias Ehmann, |
- | |
88 | Michael Gerhaeuser, |
- | |
89 | Carsten Miller, |
- | |
90 | Emmanuel Ostenne, |
- | |
91 | Bianca Valentin, |
- | |
92 | Heiko Vogel, |
- | |
93 | Alfred Wassermann, |
- | |
94 | Peter Wilfahrt |
- | |
95 | - | ||
96 | - | ||
97 | JSXGraph is free software dual licensed under the GNU LGPL or MIT License. |
128 | JSXGraph is free software dual licensed under the GNU LGPL or MIT License. |
98 | 129 | ||
99 | You can redistribute it and/or modify it under the terms of the |
130 | You can redistribute it and/or modify it under the terms of the |
100 | 131 | ||
101 |
|
132 | - GNU Lesser General Public License as published by |
102 | the Free Software Foundation, either version 3 of the License, or |
133 | the Free Software Foundation, either version 3 of the License, or |
103 | (at your option) any later version |
134 | (at your option) any later version |
104 |
|
135 | |
- | 136 | or |
|
- | 137 | ||
105 |
|
138 | - MIT License: https://github.com/jsxgraph/jsxgraph/blob/master/LICENSE.MIT |
106 | 139 | ||
107 | JSXGraph is distributed in the hope that it will be useful, |
140 | JSXGraph is distributed in the hope that it will be useful, |
108 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
141 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
109 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
142 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
110 | GNU Lesser General Public License for more details. |
143 | GNU Lesser General Public License for more details. |