♻️ Rename entry export to HaloJs

This commit is contained in:
zhengyi 2023-12-25 14:18:27 +08:00
parent f7785b9ab3
commit 320c3b9d92
5 changed files with 1505 additions and 13 deletions

View File

@ -1,4 +1,4 @@
import {haloRender} from "../src";
import HaloJs, {haloJs, haloRender} from "../src";
const editor = document.getElementById("editor")
const preview = document.getElementById("preview")
@ -12,7 +12,7 @@ const render = () => {
const text = editor.value
let ht = ""
text.split("---").forEach(ele => {
ht += haloRender(ele)
ht += HaloJs.renderHalo(ele)
})
console.log(ht)
preview.innerHTML = ht

View File

@ -1,8 +1,8 @@
{
"name": "halo-render",
"version": "1.0.0",
"description": "",
"main": "index.js",
"description": "A render for halo-plugin-vditor",
"main": "dist/index.js",
"scripts": {
"dev": "webpack serve --config webpack.dev.js",
"build": "webpack"
@ -11,6 +11,9 @@
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.23.6",
"@babel/preset-env": "^7.23.6",
"babel-loader": "^9.1.3",
"css-loader": "^6.8.1",
"html-webpack-plugin": "^5.5.4",
"less": "^4.2.0",

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,15 @@ import "./less/render.less"
import {RENDER_CLASS} from "./constant";
import {ProviderFactory} from "./provider/provider";
export const haloRender = (src: string): string => {
src = src.trim()
const line = src.split("\n");
const type = line[0]
line.splice(0, 1)
const content = line.join("\n")
return ProviderFactory.getFactory().process(type, content)
class HaloJs {
public static renderHalo = (src: string): string => {
src = src.trim()
const line = src.split("\n");
const type = line[0]
line.splice(0, 1)
const content = line.join("\n")
return ProviderFactory.getFactory().process(type, content)
}
}
export default HaloJs

View File

@ -7,13 +7,41 @@ module.exports = {
},
output: {
path: path.resolve(__dirname, "dist"),
filename: "[name].js"
filename: "[name].js",
library: 'HaloJs',
libraryExport: 'default',
},
resolve: {
extensions: ['.ts', '.js', '.less', 'png'],
},
module: {
rules: [
{
test: /\.js$/,
exclude: '/node_modules/',
use: {
loader: 'babel-loader',
options: {
presets: [
[
'@babel/env',
{
targets: {
browsers: [
'last 2 Chrome major versions',
'last 2 Firefox major versions',
'last 2 Safari major versions',
'last 2 Edge major versions',
'last 2 iOS major versions',
'last 2 ChromeAndroid major versions',
],
},
},
],
],
},
},
},
{
test: /\.tsx?$/,
use: "ts-loader",
@ -39,5 +67,5 @@ module.exports = {
filename: "index.css"
})
],
mode: "development"
mode: "production"
}