示例#1
0
 render() {
   const {
     children,
     disableSettings,
     hasMessages,
     flashMessages = [],
     removeFlashMessage,
     landingPage,
     showFooter = true,
     mediaBreakpoint,
     disableMenuButtonBehavior,
     isOnline,
     isSignedIn
   } = this.props;
   return (
     <Fragment>
       <Helmet
         meta={[
           {
             name: 'description',
             content:
               'Learn to code with free online courses, programming ' +
               'projects, and interview preparation for developer jobs.'
           },
           { name: 'keywords', content: metaKeywords.join(', ') }
         ]}
       >
         <style>{fontawesome.dom.css()}</style>
       </Helmet>
       <Header
         disableMenuButtonBehavior={disableMenuButtonBehavior}
         disableSettings={disableSettings}
         mediaBreakpoint={mediaBreakpoint}
       />
       <div className={`default-layout ${landingPage ? 'landing-page' : ''}`}>
         <OfflineWarning isOnline={isOnline} isSignedIn={isSignedIn} />
         {hasMessages ? (
           <Flash messages={flashMessages} onClose={removeFlashMessage} />
         ) : null}
         {children}
       </div>
       {showFooter && <Footer />}
     </Fragment>
   );
 }
示例#2
0
const TemplateWrapper = ({ children, title, description, keywords = [] }) => (
  <div>
    <Helmet
      htmlAttributes={{ lang: 'en' }}
      defaultTitle={title}
      meta={[
        { name: 'description', content: description },
        {
          name: 'keywords',
          content: keywords.join(),
        },
      ]}
    >
      <link
        href="//fonts.googleapis.com/css?family=Sanchez|Source+Sans+Pro"
        rel="stylesheet"
      />
      <link type="text/plain" rel="author" href="humans.txt" />
      <style>{fontawesome.dom.css()}</style>
    </Helmet>
    {children()}
  </div>
)
示例#3
0
 renderToHtml: async (render, Comp, meta) => {
   meta.css = FontAwesome.dom.css()
   return renderStylesToString(render(<Comp/>))
 },