PicList/src/universal/utils/pasteTemplate.ts

33 lines
934 B
TypeScript
Raw Normal View History

2019-12-19 06:17:21 -05:00
import db from '#/datastore'
2019-12-20 05:45:26 -05:00
import { IPasteStyle } from '#/types/enum'
2019-12-19 06:17:21 -05:00
const formatCustomLink = (customLink: string, item: ImgInfo) => {
let fileName = item.fileName!.replace(new RegExp(`\\${item.extname}$`), '')
let url = item.url || item.imgUrl
2019-12-19 06:17:21 -05:00
const formatObj = {
url,
fileName
}
2019-12-19 06:17:21 -05:00
const keys = Object.keys(formatObj) as ['url', 'fileName']
keys.forEach(item => {
if (customLink.indexOf(`$${item}`) !== -1) {
let reg = new RegExp(`\\$${item}`, 'g')
customLink = customLink.replace(reg, formatObj[item])
}
})
return customLink
}
2019-12-20 05:45:26 -05:00
export default (style: IPasteStyle, item: ImgInfo) => {
let url = item.url || item.imgUrl
2019-09-11 07:30:08 -04:00
const customLink = db.get('settings.customLink') || '$url'
2017-11-28 10:56:15 -05:00
const tpl = {
'markdown': `![](${url})`,
'HTML': `<img src="${url}"/>`,
'URL': url,
'UBB': `[IMG]${url}[/IMG]`,
'Custom': formatCustomLink(customLink, item)
2017-11-28 10:56:15 -05:00
}
return tpl[style]
}