mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
support subscript, superscript and footnote in markdown-it
Subscript: H~2~O Superscript: 2^2^=4 Footnote: This is a footnote[^1].\n[^1]: Here is the footnote.
This commit is contained in:
parent
cc1faba5d2
commit
224a7253ce
@ -66,6 +66,9 @@ mdit = mdit.use(window.markdownitHeadingAnchor, {
|
||||
});
|
||||
|
||||
mdit = mdit.use(window.markdownitTaskLists);
|
||||
mdit = mdit.use(window.markdownitSub);
|
||||
mdit = mdit.use(window.markdownitSup);
|
||||
mdit = mdit.use(window.markdownitFootnote);
|
||||
|
||||
var mdHasTocSection = function(markdown) {
|
||||
var n = markdown.search(/(\n|^)\[toc\]/i);
|
||||
|
2
src/utils/markdown-it/markdown-it-footnote.min.js
vendored
Normal file
2
src/utils/markdown-it/markdown-it-footnote.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
src/utils/markdown-it/markdown-it-sub.min.js
vendored
Normal file
2
src/utils/markdown-it/markdown-it-sub.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/*! markdown-it-sub 1.0.0 https://github.com//markdown-it/markdown-it-sub @license MIT */
|
||||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r;r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,r.markdownitSub=e()}}(function(){return function e(r,o,n){function t(i,u){if(!o[i]){if(!r[i]){var f="function"==typeof require&&require;if(!u&&f)return f(i,!0);if(s)return s(i,!0);var p=new Error("Cannot find module '"+i+"'");throw p.code="MODULE_NOT_FOUND",p}var a=o[i]={exports:{}};r[i][0].call(a.exports,function(e){var o=r[i][1][e];return t(o?o:e)},a,a.exports,e,r,o,n)}return o[i].exports}for(var s="function"==typeof require&&require,i=0;i<n.length;i++)t(n[i]);return t}({1:[function(e,r){"use strict";function o(e,r){var o,t,s,i=e.posMax,u=e.pos;if(126!==e.src.charCodeAt(u))return!1;if(r)return!1;if(u+2>=i)return!1;for(e.pos=u+1;e.pos<i;){if(126===e.src.charCodeAt(e.pos)){o=!0;break}e.md.inline.skipToken(e)}return o&&u+1!==e.pos?(t=e.src.slice(u+1,e.pos),t.match(/(^|[^\\])(\\\\)*\s/)?(e.pos=u,!1):(e.posMax=e.pos,e.pos=u+1,s=e.push("sub_open","sub",1),s.markup="~",s=e.push("text","",0),s.content=t.replace(n,"$1"),s=e.push("sub_close","sub",-1),s.markup="~",e.pos=e.posMax+1,e.posMax=i,!0)):(e.pos=u,!1)}var n=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;r.exports=function(e){e.inline.ruler.after("emphasis","sub",o)}},{}]},{},[1])(1)});
|
2
src/utils/markdown-it/markdown-it-sup.min.js
vendored
Normal file
2
src/utils/markdown-it/markdown-it-sup.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/*! markdown-it-sup 1.0.0 https://github.com//markdown-it/markdown-it-sup @license MIT */
|
||||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r;r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,r.markdownitSup=e()}}(function(){return function e(r,o,n){function t(i,p){if(!o[i]){if(!r[i]){var u="function"==typeof require&&require;if(!p&&u)return u(i,!0);if(s)return s(i,!0);var f=new Error("Cannot find module '"+i+"'");throw f.code="MODULE_NOT_FOUND",f}var a=o[i]={exports:{}};r[i][0].call(a.exports,function(e){var o=r[i][1][e];return t(o?o:e)},a,a.exports,e,r,o,n)}return o[i].exports}for(var s="function"==typeof require&&require,i=0;i<n.length;i++)t(n[i]);return t}({1:[function(e,r){"use strict";function o(e,r){var o,t,s,i=e.posMax,p=e.pos;if(94!==e.src.charCodeAt(p))return!1;if(r)return!1;if(p+2>=i)return!1;for(e.pos=p+1;e.pos<i;){if(94===e.src.charCodeAt(e.pos)){o=!0;break}e.md.inline.skipToken(e)}return o&&p+1!==e.pos?(t=e.src.slice(p+1,e.pos),t.match(/(^|[^\\])(\\\\)*\s/)?(e.pos=p,!1):(e.posMax=e.pos,e.pos=p+1,s=e.push("sup_open","sup",1),s.markup="^",s=e.push("text","",0),s.content=t.replace(n,"$1"),s=e.push("sup_close","sup",-1),s.markup="^",e.pos=e.posMax+1,e.posMax=i,!0)):(e.pos=p,!1)}var n=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;r.exports=function(e){e.inline.ruler.after("emphasis","sup",o)}},{}]},{},[1])(1)});
|
@ -300,7 +300,10 @@ QString VMdTab::fillHtmlTemplate() const
|
||||
jsFile = "qrc" + VNote::c_markdownitJsFile;
|
||||
extraFile = "<script src=\"qrc" + VNote::c_markdownitExtraFile + "\"></script>\n" +
|
||||
"<script src=\"qrc" + VNote::c_markdownitAnchorExtraFile + "\"></script>\n" +
|
||||
"<script src=\"qrc" + VNote::c_markdownitTaskListExtraFile + "\"></script>\n";
|
||||
"<script src=\"qrc" + VNote::c_markdownitTaskListExtraFile + "\"></script>\n" +
|
||||
"<script src=\"qrc" + VNote::c_markdownitSubExtraFile + "\"></script>\n" +
|
||||
"<script src=\"qrc" + VNote::c_markdownitSupExtraFile + "\"></script>\n" +
|
||||
"<script src=\"qrc" + VNote::c_markdownitFootnoteExtraFile + "\"></script>\n";
|
||||
break;
|
||||
|
||||
case MarkdownConverterType::Showdown:
|
||||
|
@ -19,12 +19,18 @@ QString VNote::s_markdownTemplate;
|
||||
QString VNote::s_markdownTemplatePDF;
|
||||
|
||||
const QString VNote::c_hoedownJsFile = ":/resources/hoedown.js";
|
||||
|
||||
const QString VNote::c_markedJsFile = ":/resources/marked.js";
|
||||
const QString VNote::c_markedExtraFile = ":/utils/marked/marked.min.js";
|
||||
|
||||
const QString VNote::c_markdownitJsFile = ":/resources/markdown-it.js";
|
||||
const QString VNote::c_markdownitExtraFile = ":/utils/markdown-it/markdown-it.min.js";
|
||||
const QString VNote::c_markdownitAnchorExtraFile = ":/utils/markdown-it/markdown-it-headinganchor.js";
|
||||
const QString VNote::c_markdownitTaskListExtraFile = ":/utils/markdown-it/markdown-it-task-lists.min.js";
|
||||
const QString VNote::c_markdownitSubExtraFile = ":/utils/markdown-it/markdown-it-sub.min.js";
|
||||
const QString VNote::c_markdownitSupExtraFile = ":/utils/markdown-it/markdown-it-sup.min.js";
|
||||
const QString VNote::c_markdownitFootnoteExtraFile = ":/utils/markdown-it/markdown-it-footnote.min.js";
|
||||
|
||||
const QString VNote::c_showdownJsFile = ":/resources/showdown.js";
|
||||
const QString VNote::c_showdownExtraFile = ":/utils/showdown/showdown.min.js";
|
||||
const QString VNote::c_showdownAnchorExtraFile = ":/utils/showdown/showdown-headinganchor.js";
|
||||
@ -33,7 +39,9 @@ const QString VNote::c_mermaidApiJsFile = ":/utils/mermaid/mermaidAPI.min.js";
|
||||
const QString VNote::c_mermaidCssFile = ":/utils/mermaid/mermaid.css";
|
||||
const QString VNote::c_mermaidDarkCssFile = ":/utils/mermaid/mermaid.dark.css";
|
||||
const QString VNote::c_mermaidForestCssFile = ":/utils/mermaid/mermaid.forest.css";
|
||||
|
||||
const QString VNote::c_mathjaxJsFile = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML";
|
||||
|
||||
const QString VNote::c_shortcutsDocFile_en = ":/resources/docs/shortcuts_en.md";
|
||||
const QString VNote::c_shortcutsDocFile_zh = ":/resources/docs/shortcuts_zh.md";
|
||||
|
||||
|
@ -42,6 +42,9 @@ public:
|
||||
static const QString c_markdownitExtraFile;
|
||||
static const QString c_markdownitAnchorExtraFile;
|
||||
static const QString c_markdownitTaskListExtraFile;
|
||||
static const QString c_markdownitSubExtraFile;
|
||||
static const QString c_markdownitSupExtraFile;
|
||||
static const QString c_markdownitFootnoteExtraFile;
|
||||
|
||||
// Showdown
|
||||
static const QString c_showdownJsFile;
|
||||
|
@ -105,5 +105,8 @@
|
||||
<file>resources/showdown.js</file>
|
||||
<file>utils/showdown/showdown-headinganchor.js</file>
|
||||
<file>resources/icons/print.svg</file>
|
||||
<file>utils/markdown-it/markdown-it-sub.min.js</file>
|
||||
<file>utils/markdown-it/markdown-it-sup.min.js</file>
|
||||
<file>utils/markdown-it/markdown-it-footnote.min.js</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
Loading…
x
Reference in New Issue
Block a user