希望 Vditor 支持 juice 注入 css 支持不同模版样式的导出
Vditor 对外提供静态 juice 注入方法,支持用户使用 Vditor 自定义 导出排版样式,这个功能大神在做么?
希望 Vditor 支持 juice 注入 css 支持不同模版样式的导出
Vditor 对外提供静态 juice 注入方法,支持用户使用 Vditor 自定义 导出排版样式,这个功能大神在做么?
嗯呢 ,因为我看了下代码,完全可以开放给用户指定远程 css 文件名,并在 toolbar 的配置中指定 css uri 以及主题名字,这样的话基本全覆盖 mdnice 的功能了。但是现在常量 CONTENT_THEME 限定死了。
export const setContentTheme = (contentTheme: string,
cdn = `https://cdn.jsdelivr.net/npm/vditor@${VDITOR_VERSION}`) => {
if (!Constants.CONTENT_THEME.includes(contentTheme)) {
return;
}
const vditorContentTheme = document.getElementById("vditorContentTheme") as HTMLLinkElement;
const href = `${cdn}/dist/css/content-theme/${contentTheme}.css`;
if (contentTheme === "light") {
if (vditorContentTheme) {
vditorContentTheme.remove();
}
return;
}
if (!vditorContentTheme) {
addStyle(href, "vditorContentTheme");
} else if (vditorContentTheme.href !== href) {
vditorContentTheme.remove();
addStyle(href, "vditorContentTheme");
}
我调研过 mdnice 的实现: 在导出时,将不同主题的一堆 css,通过 juice 注入 html 标签,然后导出 html, 这样的好处是,导出的 html 中 css 样式无外链。
你说在编辑器中 作者自己写 css,感觉用户知道的太底层了, 应该让写作用户知道的知识是: 我们有 N 中主题可选。 对于使用 vditor 编辑器的开发者需要知道的知识是:vditor 提供了我新增主题的能力,以更好的满足写作用户。
而 vditor 对 开发者 提供的这种新增主题的能力,是不是可以像下面这样:
vditor.setTheme("my.css的文件内容 || my.css的外链" as var X)
而 vditor底层呢?
if (X.startWith("http")) {
X = wget http://my.css
}
juice.inline(X, contentHtml);
最终开发者 vditor.getRenderedContentHtml() 获得这种无外链的代码片段
你比 99% 的人都优秀么?
GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。
上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)
Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用 。
Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。
腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。
Latke 是一款以 JSON 为主的 Java Web 框架。
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。
黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。
A second brain, for you, forever.
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。
安全 · 稳定 · 快速
为跨境从业人员提供专业的跨境浏览器
Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。
星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。
大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。
支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。
LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。
希望你我能在旅途中找到人生的下一站。
JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。
提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。
宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。
OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。
SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
即用的 Vim-IDE。
单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。
Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于