There are no reviews yet. Be the first to send feedback to the community and the maintainers!
import header.scroll permalink index.html title JTree: Tree Notation SDK for TypeScript & Javascript startColumns 4 import ciBadges.scroll # Links Tree Notation Homepage https://treenotation.org Tree Notation Sandbox https://jtree.treenotation.org/sandbox Tree Language Designer https://jtree.treenotation.org/designer Release Notes https://jtree.treenotation.org/releaseNotes.html Tree Notation FAQ https://faq.treenotation.org TrueBase https://truebase.pub/ TypeScript Library https://github.com/treenotation/jtree Tree Notation Subreddit https://reddit.com/r/treenotation Ohayo - A data science studio powered by Tree Notation https://github.com/treenotation/ohayo UnitTests https://jtree.treenotation.org/sandbox/test.html PerfTests https://jtree.treenotation.org/sandbox/perfTests.html ? Who is this package built for? Jtree is for people who want to design Tree Languages, make Tree editing tools, or use the Tree Component Web Framework. You can think of jtree as similar to the Java Development Kit, except for Tree Notation instead of Java. ? How do I build a new language? You can try the Grammar tutorial. link grammarTutorial.html Grammar tutorial # Grammar Files Jtree contains a Tree Language called "Grammar". You can write new Grammar files to define new languages. By creating a grammar file you get a parser, a type checker, syntax highlighting, autocomplete, a compiler, and virtual machine for executing your new language. Jtree also includes a simple web Tree Language Designer. https://jtree.treenotation.org/designer Designer To make your language do really interesting things, you'll want to write some code to extend your language nodes in another language that you know. Jtree lets you create new languages using just Tree Notation, Tree Notation + TypeScript, or Tree Notation + Javascript. Tree Notation and Tree Languages can be built with any language, however, not just TypeScript and Javascript. We are looking for volunteers to build libraries/sdks in other host languages. # Using Jtree ## Quick start - Open https://gitpod.io/#https://github.com/breck7/jtree - Run: code npm install -g ts-node npm install . npm run test Jtree currently includes over 10 compiled projects (aka "products") and more than a dozen Tree Languages. # Basic TreeNode library for npm projects: code const {TreeNode} = require("jtree/products/TreeNode.js") const tree = new TreeNode("hello world") console.log(tree.asString) # Basic TreeNode library + Grammar Language for the browser: code <script src="../../products/Utils.browser.js"></script> <script src="../../products/TreeNode.browser.js"></script> <script src="../../products/GrammarLanguage.browser.js"></script> ## jtree "sandbox" web app for exploring base Tree Notation code npm install . npm run local open http://localhost:3333/ ## jtree "Designer" web app for building new Tree Languages code npm install . npm run local open http://localhost:3333/designer ## TreeComponentFramework for building web apps This is a web framework still in the research stage. Whether it evolves into a serious line of effort is unknown. ## Sample Languages More than 12 example Tree Languages for helping with various tasks. See the `langs/` folder. ## Build Tools If you look at the source, you will also see a set of build tools (such as Builder and TypeScriptRewriter). These are currently undocumented and not recommended for external use. ## Building all tools and running tests code npm run build npm test # Monorepo Jtree is a monorepo. With on average over 1 major version released each month for the past 2.5 years, it would take a lot of overhead to constantly be updating 10+ different repositories and modules every month. Once we're more confident in the theory and best practices, it might make sense to break this repo into independent modules. That being said, we despise unnecessary dependencies as much as anyone. If anyone wants to create some automated submodules built from the projects in this monorepo, to allow for consuming of a smaller subset of the code and dependencies in this module, feel free to do so. ## Visualization of the code base https://mango-dune-07a8b7110.1.azurestaticapps.net/?repo=breck7%2Fjtree Visualization image images/diagram.svg # Development Status All breaking changes are mentioned in the releaseNotes. We follow semantic versioning, so breaking changes should not happen if you stay on the same major version. link releaseNotes.html releaseNotes # Tree Notation Libraries in Other Languages If you build a Tree Notation library/SDK in another language, let us know and we'll add a link. If you are working on a Tree Notation library in a new host language, feel free to post an issue or ask for help in the TreeNotation subreddit. https://reddit.com/r/treenotation subreddit ## How to bump versions code npm run updateVersion NEW_NUMBER # Alternatives Considered This is the first Tree Notation library in existence, so there were no alternative implementations. Note and Space were predecessors to Tree Notation. If a better alternative low level notation to Tree Notation is possible, it has yet to be discovered. All that said, the important part of this repo is not the code but the design patterns. Tree Notation is very simple, and you can implement the patterns contained here in your own code without using this library. In fact, that is often the best way to use Tree Notation! ## Editing in Sublime Text It is helpful to set `"goto_anything_exclude_gitignore": true` to ignore files in gitignore. Read more here. https://breckyunits.com/code/my-sublime-setttings.html here #❤️ Public Domain❤️ import footer.scroll
pldb
PLDB: a Programming Language Database. A computable encyclopedia about programming languages.scroll
Scroll is a language for scientists of all ages. Scroll includes a command line app that builds static blogs, websites, CSVs, text files, and more.ohayo
A free, fast, public domain data science studiocopypaster
Make web forms copy-pasteable.30000hours
How many hours have you spent practicing programming?domtree
See what your HTML looks likebreckyunits.com
Breck's Blogspace
This is no longer maintained. Try the much improved version called TreeNotationCancerDB
CancerDB: a computable encyclopedia about cancer.brecksblog
A high performance blog in under 250 lines of code. No MySQL needed!ScrollHub
The fastest way to publish.drillBits
Code from https://queue.acm.org/detail.cfm?id=3448307 unzippedmac
Handy terminal commands for Mac OS Xresearch
I moved this folder. Keeping this repo up for archival purposes only.sleepytimeconference
The conference that comes together while you sleep.notation.scroll.pub
Scroll Notation Websitetryscroll
Try Scroll in your web browserleafdb.org
A public domain database about trees.pytree
Tree Notation Python Librarymusic
Music Of a People. Music for the people by the people. #BuildPublicDomainpau
Medical records you can copy and pastewells
wells 1972 papertruebase
TrueBase - information you can trust. Software for building computable encyclopedias.note
This has been replaced by Spaceswim
A test suite to make it easier to build Tree Notation libraries in new host langaugesthebook
Tree Notation the Bookcopypastetaxes
An open source tax engine so all Americans can do their taxes using simple copy and pastejefferson
Toy prototype of language for laws and governmentsimoji
Create back-of-the-envelope multi-agent simulations using emojis.blog.treenotation.org
Blog of the Tree Notation LabNewtonDB
A database of physics equations and experimentsnews.pub
BuilderNews. Builders helping builders. Watch builders try your creations.faq.scroll.pub
Scroll Notation FAQtalkToMoreUsers
"I don't know of a single case of a startup that felt they spent too much time talking to users." - JL #AccelerateTheCuresovarianlottery.org
book
Source code for book: A New Way to Program. Particle Notation, Scroll, and the Parsers Programming Language Explainedspeedcoach
Benchmark node.js modules to make them faster and lightercrawlers
Crawlers for extracting measurements from the web for Scroll datasetslightos
An implementation of Dynamic Land's RealTalk OSpublicdomaincompany.com
Our corporate homepage, blog, and legal department's hard drive.pledge.pub
The Public Domain Pledgecodeduel.org
I wish I had heard of this site! - Alexander Hamiltonlime
A rudimentary implementation of the sublime syntax highlighting engine that I made from reading the docs.wws
The World Wide Scrollsets.scroll.pub
Demonstrations of ScrollSetsapply
Web form like its Web 4.0liberateIdeas
Interesting docs for the Intellectual Freedom movementlongbeach.pub
The Long Beach Pub is a public domain newspaper serving the people of Long Beach, CAmanhattan.pub
The Manhattan Pub is a public domain newspaper serving the people of New York Citymunger
A language for honest accounting.backup
Quickly backup a directory to s3.funnytombstones.com
My retirement businesskeyboard
Interactive Visualization of the history of the keys on my Mac keyboardtwitterToScroll
Export a Twitter account into a Scrollhawaii.pub
The Hawai'i Pub is a public domain newspaper serving the people of Hawai'istamp-lang
An alternative to zip files for sharing a small collection of folders and text files.patch
Tiny DSL for isomorphic query strings with zero dependencieslab.treenotation.org
Website for Tree Notation Lab. A distributed public domain research lab dedicated to basic research and supported by The Public Domain Publishing Company.ctree
Tree Notation C++ implementationzombo
I reverse engineered Zombo.com so that I learn how to do anything.chicago.pub
The Chicago Pub is a public domain newspaper serving the people of Chicago, Illinoisvancouver.pub
The Vancouver Pub is a public domain newspaper serving the people of Vancouver, BCbrecksbananastand.com
I mean it's one banana Michael, what could it cost, $10?slots
A demo Tree Language for Scheduling Meetingsmitosispictures.com
Pictures and gifs of cells dividing.treerules
sellnothing.com
Believe in your younger selfgrapher
norcal.pub
The Norcal Pub is a public domain newspaper serving the people of the San Francisco Bay Area.nevergraduate.org
breckforpresident.com
Breck Yunits for President 2024braindb
BrainDB: a computable encyclopedia about the brain.ohayodatasets.breckyunits.com
Public domain datasets for Ohayochcopy
Copies the file permissions from one file to another.wifinder
Find cafes with fast wifiseattle.pub
The Seattle Pub is a public domain newspaper serving the people of Seattle, WAdataball.pub
This. Is. DATABALL!freebird
Twitter banned me because they didn't understand "Die Hard" was a movie recommendation. Freebird decentralizes Twitter.ScrollTalk
Short videos about Scroll and the WWSstrawberry
cldb
The Computer Language Databaseschemas.ohayo.computer
A database of schemas to popular datasetsshroomdb.com
A demofished
Demo: A text serialization format for Fish Shell's history file.cancerdb
coming soonslides
washington.pub
The Washington Pub is a public domain newspaper serving the people of Washington D.C.fitbit-story
gotopoint
A Sublime Package for going to a specific character in a filetumorpictures.com
Pictures of tumors.aientist
asif
RFC: Prototype of ASIFpublicdomainwifi.com
Free wifi. No passwords.corona-dataset
breckyunits.net
My code journalwws-gui
duscore
Data Usability Score: A holistic scoring rubric for datasetsbigfile
Quickly find the biggest files lurking deep in a directory.6k
git4
Same semantics. Simpler syntax. Coming soon.Love Open Source and this site? Check out how you can help us