const crypto = require('crypto'); const { Component, Fragment } = require('inferno'); const { cacheComponent } = require('../util/cache'); class Gitalk extends Component { render() { const { id, repo, owner, admin, clientId, clientSecret, createIssueManually, distractionFreeMode, jsUrl, cssUrl } = this.props; if (!id || !repo || !owner || !admin || !clientId || !clientSecret) { return
You forgot to set the owner, admin, repo, client_id, or client_secret for Gittalk. Please set it in _config.yml.
; } const js = `var gitalk = new Gitalk({ id: '${id}', repo: '${repo}', owner: '${owner}', clientID: '${clientId}', clientSecret: '${clientSecret}', admin: ${JSON.stringify(admin)}, createIssueManually: ${createIssueManually || false}, distractionFreeMode: ${distractionFreeMode || false} }) gitalk.render('comment-container')`; return
; } } module.exports = cacheComponent(Gitalk, 'comment.gitalk', props => { const { helper, comment } = props; // FIXME: config name change const id = crypto.createHash('md5').update(props.page.path).digest('hex'); return { id, repo: comment.repo, owner: comment.owner, admin: comment.admin, clientId: comment.clientId, clientSecret: comment.clientSecret, createIssueManually: comment.createIssueManually, distractionFreeMode: comment.distractionFreeMode, cssUrl: helper.cdn('gitalk', '1.4.1', 'dist/gitalk.css'), jsUrl: helper.cdn('gitalk', '1.4.1', 'dist/gitalk.min.js') }; });