Tucker McKnight
Convert feed.ts to a mithril template
1
1
import m from 'mithril'
import render from 'mithril-node-render'
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
return `<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Latest patches in ${branch.branchName}</title>
<link href="${ data.reposConfig.baseUrl + '/repos/' + slugify(branch.repoName) + '/branches/' + slugify(branch.branchName) + '/commits.xml'}" rel="self" />
<link href="${data.reposConfig.baseUrl + '/repos/' + slugify(branch.repoName) + '/branches/' + slugify(branch.branchName)}" />
<updated>${dateToRfc3339(currentRepo.commits.get(currentBranch.head).date)}</updated>
<id>${data.reposConfig.baseUrl}</id>
<author>
<name>${_.escape(currentRepo.name)} contributors</name>
</author>
${currentBranchCommits.map((commit) => {
const commitUrl = data.reposConfig.baseUrl + '/repos/' + slugify(branch.repoName) + '/branches/' + slugify(branch.branchName) + '/commits/' + commit.commit.hash
return `<entry>
<title>${_.escape(commit.commit.message.split('\n')[0])}</title>
<author><name>${_.escape(commit.commit.author)}</name></author>
<link href="${commitUrl}" />
<updated>${dateToRfc3339(commit.commit.date)}</updated>
<id>${commitUrl}</id>
<content type="text">${_.escape(commit.commit.message)}</content>
</entry>`
})}
</feed>`
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
return render([
m.trust('<?xml version="1.0" encoding="utf-8"?>'),
m('feed', {xmlns: "http://www.w3.org/2005/Atom"}, [
m('title', `Latest patches in ${branch.branchName}`),
m.trust(`<link href="${ data.reposConfig.baseUrl + '/repos/' + slugify(branch.repoName) + '/branches/' + slugify(branch.branchName) + '/commits.xml'}" rel="self" />`),
m.trust(`<link href="${data.reposConfig.baseUrl + '/repos/' + slugify(branch.repoName) + '/branches/' + slugify(branch.branchName)}" />`),
m('updated', dateToRfc3339(currentRepo.commits.get(currentBranch.head).date)),
m('id', data.reposConfig.baseUrl),
m('author',
m('name', `${_.escape(currentRepo.name)} contributors`)
),
currentBranchCommits.map((commit) => {
const commitUrl = data.reposConfig.baseUrl + '/repos/' + slugify(branch.repoName) + '/branches/' + slugify(branch.branchName) + '/commits/' + commit.commit.hash
return m('entry', [
m('title', _.escape(commit.commit.message.split('\n')[0])),
m('author', m('name', _.escape(commit.commit.author))),
m.trust(`<link href="${commitUrl}" />`),
m('updated', dateToRfc3339(commit.commit.date)),
m('id', commitUrl),
m('content', {type: "text"}, _.escape(commit.commit.message)),
])
})
])
])