Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Recho Notebook - Contributing

Recho Notebook is open source and released under the [ISC license](/LICENCE). You are welcome to contribute in different ways: open a [pull request](https://github.com/recho-dev/recho/pulls), participate in [issues](https://github.com/recho-dev/recho/issues) and [discussions](https://github.com/recho-dev/recho/discussions) or star this project!
Recho Notebook is open source and released under the [ISC license](/LICENCE). You are welcome to contribute in different ways: open a [pull request](https://github.com/recho-dev/notebook/pulls), participate in [issues](https://github.com/recho-dev/notebook/issues) and [discussions](https://github.com/recho-dev/notebook/discussions) or star this project!

## Sharing Examples

All the examples are located in `app/examples`. The quickest way to add an example is through GitHub's web editor:

- Go to [new file](https://github.com/recho-dev/recho/new/main/app/examples).
- Go to [new file](https://github.com/recho-dev/notebook/new/main/app/examples).
- Enter the filename in the format of `[NOTEBOOK-NAME].recho.js`.
- Add the metadata as doc strings at the top of the file.
- Add the code below the metadata.
Expand Down Expand Up @@ -39,7 +39,7 @@ Here is an example:
echo("Hello World");
```

This is a [pull request](https://github.com/recho-dev/recho/pull/82) you can refer to.
This is a [pull request](https://github.com/recho-dev/notebook/pull/82) you can refer to.

If you prefer a `snapshot thumbnail`, create an image file named `[NOTEBOOK-NAME].snap.[FORMAT]` in `app/examples`, such as [sin-wave-radios.snap.png](./app/examples/sin-wave-radios.snap.png) for [sin-wave-radios.recho.js](/app/examples/sin-wave-radios.recho.js).

Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
- [Announcement](https://medium.com/@subairui/a-lighter-way-to-code-with-creativity-8c0ac739aa6f) 📢 - Read our initial release story to discovery the vision behind Recho Notebook.
- [Documentation](https://recho.dev/notebook/docs/introduction) 📚 - Learn how to use Recho Notebook with our comprehensive guides.
- [Examples](https://recho.dev/notebook/examples) 🖼️ - See what you can create and draw some inspiration!
- [Sharing](/CONTRIBUTING.md#sharing-examples) 🎨 - Follow the instructions to open a [pull request](https://github.com/recho-dev/recho/new/main/app/examples) to share your sketches!
- [Contributing](/CONTRIBUTING.md) 🙏 - We have [a bunch of things](https://github.com/recho-dev/recho/issues) that we would like you to help us build together!
- [Sharing](/CONTRIBUTING.md#sharing-examples) 🎨 - Follow the instructions to open a [pull request](https://github.com/recho-dev/notebook/new/main/app/examples) to share your sketches!
- [Contributing](/CONTRIBUTING.md) 🙏 - We have [a bunch of things](https://github.com/recho-dev/notebook/issues) that we would like you to help us build together!

## Why Recho Notebook 💡

Expand All @@ -32,18 +32,18 @@ By "creativity", we mean you can end up doing something fun, and find a new way

Recho Notebook is still in its early stage. While there's still much work to do, we're excited to release the beta version and make it open source right now. If you're interested in trying it out, please visit the [website](https://recho.dev/notebook). Since the source code is available at GitHub here, we welcome any thoughts, comments, or suggestions. If you're interested in contributing to Recho Notebook, we're especially interested in these areas:

- **More Examples** - Examples attract users and shape tools. We would love to showcase examples across diverse areas ([text analysis](https://recho.dev/notebook/examples/word-count), [data viz](https://recho.dev/notebook/examples/phases-of-the-moon), [graphics](https://recho.dev/notebook/examples/cg-text-based-shaders), [concrete poetry](https://recho.dev/notebook/examples/fire!), [algorithms](https://recho.dev/notebook/examples/maze), etc.) and demonstrations working with external libraries ([D3](https://d3js.org/), [Lodash](https://lodash.com/), [ml5](https://ml5js.org/), [Tone](https://tonejs.github.io/), etc.). They don't have to be complicated or perfect. One thing to share would be great. Follow the [instructions](/CONTRIBUTING.md#sharing-examples) to open a [pull request](https://github.com/recho-dev/recho/new/main/app/examples) to share yours today!
- **Polyglot Programming** - Recho Notebook begins with JavaScript, but isn't limited to it—coding has no boundaries. As long as a programming language can be transpiled to JavaScript, it can be incorporated with Recho Notebook. It can be mainstream ([Python](https://www.python.org/), [Rust](https://www.rust-lang.org/)), academic ([MLscript](https://github.com/hkust-taco/mlscript)), or creative ([wenyan‑lang](https://wy-lang.org/)). The best part is that it doesn't have to be production-ready or have real-life usage. Just providing a different way to code or think is cool. Want to add your favorite language to Recho Notebook or share your "toys"? [Talk to us](https://github.com/recho-dev/recho/issues/109)!
- **More Examples** - Examples attract users and shape tools. We would love to showcase examples across diverse areas ([text analysis](https://recho.dev/notebook/examples/word-count), [data viz](https://recho.dev/notebook/examples/phases-of-the-moon), [graphics](https://recho.dev/notebook/examples/cg-text-based-shaders), [concrete poetry](https://recho.dev/notebook/examples/fire!), [algorithms](https://recho.dev/notebook/examples/maze), etc.) and demonstrations working with external libraries ([D3](https://d3js.org/), [Lodash](https://lodash.com/), [ml5](https://ml5js.org/), [Tone](https://tonejs.github.io/), etc.). They don't have to be complicated or perfect. One thing to share would be great. Follow the [instructions](/CONTRIBUTING.md#sharing-examples) to open a [pull request](https://github.com/recho-dev/notebook/new/main/app/examples) to share yours today!
- **Polyglot Programming** - Recho Notebook begins with JavaScript, but isn't limited to it—coding has no boundaries. As long as a programming language can be transpiled to JavaScript, it can be incorporated with Recho Notebook. It can be mainstream ([Python](https://www.python.org/), [Rust](https://www.rust-lang.org/)), academic ([MLscript](https://github.com/hkust-taco/mlscript)), or creative ([wenyan‑lang](https://wy-lang.org/)). The best part is that it doesn't have to be production-ready or have real-life usage. Just providing a different way to code or think is cool. Want to add your favorite language to Recho Notebook or share your "toys"? [Talk to us](https://github.com/recho-dev/notebook/issues/109)!
- **Text-Based Libraries** - Best practices deserve to be seen by more people. If you find some algorithms you are using helpful for others, don't hesitate to package them into libraries. Remember, they can be light!
- **Explorations with LLMs** - Recho Notebook's text-first approach is ideal for LLMs. Rather than letting the LLM write code directly, you can use code as input: fusing files, turning text into pixel outputs, and more. We want to [explore the possibilities](https://github.com/recho-dev/recho/issues/110).
- **Explorations with LLMs** - Recho Notebook's text-first approach is ideal for LLMs. Rather than letting the LLM write code directly, you can use code as input: fusing files, turning text into pixel outputs, and more. We want to [explore the possibilities](https://github.com/recho-dev/notebook/issues/110).

In addition to these, there are a lot of editor related features on the way!

- **Editing Optimization** - Improve editing experiences. ([rerunning blocks](https://github.com/recho-dev/recho/issues/42), [formatting code](https://github.com/recho-dev/recho/issues/108), etc.)
- **Visual Enhancement** - More expressive and informative editor. ([dark theme](https://github.com/recho-dev/recho/issues/104), [ANSI escape codes](https://github.com/recho-dev/recho/issues/45), etc.)
- **Interactivity** - Response to user inputs. ([mouse](https://github.com/recho-dev/recho/issues/34), [keyboard](https://github.com/recho-dev/recho/issues/105), etc.)
- **Editing Optimization** - Improve editing experiences. ([rerunning blocks](https://github.com/recho-dev/notebook/issues/42), [formatting code](https://github.com/recho-dev/notebook/issues/108), etc.)
- **Visual Enhancement** - More expressive and informative editor. ([dark theme](https://github.com/recho-dev/notebook/issues/104), [ANSI escape codes](https://github.com/recho-dev/notebook/issues/45), etc.)
- **Interactivity** - Response to user inputs. ([mouse](https://github.com/recho-dev/notebook/issues/34), [keyboard](https://github.com/recho-dev/notebook/issues/105), etc.)

Also, we have plans to provide [cloud storage services](https://github.com/recho-dev/recho/issues/107). But we don't want to overcomplicate things at this point, so any thoughts, comments, and suggestions are welcome!
Also, we have plans to provide [cloud storage services](https://github.com/recho-dev/notebook/issues/107). But we don't want to overcomplicate things at this point, so any thoughts, comments, and suggestions are welcome!

## A Quick Example 🚀

Expand Down
6 changes: 3 additions & 3 deletions app/Nav.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export function Nav() {
const confirm = window.confirm(
`Make a Pull Request to share your notebook to Examples!\n- Input the filename\n- Copy the code\n- Click the "Commit changes" button`,
);
if (confirm) window.open("https://github.com/recho-dev/recho/new/main/app/examples", "_blank");
if (confirm) window.open("https://github.com/recho-dev/notebook/new/main/app/examples", "_blank");
}

function isSelected(path) {
Expand Down Expand Up @@ -131,7 +131,7 @@ export function Nav() {
</SafeLink>

<a
href="https://github.com/recho-dev/recho/new/main/app/examples"
href="https://github.com/recho-dev/notebook/new/main/app/examples"
onClick={handleUpload}
target="_blank"
rel="noreferrer"
Expand All @@ -144,7 +144,7 @@ export function Nav() {
<Share className={cn(styles.linkIcon)} />
</a>
<a
href="https://github.com/recho-dev/recho"
href="https://github.com/recho-dev/notebook"
target="_blank"
rel="noreferrer"
className={cn(styles.link)}
Expand Down
2 changes: 1 addition & 1 deletion app/docs/introduction.recho.js
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ function map(x, d0, d1, r0, r1) {
/**
* Please visit the GitHub repository for more details:
*
* > https://github.com/recho-dev/recho
* > https://github.com/recho-dev/notebook
*
* - [1] https://luyu.computer/
* - [2] https://recho.dev/
Expand Down
2 changes: 1 addition & 1 deletion app/examples/ExampleEditor.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export function ExampleEditor({example, initialCode}) {
toolBarStart={
<div className={cn("flex items-center")} key={example.slug}>
<a
href={`https://github.com/recho-dev/recho/pull/${example.pull_request}`}
href={`https://github.com/recho-dev/notebook/pull/${example.pull_request}`}
target="_blank"
rel="noreferrer"
className={cn("bg-green-700 text-white rounded-md px-3 py-1 text-sm hover:bg-green-800")}
Expand Down
2 changes: 1 addition & 1 deletion app/examples/cg-text-based-shaders.recho.js
Original file line number Diff line number Diff line change
Expand Up @@ -648,5 +648,5 @@ echo(
* to use multiple spheres and lights to create more complex effects.
*
* I hope you have enjoyed this tutorial. If you have any questions, please
* feel free to comment on https://github.com/recho-dev/recho/issues/98.
* feel free to comment on https://github.com/recho-dev/notebook/issues/98.
*/
25 changes: 25 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@
{
"name": "recho-notebook",
"version": "0.1.0",
"description": "A free, open-source, reactive editor for algorithms and ASCII art. It introduces a plain code format for notebooks — echoing output inline as comments for live, in-situ coding with instant feedback.",
"author": "Recho",
"license": "ISC",
"homepage": "https://recho.dev/notebook",
"repository": {
"type": "git",
"url": "https://github.com/recho-dev/notebook.git"
},
"bugs": {
"url": "https://github.com/recho-dev/notebook/issues"
},
"keywords": [
"notebook",
"reactive",
"editor",
"javascript",
"observable",
"ascii-art",
"algorithms",
"live-coding",
"creative-coding",
"computational-art"
],
"type": "module",
"scripts": {
"dev": "vite",
Expand Down