CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
sagemathinc

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/next/pages/features/index.tsx
Views: 687
1
/*
2
* This file is part of CoCalc: Copyright © 2021 Sagemath, Inc.
3
* License: MS-RSL – see LICENSE.md for details
4
*/
5
6
import { Layout } from "antd";
7
8
import { COLORS } from "@cocalc/util/theme";
9
import Footer from "components/landing/footer";
10
import Head from "components/landing/head";
11
import Header from "components/landing/header";
12
import IndexList, { DataSource } from "components/landing/index-list";
13
import LaTeX from "components/landing/latex";
14
import A from "components/misc/A";
15
import { Customize } from "lib/customize";
16
import withCustomize from "lib/with-customize";
17
import ComputeServerInfographic from "public/features/running-compute-server.png";
18
import juliaScreenshot from "public/features/julia-jupyter.png";
19
import juliaLogo from "public/features/julia-logo.svg";
20
import sageScreenshot from "public/features/sage-worksheet.png";
21
import apiScreenshot from "/public/features/api-screenshot.png";
22
import ChatGptInChatroom from "/public/features/chatgpt-fix-code.png";
23
import teachingScreenshot from "/public/features/cocalc-course-assignments-2019.png";
24
import JupyterTF from "/public/features/cocalc-jupyter2-20170508.png";
25
import LatexEditorImage from "/public/features/cocalc-latex-editor-2019.png";
26
import octaveJupyter from "/public/features/cocalc-octave-jupyter-20200511.png";
27
import RJupyter from "/public/features/cocalc-r-jupyter.png";
28
import linuxShellScript from "/public/features/cocalc-shell-script-run.png";
29
import teachingLogo from "/public/features/fa-graduation-cap.svg";
30
import FrameEditorPython from "/public/features/frame-editor-python.png";
31
import JupyterLogo from "/public/features/jupyter-logo.svg";
32
import LatexLogo from "/public/features/latex-logo.svg";
33
import {
34
default as linuxLogo,
35
default as terminalLogo,
36
} from "/public/features/linux-logo.svg";
37
import octaveLogo from "/public/features/octave-logo.svg";
38
import PythonLogo from "/public/features/python-logo.svg";
39
import Rlogo from "/public/features/r-logo.svg";
40
import sageLogo from "/public/features/sage-sticker-1x1_inch-small.png";
41
import terminalScreenshot from "/public/features/terminal.png";
42
import WhiteboardImage from "/public/features/whiteboard-sage.png";
43
import x11Screenshot from "/public/features/x11-01.png";
44
import x11Logo from "/public/features/x11-logo.svg";
45
46
import AIAvatar from "@cocalc/frontend/components/ai-avatar";
47
import {
48
title as compueServerTitle,
49
logo as computeServerLogo,
50
component as computeServerName,
51
} from "./compute-server";
52
53
const dataSource = [
54
{
55
link: "/features/compute-server",
56
title: computeServerName,
57
logo: computeServerLogo,
58
logoBackground: "white",
59
image: ComputeServerInfographic,
60
description: (
61
<>
62
{compueServerTitle}. Read more in the{" "}
63
<A href="https://doc.cocalc.com/compute_server.html">
64
Compute Server documentation
65
</A>
66
.
67
</>
68
),
69
},
70
{
71
link: "/features/jupyter-notebook",
72
title: "Jupyter Notebooks",
73
logo: JupyterLogo,
74
image: JupyterTF,
75
logoBackground: "white",
76
description: (
77
<>
78
We provide a CoCalc specific version of Jupyter notebooks with real-time
79
collaboration, chat, and high precision edit history. Explore in more
80
detail in{" "}
81
<A href="https://doc.cocalc.com/jupyter.html">the documentation</A>.
82
</>
83
),
84
},
85
{
86
link: "/features/latex-editor",
87
title: (
88
<>
89
Collaborative <LaTeX /> editor
90
</>
91
),
92
logo: LatexLogo,
93
logoBackground: "white",
94
image: LatexEditorImage,
95
description: (
96
<>
97
CoCalc's <LaTeX /> editor can help you be a more productive author
98
online. Check out{" "}
99
<A href="https://doc.cocalc.com/latex.html">its documentation</A>.
100
</>
101
),
102
},
103
{
104
link: "/features/ai",
105
title: <>AI Assistant</>,
106
logoBackground: "white",
107
logo: <AIAvatar size={64} />,
108
image: ChatGptInChatroom,
109
description: (
110
<>
111
CoCalc extensively integrates with AI language models, including{" "}
112
<A href="https://openai.com/">OpenAI's ChatGPT</A>,{" "}
113
<A href="https://deepmind.google/technologies/gemini/">
114
Google's Gemini
115
</A>
116
,<A href="https://www.anthropic.com/claude">Anthropic's Claude</A>, and{" "}
117
<A href="https://mistral.ai/">Mistral</A>. It participates in a{" "}
118
<A href={"https://doc.cocalc.com/chat.html"}>Chatroom</A> as a bot,
119
helps you understand your code, deciphers error messages in{" "}
120
<A href={"/features/jupyter-notebook"}>Jupyter notebooks</A> or
121
generates code or even an entire file for you.
122
</>
123
),
124
},
125
{
126
link: "/features/slides",
127
title: <>Whiteboard & Slides</>,
128
logo: "layout",
129
image: WhiteboardImage,
130
description: (
131
<>
132
CoCalc's collaborative <A href={"/features/whiteboard"}>whiteboard</A>{" "}
133
and <A href={"/features/slides"}>slides</A> documents help you
134
visualizing your ideas on an infinite canvas or on finite slides for a
135
presentation. Jupyter code cells make it possible to embed calculations
136
and plots, write mathematics using LaTeX, and more.
137
</>
138
),
139
},
140
{
141
link: "/features/r-statistical-software",
142
title: "R Statistical Software",
143
logo: Rlogo,
144
image: RJupyter,
145
logoBackground: "white",
146
description: (
147
<>
148
Use Jupyter notebooks with the R kernel, the R command line, X11
149
graphics, <LaTeX /> with Knitr and RMarkdown, and more. Many{" "}
150
<A href="/software/r">R packages are included in CoCalc</A>!
151
</>
152
),
153
},
154
{
155
link: "/features/sage",
156
title: "SageMath Online",
157
logo: sageLogo,
158
image: sageScreenshot,
159
logoBackground: "white",
160
description: (
161
<>
162
<A href="/features/sage">SageMath</A> is very well supported in CoCalc,
163
because <A href="https://wstein.org">William Stein</A>, who started
164
SageMath, also started CoCalc. Many versions of Sage are preinstalled
165
and there is excellent integration with{" "}
166
<A href="/features/latex-editor">
167
<LaTeX />
168
</A>
169
.
170
</>
171
),
172
},
173
{
174
link: "/features/octave",
175
title: "GNU Octave",
176
logo: octaveLogo,
177
logoBackground: "white",
178
image: octaveJupyter,
179
description: (
180
<>
181
Run <A href="https://www.gnu.org/software/octave/">GNU Octave</A> on
182
CoCalc – the syntax is largely compatible with MATLAB
183
<sup>®</sup>. Use Jupyter notebooks, write programs, and display X11
184
graphics. Many{" "}
185
<A href="/software/octave">Octave packages are included in CoCalc</A>!
186
</>
187
),
188
},
189
{
190
link: "/features/python",
191
title: "Huge installed Python stack",
192
logo: PythonLogo,
193
image: FrameEditorPython,
194
logoBackground: "white",
195
description: (
196
<>
197
Use Python in CoCalc for data science, statistics, mathematics, physics,
198
machine learning. Many{" "}
199
<A href="/software/python">Python packages are included in CoCalc</A>!
200
</>
201
),
202
},
203
{
204
link: "/features/julia",
205
title: "Julia",
206
logo: juliaLogo,
207
logoBackground: "white",
208
image: juliaScreenshot,
209
description: (
210
<>
211
Use <A href="https://julialang.org/">Julia</A> on CoCalc with{" "}
212
<A href="https://doc.cocalc.com/howto/pluto.html">Pluto</A> and{" "}
213
<A href="/features/jupyter-notebook">Jupyter</A> notebooks. Edit Julia
214
code and run it in <A href="/features/terminal">a terminal</A> or
215
notebook. <A href="/features/teaching">Teach classes using nbgrader</A>{" "}
216
with the Julia kernel. Many{" "}
217
<A href="/software/julia">Julia packages are included in CoCalc</A>!
218
</>
219
),
220
},
221
{
222
link: "/features/terminal",
223
title: "Linux Terminal",
224
logo: terminalLogo,
225
logoBackground: "white",
226
image: terminalScreenshot,
227
description: (
228
<>
229
Work in a collaborative remote Linux shell. Read more in our{" "}
230
<A href="https://doc.cocalc.com/terminal.html">documentation</A>.
231
</>
232
),
233
},
234
{
235
link: "/features/linux",
236
title: "Online Linux environment",
237
logo: linuxLogo,
238
logoBackground: "white",
239
image: linuxShellScript,
240
description: (
241
<>
242
Use a collaborative online{" "}
243
<A href="https://doc.cocalc.com/terminal.html">Linux terminal</A>, edit
244
and run Bash scripts, or work in a Jupyter Notebooks running the Bash
245
kernel.
246
</>
247
),
248
},
249
{
250
link: "/features/teaching",
251
title: "Teaching a Course",
252
logo: teachingLogo,
253
logoBackground: "white",
254
image: teachingScreenshot,
255
description: (
256
<>
257
Organize and teach a course and automatically grade Jupyter notebooks.
258
Read more in the{" "}
259
<A href="https://doc.cocalc.com/teaching-instructors.html">
260
instructor guide
261
</A>
262
.
263
</>
264
),
265
},
266
{
267
link: "/features/x11",
268
title: "Linux graphical X11 desktop",
269
logo: x11Logo,
270
logoBackground: "white",
271
image: x11Screenshot,
272
description: (
273
<>
274
Run graphical applications in CoCalc's remote virtual desktop
275
environment. Read more in the{" "}
276
<A href="https://doc.cocalc.com/x11.html">X11 documentation</A>.
277
</>
278
),
279
},
280
{
281
link: "/features/api",
282
title: "API Interface",
283
image: apiScreenshot,
284
logo: "server",
285
logoBackground: COLORS.YELL_D,
286
description: (
287
<>
288
Programmatically control CoCalc from your own server. Embed CoCalc
289
within other products with a customized external look and feel.
290
</>
291
),
292
},
293
{
294
link: "https://doc.cocalc.com",
295
title: "There is much more to explore",
296
logo: "flash",
297
image: sageScreenshot,
298
logoBackground: COLORS.BS_GREEN_BGRND,
299
description: (
300
<>
301
Use <A href="https://doc.cocalc.com/sagews.html">Sage Worksheets</A>,{" "}
302
<A href="https://doc.cocalc.com/teaching-instructors.html">
303
Course management
304
</A>
305
, <A href="https://doc.cocalc.com/tasks.html">Task management</A>,{" "}
306
<A href="https://doc.cocalc.com/chat.html">Chat</A>,{" "}
307
<A href="https://about.cocalc.com/">and more...</A>
308
</>
309
),
310
},
311
] as DataSource;
312
313
export default function Features({ customize }) {
314
return (
315
<Customize value={customize}>
316
<Head title="Features" />
317
<Layout>
318
<Header page="features" />
319
<IndexList
320
title="Overview of CoCalc features"
321
description={
322
<>
323
These pages are an overview of what CoCalc is able to do. You can
324
also
325
<ul>
326
<li>
327
browse <A href="/software">installed software</A>,
328
</li>
329
<li>
330
see how <A href="/share">other people are using CoCalc</A>,
331
and
332
</li>
333
<li>
334
learn about our{" "}
335
<A href="https://about.cocalc.com">
336
mission, developers and features.
337
</A>
338
</li>
339
</ul>
340
</>
341
}
342
dataSource={dataSource}
343
/>
344
<Footer />
345
</Layout>
346
</Customize>
347
);
348
}
349
350
export async function getServerSideProps(context) {
351
return await withCustomize({ context });
352
}
353
354