UNPKG

@notion-md-converter/qiita

Version:
2 lines (1 loc) 6.82 kB
import{ProviderCodePenUtils as e,ProviderAsciinemaUtils as t,HTMLUtils as r,ProviderYoutubeUtils as a,ProviderUtils as i,createBookmarkTransformerFactory as o,MarkdownUtils as l,createCalloutTransformerFactory as s,createCodeTransformerFactory as d,createEquationTransformerFactory as c,createLinkPreviewTransformerFactory as n,createVideoTransformerFactory as m,createNoChangeFileObjectAdapter as u,isURL as b,createEmbedTransformerFactory as h,NotionMarkdownConverter as p,createUnsupportedBlockTransformer as g}from"@notion-md-converter/core";const f={"ascii art":void 0,abap:"abap",agda:void 0,arduino:void 0,assembly:"nasm",bash:"shell",basic:"bbcbasic",bnf:void 0,c:"c","c#":"csharp","c++":"cpp",clojure:"clojure",coffeescript:"coffeescript",coq:"coq",css:"css",dart:"dart",dhall:void 0,diff:"diff",docker:"docker",ebnf:void 0,elixir:"elixir",elm:"elm",erlang:"erlang","f#":"fsharp",flow:void 0,fortran:"fortran",gherkin:"gherkin",glsl:"glsl",go:"go",graphql:"graphql",groovy:"groovy",haskell:"haskell",html:"html",idris:"idris",java:"java",javascript:"javascript",json:"json",julia:"julia",kotlin:"kotlin",latex:"tex",less:void 0,lisp:"common_lisp",livescript:"livescript","llvm ir":"llvm",lua:"lua",makefile:"make",markdown:"markdown",markup:"xml",matlab:"matlab",mathematica:"mathematica",mermaid:"mermaid",nix:"nix","notion formula":void 0,"objective-c":"objective_c",ocaml:"ocaml",pascal:"pascal",perl:"perl",php:"php","plain text":"plaintext",powershell:"powershell",prolog:"prolog",protobuf:"protobuf",purescript:void 0,python:"python",r:"r",racket:"racket",reason:"reasonml",ruby:"ruby",rust:"rust",sass:"sass",hcl:"hcl",smalltalk:"smalltalk",scala:"scala",scheme:"scheme",scss:"scss",shell:"shell",solidity:void 0,sql:"sql",swift:"swift",toml:"toml",typescript:"typescript","vb.net":"vb",verilog:"verilog",vhdl:"vhdl","visual basic":"vb",webassembly:void 0,xml:"xml",yaml:"yaml","java/c/c++/c#":"java"},w=e=>e,k=e=>e,v=e=>e,x=e=>e,y=e=>{const r=t.embed(e);return r||e},j=(e,t={})=>{const a={style:"border: 1px solid rgba(0, 0, 0, 0.1);",height:t.height||"450",width:t.width||"800",src:`https://www.figma.com/embed?embed_host=astra&url=${e}`};return`<iframe ${r.objectToPropertiesStr(a)}></iframe>`},T=(e,t={})=>{const a={src:e,width:t.width||"595",height:t.height||"485",frameborder:"0",marginwidth:"0",marginheight:"0",scrolling:"no",style:"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;",loading:"lazy",allowfullscreen:!0};return`<iframe ${r.objectToPropertiesStr(a)}></iframe>`},M=(e,t={})=>{const a={src:e,frameborder:"0",width:t.width||"960",height:t.height||"569",allowfullscreen:!0,mozallowfullscreen:!0,webkitallowfullscreen:!0};return`<iframe ${r.objectToPropertiesStr(a)}></iframe>`},E=e=>{const t={src:"https://www.docswell.com/assets/libs/docswell-embed/docswell-embed.min.js",async:!0,class:"docswell-embed","data-src":e,"data-aspect":"0.5625"};return`<script ${r.objectToPropertiesStr(t)}><\/script>`},$=(e,t)=>{const r=a.embed(e,t);return r||e},C={codeBlock:(e,t={})=>{const{diff:r=!1,language:a,filename:i}=t;let o="";if(a&&f[a]){const e=f[a];o+=r?`diff_${e}`:e}return i&&(o+=`:${i}`),`\`\`\`${o}\n${e}\n\`\`\``},equationBlock:e=>`\`\`\`math\n${e}\n\`\`\``,note:(e,t="info")=>[`:::note ${t}`,e,":::"].join("\n"),linkCard:w,embedX:k,embedCodeSandbox:v,embedCodePen:e.embed,embedGitHubGist:x,embedAsciinema:y,embedFigma:j,embedSpeakerDeck:e=>{const t={async:!0,class:"speakerdeck-embed","data-id":e,"data-ratio":"1.77777777777778",src:"https://speakerdeck.com/assets/embed.js"};return`<script ${r.objectToPropertiesStr(t)}><\/script>`},embedSlideShare:T,embedGoogleSlide:M,embedDocswell:E,embedYoutube:$,embedByURL:t=>{const r=i.getType(t);if(!r)return{result:t,isEmbed:!1};switch(r){case"x":case"codesandbox":case"github-gist":case"speaker-deck":return{result:t,isEmbed:!0};case"codepen":return{result:e.embed(t),isEmbed:!0};case"asciinema":return{result:y(t),isEmbed:t.endsWith(".js")};case"figma":return{result:j(t),isEmbed:!0};case"slideshare":return{result:T(t),isEmbed:!0};case"google-slide":return{result:M(t),isEmbed:!0};case"docswell":return{result:E(t),isEmbed:!0};case"youtube":return{result:$(t),isEmbed:!0};default:return{result:t,isEmbed:!1}}}},S=()=>o((({block:e})=>{const{result:t,isEmbed:r}=C.embedByURL(e.bookmark.url);return r?l.wrapWithNewLines(t):l.wrapWithNewLines(C.linkCard(e.bookmark.url))})),L=["yellow","yellow_background"],V=["red","red_background"],q=(e={})=>s((({block:t,children:r,context:a})=>{const i=e.warnColors??L,o=e.alertColors??V,s=a.tools.richTextFormatter.format(t.callout.rich_text),d=(e=>i.includes(e)?"warn":o.includes(e)?"alert":"info")(t.callout.color);let c=s;return""!==r&&(c+=`\n${r}`),l.wrapWithNewLines(C.note(c,d))})),_=()=>d((({block:e,captionMetadata:t,context:r})=>{const a={diff:"true"===t.getMetadataValue("diff")},i=r.tools.richTextFormatter.format(e.code.rich_text,{bold:!1,italic:!1,strikethrough:!1,underline:!1,code:!1,color:!1}),o=e.code.language,s=r.tools.richTextFormatter.plainText(t.getText());return l.wrapWithNewLines(C.codeBlock(i,{diff:a.diff,language:o,filename:s}))})),B=()=>c((({block:e})=>{const t=e.equation.expression;return l.wrapWithNewLines(C.equationBlock(t))})),W=()=>n((({block:e})=>{const t=e.link_preview.url,{result:r,isEmbed:a}=C.embedByURL(t);return a?r:l.wrapWithNewLines(C.linkCard(t))})),N=(e={})=>m((({block:t,captionMetadata:a})=>{const o=e.fileAdapter??u(),{url:s}=o(t.video);if(b(s)){if("youtube"===i.getType(s))return C.embedYoutube(s)}return l.wrapWithNewLines(r.videoTag({src:s,...a.getMetadata()}))})),P=()=>h((({block:e,captionMetadata:t})=>{const r=e.embed.url,a=i.getType(r);if("codepen"===a)return C.embedCodePen(r,{height:t.getMetadataValue("height"),defaultTab:t.getMetadataValue("defaultTab")});if("figma"===a)return C.embedFigma(r,{height:t.getMetadataValue("height"),width:t.getMetadataValue("width")});if("google-slide"===a)return C.embedGoogleSlide(r,{height:t.getMetadataValue("height"),width:t.getMetadataValue("width")});if("youtube"===a)return C.embedYoutube(r,{height:t.getMetadataValue("height"),width:t.getMetadataValue("width")});if("speaker-deck"===a&&t.getMetadataValue("id"))return C.embedSpeakerDeck(t.getMetadataValue("id"));const{result:o,isEmbed:l}=C.embedByURL(r);return l?o:C.linkCard(r)}));class F extends p{constructor(){super({transformers:{bookmark:S(),breadcrumb:g(),callout:q(),code:_(),equation:B(),link_preview:W(),video:N(),embed:P(),pdf:g(),file:g()}})}}export{F as NotionQiitaMarkdownConverter,C as QiitaMarkdownUtils,S as createQiitaMarkdownBookmarkTransformer,q as createQiitaMarkdownCalloutTransformer,_ as createQiitaMarkdownCodeTransformer,P as createQiitaMarkdownEmbedTransformer,B as createQiitaMarkdownEquationTransformer,W as createQiitaMarkdownLinkPreviewTransformer,N as createQiitaMarkdownVideoTransformer};