Spaces:
Paused
Paused
| export const treeTemplates = { | |
| _empty: { | |
| name: "Empty", | |
| description: "By codetree", | |
| public: true, | |
| iconSrc: "/icons/vanilla.svg", | |
| tabs: { | |
| javascript: { | |
| title: "app.jsx", | |
| entryPoints: "index.js", | |
| monacoLanguage: "javascript", | |
| data: ``, | |
| }, | |
| html: { | |
| title: "index.html", | |
| entryPoints: "index.html", | |
| monacoLanguage: "html", | |
| data: ``, | |
| }, | |
| css: { | |
| title: "main.css", | |
| entryPoints: "main.css", | |
| monacoLanguage: "css", | |
| data: ``, | |
| }, | |
| }, | |
| }, | |
| _vanilla: { | |
| name: "Vanilla", | |
| description: "By codetree", | |
| public: true, | |
| iconSrc: "/icons/vanilla.svg", | |
| tabs: { | |
| javascript: { | |
| title: "JS/JSX", | |
| entryPoints: "index.js", | |
| monacoLanguage: "javascript", | |
| data: `document.getElementById("app").innerHTML = \` | |
| <h1>Vanilla</h1> | |
| <div> | |
| Bare minimal javascript template | |
| </div> | |
| \`; | |
| `, | |
| }, | |
| html: { | |
| title: "html", | |
| entryPoints: "index.html", | |
| monacoLanguage: "html", | |
| data: `<div id="app"></div>`, | |
| }, | |
| css: { | |
| title: "Css", | |
| entryPoints: "main.css", | |
| monacoLanguage: "css", | |
| data: `body { | |
| font-family: sans-serif; | |
| } | |
| #app { | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| `, | |
| }, | |
| }, | |
| }, | |
| _typescript: { | |
| name: "Typescript", | |
| description: "By codetree", | |
| public: true, | |
| iconSrc: "/icons/typescript.svg", | |
| tabs: { | |
| javascript: { | |
| title: "Ts/Tsx", | |
| entryPoints: "index.ts", | |
| monacoLanguage: "typescript", | |
| data: `function add(x: number, y: number): number { | |
| return x + y; | |
| } | |
| const result = add(2,5) | |
| console.log(result)`, | |
| }, | |
| html: { | |
| title: "Html", | |
| entryPoints: "index.html", | |
| monacoLanguage: "html", | |
| data: `<div id="app"> | |
| <h1>Typescript</h1> | |
| <div>Bare minimal Typescript template 🚀</div> | |
| </div> | |
| `, | |
| }, | |
| css: { | |
| title: "Css", | |
| entryPoints: "main.css", | |
| monacoLanguage: "css", | |
| data: `body { | |
| font-family: sans-serif; | |
| } | |
| #app { | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| `, | |
| }, | |
| }, | |
| }, | |
| _p5: { | |
| name: "P5js", | |
| description: "By codetree", | |
| public: true, | |
| iconSrc: "/icons/p5-dot-js.svg", | |
| tabs: { | |
| javascript: { | |
| title: "JS/JSX", | |
| entryPoints: "index.js", | |
| monacoLanguage: "javascript", | |
| data: `import p5 from "p5"; | |
| let sketch = function (p) { | |
| p.setup = function () { | |
| p.createCanvas(window.innerWidth, window.innerHeight); | |
| p.background(0); | |
| }; | |
| p.draw = () => { | |
| // sketch.background(100); | |
| p.fill(255); | |
| p.ellipse(p.mouseX, p.mouseY, 50, 50); | |
| }; | |
| }; | |
| new p5(sketch, window.document.getElementById("container")); | |
| `, | |
| }, | |
| html: { | |
| title: "Html", | |
| entryPoints: "index.html", | |
| monacoLanguage: "html", | |
| data: ``, | |
| }, | |
| css: { | |
| title: "Css", | |
| entryPoints: "main.css", | |
| monacoLanguage: "css", | |
| data: `body { | |
| margin: 0px; | |
| font-family: sans-serif; | |
| } | |
| canvas { | |
| margin: 0px; | |
| } | |
| `, | |
| }, | |
| }, | |
| }, | |
| _react: { | |
| name: "React", | |
| description: "By codetree", | |
| public: true, | |
| iconSrc: "/icons/reactjs.svg", | |
| tabs: { | |
| javascript: { | |
| title: "JS/JSX", | |
| entryPoints: "index.js", | |
| monacoLanguage: "javascript", | |
| data: `import React, { useState } from "react"; | |
| import ReactDOM from "react-dom"; | |
| function App() { | |
| const [count, setCount] = useState(0); | |
| return ( | |
| <div className="App"> | |
| <h1>Hello ReactTree</h1> | |
| <h2>You clicked {count} times!</h2> | |
| <button onClick={() => setCount(count - 1)}>Decrement</button> | |
| <button onClick={() => setCount(count + 1)}>Increment</button> | |
| </div> | |
| ); | |
| } | |
| const rootElement = document.getElementById("root"); | |
| ReactDOM.render(<App />, rootElement); | |
| `, | |
| }, | |
| html: { | |
| title: "index.html", | |
| entryPoints: "index.html", | |
| monacoLanguage: "html", | |
| data: ``, | |
| }, | |
| css: { | |
| title: "main.css", | |
| entryPoints: "main.css", | |
| monacoLanguage: "css", | |
| data: `.App { | |
| font-family: sans-serif; | |
| text-align: center; | |
| } | |
| `, | |
| }, | |
| }, | |
| }, | |
| _gsap: { | |
| name: "Gsap", | |
| description: "By codetree", | |
| public: true, | |
| iconSrc: "/icons/gsap-greensock.svg", | |
| tabs: { | |
| javascript: { | |
| title: "JS/JSX", | |
| entryPoints: "index.js", | |
| monacoLanguage: "javascript", | |
| data: `import gsap from "gsap" | |
| var tl = gsap.timeline({ repeat: -1 }); | |
| tl.to("h1", 30, { backgroundPosition: "-960px 0" }); | |
| `, | |
| }, | |
| html: { | |
| title: "Html", | |
| entryPoints: "index.html", | |
| monacoLanguage: "html", | |
| data: `<div class="wrapper"> | |
| <h1 class="title">Codetree<h1> | |
| </div> `, | |
| }, | |
| css: { | |
| title: "Css", | |
| entryPoints: "main.css", | |
| monacoLanguage: "css", | |
| data: `body { | |
| background-color: #1d1d1d; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| .wrapper { | |
| display: flex; | |
| height: 100vh; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| h1 { | |
| max-width: 75%; | |
| font-size: 100px; | |
| text-align: center; | |
| font-family: "Montserrat", sans-serif; | |
| color: #540032; | |
| } | |
| .title { | |
| background-image: url(https://cdn.pixabay.com/photo/2017/07/03/20/17/abstract-2468874_960_720.jpg); | |
| background-attachment: fixed; | |
| -webkit-text-fill-color: transparent; | |
| -webkit-background-clip: text; | |
| }`, | |
| }, | |
| }, | |
| }, | |
| }; | |