diff --git a/public/react/src/common/TextUtil.js b/public/react/src/common/TextUtil.js new file mode 100644 index 00000000..f5dca6e5 --- /dev/null +++ b/public/react/src/common/TextUtil.js @@ -0,0 +1,36 @@ +import { bytesToSize } from 'educoder'; +export function isImageExtension(fileName) { + return fileName ? !!(fileName.match(/.(jpg|jpeg|png|gif)$/i)) : false +} + +export function markdownToHTML(oldContent, selector) { + window.$('#md_div').html('') + // markdown to html + var markdwonParser = window.editormd.markdownToHTML("md_div", { + markdown: oldContent, + emoji: true, + htmlDecode: "style,script,iframe", // you can filter tags decode + taskList: true, + tex: true, // 默认不解析 + flowChart: true, // 默认不解析 + sequenceDiagram: true // 默认不解析 + }); + const content = window.$('#md_div').html() + if (selector) { + window.$(selector).html(content) + } + return content +} + +export function appendFileSizeToUploadFile(item) { + return `${item.title}${uploadNameSizeSeperator}${item.filesize}` +} +export function appendFileSizeToUploadFileAll(fileList) { + return fileList.map(item => { + if (item.name.indexOf(uploadNameSizeSeperator) == -1) { + return Object.assign({}, item, {name: `${item.name}${uploadNameSizeSeperator}${bytesToSize(item.size)}`}) + } + return item + }) +} +export const uploadNameSizeSeperator = '  ' \ No newline at end of file diff --git a/public/react/src/common/educoder.js b/public/react/src/common/educoder.js index e25ecb9d..7a5e5bc1 100644 --- a/public/react/src/common/educoder.js +++ b/public/react/src/common/educoder.js @@ -13,6 +13,8 @@ export { updatePageParams as updatePageParams } from './RouterUti export { bytesToSize as bytesToSize } from './UnitUtil'; +export { markdownToHTML, uploadNameSizeSeperator, appendFileSizeToUploadFile, appendFileSizeToUploadFileAll, isImageExtension } from './TextUtil' + export { handleDateString, getNextHalfHourOfMoment,formatDuring } from './DateUtil' export { isDev as isDev } from './Env'