Zum Inhalt springen
VellumVellum öffnen

Code in 25 Sprachen, direkt in einer Seite.

Ein Codeblock in einer Seite wird zu einer Zelle, die du ausführen kannst. Der Code bleibt einfaches Markdown; Ausgaben, Tabellen und Diagramme werden mit der Seite gespeichert. Alles läuft in einer Sandbox auf deinem Gerät.

Eine Vellum-Seite mit einer JavaScript-Zelle, die eine Tabelle teilt, und einer SQL-Zelle, die sie summiert, neben dem Markdown der Seite.
Eine Vellum-Seite mit einer JavaScript-Zelle, die eine Tabelle teilt, und einer SQL-Zelle, die sie summiert, neben dem Markdown der Seite.

Code, der in deinen Seiten lebt

Schreib einen Codeblock mit Sprachangabe, wie auf GitHub oder in Obsidian. In der Lese- oder geteilten Ansicht wird er zu einer Zelle mit einem Ausführen-Knopf. Der Code bleibt im Markdown der Seite, sodass Seiten portabel bleiben; was eine Zelle ausgibt, die Tabellen, die sie zurückgibt, und die Diagramme, die sie zeichnet, werden mit der Seite gespeichert und sind beim nächsten Öffnen wieder da.

```python
import pandas as pd
runs = pd.DataFrame({"month": ["Jan", "Feb", "Mar"], "km": [42, 51, 63]})
runs.describe()
```

25 Sprachen, auf deinem Gerät

JavaScript, TypeScript, Python, SQL, Lua, Shell (emulated), Ruby, PHP, R, Perl, Go, Rust, C, C++, OCaml, Haskell, Zig, C#, F#, Java, Clojure, Elixir, Erlang, Scheme, Prolog.

Jede Sprache wird beim ersten Ausführen heruntergeladen (von ein paar hundert Kilobyte für Lua oder JavaScript bis zu ein paar Dutzend Megabyte für Rust) und funktioniert dann offline. Unter Einstellungen → Code-Laufzeitumgebungen lädst du sie vorab herunter, für Flugzeug und Zug.

Code läuft in einem abgeschotteten Frame mit einem Worker pro Seite und Sprache. Er kann weder die App noch deine anderen Seiten oder das Netzwerk lesen: Zellen haben keinen Netzwerkzugriff, außer du erlaubst ihn für die jeweilige Seite.

Arbeiten wie im Notebook

Daten zwischen Sprachen teilen

Zellen einer Seite können sich über Sprachgrenzen hinweg Daten übergeben: share(name, value) in der einen, use(name) in der anderen. Tabellen kommen als Tabellen an: Teile Zeilen aus JavaScript und frag sie dann in SQL ab.

```js
share("runs", [{ month: "Jan", n: 4 }, { month: "Feb", n: 7 }])
```

```sql
select sum(n) as total from runs;
```

Eingaben, Dateien und Pakete

Deine erste Codezelle in Vellum ausführen

  1. Eine Seite öffnen

    Leg eine Seite an oder öffne eine, die du schon hast.

  2. Einen Codeblock schreiben

    Tippe drei Backticks und einen Sprachnamen, zum Beispiel ```python, dann deinen Code und zum Schluss wieder drei Backticks.

  3. Ausführen

    Wechsle in die Lese- oder geteilte Ansicht und drück in der Zelle auf Ausführen (oder Shift+Enter im Zelleneditor). Beim ersten Mal wird die Sprache heruntergeladen.

  4. Ergebnis behalten

    Die Ausgabe wird mit der Seite gespeichert. Im Zellenmenü findest du Alle ausführen, Variablen und die anderen Notebook-Befehle.

In der App

Fragen

Ersetzt es Jupyter?

Für viele Notebooks ja: Es öffnet und exportiert .ipynb-Dateien und behält Ausgaben. Es führt WebAssembly-Versionen jeder Sprache im Browser aus, daher brauchen aufwendige Berechnungen, GPUs und manche nativen Pakete weiterhin Jupyter. Siehe Vellum und Jupyter.

Hat mein Code Internetzugriff?

Nur wenn du es erlaubst. Eine Zelle, die ins Web will, fragt vorher (einmal, immer für diese Seite oder nie), und jede Anfrage wird unter der Zelle protokolliert.

Funktioniert es offline?

Ja. Jede Sprache wird einmal heruntergeladen, wenn du sie zum ersten Mal nutzt, und bleibt dann auf deinem Gerät. In den Einstellungen kannst du alle vorab herunterladen.