diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0af268a..6676d68 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,40 +1,93 @@
-CONTRIBUTING TO NewtonScript.org
-================================
+# Contributing to NewtonScript.org
-We welcome feedback, bug fixes, content & display improvements, and
-translations. Ultimately, what gets accepted and merged into the project is up
-to NewtonScript.org staff (specifically, Morgan Aldridge, the current project
-maintainer), but you are encouraged to submit your improvements.
+We welcome feedback, bug fixes, content & display improvements, and translations. Ultimately, what gets accepted and merged into the project is up to NewtonScript.org staff (specifically, [Morgan Aldridge](https://github.com/morgant), the current project maintainer), but you are encouraged to submit any suggestions.
-WHAT YOU NEED
--------------
+Please submit errors/corrections, additions, and feature requests via the project’s [issue tracker](https://github.com/NewtonScript/newtonscript.github.com/issues).
+
+## What You Need
You will need the following to contribute:
-* A [GithHub](http://github.com) account for submitting pull requests
-* A familiarity with HTML5, CSS3 experience is a plus
+* A [GitHub](http://github.com) account for submitting pull requests
+* A familiarity with HTML5
+* Experience with CSS3 is a plus
-MAKING CHANGES
---------------
+## Making Changes
-You will need to do the following to make changes that are most likely to be
-accepted with little headache and back & forth:
+Follow these steps when making changes. That way, they will most likely be accepted with few headaches and very little back and forth.
-1. Fork the [newtonscript.github.com](https://github.com/NewtonScript/newtonscript.github.com) project on GitHub
-2. Create a topic branch (an appropriately named branch regarding the intended changes, e.g. "new-license", "style-overhaul", or "resonsive-design-fixes") from the `master` branch
-3. Make commits in logical units and with properly explanatory commit messages
-4. Preview your changes in an HTML5-capable web browser to ensure nothing broke and everything is rendering appropriately.
+1. Fork the [newtonscript.github.com](https://github.com/NewtonScript/newtonscript.github.com) project on GitHub.
+2. Create a topic branch from the `master` branch. Name your branch appropriately, reflecting the intended changes. (e.g. “new-license”, “style-overhaul”, or “responsive-design-fixes”)
+3. Make your edits (please try to conform to our [style guide](#style-guide)).
+4. Make commits in logical units and with explanatory commit messages.
+5. Preview your changes in an HTML5-capable web browser to ensure nothing is broken and everything is rendering correctly.
-SUBMITTING CHANGES
-------------------
+## Submitting Changes
-When you've completed your changes and are ready for them to be merged into the
-main project, you can do the following to submit them for review and likely
-inclusion in NewtonScript.org:
+When you’ve completed your changes and are ready to merge them into the main project, follow these steps to submit them for review.
-1. Push your changes to your fork of the newtonscript.github.com project on GitHub
+1. Push the changes to your fork of the [newtonscript.github.com](https://github.com/NewtonScript/newtonscript.github.com) project on GitHub
2. Submit a pull request to the [newtonscript.github.com](https://github.com/NewtonScript/newtonscript.github.com) project
-That's all there is to it. If you followed the "Making Changes" guidelines and
-the changes are aligned with the vision of the project, it should be a pretty
-smooth process to get them merged in.
\ No newline at end of file
+That’s all there is to it.
+
+If you followed the “Making Changes” guidelines and the changes are aligned with the vision of the project, it should be a smooth process to merge them.
+
+## Style Guide
+
+### HTML
+
+* Please write well-formed HTML to the HTML5 specification.
+* Please write pretty HTML with proper indentation for nested elements.
+* Please use tabs instead of spaces for indentation.
+
+### Text
+
+* Please alphabetize referenced materials (software, source code, reference documentation, etc.) by title and authors by last name.
+* For sub lists which are more appropriately listed in chronological order (e.g. lists of publication issues), please do so.
+* Please use [serial commas](https://en.wikipedia.org/wiki/Serial_comma).
+
+### Resource Template
+
+The following is the template used to list referenced resources (software, source code, documentation, etc.):
+
+```html
+
+```
+
+**Important:** Whenever you link to a resource or its mirror, please visit the [Internet Archive Wayback Machine](http://archive.org/web/) and submit that URL to “Save Page Now” to ensure its preservation!
+
+Please reference the following descriptions of the fields from the above template, as well as existing examples on the site, when adding a referenced resource:
+
+`RESOURCE-ANCHOR` — A unique anchor value for the reference. This accommodates direct linking to the reference. Optional.
+
+`RESOURCE URL` — The URL for the referenced resource.
+
+`RESOURCE TITLE/NAME` — The title or name of the referenced resource. This should be in proper title case, with the exception of software/source code where the project’s name itself may not be in proper title case. A common abbreviation for the resource title (e.g. “NTK”) may optionally be included).
+
+`RESOURCE DESCRIPTION` — A short summary (one to three sentences) of the resource. For software, this should include its functionality and how NewtonScript comes into play. For reference material, it should describe what the documentation covers. For periodicals as a whole where individual issues or articles may also be available, it is suggested that those issues or articles be listed and linked individually following this section.
+
+`AUTHOR/ORGANIZATION URL` — The URL to the author’s or organization’s site. Optional.
+
+`AUTHOR/ORGANIZATION NAME` — The name of the person or organization that created or published the resource. Multiple names should be comma separated and placed in alphabetical order by last name. It is preferable to list all authors or the specific organization. In rare cases, it may be appropriate to use “Various” instead.
+
+`PLATFORM` — The name of the platform which the resource was developed for. If multiple platforms are supported, they should be comma separated and in alphabetical order. For non-Newton platforms, the general platform type is suggested (e.g. “Mac OS”, “Mac OS X”, “Windows”, “Linux”, “BSD”, “BeOS”, etc.). For Newton platforms, the specific Newton OS version should be included (e.g. “Newton OS 1.x”, “Newton OS 2.x”, “Newton OS 2.1”, etc.) Optional, but should be included for software and source code.
+
+`LICENSE` — Optional, but should be included for software and source code.
+
+`FORMAT` — The format which the documentation is available in. If multiple formats are available, they should be comma separated and may link directly to the specified format. Optional, but should be included for documentation.
+
+`MIRROR URL` — The URL of an alternate source for the resource. Optional, but should be included whenever available.
+
+`MIRROR TITLE/NAME` The name of an alternate source for the resource. Optional, but should be included whenever available.
+
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..c2e4d87
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,7 @@
+# License
+
+This work is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/).
+
+You can also request a copy of this license by sending a letter to:
+
+Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA
diff --git a/README.md b/README.md
index 936ac63..f108b9b 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
-NewtonScript.org
-================
+# NewtonScript.org
This is the repository for the [NewtonScript.org](http://newtonscript.org/) site.
-Improvements, fixes, translations, etc., are not only welcome, but highly encouraged. See [CONTRIBUTING](CONTRIBUTING.md) for details on how to appropriately & effectively submit improvements so that they are more likely to be accepted and the process is as smooth as possible for all parties involved.
+Improvements, corrections, additions, and translations are not only welcome, but highly encouraged. See the [CONTRIBUTING](CONTRIBUTING.md) document for details on how to appropriately and effectively submit improvements so that they are more likely to be accepted, keeping the process as smooth as possible for everyone.
+
+This work is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/).
\ No newline at end of file
diff --git a/artwork/apple-touch-icon-114x114-precomposed.psd b/artwork/apple-touch-icon-114x114-precomposed.psd
new file mode 100644
index 0000000..3a469d9
Binary files /dev/null and b/artwork/apple-touch-icon-114x114-precomposed.psd differ
diff --git a/artwork/apple-touch-icon-120x120-precomposed.psd b/artwork/apple-touch-icon-120x120-precomposed.psd
new file mode 100644
index 0000000..2ac3f4e
Binary files /dev/null and b/artwork/apple-touch-icon-120x120-precomposed.psd differ
diff --git a/artwork/apple-touch-icon-144x144-precomposed.psd b/artwork/apple-touch-icon-144x144-precomposed.psd
new file mode 100644
index 0000000..888794e
Binary files /dev/null and b/artwork/apple-touch-icon-144x144-precomposed.psd differ
diff --git a/artwork/apple-touch-icon-152x152-precomposed.psd b/artwork/apple-touch-icon-152x152-precomposed.psd
new file mode 100644
index 0000000..08ccae0
Binary files /dev/null and b/artwork/apple-touch-icon-152x152-precomposed.psd differ
diff --git a/artwork/apple-touch-icon-180x180-precomposed.psd b/artwork/apple-touch-icon-180x180-precomposed.psd
new file mode 100644
index 0000000..286ae70
Binary files /dev/null and b/artwork/apple-touch-icon-180x180-precomposed.psd differ
diff --git a/artwork/apple-touch-icon-72x72-precomposed.psd b/artwork/apple-touch-icon-72x72-precomposed.psd
new file mode 100644
index 0000000..d7e195c
Binary files /dev/null and b/artwork/apple-touch-icon-72x72-precomposed.psd differ
diff --git a/artwork/apple-touch-icon-76x76-precomposed.psd b/artwork/apple-touch-icon-76x76-precomposed.psd
new file mode 100644
index 0000000..80a82b9
Binary files /dev/null and b/artwork/apple-touch-icon-76x76-precomposed.psd differ
diff --git a/artwork/apple-touch-icon-precomposed.psd b/artwork/apple-touch-icon-precomposed.psd
new file mode 100644
index 0000000..ee76716
Binary files /dev/null and b/artwork/apple-touch-icon-precomposed.psd differ
diff --git a/artwork/avatar-800x800.psd b/artwork/avatar-800x800.psd
new file mode 100644
index 0000000..e75ca46
Binary files /dev/null and b/artwork/avatar-800x800.psd differ
diff --git a/artwork/favicon.psd b/artwork/favicon.psd
new file mode 100644
index 0000000..c745248
Binary files /dev/null and b/artwork/favicon.psd differ
diff --git a/artwork/msapplication-tileimage-144x144.psd b/artwork/msapplication-tileimage-144x144.psd
new file mode 100644
index 0000000..4d9e6ef
Binary files /dev/null and b/artwork/msapplication-tileimage-144x144.psd differ
diff --git a/artwork/touch-icon-192x192.psd b/artwork/touch-icon-192x192.psd
new file mode 100644
index 0000000..97fcaf9
Binary files /dev/null and b/artwork/touch-icon-192x192.psd differ
diff --git a/css/advanced.css b/css/advanced.css
index b932b76..7706837 100644
--- a/css/advanced.css
+++ b/css/advanced.css
@@ -4,6 +4,32 @@ body {
margin-right: auto;
padding: 1em;
}
+.metadata {
+ margin-top: 2em; /* 24px @ 16px */
+ margin-bottom: 2em;
+ padding-left: 0;
+ list-style: none;
+ font-size: 0.75em; /* 12px @ 16px */
+}
+.metadata li {
+ display: block;
+ float: left;
+ padding-left: 0;
+ padding-right: 1em;
+ line-height: 2em; /* 24px @ 16px */
+}
+.metadata li:after {
+ content: "|";
+ /*color: #000;*/
+ padding-left: 1em;
+}
+.metadata li:last-child {
+ float: none;
+ padding-right: 0;
+}
+.metadata li:last-child:after {
+ content: "";
+}
/* Mobile Portrait CSS */
/* @media all and (max-device-width: 320px) and (orientation:portrait) */
@@ -14,18 +40,34 @@ body {
margin-left: 0;
margin-right: 0;
}
+ .metadata li {
+ display: list-item;
+ float: none;
+ }
+ .metadata li:after {
+ content: "";
+ padding-left: 0;
+ }
}
-/* Mobile Landscape CSS */
+/* Mobile Landscape & Tablet Portrait CSS */
/* @media all and (max-device-width: 480px) and (orientation:landscape) */
-@media all and (min-width: 321px) and (max-width: 480px) {
+@media all and (min-width: 321px) and (max-width: 768px) {
html {
-webkit-text-size-adjust: none; /* prevent font scaling */
}
body {
- width: 30em; /* 480px @ 16px */
+ width: 100%;
padding: 0;
margin-left: 0;
margin-right: 0;
}
+ .metadata li {
+ display: list-item;
+ float: none;
+ }
+ .metadata li:after {
+ content: "";
+ padding-left: 0;
+ }
}
diff --git a/css/basic.css b/css/basic.css
index fc15b39..4b526c1 100644
--- a/css/basic.css
+++ b/css/basic.css
@@ -20,13 +20,22 @@ a:link img {
margin-top: -4px;
margin-right: 4px;
}
-p, dt, dd {
+p, dt, dd, ul {
margin-top: 1.5em; /* 24px @ 16px */
margin-bottom: 1.5em;
padding: 0 1.5em;
}
dd {
+ border-bottom: 1px solid #DDD;
margin-left: 1.5em;
+ margin-right: 1.5em;
+}
+dd > p {
+ padding: 0;
+}
+dd:last-child {
+ border-bottom: none;
+ margin-bottom: 2.5em;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Gill Sans", sans-serif;
@@ -43,8 +52,7 @@ h1 {
background-color: #FFBF00;
}
h2, h3, h4, h5 {
- background-color: #CCC;
- text-transform: uppercase;
+ background-color: #DDD;
}
h2 {
font-size: 1.5em; /* 24px @ 16px */
@@ -53,4 +61,18 @@ h2 {
margin-bottom: 1em;
padding-left: 1em;
padding-right: 1em;
-}
\ No newline at end of file
+}
+.metadata li {
+ color: #999;
+}
+footer {
+ border-top: 5px solid #DDD;
+}
+footer p {
+ color: #999;
+ font-size: 0.75em; /* 12px @ 16px */
+ padding-top: 1.5em;
+ margin-left: 2.5em;
+}
+
+
diff --git a/favicon.ico b/favicon.ico
new file mode 100644
index 0000000..2d891e0
Binary files /dev/null and b/favicon.ico differ
diff --git a/img/apple-touch-icon-114x114-precomposed.png b/img/apple-touch-icon-114x114-precomposed.png
new file mode 100644
index 0000000..91075d0
Binary files /dev/null and b/img/apple-touch-icon-114x114-precomposed.png differ
diff --git a/img/apple-touch-icon-120x120-precomposed.png b/img/apple-touch-icon-120x120-precomposed.png
new file mode 100644
index 0000000..ab2ac0f
Binary files /dev/null and b/img/apple-touch-icon-120x120-precomposed.png differ
diff --git a/img/apple-touch-icon-144x144-precomposed.png b/img/apple-touch-icon-144x144-precomposed.png
new file mode 100644
index 0000000..e8230a7
Binary files /dev/null and b/img/apple-touch-icon-144x144-precomposed.png differ
diff --git a/img/apple-touch-icon-152x152-precomposed.png b/img/apple-touch-icon-152x152-precomposed.png
new file mode 100644
index 0000000..bd684d2
Binary files /dev/null and b/img/apple-touch-icon-152x152-precomposed.png differ
diff --git a/img/apple-touch-icon-180x180-precomposed.png b/img/apple-touch-icon-180x180-precomposed.png
new file mode 100644
index 0000000..79e4f2e
Binary files /dev/null and b/img/apple-touch-icon-180x180-precomposed.png differ
diff --git a/img/apple-touch-icon-72x72-precomposed.png b/img/apple-touch-icon-72x72-precomposed.png
new file mode 100644
index 0000000..48628be
Binary files /dev/null and b/img/apple-touch-icon-72x72-precomposed.png differ
diff --git a/img/apple-touch-icon-76x76-precomposed.png b/img/apple-touch-icon-76x76-precomposed.png
new file mode 100644
index 0000000..6e60d31
Binary files /dev/null and b/img/apple-touch-icon-76x76-precomposed.png differ
diff --git a/img/apple-touch-icon-precomposed.png b/img/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000..2991dcc
Binary files /dev/null and b/img/apple-touch-icon-precomposed.png differ
diff --git a/img/icons/dashboard-32x32.gif b/img/applications/dashboard-32x32.gif
similarity index 100%
rename from img/icons/dashboard-32x32.gif
rename to img/applications/dashboard-32x32.gif
diff --git a/img/icons/dynetk-32x32.png b/img/applications/dynetk-32x32.png
similarity index 100%
rename from img/icons/dynetk-32x32.png
rename to img/applications/dynetk-32x32.png
diff --git a/img/icons/einstein-32x32.png b/img/applications/einstein-32x32.png
similarity index 100%
rename from img/icons/einstein-32x32.png
rename to img/applications/einstein-32x32.png
diff --git a/img/icons/newtdevenv-32x32.gif b/img/applications/newtdevenv-32x32.gif
similarity index 100%
rename from img/icons/newtdevenv-32x32.gif
rename to img/applications/newtdevenv-32x32.gif
diff --git a/img/icons/subethaedit_mode-32x32.png b/img/applications/subethaedit-mode-32x32.png
similarity index 100%
rename from img/icons/subethaedit_mode-32x32.png
rename to img/applications/subethaedit-mode-32x32.png
diff --git a/img/icons/viewframe-32x32.gif b/img/applications/viewframe-32x32.gif
similarity index 100%
rename from img/icons/viewframe-32x32.gif
rename to img/applications/viewframe-32x32.gif
diff --git a/img/avatar-800x800.png b/img/avatar-800x800.png
new file mode 100644
index 0000000..79af241
Binary files /dev/null and b/img/avatar-800x800.png differ
diff --git a/img/msapplication-tileimage-144x144.png b/img/msapplication-tileimage-144x144.png
new file mode 100644
index 0000000..3607cca
Binary files /dev/null and b/img/msapplication-tileimage-144x144.png differ
diff --git a/img/touch-icon-192x192.png b/img/touch-icon-192x192.png
new file mode 100644
index 0000000..77864e6
Binary files /dev/null and b/img/touch-icon-192x192.png differ
diff --git a/index.html b/index.html
index 52ed4a3..d559032 100644
--- a/index.html
+++ b/index.html
@@ -4,108 +4,619 @@
NewtonScript
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
NewtonScript
NewtonScript is an object-oriented programming language developed by Walter Smith for Apple for the Newton OS running on their MessagePad & eMate hardware. It borrows concepts from the Smalltalk, LISP, and Self programming languages with special consideration for a low memory footprint (esp. differential inheritance). In 2003 a NewtonScript interpreter, NEWT/0 was developed by Makoto Nukui allowing for its use on other platforms.
An alternate button bar, hierarchical menu, and scripting system (using NewtonScript) for Newton 2.1 OS by Five Speed Software. Source available on GitHub.
A Newton OS 2.1 emulator. It includes a “Relativity” feature that allows NewtonScript to call native methods from the parent OS from within the Newton OS.
Einstein (Mac OS X, Linux, Windows, iOS, Android, ARM-Linux; open source)
-
A Newton OS 2.1 emulator by Paul Guyot. It includes a “Relativity” feature that allows NewtonScript to call native methods from the parent OS from within the Newton OS.
Apple's Messaging Enabler "Provide[s] high-level support for a wide variety of messaging devices. Messaging devices are both one-way and two-way pagers, or more generally, any device that can receive (and maybe send) short, usually less than 5 KB, wireless messages."
A paper explaining conventions for simulating class-based programming in NewtonScript, which is a prototype-based language, from the designer of the language.
Apple’s quarterly technical journal published from 1990-1997, before being pulled into MacTech magazine as a regular column. The following issues contain Newton/NewtonScript-specific articles:
Michael Swaine explored the Newton as a platform, NewtonScript as a programming language, and NTK as a development environment in 1994 & 1995 for his “Programming Paradigms” column in Dr. Dobb’s magazine.
+
Note: Free registration required to view more than two articles.
Unofficial documentation of the inner workings of Newton OS as gleaned using the "Hammer" low level debugger. The following sections are NewtonScript-specific:
Additional clarification, documentation, and examples for Newton OS 2.x development, including a section devoted to NewtonScript (though much of the rest of the documentation is relevant to developing in NewtonScript anyway). Available as a single page containing all content or multiple pages by section.
Official documentation on creating digital books and application help for the Newton, including the use of NewtonScript to customize book interaction, display, and behavior.
Official documentation of changes and additions in Newton OS 2.1, including: NewtWorks, keyboard enhancements, grayscale imaging, graphics shapes, sound, dial-in networks, IrDA communications tool, and the eMate 300 multi-user environment.
A preliminary draft version of Chapter 11: Miscellaneous that appears to have been intended to be added to the Newton OS 2.1 Engineering Documents, covering additions in Newton OS 2.1 that weren't, "[L]engthy enough to warrant their own chapters."
A searchable database of Newton OS error codes gleaned from the NTK for Windows v1.6.1 help file, NIE 2.0 API documentation, and Lantern DDK documentation.
Official documentation for the Newton OS 2.0 application programming interfaces, providing an overview and conceptual information. See the Newton Programmer’s Reference for detailed reference documentation of data structures, functions, constants, and error codes.
Official documentation of the Newton OS 2.0 protos, methods, functions, data structures, and error codes. A companion to the Newton Programmer’s Guide.
Official documentation of file formats used by NTK 1.6.x for Windows and Macintosh, specifically Project files, Layout files, and native code module files.
An introduction to the paper Self: The Power of Simplicity, by Ungar and Smith, which describes the aspects of NewtonScript which were inspired by the SELF programming language.
An overview of NewtonScript language, illustrating the differences between object oriented programming paradigms and relating how some NewtonScript features have their own particular programatic flavor.
+
+
Author: Arno Schödl
+
Format: HTML
+
+
-
User Interface Guidelines for Newton OS 2.1 Keyboard Enhancements (PDF; mirrors: UNNA, Newted)
An explanation of how the Newton OS user interface was implemented using a prototype-based language (NewtonScript) and the advantages it has over class-based languages.
Primarily discusses writing, linking, and packaging assembly code for Newton OS, but also covers communicating between assembly code and NewtonScript code.
In 2004, Rainer Joswig spoke with Mikel Evins, a former member of Apple’s Newton group, about an early development version of Newton OS written in Lisp.