diff --git a/docs/README.md b/docs/README.md index 290ffe11..7f061e47 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,13 +1,40 @@ -# ⚠️ under construction ⚠️ -(we're still in the process of updating all the old docs && migrating them from the [old wiki](https://github.com/netizenorg/netnet.studio/wiki) if you can't find what you're looking for here, it might still be over there.) +### netnet.studio is an open-source hypermedia cyberspace for fully realizing the Web’s creative potential. +netnet's goal is to guide creatives in their journey, from curious beginners to creative code virtuosos, through interactive learning and experimental play with the medium itself. Our mission is to help artists, designers and other DIY makers reclaim the Internet as a hand-crafted space for self-expression. - +
-## Welcome netizens to the netnet.studio docs! -Here you'll find general info on what netnet is and how it works, as well as guides for how to help support and contribute to the netnet.studio repo! ++ netnet.studio is a free/libre open-source project please consider supporting it to keep it alive! +
-- [I'm a student and want to learn how to use netnet.studio!]() -- [I'm a teacher and want to learn how to use netnet in my class!]() -- [I'm a developer and want to help contribute to this repo!](developers/README.md) -- [I'm an advocate and want to help support this project!](advocates/README.md) +# Meet netnet ( ◕ ◞ ◕ ) + +When you visit netnet.studio you'll be greeted by a friendly artificial intelligence teaching assistant (AI-TA) named netnet! As an AI-TA, netnet supports students of the Web by explaining code fragments, encouraging best practices, and correcting common mistakes. However, in these AI-times it's worth clarifying that netnet is not a "large language model" or any other kind of "machine learning", *it* (preferred pronoun) is a human-authored *classical AI* system, less like a corporate chat bot and more like the AI in a retro video game. Every word has been carefully considered and written by humans (that's us), therefore netnet will never "hallucinate" nor will it write all your code for you (though it will help with a snippet here or there). + +We're not entirely opposed to LLMs, we believe there's lots of unexplored possibilities in the ethical and artistic application of "artificial neural networks" (we're currently working on creative AI/LLM literacy tools and lessons). However, we do feel that the way they're currently being integrated into coding tools is designed more for "people who think to make" (folks with ideas they want someone or some*thing* to make for them) and less for those who "make to think", meaning those of us who discover, learn and grow our creative ideas through the process of making and writing code ourselves. + +**If you're an aspiring student of the creative web, [start here](students/README.md)!** + +# The Platform + +The [first web browser](https://www.youtube.com/watch?v=3c3Rt6QbHDw) was both a tool for exploring the web and creating it. The first browsers were all research projects created in labs and universities, but when enterprising technologists saw its commercial potential they removed the "editor" part and left only the "browser" part. netnet brings the "editor" back into the "browser", where it was always meant to be. + +Unlike most web-based products of [surveillance capitalism](https://www.youtube.com/watch?v=hIXhnWUmMvw) (the dominant business model of big tech today) netnet.studio is not here to collect and profit off your data. The studio is carefully designed to be a privacy-focused safe space for creative experimentation (You can read our [privacy policy](https://dev.netnet.studio/?w=privacy-policy) at the studio). While netnet is modeled on modern code editors and does integrate with other third party tools like GitHub (for the purpose of teaching others the conventions and tooling of the day) we go to great lengths to make this all secure and extremely transparent while remaining accessible. + +**TODO** *update privacy-policy dev link to main link before pushing to main* + +**If you're an educator interested in leveraging the platform in your classroom, [start here](educators/README.md)!** + +# Our Mission + +What begun as a research project in computer networking in the late 1960s slowly grew into a globally distributed network of networks called the the *Inter*net. For the first couple of decades, using the Internet meant reading and typing into text-only displays. That is until the early 1990s, when a small group of scientists, taking inspiration from an experimental [media art/tech scene](https://archive.org/details/HyperlandBBSDouglasAdamsAndTomBaker1990), added a "hypertext" and "multi-media" interface called the World Wide Web. Like the physical infrastructure it was built on (the Internet) the Web reflected a set of values which enabled it to grow far beyond its inventors wildest dreams! + +Today, the Web's core values of openness, transparency, decentralization, accessibility, extensibility and interoperability have been slowly eroded by the profit-motives of greedy tech corporations which have colonized and privatized what was once an entirely public commons. This industry and its "[merchants of complexity](https://world.hey.com/dhh/merchants-of-complexity-4851301b)" will have you think that creating web sites and apps requires advanced skills and expensive infrastructure and that the only way to have a presence online is to either become an expert (the industry has always been guarded by a sort of "[priesthood](https://www.newmediareader.com/book_samples/nmr-2nelson.pdf)") or succumb to "posting" on *their* websites. + +But this re-writing of history could not be farther from [the truth](https://coolguy.website/introduction/). The Web was designed to be [hand-crafted](https://luckysoap.com/statements/handmadeweb.html) by anyone interested enough to take the time to learn a few basics and indeed, [in the early days it was](https://www.youtube.com/watch?v=2LzyRcLJdlg). While we're inspired by the hand made web of the 1990s, this project is not about nostalgia, netnet.studio encourages others to explore (and is itself created with) modern and cutting-edge web technologies. The Web has never had more creative potential and netnet.studio is a platform to help you decide [what the web of tomorrow should be](https://laurelschwulst.com/e/my-website-is-a-shifting-house/)! + +**If you believe in our mission and what to help contribute time to the project, [start here](contributors/README.md)!** diff --git a/docs/advocates/README.md b/docs/advocates/README.md deleted file mode 100644 index 5cf2877a..00000000 --- a/docs/advocates/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# Support netnet.studio - -netnet.studio is a netizen.org project being designed and developed by Nick Briz and Sarah Rooney with help from a handful of [other contributors](https://github.com/netizenorg/netnet.studio/graphs/contributors). The current${content}
\n`
+}
marked.setOptions({ renderer })
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// ~~~~~~~~~~~ MD to HTML function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// ~~~~~~~~~~~ create side-panel navigation git checkout main
git pull upstream main
git push origin --delete [FEATURE-NAME]
-git branch --delete [FEATURE-NAME]
-
+git branch --delete [FEATURE-NAME]
git clone https://github.com/YOUR_USER_NAME/netnet.studio.git
-
+git clone https://github.com/YOUR_USER_NAME/netnet.studio.git
cd
(change directory) into the netnet.studio folder and run our setup script.cd netnet.studio
-npm run setup
-
+npm run setup
The setup script will guide you through a series of questions and handle the entire setup for you. You don't need to answer all of the questions the first time around you can always rerun the setup script later to return to any questions you skipped. We love setup scripts because they help lower the barrier to entry for contributors, but they can also (unintentionally) obfuscate the process. For that reason we've also put together document ion for how to setup a local environment *manually* if you're curious.
Assuming you still have a terminal open to the repo's directory, simply run:
-npm run start
-
+npm run start
Then visit http://localhost:8001 in the browser (assuming you haven't changed the default port number in the .env
file from 8001 to something else).
Before you start working on a new feature or bug fix ensure you're working with the latest version of netnet.studio by pulling updates from our main branch
-git pull upstream main
-
+git pull upstream main
If that failed, make sure you setup our repo as your remote "upstream" by running git remote -v
, if you didn't setup a remote upstream during the setup you will need to do this manually by running git remote add upstream https://github.com/netizenorg/netnet.studio.git
Create a "feature branch" for the feature/bugfix/etc you plan on working on by running the command below (replacing [FEATURE-NAME]
with name for this feature/task)
git checkout -b [FEATURE-NAME]
-
+git checkout -b [FEATURE-NAME]
We're using standardJS as our style guide, so before commuting/pushing any code you should check that everything's tidy by running:
-npm run lint
-
+npm run lint
But that can get annoying, so it's better to just install a standard plugin for your preferred code editor. This way we do our linting as we code and don't have to worry about running this command and then going through all the required changes in order to conform to the style guide after the fact.
When writing any CSS, we're doing our best to stick to BEM, refer to this post on CSS-Tricks for a general introduction.
Commit significant changes to your feature branch as you work (ensuring you don't have any linting errors or bugs in your console first):
-git commit -m "a brief but useful message"
-
+git commit -m "a brief but useful message"
Push your changes to your fork's feature branch:
-git push origin [FEATURE-NAME]
-
+git push origin [FEATURE-NAME]
When you're finished create a PR (pull request) from the feature branch of your form into the main branch of the class repo. The arrow icon in the GitHub PR interface between the two repos being merged conveys the direction of the pull request. NOTE: If you don't see your fork in the the drop-down menus, you may first need to click on the "compare across forks" link in the PR page
We may start a "review" for your PR before merging it. If we do give you some feedback or request some changes, the PR will remain open during the review and any future commits you push will automatically be registered in the PR page. Once everything looks good we'll accept your PR and merge your changes with our repo.
Once your PR has been merged, clean things up before starting on your next feature. Check out your main branch and pull the changes we merged from your (and any one else's) PRs:
git checkout main
-git pull upstream main
-
+git pull upstream main
Then delete the feature branch from your remote and local repos:
git push origin --delete [FEATURE-NAME]
-git branch --delete [FEATURE-NAME]
-
+git branch --delete [FEATURE-NAME]
During the initial npm run setup
, netnet would have installed a series of dependencies. In addition to the server-side (back-end) dependencies, this repo also contains git submodules for a couple of the client-side (front-end) dependencies, maintained by us (@netizenorg). Specifically, those are the netnet-standard-library (itself a collection of other sub-modules) as well as the netitor, netnet's core code editor.
occasionally we may update these, if/when that happens you'll want to pull those updates to your local repository as well.
To pull updates to the submodules run:
-npm run pull-modules
-
+npm run pull-modules
NOTE: we've noticed issues running these scripts, where sometimes they don't actually pull updates (plz open an issue if you think you might know why), but alternatively you can also cd
into the individual submodule folders found in www/core and pull the code using git pull