react-native/website/core/Header.js

35 lines
906 B
JavaScript

/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule Header
*/
var React = require('React');
var slugify = require('slugify');
var Header = React.createClass({
contextTypes: {
permalink: React.PropTypes.string
},
render: function() {
var slug = slugify(this.props.toSlug || this.props.children);
var H = 'h' + this.props.level;
var base = this.context.permalink || '';
return (
<H {...this.props}>
<a className="anchor" name={slug}></a>
{this.props.children}
{' '}<a className="hash-link" href={base + '#' + slug}>#</a>
</H>
);
}
});
module.exports = Header;