Merge branch 'dev-tools-pages' into feature/variables

This commit is contained in:
Megan Pearson 2018-10-22 14:24:53 +02:00
commit 63b53acd48
8 changed files with 187 additions and 184 deletions

View File

@ -0,0 +1,34 @@
import * as React from 'react';
import styled from 'styled-components';
import Container from './Container';
const StyledMain =
styled.div <
MainProps >
`
padding-top: 6.25rem;
padding-bottom: 6.25rem;
${props =>
props.dark
? `
background-color: #000;
color: #fff;
`
: ''};
`;
interface MainProps {
dark?: boolean;
children: React.ReactNode;
}
function Main(props: MainProps) {
return (
<StyledMain dark={props.dark}>
<Container>{props.children}</Container>
</StyledMain>
);
}
export default Main;

View File

@ -1,8 +1,9 @@
import * as React from 'react';
import styled from 'styled-components';
import { withContext, Props } from './withContext';
import { Beta, Alpha } from './Typography';
import { media } from 'ts/variables';
import { Beta } from './Typography';
const Base = styled.div`
display: flex;
@ -42,9 +43,14 @@ const Item = styled.div`
}
`;
interface ContentBlockProps {
const StyledTitle = styled(Alpha)`
color: ${props => props.color};
`;
interface ContentBlockProps extends Props {
title: string;
children: React.ReactNode;
main?: boolean;
children?: React.ReactNode;
}
function ContentBlock(props: ContentBlockProps) {
@ -52,12 +58,14 @@ function ContentBlock(props: ContentBlockProps) {
return <Item>{child}</Item>;
});
const Title = props.main ? StyledTitle : Beta;
return (
<Base>
<Beta>{props.title}</Beta>
<Content>{children}</Content>
<Title color={props.colors.main}>{props.title}</Title>
{children ? <Content>{children}</Content> : null}
</Base>
);
}
export default ContentBlock;
export default withContext(ContentBlock);

View File

@ -1,41 +0,0 @@
import * as React from 'react';
import styled from 'styled-components';
import { media } from 'ts/variables';
import { withContext, Props } from './withContext';
import { Alpha } from './Typography';
const StyledMain = styled.div`
padding-top: 6.25rem;
padding-bottom: 6.25rem;
${media.small`
padding-top: 2.5rem;
padding-bottom: 2.5rem;
`};
`;
const Title = styled(Alpha)`
color: ${props => props.color};
margin-bottom: 6.25rem;
${media.small`
margin-bottom: 3.125rem;
`};
`;
interface MainProps extends Props {
children: React.ReactNode;
}
function Main(props: MainProps) {
return (
<StyledMain>
<Title as="h2" color={props.colors.main}>
Get started
</Title>
{props.children}
</StyledMain>
);
}
export default withContext(Main);

View File

@ -1,6 +1,5 @@
import * as React from 'react';
import styled from 'styled-components';
import { colors } from 'ts/variables';
import { Tabs as ReactTabs, Tab, TabList, TabPanel } from 'react-tabs';
import Breakout from './Breakout';
@ -41,7 +40,7 @@ const Root =
}
${StyledTab}[aria-selected="true"] {
background-color: ${colors.gray};
}
}
`;
interface TabsProps extends Props {

View File

@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/compiler';
import Base from 'ts/components/Base';
import Container from 'ts/components/Container';
import Main from 'ts/components/Main';
import Content from 'ts/components/Content';
import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code';
@ -15,40 +14,53 @@ import CompilerComponent from 'ts/components/Compiler';
function Compiler() {
return (
<Base context={context}>
<Container>
<CompilerComponent />
<Main>
<ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} />
</ContentBlock>
<ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code>
<p>
Sol-trace is a subprovider that needs to be prepended to your{' '}
<a href="#">provider engine</a>. Depending on your project setup, you will need to use a
specific ArtifactAdapter. Sol-trace ships with the{' '}
<InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
also write your own and support any artifact format.
</p>
</ContentBlock>
<CompilerComponent />
<Content>
<ContentBlock main title="Get started" />
<ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} />
</ContentBlock>
<ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code>
<p>
Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
write your own and support any artifact format.
</p>
</ContentBlock>
<ContentBlock title="Installation">
<Tabs>
<TabBlock title="Sol-compiler">
<Code language="js">
{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
<ContentBlock title="Installation">
<Tabs>
<TabBlock title="Sol-compiler">
<Code language="js">
{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
</Code>
</TabBlock>
<TabBlock title="Truffle">Truffle</TabBlock>
<TabBlock title="Custom">Custom</TabBlock>
</Tabs>
</ContentBlock>
</Main>
</Container>
</Code>
</TabBlock>
<TabBlock title="Truffle">Truffle</TabBlock>
<TabBlock title="Custom">Custom</TabBlock>
</Tabs>
</ContentBlock>
</Content>
<Content dark>
<ContentBlock main title="Artifacts">
<p>
Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can
define which parts of the artifact you need.
</p>
</ContentBlock>
<ContentBlock title="Production">
<p>
Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can
define which parts of the artifact you need.
</p>
</ContentBlock>
</Content>
</Base>
);
}

View File

@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/cov';
import Base from 'ts/components/Base';
import Container from 'ts/components/Container';
import Main from 'ts/components/Main';
import Content from 'ts/components/Content';
import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code';
@ -15,46 +14,44 @@ import Intro from 'ts/components/Intro';
function Cov() {
return (
<Base context={context}>
<Container>
<Intro title="Measure your tests">
<Intro title="Measure your tests">
<p>
When it comes to writing smart contracts, testing is one of the most important steps of the process.
In order to quantify the robustness of your Solidity testing suite, you need to measure its code
coverage.
</p>
</Intro>
<Content>
<ContentBlock main title="Get started" />
<ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} />
</ContentBlock>
<ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code>
<p>
When it comes to writing smart contracts, testing is one of the most important steps of the
process. In order to quantify the robustness of your Solidity testing suite, you need to measure
its code coverage.
Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
write your own and support any artifact format.
</p>
</Intro>
<Main>
<ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} />
</ContentBlock>
<ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code>
<p>
Sol-trace is a subprovider that needs to be prepended to your{' '}
<a href="#">provider engine</a>. Depending on your project setup, you will need to use a
specific ArtifactAdapter. Sol-trace ships with the{' '}
<InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
also write your own and support any artifact format.
</p>
</ContentBlock>
</ContentBlock>
<ContentBlock title="Installation">
<Tabs>
<TabBlock title="Sol-compiler">
<Code language="js">
{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
<ContentBlock title="Installation">
<Tabs>
<TabBlock title="Sol-compiler">
<Code language="js">
{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
</Code>
</TabBlock>
<TabBlock title="Truffle">Truffle</TabBlock>
<TabBlock title="Custom">Custom</TabBlock>
</Tabs>
</ContentBlock>
</Main>
</Container>
</Code>
</TabBlock>
<TabBlock title="Truffle">Truffle</TabBlock>
<TabBlock title="Custom">Custom</TabBlock>
</Tabs>
</ContentBlock>
</Content>
</Base>
);
}

View File

@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/profiler';
import Base from 'ts/components/Base';
import Container from 'ts/components/Container';
import Main from 'ts/components/Main';
import Content from 'ts/components/Content';
import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code';
@ -15,46 +14,44 @@ import Intro from 'ts/components/Intro';
function Profiler() {
return (
<Base context={context}>
<Container>
<Intro title="ra">
<Intro title="ra">
<p>
Sol-profiler gathers line-by-line gas usage for any transaction submitted through your provider.
This will help you find unexpected inefficiencies in parts of your smart contract, and take a
data-driven approach to optimizing it.
</p>
</Intro>
<Content>
<ContentBlock main title="Get started" />
<ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} />
</ContentBlock>
<ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code>
<p>
Sol-profiler gathers line-by-line gas usage for any transaction submitted through your provider.
This will help you find unexpected inefficiencies in parts of your smart contract, and take a
data-driven approach to optimizing it.
Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
write your own and support any artifact format.
</p>
</Intro>
<Main>
<ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} />
</ContentBlock>
<ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code>
<p>
Sol-trace is a subprovider that needs to be prepended to your{' '}
<a href="#">provider engine</a>. Depending on your project setup, you will need to use a
specific ArtifactAdapter. Sol-trace ships with the{' '}
<InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
also write your own and support any artifact format.
</p>
</ContentBlock>
</ContentBlock>
<ContentBlock title="Installation">
<Tabs>
<TabBlock title="Sol-compiler">
<Code language="js">
{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
<ContentBlock title="Installation">
<Tabs>
<TabBlock title="Sol-compiler">
<Code language="js">
{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
</Code>
</TabBlock>
<TabBlock title="Truffle">Truffle</TabBlock>
<TabBlock title="Custom">Custom</TabBlock>
</Tabs>
</ContentBlock>
</Main>
</Container>
</Code>
</TabBlock>
<TabBlock title="Truffle">Truffle</TabBlock>
<TabBlock title="Custom">Custom</TabBlock>
</Tabs>
</ContentBlock>
</Content>
</Base>
);
}

View File

@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/trace';
import Base from 'ts/components/Base';
import Container from 'ts/components/Container';
import Main from 'ts/components/Main';
import Content from 'ts/components/Content';
import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code';
@ -16,39 +15,37 @@ function Trace() {
return (
<Base context={context}>
<TraceComponent />
<Container>
<Main>
<ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} />
</ContentBlock>
<ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code>
<p>
Sol-trace is a subprovider that needs to be prepended to your{' '}
<a href="#">provider engine</a>. Depending on your project setup, you will need to use a
specific ArtifactAdapter. Sol-trace ships with the{' '}
<InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
also write your own and support any artifact format.
</p>
</ContentBlock>
<Content>
<ContentBlock main title="Get started" />
<ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} />
</ContentBlock>
<ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code>
<p>
Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
write your own and support any artifact format.
</p>
</ContentBlock>
<ContentBlock title="Installation">
<Tabs>
<TabBlock title="Sol-compiler">
<Code language="js">
{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
<ContentBlock title="Installation">
<Tabs>
<TabBlock title="Sol-compiler">
<Code language="js">
{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
</Code>
</TabBlock>
<TabBlock title="Truffle">Truffle</TabBlock>
<TabBlock title="Custom">Custom</TabBlock>
</Tabs>
</ContentBlock>
</Main>
</Container>
</Code>
</TabBlock>
<TabBlock title="Truffle">Truffle</TabBlock>
<TabBlock title="Custom">Custom</TabBlock>
</Tabs>
</ContentBlock>
</Content>
</Base>
);
}