Skip to content

Commit

Permalink
Merge pull request #92 from pylonide/development
Browse files Browse the repository at this point in the history
v2.5.0
  • Loading branch information
exsilium authored Jul 24, 2019
2 parents 4da77e1 + 56f3ae2 commit c8c1c7c
Show file tree
Hide file tree
Showing 1,182 changed files with 368,739 additions and 3,331 deletions.
53 changes: 8 additions & 45 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,50 +1,13 @@
*.swp
*.un~
Thumbs.db
common/packager
common/apf
client/icons/Thumbs.db
client/common
build/src
build/app.build.js
.settings.xml
.project
.settings
.sessions
/demo
.settings.xml.old
.DS_Store
/nbproject
aut.js
helloworld.js
.*.gz
.c9revisions
.c9search
.architect/
.sourcemint/
/mapped_packages/
plugins/cloud9.core/node_modules/
plugins/cloud9.connect/node_modules/
plugins/cloud9.ide.run-node/node_modules/
plugins/cloud9.ide.shell/node_modules/
plugins/cloud9.client.ace/node_modules/
plugins/cloud9.client.treehugger/node_modules/
plugins/cloud9.client.v8debug/node_modules/
plugins/cloud9.static/node_modules/
plugins-server/cloud9.fs/node_modules/
.settings
.sessions/
.c9revisions/
.idea/
plugins-client/lib.packed/www/
plugins-client/lib.ace/www/worker/
plugins-client/cloud9.core/www/js/
plugins-client/ext.jsinfer
plugins-client/ext.jsonalyzer
plugins-client/lib.ppc/www/ppc/ppc.js
node_modules/
deps/ace/
plugins-server/fixtures/
npm-debug.log
plugins-client/lib.apf/www/apf-packaged/apf_debug.js
.sessions/
.idea/
cloud9.iml
atlassian-ide-plugin.xml
ppc/build/

plugins-client/ext.test
plugins-client/ext.ungit
plugins-client/ext.mungit
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
language: node_js
node_js:
- "node"
- "11"
- "10"
- "9"
- "8"
Expand Down
19 changes: 19 additions & 0 deletions History.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
v2.5.0
======
* Dark themed file browser, ui enhancements
* Further namespace changes to Pylon #48
* APF Merged into Pylon IDE as PPC #66
* Connect middleware gets redirect() support #67
* Support for Forms authentication #69
* Removal of apf-packager and apf dependencies #87
* cozy-jsdav-fork dependency changed to @pylonide/jsdav for enhanced security
* dryice dependency changed to @pylonide/dryice for enhanced security
* Pylon namespace changes
* Upgrade to ACE v1.4.5
* Dependency upgrades and security enhancements
* One of the last releases to remain compatible with End-of-Life Releases of Node.js:
* v4
* v5
* v6
* v7

v2.4.0
======
* Further namespace changes to Pylon
Expand Down
6 changes: 3 additions & 3 deletions Makefile.dryice.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env node

var copy = require('dryice').copy;
var copy = require('@pylonide/dryice').copy;

var ACE_HOME = __dirname + "/node_modules/ace"

Expand All @@ -15,7 +15,7 @@ function main(args) {
}

if (!target) {
console.log("--- Cloud9 Dryice Build Tool ---");
console.log("--- Pylon Dryice Build Tool ---");
console.log("");
console.log("Options:");
console.log(" worker build workers");
Expand All @@ -37,7 +37,7 @@ function main(args) {
}

function worker(project) {
console.log('# cloud9 worker ---------');
console.log('# Pylon worker ---------');

var worker = copy.createDataObject();
var workerProject = copy.createCommonJsProject(project);
Expand Down
29 changes: 20 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[![Build Status](https://travis-ci.org/pylonide/pylon.svg?branch=master)](https://travis-ci.org/pylonide/pylon)
[![Master Dependency Status](https://snyk.io/test/github/pylonide/pylon/badge.svg)](https://snyk.io/test/github/pylonide/pylon)
[![Development Dependency Status](https://snyk.io/test/github/pylonide/pylon/development/badge.svg)](https://snyk.io/test/github/pylonide/pylon/development)
[![Bitcoin donate button](https://img.shields.io/badge/bitcoin-donate-yellow.svg)](https://www.coinbase.com/checkouts/9f4183a5164f2c4bd53d6afc74068ec4 "One-time donation to keep this fork alive")
[![Bitcoin donate button](https://img.shields.io/badge/bitcoin-donate-yellow.svg)](https://commerce.coinbase.com/checkout/5f3b0455-32ba-4b85-b299-00fe739d8b10 "One-time donation to keep this project alive")

# Pylon IDE

Pylon is a web based integrated development environment built with Node.js as a backend and with a supercharged JavaScript/HTML5 licensed under [GPL version 3](LICENSE). This project originates from Cloud9 v2 project.
Pylon is a web based integrated development environment built with Node.js as a backend and with a supercharged JavaScript/HTML5 frontend, licensed under [GPL version 3](LICENSE). This project originates from Cloud9 v2 project.

## About

Expand All @@ -18,15 +18,29 @@ Pylon is built entirely on a web stack, making it the most hacker-friendly IDE t
- Up to date dependencies and compatibility fixes
- Terminal

### Screenshot
### Screenshots

Browser used: Safari 12.1.1

#### Alternative forms based authentication

![ScreenShot](doc/screenshot01.png)

Login picture by Annie Spratt - Fog ([Unsplash license](https://unsplash.com/license))

#### The main user interface

![ScreenShot](doc/screenshot02.png)

#### Additional plugin dockpanel view

![ScreenShot](doc/screenshot03.png)

Check out [pylonide/pylon-plugin-mungit](https://github.com/pylonide/pylon-plugin-mungit) for the Git plugin.

## Browser Support

Moderns versions of Chrome and Safari are supported. Firefox, altough functional, no longer works as intended as of version 64.0 - future efforts will be made to restore compatibility.
Modern versions of Chrome and Safari are supported. Firefox, altough functional, no longer works as intended as of version 64.0. In the future, efforts will be made to restore compatibility.

### Basic iPad Pro support with keyboard

Expand All @@ -36,8 +50,6 @@ As of v2.3.0 efforts have been made to make Pylon usable with iPad. However, for
- Settings -> General -> Keyboard -> Smart Punctuation -> `Off` (interferes with coding by changing quotes)
- Settings -> General -> Keyboard -> Shortcuts -> `Off` (interferes by displaying bottom bar that hides the console prompt)

![iPad ScreenShot](doc/screenshot03.png)

## Installation and Usage

If installing on Windows, please refer to [Installation on Windows](#installation-on-windows-experimental).
Expand Down Expand Up @@ -95,8 +107,7 @@ Install [NVM](https://github.com/creationix/nvm) to manage node versions. Instal
Clone the Pylon repo to your machine and run npm:

npm install
make worker
node server.js -w ./ -l 0.0.0.0 -a x-www-browser
bin/pylon.sh -w . -l 0.0.0.0

## Updating

Expand All @@ -109,7 +120,7 @@ To update to the latest version (if this doesn't work, just make a fresh clone):

Pylon functionality is all created around server and client-side plugins.
However, there is hardly any documentation about the APIs to create your own
plugins. To get you started, please see [exsilium/cloud9-plugin-ungit](https://github.com/exsilium/cloud9-plugin-ungit)
plugins. To get you started, please see [pylonide/pylon-plugin-mungit](https://github.com/pylonide/pylon-plugin-mungit)
to see how to get started for a client-side only plugin.

Going forward, there will be efforts made to sort out the documentation and
Expand Down
4 changes: 2 additions & 2 deletions build/core.build.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
baseUrl: "../",
paths: {
"text" : "build/text", // plugin for pulling in text! files
"core" : "plugins-client/cloud9.core/www/core",
"core" : "plugins-client/pylon.core/www/core",
"treehugger" : "node_modules/treehugger/lib/treehugger",
"v8debug": "node_modules/v8debug/lib/v8debug",
"ext/main": "plugins-client/ext.main",
"apf-packaged": "plugins-client/lib.apf/www/apf-packaged",

// Needed because `r.js` has a bug based on packages config below:
// `Error evaluating module "undefined" at location "~/cloud9infra/node_modules/cloud9/events-amd.js"`
// `Error evaluating module "undefined" at location "~/pyloninfra/node_modules/cloud9/events-amd.js"`
"events-amd": "empty:"
},
packages: [
Expand Down
2 changes: 1 addition & 1 deletion build/packed_helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ for (var f in templates) {
var tmplFile = require(tmplPath)("blank", project, pluginList, options);

var idePlugin = tmplFile.plugins.filter(function(plugin) {
return plugin.packagePath && plugin.packagePath.indexOf("cloud9.core") !== -1;
return plugin.packagePath && plugin.packagePath.indexOf("pylon.core") !== -1;
})[0];
var scmPluginList = idePlugin.clientPlugins;

Expand Down
4 changes: 2 additions & 2 deletions configs/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ for (var i = 0; i < clientDirs.length; i++) {
clientExtensions[name] = __dirname + "/../plugins-client/" + dir;
}

var projectDir = process.env.C9_WORKSPACE || (argv.w && path.resolve(process.cwd(), argv.w)) || process.cwd();
var projectDir = process.env.PLN_WORKSPACE || (argv.w && path.resolve(process.cwd(), argv.w)) || process.cwd();
var fsUrl = "/workspace";
var vfsUrl = "/vfs";

var port = argv.p || process.env.PORT || 3131;
var host = argv.l || process.env.IP || "localhost";
var debugPort = argv.b || process.env.DEBUG_PORT || 5858;
var termLocal = process.env.C9_TERMLOCAL || (host === 'localhost' || host === '127.0.0.1') ? true : false
var termLocal = process.env.PLN_TERMLOCAL || (host === 'localhost' || host === '127.0.0.1') ? true : false

var useAuth = argv.username && argv.password;

Expand Down
2 changes: 1 addition & 1 deletion configs/local.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var plugins = require("./default");
/*
plugins.forEach(function(plugin) {
if (plugin.packagePath) {
if (/\/cloud9.core$/.test(plugin.packagePath)) {
if (/\/pylon.core$/.test(plugin.packagePath)) {
}
}
Expand Down
4 changes: 2 additions & 2 deletions configs/packed.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ var plugins = require("./default");
/*
plugins.forEach(function(plugin) {
if (plugin.packagePath) {
if (/\/cloud9.core$/.test(plugin.packagePath)) {
if (/\/pylon.core$/.test(plugin.packagePath)) {
}
}
});
*/

plugins = plugins.filter(function(plugin) {
// returns false if any of these plugins are detected; lib.packed will emit them
return !(/\/plugins-client\/cloud9.core$/.test(plugin) ||
return !(/\/plugins-client\/pylon.core$/.test(plugin) ||
/\/plugins-client\/lib.ace$/.test(plugin) ||
/\/plugins-client\/lib.apf$/.test(plugin) ||
/\/plugins-client\/lib.treehugger$/.test(plugin) ||
Expand Down
Binary file modified doc/screenshot01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/screenshot02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/screenshot03.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit c8c1c7c

Please sign in to comment.