CALLISTO NOTEBOOK
|||
Tylko w tej przeglądarce

Nowy projekt

JavaScript · 1 blok · zapisano przed chwilą

Skróty: Shift + Enter uruchamia blok · Ctrl + S zapisuje lokalnie
PRZESTRZEŃ ROBOCZA

Twoje projekty

Przełączaj się między notebookami bez utraty kontekstu.

GOTOWE NOTEBOOKI

Szablony projektów

Otwórz kopię i eksperymentuj bez wpływu na oryginalny szablon.

PREFERENCJE

Ustawienia

Ty decydujesz, co zostaje w tej przeglądarce.

Zapisywanie w localStorage

Automatycznie zachowuj projekty i kod na tym urządzeniu.

Import projektu

Wczytaj wcześniej wyeksportowany plik .callisto.json.

Wyczyść dane lokalne

Usuń zapisane projekty i przywróć pusty notebook.

CALLISTO NOTEBOOK

O aplikacji

Lokalny notebook JavaScript do szybkich eksperymentów i pracy z wieloma projektami.

Skąd pomysł?

Callisto Notebook rozwija narzędzie Kallisto Notebook z promyk.tech, inspirowane sposobem pracy znanym z Jupyter Notebook. Kod, dane i dokumentacja mogą żyć obok siebie, ale wszystko wykonuje się bezpośrednio w przeglądarce.

Projekty trafiają do localStorage wyłącznie po zgodzie użytkownika. Można je także eksportować i importować jako pliki .callisto.json.

01

Projekty i zakładki

Każdy projekt ma własne bloki, biblioteki i wyniki. × zamyka tylko zakładkę — projekt pozostaje w widoku „Projekty” i można go ponownie otworzyć. Białe karty oznaczają projekty otwarte, a szare zamknięte. Zakładki można przeciągać, aby zmienić ich kolejność. Nazwę projektu edytuje się przez kliknięcie nazwy zakładki lub podwójne kliknięcie tytułu.

02

Typy i obsługa bloków

JavaScript
Wykonuje kod, obsługuje return, ostatnie wyrażenie, await, konsolę i biblioteki projektu.
JSON
Waliduje się automatycznie i bez uruchamiania udostępnia sparsowaną wartość kolejnym blokom.
CSV
Automatycznie parsuje dane. Z nagłówkami zwraca tablicę obiektów, a bez nagłówków tablicę tablic.
Markdown
Ma tryb MarkDown | text. Obsługuje tabele, media, YouTube i Mermaid.

Bloki można nazywać, zwijać, przesuwać przyciskami albo przeciągać za . Podwójne kliknięcie między blokami wstawia JS. Wcięcie nowej linii jest kopiowane automatycznie.

03

Wynik poprzedniego bloku: $

$ wskazuje wynik najbliższego wcześniejszego bloku JS, JSON lub CSV.

// Blok wyżej zwrócił 21
return $ * 2; // 42
04

Wyniki nazwane: $$

$$ pozwala odwołać się do wcześniejszego wyniku po nazwie albo numerze bloku.

$$["Konfiguracja"].api
$$[2].items.length

Jeśli nazwa się powtarza, używany jest najbliższy wcześniejszy blok. Numer widoczny z lewej strony pozostaje jednoznaczny.

05

Wizualne wyniki JS

Zwrócenie specjalnego obiektu zmienia sposób prezentacji wyniku:

return { html: "<h1>Hello</h1>" };
return { md: "# Nagłówek" };
return { svg: "<svg>...</svg>" };

HTML i SVG są izolowane w iframe, a Markdown korzysta ze wspólnego renderera. Pojedyncze kliknięcie wyniku kopiuje źródło. Podwójne kliknięcie wyniku SVG, CSV albo wykresu pobiera odpowiedni plik.

06

Biblioteki i uruchamianie

Przycisk „Biblioteki” konfiguruje środowisko osobno dla projektu. Domyślnie aktywny jest Lodash (_); dostępne są też Day.js (dayjs), Axios (axios) i D3 (d3). Można dodawać własne skrypty UMD/IIFE przez bezpośredni link HTTPS. „Uruchom wszystko” wykonuje wyłącznie bloki JS, kolejno od góry.

07

Dane, wykresy i pliki

return { table: [{ name: "Io", size: 3643 }] };
return { csv: "name,size\nIo,3643" };
return { image: "data:image/png;base64,..." };
return { chart: { type: "bar", labels: ["A", "B"], values: [12, 24] } };
return { json: { nested: true } };
return { download: { name: "data.json", mime: "application/json", data: { ok: true } } };

chart.type obsługuje bar, line, area, pie, donut i scatter. Przeglądarka JSON pozwala zwijać poszczególne gałęzie, a rezultat plikowy można pobrać jednym kliknięciem.

08

Szablony projektów

Na dole widoku „Projekty” znajdują się gotowe notebooki prezentujące ogólne możliwości, wszystkie formaty rezultatów oraz sześć typów wykresów. Kliknięcie „Utwórz kopię” tworzy niezależny projekt w przestrzeni użytkownika — oryginalny szablon nigdy nie jest modyfikowany.

Skróty

Shift + EnterUruchom blok
Ctrl + SZapisz lokalnie
Ctrl + NNowy projekt
TabWstaw wcięcie