+
+
+
+ {{ site.description | default: site.github.project_tagline }}
+ {% if site.github.is_project_page %}
+ View on GitHub
+ {% endif %}
+ {% if site.show_downloads %}
+ Download .zip
+ Download .tar.gz
+ {% endif %}
+
+
+
+
+ {% if site.google_analytics %}
+
+ {% endif %}
+
+
diff --git a/docs/assets/css/style.scss b/docs/assets/css/style.scss
new file mode 100644
index 000000000..5419977a4
--- /dev/null
+++ b/docs/assets/css/style.scss
@@ -0,0 +1,81 @@
+---
+---
+
+h1.project-name > a {
+ color: gold
+}
+
+/*When there is not enough room hide the "Java2Script" link (icon link still available) */
+@media screen and (max-width: 400px) {
+ .navbar a.css-j2s {
+ display: none;
+ }
+}
+
+/* The navigation bar */
+.navbar {
+ overflow: hidden;
+ background-color: #333;
+ position: fixed; /* Set the navbar to fixed position */
+ top: 0; /* Position the navbar at the top left of the page */
+ left: 0;
+ width: 100%; /* Full width */
+ min-width: 400px;
+}
+
+/* Links inside the navbar */
+.navbar a {
+ float: left;
+ display: block;
+ color: #f2f2f2;
+ text-align: center;
+ padding-left: 10px;
+ padding-right: 4px;
+ margin-left: auto;
+ margin-right: auto;
+ text-decoration: none;
+ line-height: 50px; /* center vertically (equal to height) */
+}
+
+/* Change background on mouse-over */
+.navbar a:hover {
+ color: gold;
+}
+
+.navbar div {
+ height: 50px;
+}
+
+/* center nav items vertically (equal to height) */
+.navbar a {
+ line-height: 50px;
+ height: 50px
+}
+
+a.css-logo {
+}
+
+.css-logo img {
+ margin-top: 10px;
+ height: 30px;
+ width: 30px;
+}
+
+a.css-j2s {
+ padding-left: 0;
+ color: gold;
+}
+
+/* Main content */
+.main {
+ margin-top: 50px; /* Add a top margin to avoid content overlay */
+}
+
+@import "{{ site.theme }}";
+
+.project-tagline {
+ /* use color opacity because "raw" opacity text is displayed on top of navigation bar */
+ color: rgba(255,255,255,0.7);
+ opacity: 1;
+}
+
diff --git a/docs/community.md b/docs/community.md
new file mode 100644
index 000000000..5f793a888
--- /dev/null
+++ b/docs/community.md
@@ -0,0 +1,26 @@
+---
+---
+# Community
+
+## Where To Get Support
+
+### Stack Overflow
+
+If you have questions regarding __Java2Script__ check the [existing questions](http://stackoverflow.com/questions/tagged/java2script)
+tagged with **java2script**. If you find no answer feel free to [ask your own question](http://stackoverflow.com/questions/ask?tags=java2script).
+
+### Discussion Forum
+
+For detailed discussions use the [discussion forum](https://groups.google.com/forum/#!forum/java2script).
+
+## Projects using Java2Script
+
+Here is a list of projects using __Java2Script__:
+
+- [Jmol-SwingJS](https://github.com/BobHanson/Jmol-SwingJS) - JavaScript-Based Molecular Viewer From Jmol ([https://github.com/BobHanson/Jmol-SwingJS](https://github.com/BobHanson/Jmol-SwingJS))
+- [Varna](https://github.com/BobHanson/VARNA) - Visualization Application for RNA, JavaScript version ([https://chemapps.stolaf.edu/swingjs/varna](https://chemapps.stolaf.edu/swingjs/varna), [GitHub](https://github.com/BobHanson/VARNA))
+- [Physlets](https://chemapps.stolaf.edu/swingjs/physlets/site/) - Physlets: Applets for Introductory Physics [(GitHub)](https://github.com/BobHanson/Physlets-SwingJS)
+- [Falstad](https://chemapps.stolaf.edu/swingjs/site/) - Falstad Math and Physics Applets [(GitHub)](https://github.com/BobHanson/SwingJS-Examples)
+- [SwingJS](https://chemapps.stolaf.edu/swingjs/site/swingjs/examples/) - Converting Java Applets to JavaScript [(GitHub)](https://github.com/SwingJS/SwingJS)
+
+If you like to add your project to the list feel free to create a pull request.
\ No newline at end of file
diff --git a/docs/contribute.md b/docs/contribute.md
new file mode 100644
index 000000000..b08bf27fd
--- /dev/null
+++ b/docs/contribute.md
@@ -0,0 +1,46 @@
+---
+---
+# Contributing to the Java2Script Project
+
+This page is for developers who like to contribute to the Java2Script project,
+i.e. like to work on the Java-to-JavaScript transpiler or the Java runtime
+environment code.
+
+> _(If you want to use Java2Script to convert your Java applets or Java applications to
+JavaScript see "[Quick Start](quickstart.html)" instead.)_
+
+
+## Fork the Java2Script repo
+
+If you want to contribute to the Java2Script Project you should start by
+creating a fork of the project on [GitHub](https://github.com/abego/java2script).
+
+For the following let us assume your new repo is
+ `https://github.com/your-github-username/java2script`
+
+## Clone 'your' Java2Script repo
+
+To do actual development you will then need to clone "your" java2script repo
+into your Eclipse workspace:
+
+```
+cd workspace # where 'workspace' is your Eclipse workspace directory
+git clone https://github.com/your-github-username/java2script.git
+```
+
+> _(Instead of using Git through the command line you may also use you favorite
+graphical Git client.)_
+
+Then, open Eclipse, open Navigator, and hit Refresh. java2script will show up as a blank generic trunk without a name (i.e. 'trunk[]')
+
+
+
+
+
+Go to net.sf.j2s.core directory, Clean Project, then export as a Deployable plug-ins and fragments.
+
+
+
+
+
+Core is the only thing that was affected. Hence, everything else can be built the same exact way it was built before (assuming you were using the HEAD of the master branch of j2s).
diff --git a/docs/history.md b/docs/history.md
new file mode 100644
index 000000000..dc40aeba4
--- /dev/null
+++ b/docs/history.md
@@ -0,0 +1,47 @@
+---
+---
+# History - 2017-today
+
+[https://github.com/java2script/java2script](https://github.com/java2script/java2script)
+
+Current development "Version 3" involving a completely rewritten transpiler (2017) that nearly perfectly emulates the Java Virtual Machine, including fully qualified methods, compile-time method binding, generic methods and classes, Java reflection for efficient modular just-in-time class loading, Java Swing components, modal and nonmodel dialogs, audio, jpdf, the AWT event thread, and many other added packages. Java applications and applets can both be run in JavaScript in a browser.
+
+Version 3 also implements real-time creation of HTML test files for immediate JavaScript testing of any changes made to the Java code. Basically, when the source file is saveed in Eclipse, the JavaScript updates automatically, and a reload of the page in the browser shows the changes directly. This makes for very easy side-by-side Java and JavaScript debugging.
+
+Unlike Version 2, Version 3 requires minimal reworking of Java classes - primarily just for performance and threading[1] reasons, maximizing JavaScript performance without compromising any Java performance and making Java-to-JavaScript conversion almost trivial. (Of course, we are still finding occasional bugs in the transpiler and run-time "JavaScript-JVM.")
+
+Examples include:
+
+- [Physlets](https://github.com/BobHanson/Physlets-SwingJS) conversion to JavaScript by Wolfgang Christian (wochristian@davidson.edu) and Bob Hanson [https://github.com/BobHanson/Physlets-SwingJS](https://github.com/BobHanson/Physlets-SwingJS)) (in progress).
+- [Jmol-SwingJS](https://github.com/BobHanson/Jmol-SwingJS) - JavaScript-Based Molecular Viewer From Jmol ([https://github.com/BobHanson/Jmol-SwingJS](https://github.com/BobHanson/Jmol-SwingJS)) (code only)
+- [Varna](https://github.com/BobHanson/VARNA) - Visualization Application for RNA, JavaScript version ([https://github.com/BobHanson/VARNA](https://github.com/BobHanson/VARNA) and [https://chemapps.stolaf.edu/swingjs/varna](https://chemapps.stolaf.edu/swingjs/varna))
+
+[1]: Note that java2script/java2script cannot not support Thread.wait(), Thread.notify(), or Thread.sleep(). Nonetheless, in all cases we have found simple state-based alternatives that essentially reproduce this behavior in JavaScript using javax.Swing.Timer. These methods work equally well in Java and JavaScript, requiring just a bit of redesign of Java methods.
+
+# History - 2010-2016
+
+[https://github.com/java2script/java2script](https://github.com/java2script/java2script)
+
+Ported from SourceForge by Zhou Renjian, developed further by Zhou Renjian and Udo Borkowski (primariy) as "Version 2.0".
+
+Extensively used by Bob Hanson in 2012-2016 for the conversion of Jmol/java to JSmol/javascript [http://jmol.sourceforge.net/](http://jmol.sourceforge.net/), leading to extensive distribution and widespread use on the web. As of 3/2018, still the
+only known publicly widely-available java2script application.
+
+Developed further in 2016 by Zhou Renjian, Udo Borkowski, Bob Hanson, Andrew Raduege, Nadia El Mouldi, and Paul Falstad [http://www.falstad.com](http://www.falstad.com) for the first round of post-JSmol application of java2script, adding javax.swing classes and
+dubbed "SwingJS". Used by Bob Hanson during 11/2016 for conversion of the PhET gas applications applets.
+
+Version 2 allowed extensive development of JavaScript versions of Java applets, including JSmol, Falstad applets, and PhET applets.
+
+However, this version did not produce "fully qualified" method signatures, resulting in error-prone and performance-reducing run-time binding of methods. Java class loading procedures were not consistent with the sequence of events used by the Java class loader, and parameter and array typing was minimal. Thus, while functional, Version 2 was not fully generalizable and required extensive reworking of Java code to be "java2script compliant."
+
+Synchronized with [https://github.com/BobHanson/java2script](https://github.com/BobHanson/java2script) as the stable master version in 2018.
+
+Examples can be found at [https://chemapps.stolaf.edu/swingjs/phet/site/swingjs/examples](https://chemapps.stolaf.edu/swingjs/phet/site/swingjs/examples)
+and [https://chemapps.stolaf.edu/jmol/jsmol](https://chemapps.stolaf.edu/jmol/jsmol).
+
+# History - 2005-2010
+
+[https://sourceforge.net/projects/j2s](https://sourceforge.net/projects/j2s) (last updated 6/2010)
+
+Initially developed by Zhou Renjian (aka "Josson Smith", zhourenjian@gmail.com, 2005-2017), Soheil Hassas Yeganeh (soheil.h.y@gmail.com, 2006), Sal Ferro (svferro@gmail.com, 2006), Sebastian Gurin (sgurin@softpoint.org, 2008),
+and others. The project was a "proof-in-concept" that saw limited actual application.
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 000000000..ab9c2c128
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,31 @@
+---
+---
+Java2Script provides an Eclipse Java to JavaScript transpiler
+(source-to-source compiler) and a nearly complete JavaScript implementation of
+the Java runtime environment (including AWT and Swing).
+
+# About Java2Script
+
+Java2Script is an integrated development system that allows interactive
+Java-to-JavaScript conversion within Eclipse, with immediate JavaScript testing
+and debugging in a browser, based on code developed in Java.
+
+After installing the Java2Script Eclipse plug-in ("drop-in"), Eclipse creates
+both Java `.class` files and their equivalent `.js` files simultaneously.
+Together with a included JavaScript version of the Java Runtime Environment (JRE)
+this allows the rapid and automated production of browser-ready JavaScript
+versions of Java applications and applets.
+
+
+## Documentation
+
+- [Quick Start](quickstart.html)
+- [How to get support](community.html)
+- [Contributing](contribute.html)
+- [History](history.html)
+
+## Channels
+
+- [Github](https://github.com/java2script/java2script)
+- [Stack Overflow](http://stackoverflow.com/questions/tagged/java2script)
+- [Discussion Forum](https://groups.google.com/forum/#!forum/java2script)
diff --git a/docs/quickstart.md b/docs/quickstart.md
new file mode 100644
index 000000000..098fdf4fd
--- /dev/null
+++ b/docs/quickstart.md
@@ -0,0 +1,120 @@
+---
+---
+# Quick Start
+
+## Installation
+
+### Prerequisites
+
+- Eclipse Neon (4.6) or higher.
+
+_(Java2Script has been successfully tested in Eclipse Neon and Oxygen on Mac
+and Windows platforms. No reason to believe it would not also work for Linux;
+just haven't tried that recently.)_
+
+### Install the Java2Script transpiler Eclipse plug-in
+
+__Step 1__: Click \[[here](https://github.com/java2script/java2script/blob/master/sources/net.sf.j2s.core/dist/dropins/net.sf.j2s.core.jar?raw=true)\]
+to download the Java2Script transpiler Eclipse plugin `net.sf.j2s.core.jar`.
+
+> _(The Eclipse plugin `net.sf.j2s.core.jar` contains the Java-to-Java2Script
+transpiler. When Eclipse compiles Java code with this plugin installed it will
+create `.js` files that match the standard `.class` files normally created
+by the Java compiler.)_
+
+__Step 2__: Move the plugin `net.sf.j2s.core.jar` into your Eclipse dropins directory.
+
+> __*For Mac OSX:*__ The Eclipse dropins directory is `/Applications/Eclipse.app/Contents/Eclipse/dropins`.
+This directory is not visible by default. To open it select the Finder menu item
+`Go > Go to Folder [Shift-Cmd G]`, enter `/Applications/Eclipse.app/Contents/Eclipse/dropins`
+and click the `Go` button.
+
+__Step 3__: Restart Eclipse
+
+__Step 4__: Check if the plugin `net.sf.j2s.core.jar` was successfully installed.
+
+- Select the Eclipse menu item `Eclipse > About Eclipse`
+- Click the `Installation Details` button
+- Select the `Plug-ins` tab _(Wait several seconds until the table is filled.)_
+- Type `j2s` into the search field at the top.
+
+You should now see the plugin `Java2Script Core` listed in the table.
+
+If you can't find it please check if you moved `net.sf.j2s.core.jar` into the
+proper directory. Also make sure that you restarted Eclipse.
+
+
+## Create a Java2Script (J2S) Project
+
+Create an Eclipse Java project for your work, if you have not done so already.
+
+Make sure your source code is a _source directory_ of the project (by default: `src/`).
+
+> If you want to check or edit the source directories of the project, select the
+Eclipse menu item `Project > Properties`, click `Java Build Path` and select the
+`Source` tab.
+
+All code must be available as Java source code. Therefore your project must not
+include any dependencies to Jar files. However you may include source code
+generated from decompiling `.class` files.
+
+> Java 9 and 10 are currently not supported. Java 8 works fine.
+
+## Install the JavaScript version of the Java Runtime Environment
+
+__Step 1__: Click \[[here](https://github.com/java2script/java2script/blob/master/sources/net.sf.j2s.java.core/SwingJS-site.zip?raw=true)\]
+to download the the JavaScript version of the Java Runtime Environment as a ZIP file.
+
+__Step 2__: Unzip the ZIP file into your project directory and rename the created directory to `site`.
+
+> All JavaScript code produced by the transpiler will be in the project's `site` directory.
+
+## Enable the Java2Script transpiler
+
+__Step 1__: In your project directory create a file `.j2s` with the content:
+
+ j2s.compiler.status=enable
+
+__Step 2__: Make the project use the Java2Script transpiler rather than the standard Java compiler
+
+- Edit the file `.project` your project directory
+- Change the name of the `buildSpec/buildCommand` from `org.eclipse.jdt.core.javabuilder`
+to `net.sf.j2s.core.java2scriptbuilder`.
+
+## Build the Project
+
+Build your project as you normally would. Java class files will be created as usual in the `bin` directory.
+JavaScript equivalents of these files will be created in the `site/swingjs/j2s` directory. You might have to
+do a project refresh to see these site files.
+
+## Test the JavaScript version of your project
+
+The J2S transpiler will automatically set up for you in the `site` directory
+a sample HTML page for any class that subclasses JApplet or contains a
+`public void main(String[] args)` method. You will want to
+associate those files with an external HTML browser. We recommend Firefox.
+
+Since you will be running AJAX locally within these browsers, you may need to
+enable local file reading in your browser. Instructions for doing that can be
+found at [http://wiki.jmol.org/index.php/Troubleshooting/Local_Files](http://wiki.jmol.org/index.php/Troubleshooting/Local_Files).
+
+## Add more Java classes
+
+If you find you are missing a standard Java Runtime library class, please contact Bob Hanson at
+[mailto:hansonr@stolaf.edu](hansonr@stolaf.edu). You can try adding these
+yourself by **temporarily** adding one or more of the Java classes found
+at [http://grepcode.com](http://grepcode.com) to the proper package in your
+project. For example, java/awt.
+
+If you do that, be sure to use the OpenJDK version. Most of the current code in
+the Java2Script project started with Java 6-b14 or 6-b27. Build your project,
+then delete these Java files, because you do not necessarily want your Java code
+using that version, just JavaScript.
+
+## Contribute to Java2Script
+
+Developers who like to contribute to the Java2Script project, i.e. like to work
+on the Java-to-JavaScript transpiler or the Java runtime environment code should
+have a look at "[Contribution...](contribute.html)".
+
+
diff --git a/docs/tutorial.md b/docs/tutorial.md
new file mode 100644
index 000000000..15a684633
--- /dev/null
+++ b/docs/tutorial.md
@@ -0,0 +1,5 @@
+---
+---
+# Tutorial
+
+to be written
\ No newline at end of file