Skip to content

Commit

Permalink
docs(build): use react-static for prerender (Semantic-Org#2925)
Browse files Browse the repository at this point in the history
* feat(render): use DocsLayout

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): use react-static

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): use local import of logo

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): use react-static

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): use react-static

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): use react-static

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): use react-static

Signed-off-by: Oleksandr Fediashov <[email protected]>

* chore(package): drop useless deps

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): drop react-document-title

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): add title

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): move routes to separate files

Signed-off-by: Oleksandr Fediashov <[email protected]>

* chore(package): remove express and webpack-hot-middleware

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): restore ComponentDocSee

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): restore ComponentProps

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): restore ComponentSidebar

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): use CDN and move styles

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): move assets

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): restore contribution prompt, make examples loadable

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): add react-universal-component to deps

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): restore hash nav functionality

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): fix assets paths

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): improve sidebar perf

Signed-off-by: Oleksandr Fediashov <[email protected]>

* chore(render): remove connect-history-api-fallback

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): reconfigure babelrc

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): fix perf issues

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): grab sources

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): configure babel

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): restore ComponentExample

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): update assets paths

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): update configs

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): use semantic-ui-react alias

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): testing chunking

Signed-off-by: Oleksandr Fediashov <[email protected]>

* docs(static): use direct imports

* docs(static): fix SSR

* docs(static): drop HtmlWebpack plugin

* docs(static): restore routes

* docs(static): update preset

* docs(static): WIP under render

* feat(render): make buildable proto

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): refactor componentInfo

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): refactor componentInfo

Signed-off-by: Oleksandr Fediashov <[email protected]>

* feat(render): restore tests

Signed-off-by: Oleksandr Fediashov <[email protected]>

* chore(package): update TS releted stuff

Signed-off-by: Oleksandr Fediashov <[email protected]>

* style(docs): fix lint issue

Signed-off-by: Oleksandr Fediashov <[email protected]>

* chore(package): regenerate yarn.lock

Signed-off-by: Oleksandr Fediashov <[email protected]>

* wip under final config

Signed-off-by: Oleksandr Fediashov <[email protected]>

* finalize webpack config

Signed-off-by: Oleksandr Fediashov <[email protected]>

* omit usage of package.json

Signed-off-by: Oleksandr Fediashov <[email protected]>

* omit usage of package.json

Signed-off-by: Oleksandr Fediashov <[email protected]>

* style fixes

Signed-off-by: Oleksandr Fediashov <[email protected]>

* style fixes

Signed-off-by: Oleksandr Fediashov <[email protected]>

* switch to CDNJS

Signed-off-by: Oleksandr Fediashov <[email protected]>

* set dist directory

Signed-off-by: Oleksandr Fediashov <[email protected]>

* adjust priority

Signed-off-by: Oleksandr Fediashov <[email protected]>

* restore layouts

Signed-off-by: Oleksandr Fediashov <[email protected]>

* chore(package): update webpack

Signed-off-by: Oleksandr Fediashov <[email protected]>

* chore(package): cleanup gulp build

Signed-off-by: Oleksandr Fediashov <[email protected]>

* restore examples rendering

Signed-off-by: Oleksandr Fediashov <[email protected]>

* restore maximized examples and 404 page

Signed-off-by: Oleksandr Fediashov <[email protected]>

* restore contribution prompt for missing examples

Signed-off-by: Oleksandr Fediashov <[email protected]>

* restore completions

Signed-off-by: Oleksandr Fediashov <[email protected]>

* fix merge issue

Signed-off-by: Oleksandr Fediashov <[email protected]>

* cleanups in babel preset

Signed-off-by: Oleksandr Fediashov <[email protected]>

* fix layouts layout

Signed-off-by: Oleksandr Fediashov <[email protected]>

* fix link to introduction

Signed-off-by: Oleksandr Fediashov <[email protected]>

* chore(.gitignore): remove dupe, add tmp/

* refactor(babel-preset): use is* prefixed booleans

* add env to build in package.json

Signed-off-by: Oleksandr Fediashov <[email protected]>

* fix NavLink usage

Signed-off-by: Oleksandr Fediashov <[email protected]>

* fix styles

Signed-off-by: Oleksandr Fediashov <[email protected]>
  • Loading branch information
layershifter authored and levithomason committed Jul 24, 2018
1 parent f64e1fb commit a2cc3a7
Show file tree
Hide file tree
Showing 74 changed files with 4,577 additions and 1,306 deletions.
78 changes: 78 additions & 0 deletions .babel-preset.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
const { NODE_ENV } = process.env

const isESBuild = NODE_ENV === 'build-es'
const isLibBuild = NODE_ENV === 'build' || isESBuild
const isDocsBuild = NODE_ENV === 'development' || NODE_ENV === 'production'

const browsers = [
'last 8 versions',
'safari > 8',
'firefox > 23',
'chrome > 24',
'opera > 15',
'not ie < 11',
'not ie_mob <= 11',
]

const plugins = [
'@babel/plugin-proposal-class-properties',
'@babel/plugin-proposal-export-default-from',
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-syntax-dynamic-import',
[
'@babel/plugin-transform-runtime',
{
polyfill: false,
regenerator: isDocsBuild,
},
],
// Plugins that allow to reduce the target bundle size
'lodash',
'transform-react-handled-props',
[
'transform-react-remove-prop-types',
{
mode: 'wrap',
},
],
// A plugin for react-static
isDocsBuild && [
'universal-import',
{
disableWarnings: true,
},
],
// A plugin for removal of debug in production builds
isLibBuild && [
'filter-imports',
{
imports: {
debug: ['default'],
'../../lib': ['makeDebugger'],
},
},
],
].filter(Boolean)

module.exports = () => ({
compact: false,
presets: [
[
'@babel/env',
{
modules: isESBuild ? false : 'commonjs',
targets: { browsers },
},
],
'@babel/react',
],
plugins,
env: {
development: {
plugins: ['react-hot-loader/babel'],
},
test: {
plugins: [['istanbul', { include: ['src'] }]],
},
},
})
32 changes: 1 addition & 31 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,33 +1,3 @@
{
"presets": [
"./build/preset-env",
"@babel/react"
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-proposal-export-namespace-from",
"@babel/plugin-syntax-dynamic-import",
"lodash",
"transform-react-handled-props",
["transform-react-remove-prop-types", {
"mode": "wrap"
}],
["@babel/transform-runtime", {
"polyfill": false,
"regenerator": false
}]
],
"env": {
"development": {
"plugins": [
"react-hot-loader/babel"
]
},
"test": {
"plugins": [
["istanbul", { "include": ["src"] }]
]
}
}
"presets": ["./.babel-preset.js"]
}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ docs/src/exampleMenus
docs/dist/
dll/
node_modules/
tmp/
35 changes: 0 additions & 35 deletions build/preset-env.js

This file was deleted.

109 changes: 109 additions & 0 deletions docs/public/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
html, body {
background: #f7f7f7 !important;
}

.anchorjs-link {
position: absolute;
transition: margin-left .25s, color .25s, opacity 0.25s;
margin-left: -0.2em;
color: #777;
opacity: 0;
}

h1:hover > .anchorjs-link:not(:hover),
h2:hover > .anchorjs-link:not(:hover),
h3:hover > .anchorjs-link:not(:hover),
h4:hover > .anchorjs-link:not(:hover),
h5:hover > .anchorjs-link:not(:hover),
h6:hover > .anchorjs-link:not(:hover) {
margin-left: 0;
opacity: 0.5;
}

.anchorjs-link:hover {
margin-left: 0;
color: cornflowerblue;
opacity: 1;
}

#introduction-page p {
font-size: 1.125em;
margin: 1.5em 0;
}

pre {
margin: 0;
}

code:not(.hljs) {
font-size: 87.5%;
background-color: rgba(0, 0, 0, 0.04);
border-radius: 3px;
white-space: pre;
display: inline-block;
}

code:not(.hljs)::before {
letter-spacing: -0.2em;
content: "\00a0";
}

code:not(.hljs)::after {
letter-spacing: -0.2em;
content: "\00a0";
}

.docs-icon-set-column {
cursor: pointer;
}

.docs-icon-set-column .icon {
font-size: 2em;
color: #555;
transform: scale(1);
transition: opacity 0.2s, color 0.2s, transform 0.2s;
}

.docs-icon-set-column .name {
display: block;
margin: 1em 0;
color: #777;
}

.docs-icon-set-column:hover > .icon,
.docs-icon-set-column:hover > .name {
color: #000;
}

.docs-icon-set-column:hover > .icon {
transform: scale(1.5);
}

#carbonads {
display: block;
}

#carbonads span {
display: block;
}

.carbon-img {
display: block;
}

.carbon-img img {
display: block;
}

.carbon-text {
display: block;
margin-top: 1em;
}

.carbon-poweredby {
display: block;
margin-top: 0.5em;
font-size: 0.8em;
color: #ffffff;
opacity: 0.5;
}
9 changes: 0 additions & 9 deletions docs/src/404.html

This file was deleted.

16 changes: 16 additions & 0 deletions docs/src/App.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import React from 'react'
import { hot } from 'react-hot-loader'
import { Router, Switch } from 'react-static'
import Routes from 'react-static-routes'

const App = () => (
<Router>
<Switch>
<Switch>
<Routes />
</Switch>
</Switch>
</Router>
)

export default hot(module)(App)
Loading

0 comments on commit a2cc3a7

Please sign in to comment.