Skip to content
Snippets Groups Projects
index.js 2.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • Oliver Herms's avatar
    Dep
    Oliver Herms committed
    const React = require('react');
    
    const CompLibrary = require('../../core/CompLibrary.js');
    const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
    const Container = CompLibrary.Container;
    const GridBlock = CompLibrary.GridBlock;
    
    const siteConfig = require(process.cwd() + '/siteConfig.js');
    
    class Button extends React.Component {
      render() {
        return (
          <div className="pluginWrapper buttonWrapper">
            <a className="button" href={this.props.href} target={this.props.target}>
              {this.props.children}
            </a>
          </div>
        );
      }
    }
    
    function assetUrl(img) {
      return siteConfig.baseUrl + 'docs/assets/' + img;
    }
    
    function docUrl(doc, language) {
      return siteConfig.baseUrl + 'docs/' + (language ? language + '/' : '') + doc;
    }
    
    Button.defaultProps = {
      target: '_self',
    };
    
    const SplashContainer = props => (
      <div className="homeContainer">
        <div className="homeSplashFade">
          <div className="wrapper homeWrapper">{props.children}</div>
        </div>
      </div>
    );
    
    const Logo = props => (
      <div className="projectLogo">
        <img src={props.img_src} />
      </div>
    );
    
    const ProjectTitle = props => (
      <h2 className="projectTitle">
        {siteConfig.title}
        <small>{siteConfig.tagline}</small>
      </h2>
    );
    
    const PromoSection = props => (
      <div className="section promoSection">
        <div className="promoRow">
          <div className="pluginRowBlock">{props.children}</div>
        </div>
      </div>
    );
    
    class HomeSplash extends React.Component {
      render() {
        let language = this.props.language || '';
        return (
          <SplashContainer>
            <Logo img_src={assetUrl('DigbyShadows.svg')} />
            <div className="inner">
              <ProjectTitle />
              <PromoSection>
                <Button href={docUrl('introduction.html', language)}>Docs</Button>
                <Button href={siteConfig.baseUrl + 'blog'}>Blog</Button>
                <Button href='https://github.com/golang/dep'>Code</Button>
              </PromoSection>
            </div>
          </SplashContainer>
        );
      }
    }
    
    class Index extends React.Component {
      render() {
        let language = this.props.language || '';
    
        return (
            <HomeSplash language={language} />
        );
      }
    }
    
    module.exports = Index;