Subversion Repositories wimsdev

Rev

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. 160 KByte if
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
* Project web site: https://jsxgraph.org/
25
- Project web site: https://jsxgraph.org/
26
* Project wiki with hundreds of examples: https://jsxgraph.org/wiki/
26
- Project wiki with hundreds of examples: https://jsxgraph.org/wiki/
27
* GitHub project site: https://github.com/jsxgraph/jsxgraph
27
- GitHub project site: https://github.com/jsxgraph/jsxgraph
28
* Mailing List/Google Group: https://groups.google.com/group/jsxgraph
28
- Mailing List/Google Group: https://groups.google.com/group/jsxgraph
29
* JSXGraph questions at https://stackoverflow.com/search?tab=newest&q=jsxgraph
29
- JSXGraph questions at https://stackoverflow.com/search?tab=newest&q=jsxgraph
30
* jsFiddle template: https://jsfiddle.net/8kep9syd/
30
- jsFiddle template: https://jsfiddle.net/8kep9syd/
-
 
31
- YouTube channel: https://www.youtube.com/channel/UCANBFoVoOyW2eNyTvx-VZdQ
31
* Moodle filter: https://github.com/jsxgraph/moodle-filter_jsxgraph
32
- Moodle filter: https://github.com/jsxgraph/moodle-filter_jsxgraph
32
* (outdated: SourceForge project site: https://sf.net/projects/jsxgraph)
33
- (outdated: SourceForge project site: https://sf.net/projects/jsxgraph)
33
* CDNs: Embed JSXGraph via
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.2.3/jsxgraphcore.js"></script>
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.2.3/jsxgraph.css" />
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
* `jsxgraphcore.js` and 
60
- `jsxgraphcore.js` and
60
* `jsxgraph.css` and, 
61
- `jsxgraph.css` and,
61
* if required, one or more file readers 
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) In order to build and develop *JSXGraph* you need [node.js](https://nodejs.org/) v0.6+. First, install all
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
  * GNU Lesser General Public License as published by
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
  OR
135
  
-
 
136
or
-
 
137
 
105
  * MIT License: https://github.com/jsxgraph/jsxgraph/blob/master/LICENSE.MIT
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.