Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/src/packages/next/components/landing/available-tools.tsx
Views: 687
/*1* This file is part of CoCalc: Copyright © 2022 Sagemath, Inc.2* License: MS-RSL – see LICENSE.md for details3*/45import { Col, Row } from "antd";6import { ReactNode } from "react";78import { Icon, IconName } from "@cocalc/frontend/components/icon";9import Image from "components/landing/image";10import LaTeX from "components/landing/latex";11import { CSS, Paragraph, Title } from "components/misc";12import A from "components/misc/A";13import latexLogo from "public/features/latex-logo.svg";14import linuxLogo from "public/features/linux-logo.svg";15import sticker from "public/features/sage-sticker-1x1_inch-small.png";16import Info from "./info";17import JupyterLogo from "/public/features/jupyter-logo.svg";18import { LANDING_HEADER_LEVEL } from "./constants";1920interface Props {21style?: React.CSSProperties;22}2324export function AvailableTools(props: Props) {25const { style } = props;2627return (28<Info29level={LANDING_HEADER_LEVEL}30title="Jupyter, SageMath, LaTeX, and Linux"31icon="wrench"32anchor="available-tools"33style={{ ...style }}34>35<Row>36<Col lg={6}>37<Tool38image={JupyterLogo}39href="/features/jupyter-notebook"40title="Jupyter Notebooks"41alt="Jupyter logo"42>43CoCalc's own{" "}44<A href="/features/jupyter-notebook">Jupyter Notebook</A>{" "}45implementation offers realtime synchronization, TimeTravel,46automatic grading, side chat, and more.47</Tool>48</Col>49<Col lg={6}>50<Tool51image={sticker}52href="https://doc.cocalc.com/sagews.html"53title="Sage Worksheets"54alt="SageMath sticker logo"55>56<A href="https://doc.cocalc.com/sagews.html">Sage Worksheets</A> are57similar to Jupyter Notebooks, but made to work well with{" "}58<A href="https://www.sagemath.org">SageMath</A>. They offer a59single-document model that scales to large documents and integrated603d graphics.61</Tool>62</Col>63<Col lg={6}>64<Tool65image={latexLogo}66href="/features/latex-editor"67alt="LaTeX Logo"68title={69<>70<LaTeX /> Editor71</>72}73>74A full{" "}75<A href="/features/latex-editor">76<LaTeX />77editor78</A>{" "}79supporting preview rendering, forward/inverse search, error80reporting, and{" "}81<A href="https://doc.cocalc.com/latex.html">much more</A>.82</Tool>83</Col>84<Col lg={6}>85<Tool86image={linuxLogo}87href="/features/terminal"88title="Linux Terminal"89alt="Tux Linux Penguin"90>91The very sophisticated collaborative{" "}92<A href={"/features/linux"}>Linux</A> Terminal makes you incredibly93productive. Many programming languages and hundreds of tools are94available at your fingertips in a{" "}95<A href="/features/linux">full Ubuntu Linux environment</A>.96</Tool>97</Col>98</Row>99</Info>100);101}102103interface ToolProps {104image?;105alt: string;106href: string;107title: ReactNode;108children: ReactNode;109icon?: IconName;110size?: number;111style?: CSS;112textStyle?: CSS;113}114115export function Tool(props: ToolProps) {116const {117size = 75,118image,119alt,120href,121title,122children,123icon,124style,125textStyle,126} = props;127128return (129<div style={{ padding: "15px" }}>130<div131style={{132textAlign: "center",133marginBottom: "15px",134height: "100px",135display: "flex",136flexDirection: "column",137justifyContent: "center",138...style,139}}140>141<A href={href}>142{image ? (143<Image144style={{ width: "75px", margin: "auto", ...textStyle }}145src={image}146alt={alt}147/>148) : (149<Icon150name={icon}151style={{ color: "black", fontSize: `${size}px`, ...textStyle }}152/>153)}154</A>155</div>156<Title level={3} style={{ textAlign: "center" }}>157<A href={href} style={{ ...textStyle }}>158{title}159</A>160</Title>161<Paragraph style={{ ...textStyle }}>{children}</Paragraph>162</div>163);164}165166167