in website/pages/en/index.js [21:90]
render() {
const {siteConfig, language = ''} = this.props;
const {baseUrl, docsUrl} = siteConfig;
const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
const langPart = `${language ? `${language}/` : ''}`;
const docUrl = doc => `${baseUrl}${docsPart}${langPart}${doc}`;
const Announcement = () => (
<div className="announcement">
<p>We are excited to announce the release of Opacus 1.0.</p>
<p>This release packs in lot of new features and bug fixes, and most importantly, also brings forth new APIs that are simpler, more modular, and easily extensible.</p>
<p>See our <a href="https://github.com/pytorch/opacus/releases/tag/v1.0.0">Release Notes</a> for more details. <a href="https://github.com/pytorch/opacus/blob/main/Migration_Guide.md" target="_blank">Migration Guide</a></p>
</div>
);
const SplashContainer = props => (
<div className="homeContainer">
<Announcement />
<div className="homeSplashFade">
<div className="wrapper homeWrapper">{props.children}</div>
</div>
</div>
);
const Logo = props => (
<div className="splashLogo">
<img
src={props.img_src}
alt="Project Logo"
className="primaryLogoImage"
/>
</div>
);
const ProjectTitle = () => (
<h2 className="projectTitle">
<small>{siteConfig.tagline}</small>
</h2>
);
const PromoSection = props => (
<div className="section promoSection">
<div className="promoRow">
<div className="pluginRowBlock">{props.children}</div>
</div>
</div>
);
const Button = props => (
<div className="pluginWrapper buttonWrapper">
<a className="button" href={props.href} target={props.target}>
{props.children}
</a>
</div>
);
return (
<SplashContainer>
<Logo img_src={siteConfig.logo} />
<div className="inner">
<ProjectTitle siteConfig={siteConfig} />
<PromoSection>
<Button href={docUrl('introduction.html')}>Introduction</Button>
<Button href={'#quickstart'}>Get Started</Button>
<Button href={`${baseUrl}tutorials/`}>Tutorials</Button>
</PromoSection>
</div>
</SplashContainer>
);
}