Allow external link target (e.g. _blank)

This commit is contained in:
Frank Li 2017-07-21 16:23:59 -07:00
parent f72144e988
commit da4b381df4
2 changed files with 30 additions and 4 deletions

View file

@ -91,7 +91,7 @@ class HeaderNav extends React.Component {
}; };
} }
makeLinks(link) { makeInternalLinks(link) {
const linkWithLang = link.href.replace( const linkWithLang = link.href.replace(
/\/LANGUAGE\//, /\/LANGUAGE\//,
"/" + this.props.language + "/" "/" + this.props.language + "/"
@ -110,6 +110,26 @@ class HeaderNav extends React.Component {
); );
} }
makeExternalLinks(link) {
const linkWithLang = link.href.replace(
/\/LANGUAGE\//,
"/" + this.props.language + "/"
);
return (
<li key={link.section}>
<a
href={linkWithLang}
className={link.section === this.props.section ? "active" : ""}
target={siteConfig.externalLinkTarget || "_self"}
>
{translation[this.props.language]
? translation[this.props.language]["localized-strings"][link.text]
: link.text}
</a>
</li>
);
}
render() { render() {
return ( return (
<div className="fixedHeaderContainer"> <div className="fixedHeaderContainer">
@ -134,7 +154,10 @@ class HeaderNav extends React.Component {
<div className="navigationWrapper navigationSlider"> <div className="navigationWrapper navigationSlider">
<nav className="slidingNav"> <nav className="slidingNav">
<ul className="nav-site nav-site-internal"> <ul className="nav-site nav-site-internal">
{this.props.config.headerLinksInternal.map(this.makeLinks, this)} {this.props.config.headerLinksInternal.map(
this.makeInternalLinks,
this
)}
<LanguageDropDown <LanguageDropDown
baseUrl={this.props.baseUrl} baseUrl={this.props.baseUrl}
language={this.props.language} language={this.props.language}
@ -147,7 +170,10 @@ class HeaderNav extends React.Component {
placeholder="Search" placeholder="Search"
/> />
</li>} </li>}
{this.props.config.headerLinksExternal.map(this.makeLinks, this)} {this.props.config.headerLinksExternal.map(
this.makeExternalLinks,
this
)}
</ul> </ul>
</nav> </nav>
</div> </div>

View file

@ -21,7 +21,7 @@
"shelljs": "^0.7.8" "shelljs": "^0.7.8"
}, },
"name": "docusaurus", "name": "docusaurus",
"version": "1.0.0-alpha.27", "version": "1.0.0-alpha.28",
"bin": { "bin": {
"docusaurus-start": "./lib/start-server.js", "docusaurus-start": "./lib/start-server.js",
"docusaurus-build": "./lib/build-files.js", "docusaurus-build": "./lib/build-files.js",