-
全网找不到满意的 Markdown 转 Docx 模板,那就自己动手吧
2024-09-20 09:52Siyuan 导出 Word 图片格式调整
'将有图片的格式改为文本之前缩进为 0 厘米,特殊格式为无,居中
' 将有图片的格式改为文本之前缩进为0厘米,特殊格式为无,居中 Sub AdjustParagraphFormatting() Dim doc As Document Dim para As Paragraph Dim isParagraphWithPicture As Boolean Set doc = ActiveDocument For Each para In doc.Paragraphs isParagraphWithPicture = False ' 检查段落中是否有图片 For Each InlineShape In para.Range.InlineShapes If InlineShape.Type = wdInlineShapePicture Then isParagraphWithPicture = True Exit For End If Next InlineShape If isParagraphWithPicture Then With para.Range.ParagraphFormat ' 设置文本之前缩进为0厘米 .LeftIndent = CentimetersToPoints(0) ' 设置段落对齐方式为居中 .Alignment = wdAlignParagraphCenter End With End If Next para End Sub
-
思源视频笔记插件 /B 站 / 百度网盘一键入库
2024-08-19 21:25作者你好,我使用你的插件,有两个问题,第一是点击“下载单视频/下载合集”按钮没有用,第二是没有视频上方的“笔记模式”,按照你 github 上配置了
common.js
,但是我的 F12 页面里面有 5 个 b3-list b3-list--background,尝试过 ctr+F5,都没有用,请问是什么问题呢?========
经过排查,看到插件在运行时有这个问题,,我把截图和截图中显示不全的问题代码复制出来,请大佬帮忙看看怎么解决啊
var currentPageUrl; const pageTemplateUrl = "E:\\SiYuanData\\data\\templates\\视频笔记模板.md" const Authorization = "token wug2b7q5ul5cjcjx" const notebook = "20220526004752-xsoh6fo" /** * 把视频时长转换成字符串格式 * 参数单位是毫秒 * @param {*} milliseconds * @returns */ function parseVideoTimeFromDuration(milliseconds){ // 计算小时数 var hours = Math.floor(milliseconds / (60 * 60 * 1000)); // 计算剩余的分钟数 var minutes = Math.floor((milliseconds % (60 * 60 * 1000)) / (60 * 1000)); // 计算剩余的秒数 var seconds = Math.floor((milliseconds % (60 * 1000)) / 1000); // 格式化小时、分钟和秒,确保它们是两位数 hours = hours.toString().padStart(2, '0'); minutes = minutes.toString().padStart(2, '0'); seconds = seconds.toString().padStart(2, '0'); // 根据时长判断并拼接字符串 if (hours > 0) { return `${hours}:${minutes}:${seconds}`; // xx:yy:zz } else if (minutes > 0) { return `${minutes}:${seconds}`; // xx:yy } else { // 如果分钟和小时都为0,但秒数可能不为0(尽管在这个特定情况下它会是0,因为至少要有1秒) // 但为了完整性,我们还是返回秒数(尽管前导0可能看起来不必要) return `00:${seconds}`; // 00:xx,但注意这个分支实际上不太可能被触发,除非有特别的逻辑需要它 // 或者,如果确实只需要在秒数大于0时才显示,可以改为: // return seconds > 0 ? `00:${seconds}` : '00:00'; } } /** * 调用思源api * @param {} url * @param {*} json * @returns */ async function invokeSiyuanApi(url,json){ console.log("invoke siyuan api:"+url) console.log("invoke siyuan json:"+JSON.stringify(json)) try { const response = await fetch(url, { method: "POST", headers: { "Authorization": Authorization, "Content-Type": "application/json", }, body: JSON.stringify(json) }); // 确保响应状态码是2xx if (!response.ok) { throw new Error('Network response was not ok'); } // 你可以继续处理响应,例如获取JSON数据 const data = await response.json(); console.log("invoke siyuan api success,result is "+JSON.stringify(data)) return data; } catch (error) { console.error('There has been a problem with your invokeSiyuanApi operation:', error); } } /** * 上传文件 * @param {*} url * @param {*} json * @returns */ async function invokeSiyuanUploadApi(formData){ try { const response = await fetch("http://127.0.0.1:6806/api/asset/upload", { method: "POST", headers: { "Authorization": Authorization, }, body: formData }); // 确保响应状态码是2xx if (!response.ok) { throw new Error('Network response was not ok'); } // 你可以继续处理响应,例如获取JSON数据 const data = await response.json(); console.log("invoke siyuan upload api success,result is "+JSON.stringify(data)) return data; } catch (error) { console.error('There has been a problem with your invokeSiyuanApi operation:', error); } }