Skip to content

Commit

Permalink
Initial gatsby website structure (#186)
Browse files Browse the repository at this point in the history
  • Loading branch information
ibgreen authored and georgios-uber committed Mar 22, 2019
1 parent 769ef77 commit 2cd152b
Show file tree
Hide file tree
Showing 31 changed files with 650 additions and 17 deletions.
92 changes: 92 additions & 0 deletions docs/table-of-contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"id": "table-of-contents",
"chapters": [
{
"title": "Introduction",
"chapters": [
{
"title": "Overview",
"entries": [
{
"entry": "docs/overview"
},
{
"entry": "docs/whats-new"
},
{
"entry": "docs/roadmap"
},
{
"entry": "docs/FAQ"
},
{
"entry": "docs/upgrade-guide"
}
]
},
{
"title": "Get Started",
"entries": [
{
"entry": "docs/get-started/installing.md"
},
{
"entry": "docs/get-started/basic-usage.md"
}
]
}
]
},
{
"title": "Developer Guide",
"entries": [
{
"entry": "docs/developer-guide/configuring-nebula.md"
},
{
"entry": "docs/developer-guide/editable-layers.md"
},
{
"entry": "docs/developer-guide/html-overlays.md"
}
]
},
{
"title": "API Reference",
"entries": [
{
"entry": "docs/api-reference/layers/editable-geojson-layer.md"
},
{
"entry": "docs/api-reference/layers/selection-layer.md"
},
{
"entry": "docs/api-reference/mode-handlers/overview.md"
}
]
},
{
"title": "API Reference (React)",
"entries": [
{
"entry": "docs/api-reference/nebula.md"
},
{
"entry": "docs/api-reference/overlays/html-overlay.md"
},
{
"entry": "docs/api-reference/overlays/html-cluster-overlay.md"
},
{
"entry": "docs/api-reference/overlays/html-tooltip-overlay.md"
},
{
"entry": "docs/api-reference/overlays/html-overlay-item.md"
},
{
"entry": "docs/api-reference/overlays/nebula-overlay.md"
}
]
}
]
}
File renamed without changes.
File renamed without changes.
24 changes: 24 additions & 0 deletions website-old/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "nebulagl-website",
"version": "0.0.1",
"description": "",
"main": "index.js",
"scripts": {
"start": "ocular start open",
"build": "ocular build"
},
"keywords": [],
"author": "",
"license": "MIT",
"dependencies": {
"@deck.gl/core": "6.0.3",
"@deck.gl/experimental-layers": "6.0.3",
"@deck.gl/layers": "6.0.3",
"@deck.gl/react": "6.0.3",
"deck.gl": "6.0.3",
"nebula.gl": "0.6.0",
"nebula.gl-react": "0.6.0",
"ocular": "0.6.1",
"react-map-gl": "^3.2.7"
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Empty file added website-old/static/.empty
Empty file.
File renamed without changes.
2 changes: 2 additions & 0 deletions website/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dist/
node_modules/
59 changes: 59 additions & 0 deletions website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
### Node ###
# Logs
logs
*.log
npm-debug.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules
jspm_packages

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity


# Build Files
public/
.cache/

# Gatsby context
.gatsby-context.js

# Bundle stats
bundle-stats.json
13 changes: 13 additions & 0 deletions website/gatsby-browser.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const {registerReactComponent} = require('ocular-gatsby/api');

// const Hero = require('./src/components/hero').default;
// const ExampleRunner = require('./src/components/example-runner').default;
const EXAMPLES = require('./src/components/examples');

module.exports = require('ocular-gatsby/gatsby-browser');

// Make sure to regsiter custom components after ocular registers defaults

// registerReactComponent('Hero', Hero);
// registerReactComponent('ExampleRunner', ExampleRunner);
registerReactComponent('EXAMPLES', EXAMPLES);
5 changes: 5 additions & 0 deletions website/gatsby-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
const {getGatsbyConfig, registerReactComponent} = require('ocular-gatsby/api');

const config = require('./ocular-config');

module.exports = getGatsbyConfig(config);
20 changes: 20 additions & 0 deletions website/gatsby-node.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const config = require('./ocular-config');
const getGatsbyNodeCallbacks = require('ocular-gatsby/gatsby-node');

module.exports = getGatsbyNodeCallbacks(config);

// NOTE: It is possible to override the ocular-provided callbacks
// and this take control any aspect of gatsby:

// exports.onCreateNode = ({ node, actions, getNode }) =>
// ocular.onCreateNode({ node, actions, getNode });

// exports.setFieldsOnGraphQLNodeType = ({ type, actions }) =>
// ocular.setFieldsOnGraphQLNodeType({ type, actions });

// // This is a main gatsby entry point
// // Here we get to programmatically create pages after all nodes are created
// // by gatsby.
// // We use graphgl to query for nodes and iterate
// exports.createPages = ({ graphql, actions }) =>
// ocular.createPages({ graphql, actions });
106 changes: 106 additions & 0 deletions website/ocular-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
// const resolve = require('path').resolve;
// const ALIASES = require('ocular-dev-tools/config/ocular.config')({
// root: resolve(__dirname, '..')
// }).aliases;

const DOCS = require('../docs/table-of-contents.json');
const DEPENDENCIES = require('./package.json').dependencies;

// When duplicating example dependencies in website, autogenerate
// aliases to ensure the website version is picked up
// NOTE: nebula.gl module dependencies are automatically injected
// TODO - should this be automatically done by ocular-gatsby?
const dependencyAliases = {};
for (const dependency in DEPENDENCIES) {
dependencyAliases[dependency] = `${__dirname}/node_modules/${dependency}`;
}

module.exports = {
logLevel: 1,

PROJECT_TYPE: 'github',

PROJECT_NAME: 'nebula.gl',
PROJECT_ORG: 'uber',
PROJECT_URL: `https://nebula.gl`,
PROJECT_DESC: 'WebGL2 Components',

PROJECTS: {},

HOME_HEADING:
'High-performance WebGL2 components for GPU-powered data visualization and computation.',

HOME_RIGHT: null,

HOME_BULLETS: [
{
text: 'Advanced GPU Usage',
desc: 'Simplifies advanced GPU techniques, e.g. Instanced Rendering and Transform Feedback',
img: 'icons/icon-react.svg'
},
{
text: 'Shader Programming Power',
desc:
'Modularized shader code, classes for controlling GPU inputs and outputs, and support for debugging and profiling of GLSL shaders.',
img: 'icons/icon-layers.svg'
},
{
text: 'Performance Focus',
desc: 'Enables visualization and GPU processing of very large data sets.',
img: 'icons/icon-high-precision.svg'
}
],

ADDITIONAL_LINKS: [],

EXAMPLES: [
{
title: 'BasicOverlayExample',
path: 'examples/core/instancing/',
image: 'images/example-instancing.jpg'
},
{
title: 'ClusteringOverlayExample',
path: 'examples/core/cubemap/',
image: 'images/example-cubemap.jpg'},
{
title: 'EditPointsExample',
path: 'examples/core/mandelbrot/',
image: 'images/example-mandelbrot.jpg'
},
{
title: 'EditPolygonsExample',
path: 'examples/core/quasicrystals/',
image: 'images/example-fragment.jpg'
},
{
title: 'WorldHeritageExample',
path: 'examples/core/persistence/',
image: 'images/example-persistence.jpg'
}
],

THEME_OVERRIDES: [{ key: true, value: true }],

DOCS,

DOC_FOLDER: `${__dirname}/../docs/`,
ROOT_FOLDER: `${__dirname}/../`,
DIR_NAME: __dirname,

// Avoids duplicate conflicting inputs when importing from examples folders
// Ocular adds this to gatsby's webpack config
webpack: {
resolve: {
alias: dependencyAliases
}
},

// TODO - remnants from gatsby starter, remove and replace with ocular CAPS constants aboves
// Domain of your website without pathPrefix.
siteUrl: 'https://nebula.gl',
// Prefixes all links. For cases when deployed to example.github.io/gatsby-advanced-starter/.
pathPrefix: '/nebula',
// Path to the RSS file.
siteRss: '/rss.xml'
};
37 changes: 20 additions & 17 deletions website/package.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
{
"name": "nebulagl-website",
"version": "0.0.1",
"description": "",
"description": "A website built with ocular",
"license": "MIT",
"keywords": [
"ocular"
],
"main": "index.js",
"scripts": {
"start": "ocular start open",
"build": "ocular build"
"start": "yarn clean && yarn develop",
"clean": "rm -rf ./.cache ./public",
"develop": "gatsby develop",
"build": "gatsby build",
"serve": "gatsby serve"
},
"keywords": [],
"author": "",
"license": "MIT",
"dependencies": {
"@deck.gl/core": "6.0.3",
"@deck.gl/experimental-layers": "6.0.3",
"@deck.gl/layers": "6.0.3",
"@deck.gl/react": "6.0.3",
"deck.gl": "6.0.3",
"nebula.gl": "0.6.0",
"nebula.gl-react": "0.6.0",
"ocular": "0.6.1",
"react-map-gl": "^3.2.7"
"@deck.gl/react": "^6.4.7",
"deck.gl": "^6.4.7",
"math.gl": "^2.3.1",
"noise3d": "^1.0.0",
"react-map-gl": "^4.1.1"
},
"devDependencies": {
"gatsby": "2.1.38",
"ocular-gatsby": "1.0.0-alpha.12",
"sharp": "0.21.1"
}
}
15 changes: 15 additions & 0 deletions website/src/components/example-list.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import {
BasicOverlayExample,
ClusteringOverlayExample,
EditPointsExample,
EditPolygonsExample,
WorldHeritageExample
} from '../../../docs/examples/examples';

export default {
BasicOverlayExample: {app: BasicOverlayExample, path: 'examples/'},
ClusteringOverlayExample: {app: ClusteringOverlayExample, path: 'examples/'},
EditPointsExample: {app: EditPointsExample, path: 'examples/'},
EditPolygonsExample: {app: EditPolygonsExample, path: 'examples/'},
WorldHeritageExample: {app: WorldHeritageExample, path: 'examples/'},
};
Loading

0 comments on commit 2cd152b

Please sign in to comment.