master
joefalmko 1 month ago
parent 022d7e16c3
commit f81bd3b14a

@ -1,5 +1,5 @@
请将以下文章进行重新排版,使其格式更加美观且井然有序,同时保留文章的所有原始内容和文字,不要对内容进行任何修改。
请你调整标题样式,将所有标题改为清晰的分级结构。文章标题使用#,一级标题使用##,以此类推。
正文部分的段落需适当分段,避免过长或过短。 请确保整体排版整洁、易于阅读。
所有的图片已被替换为tag“图片1”、“图片2”在处理时不要考虑图片本身不要删除这些tag。
所有的图片已被替换为"tag图片1"、"tag图片2"在处理时不要考虑图片本身不要删除这些tag。
不要对文章的原始内容进行修改。只返回重新排版后的内容,不要返回其他的额外内容。

@ -393,15 +393,26 @@ async function aiformat() {
// TODO 处理html文件
// step 1 - split images and insert text tag
// match <figure ... </figure>
const img_tag = /<figure.*?>(.*?)<\/figure>/g
const img_list = doc_content.match(img_tag)
console.log(img_list)
const figure_tag = /<figure.*?>(.*?)<\/figure>/g
const figure_list = doc_content.match(figure_tag)
console.log(figure_list)
// replace img tag with text tag
if (img_list) {
console.log("replace img tag")
for (let i = 0; i < img_list.length; i++) {
var figure_listLen = 0
if (figure_list) {
console.log("replace figure tag")
figure_listLen = figure_list.length
for (let i = 0; i < figure_listLen; i++) {
const figure = figure_list[i]
const text = `<text>tag图片${i + 1}</text>`
doc_content = doc_content.replace(figure, text)
}
}
const img_tag = /<img.*?>/g
const img_list = doc_content.match(img_tag)
if(img_list){
for(let i = 0; i < img_list.length; i++){
const img = img_list[i]
const text = `<text>图片${i + 1}</text>`
const text = `<text>tag图片${i + 1+figure_listLen}</text>`
doc_content = doc_content.replace(img, text)
}
}
@ -451,13 +462,20 @@ async function aiformat() {
const markdown_response = result
let html_content = markdown2html(markdown_response)
console.log("html_content:\n\n",html_content)
console.log("html_content:\n\n", html_content)
// insert original img tag
if (img_list) {
console.log("insert img tag")
if (figure_list) {
console.log("insert figure tag")
for (let i = 0; i < figure_listLen; i++) {
const figure = figure_list[i]
const text = `tag图片${i + 1}`
html_content = html_content.replace(text, figure)
}
}
if(img_list){
for (let i = 0; i < img_list.length; i++) {
const img = img_list[i]
const text = `图片${i + 1}`
const text = `tag图片${i + 1 + figure_listLen}`
html_content = html_content.replace(text, img)
}
}
@ -480,23 +498,33 @@ async function aiformat() {
if (heading.length > 0) {
const headingTag = user_config.headingStyle.option[i][0];
const headingClass = user_config.headingStyle.option[i][1];
console.log("headingTag:\n\n",headingTag)
console.log("headingClass:\n\n",headingClass)
console.log("headingTag:\n\n", headingTag)
console.log("headingClass:\n\n", headingClass)
// for each element
heading.forEach((element) => {
// reset counter for heading
// // reset counter for heading
// const parentNode = element.parentNode;
// let currentCounterReset = parentNode.style.counterReset;
// console.log(element,"\t",parentNode,"\t",currentCounterReset)
// // TODO 有bug
// if (currentCounterReset) {
// // currentCounterReset 不存在该counterreset
// if (currentCounterReset.indexOf(headingClass + "counter") == -1) {
// currentCounterReset += " " + headingClass + "counter";
// }
// } else {
// currentCounterReset = headingClass + "counter";
// }
// parentNode.style.setProperty('counter-reset', currentCounterReset);
const parentNode = element.parentNode;
let currentCounterReset = parentNode.style.counterReset;
if (currentCounterReset) {
// currentCounterReset 不存在该counterreset
if (currentCounterReset.indexOf(headingClass + "counter") == -1) {
currentCounterReset += " " + headingClass + "counter";
}
} else {
currentCounterReset = headingClass + "counter";
}
parentNode.style.setProperty('counter-reset', currentCounterReset);
element.classList.add(headingTag,headingClass);
let currentCounterReset = new Set(parentNode.style.counterReset.split(/\s+/).filter(Boolean));
// 添加新的 counter 名称
currentCounterReset.add(`${headingClass}counter`);
// 将 Set 转换回字符串
parentNode.style.setProperty('counter-reset', Array.from(currentCounterReset).join(' '));
element.classList.add(headingTag, headingClass);
})
}
}
@ -506,7 +534,7 @@ async function aiformat() {
if (paragraph.length > 0) {
for (let i = 0; i < paragraph.length; i++) {
const element = paragraph[i];
for(let i = 0; i < user_config.bodyStyle.option.length; i++) {
for (let i = 0; i < user_config.bodyStyle.option.length; i++) {
element.classList.add(user_config.bodyStyle.option[i]);
}
}
@ -517,7 +545,7 @@ async function aiformat() {
if (blockquote.length > 0) {
for (let i = 0; i < blockquote.length; i++) {
const element = blockquote[i];
for(let i = 0; i < user_config.blockquote.option.length; i++) {
for (let i = 0; i < user_config.blockquote.option.length; i++) {
element.classList.add(user_config.blockquote.option[i]);
}
}
@ -528,7 +556,7 @@ async function aiformat() {
if (pre.length > 0) {
for (let i = 0; i < pre.length; i++) {
const element = pre[i];
for(let i = 0; i < user_config.codeBlockStyle.option.length; i++) {
for (let i = 0; i < user_config.codeBlockStyle.option.length; i++) {
element.classList.add(user_config.codeBlockStyle.option[i]);
}
}
@ -541,6 +569,8 @@ async function aiformat() {
ul[i].classList.add(user_config.listStyle.option);
}
}
}
class AiFormat extends Plugin {
@ -771,7 +801,7 @@ function setConfig() {
Undo,
Export2Word, RefineDoc, Export2PDF, ToggleSideBar, SaveButton, AiFormat, PicRecog
],
balloonToolbar: ['bold', 'italic', '|', 'link', 'insertImage', '|', 'bulletedList', 'numberedList', '|', 'AiFormat'],
balloonToolbar: ['bold', 'italic', '|', 'link', 'insertImage', '|', 'bulletedList', 'numberedList'],
//自定义设置字体
fontFamily: {
// 自定义字体

Loading…
Cancel
Save