diff --git a/lib/core.js b/lib/core.js index 8f8c807f..663cfb01 100644 --- a/lib/core.js +++ b/lib/core.js @@ -2,6 +2,8 @@ var util = require('util'); var _ = require('underscore'); +var cheerio = require('cheerio'); +var he = require('he'); var log = require('./log'); var h = require('./helper'); @@ -119,9 +121,13 @@ core.exportProblem = function(problem, opts) { data.testcase = util.inspect(data.testcase || ''); if (opts.tpl === 'detailed') { + let desc = data.desc; + // Replace with '^' as the power operator + desc = desc.replace(/<\/sup>/gm, '').replace(//gm, '^'); + desc = he.decode(cheerio.load(desc).root().text()); // NOTE: wordwrap internally uses '\n' as EOL, so here we have to // remove all '\r' in the raw string. - const desc = data.desc.replace(/\r\n/g, '\n').replace(/^ /mg, '⁠'); + desc = desc.replace(/\r\n/g, '\n').replace(/^ /mg, '⁠'); const wrap = require('wordwrap')(79 - data.comment.line.length); data.desc = wrap(desc).split('\n'); } diff --git a/lib/plugins/leetcode.js b/lib/plugins/leetcode.js index 1db2e00b..e1da31e6 100644 --- a/lib/plugins/leetcode.js +++ b/lib/plugins/leetcode.js @@ -2,8 +2,6 @@ var util = require('util'); var _ = require('underscore'); -var cheerio = require('cheerio'); -var he = require('he'); var request = require('request'); var config = require('../config'); @@ -162,11 +160,7 @@ plugin.getProblem = function(problem, cb) { problem.likes = q.likes; problem.dislikes = q.dislikes; - const content = q.translatedContent ? q.translatedContent : q.content; - // // Replace with '^' as the power operator - // content = content.replace(/<\/sup>/gm, '').replace(//gm, '^'); - // problem.desc = he.decode(cheerio.load(content).root().text()); - problem.desc = content; + problem.desc = q.translatedContent ? q.translatedContent : q.content; problem.templates = JSON.parse(q.codeDefinition); problem.testcase = q.sampleTestCase; diff --git a/templates/codeonly.tpl b/templates/codeonly.tpl index d8baa802..22ea0a6b 100644 --- a/templates/codeonly.tpl +++ b/templates/codeonly.tpl @@ -1 +1,6 @@ +${comment.start} +${comment.line} @lc app=${app} id=${fid} lang=${lang} +${comment.line} +${comment.line} [${fid}] ${name} +${comment.end} ${code} diff --git a/templates/detailed.tpl b/templates/detailed.tpl index 22ea0a6b..c8ac653c 100644 --- a/templates/detailed.tpl +++ b/templates/detailed.tpl @@ -2,5 +2,17 @@ ${comment.start} ${comment.line} @lc app=${app} id=${fid} lang=${lang} ${comment.line} ${comment.line} [${fid}] ${name} -${comment.end} +${comment.line} +${comment.line} ${link} +${comment.line} +${comment.line} ${category} +${comment.line} ${level} (${percent}%) +${comment.line} Likes: ${likes} +${comment.line} Dislikes: ${dislikes} +${comment.line} Total Accepted: ${totalAC} +${comment.line} Total Submissions: ${totalSubmit} +${comment.line} Testcase Example: ${testcase} +${comment.line} +{{ desc.forEach(function(x) { }}${comment.line} ${x} +{{ }) }}${comment.end} ${code}