Files

241 lines
737 KiB
JavaScript
Raw Permalink Normal View History

2026-10-09 22:06:40 +08:00
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin: undefined
*/
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var require_fast_content_type_parse=__commonJS({"node_modules/fast-content-type-parse/index.js"(exports,module2){"use strict";var NullObject=function(){};NullObject.prototype=Object.create(null);var paramRE=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu,quotedPairRE=/\\([\v\u0020-\u00ff])/gu,mediaTypeRE=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u,defaultContentType={type:"",parameters:new NullObject};Object.freeze(defaultContentType.parameters);Object.freeze(defaultContentType);function parse2(header){if(typeof header!="string")throw new TypeError("argument header is required and must be a string");let index=header.indexOf(";"),type=index!==-1?header.slice(0,index).trim():header.trim();if(mediaTypeRE.test(type)===!1)throw new TypeError("invalid media type");let result={type:type.toLowerCase(),parameters:new NullObject};if(index===-1)return result;let key,match,value;for(paramRE.lastIndex=index;match=paramRE.exec(header);){if(match.index!==index)throw new TypeError("invalid parameter format");index+=match[0].length,key=match[1].toLowerCase(),value=match[2],value[0]==='"'&&(value=value.slice(1,value.length-1),quotedPairRE.test(value)&&(value=value.replace(quotedPairRE,"$1"))),result.parameters[key]=value}if(index!==header.length)throw new TypeError("invalid parameter format");return result}function safeParse2(header){if(typeof header!="string")return defaultContentType;let index=header.indexOf(";"),type=index!==-1?header.slice(0,index).trim():header.trim();if(mediaTypeRE.test(type)===!1)return defaultContentType;let result={type:type.toLowerCase(),parameters:new NullObject};if(index===-1)return result;let key,match,value;for(paramRE.lastIndex=index;match=paramRE.exec(header);){if(match.index!==index)return defaultContentType;index+=match[0].length,key=match[1].toLowerCase(),value=match[2],value[0]==='"'&&(value=value.slice(1,value.length-1),quotedPairRE.test(value)&&(value=value.replace(quotedPairRE,"$1"))),result.parameters[key]=value}return index!==header.length?defaultContentType:result}module2.exports.default={parse:parse2,safeParse:safeParse2};module2.exports.parse=parse2;module2.exports.safeParse=safeParse2;module2.exports.defaultContentType=defaultContentType}});var require_slugify=__commonJS({"node_modules/slugify/slugify.js"(exports,module2){(function(name,root,factory){typeof exports=="object"?(module2.exports=factory(),module2.exports.default=factory()):typeof define=="function"&&define.amd?define(factory):root[name]=factory()})("slugify",exports,function(){var charMap=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","\xA2":"cent","\xA3":"pound","\xA4":"currency","\xA5":"yen","\xA9":"(c)","\xAA":"a","\xAE":"(r)","\xBA":"o","\xC0":"A","\xC1":"A","\xC2":"A","\xC3":"A","\xC4":"A","\xC5":"A","\xC6":"AE","\xC7":"C","\xC8":"E","\xC9":"E","\xCA":"E","\xCB":"E","\xCC":"I","\xCD":"I","\xCE":"I","\xCF":"I","\xD0":"D","\xD1":"N","\xD2":"O","\xD3":"O","\xD4":"O","\xD5":"O","
`||n3.charAt(i2)==="\r"&&n3.charAt(i2+1)!==`
`)&&(u2++,o2===0&&(o2=i2+1)),i2--}var a2=e2+u2,f2=t3-o2;return r2[t3]={line:a2,lineStart:o2},{offset:t3,line:a2+1,column:f2+1}}function _(n3){if(!y(n3))throw new Error("not a parser: "+n3)}function L(n3,t3){return typeof n3=="string"?n3.charAt(t3):n3[t3]}function O(n3){if(typeof n3!="number")throw new Error("not a number: "+n3)}function k(n3){if(typeof n3!="function")throw new Error("not a function: "+n3)}function P(n3){if(typeof n3!="string")throw new Error("not a string: "+n3)}var q=2,A=3,I=8,F=5*I,M=4*I,z=" ";function R(n3,t3){return new Array(t3+1).join(n3)}function U(n3,t3,r2){var e2=t3-n3.length;return e2<=0?n3:R(r2,e2)+n3}function W(n3,t3,r2,e2){return{from:n3-t3>0?n3-t3:0,to:n3+r2>e2?e2:n3+r2}}function D(n3,t3){var r2,e2,u2,o2,f2,c2=t3.index,s3=c2.offset,l3=1;if(s3===n3.length)return"Got the end of the input";if(w(n3)){var h2=s3-s3%I,p2=s3-h2,d2=W(h2,F,M+I,n3.length),v2=a(function(n4){return a(function(n5){return U(n5.toString(16),2,"0")},n4)},(function(n4,t4){var r3=n4.length,e3=[],u3=0;if(r3<=t4)return[n4.slice()];for(var o3=0;o3<r3;o3++)e3[u3]||e3.push([]),e3[u3].push(n4[o3]),(o3+1)%t4==0&&u3++;return e3})(n3.slice(d2.from,d2.to).toJSON().data,I));o2=(function(n4){return n4.from===0&&n4.to===1?{from:n4.from,to:n4.to}:{from:n4.from/I,to:Math.floor(n4.to/I)}})(d2),e2=h2/I,r2=3*p2,p2>=4&&(r2+=1),l3=2,u2=a(function(n4){return n4.length<=4?n4.join(" "):n4.slice(0,4).join(" ")+" "+n4.slice(4).join(" ")},v2),(f2=(8*(o2.to>0?o2.to-1:o2.to)).toString(16).length)<2&&(f2=2)}else{var g2=n3.split(/\r\n|[\n\r\u2028\u2029]/);r2=c2.column-1,e2=c2.line-1,o2=W(e2,q,A,g2.length),u2=g2.slice(o2.from,o2.to),f2=o2.to.toString().length}var m2=e2-o2.from;return w(n3)&&(f2=(8*(o2.to>0?o2.to-1:o2.to)).toString(16).length)<2&&(f2=2),i(function(t4,e3,u3){var i2,a2=u3===m2,c3=a2?"> ":z;return i2=w(n3)?U((8*(o2.from+u3)).toString(16),f2,"0"):U((o2.from+u3+1).toString(),f2," "),[].concat(t4,[c3+i2+" | "+e3],a2?[z+R(" ",f2)+" | "+U("",r2," ")+R("^",l3)]:[])},[],u2).join(`
`)}function N(n3,t3){return[`
`,"-- PARSING FAILED "+R("-",50),`
`,D(n3,t3),`
`,(r2=t3.expected,r2.length===1?`Expected:
`+r2[0]:`Expected one of the following:
`+r2.join(", ")),`
`].join("");var r2}function G(n3){return n3.flags!==void 0?n3.flags:[n3.global?"g":"",n3.ignoreCase?"i":"",n3.multiline?"m":"",n3.unicode?"u":"",n3.sticky?"y":""].join("")}function C(){for(var n3=[].slice.call(arguments),t3=n3.length,r2=0;r2<t3;r2+=1)_(n3[r2]);return e(function(r3,e2){for(var u2,o2=new Array(t3),i2=0;i2<t3;i2+=1){if(!(u2=B(n3[i2]._(r3,e2),u2)).status)return u2;o2[i2]=u2.value,e2=u2.index}return B(b(e2,o2),u2)})}function J(){var n3=[].slice.call(arguments);if(n3.length===0)throw new Error("seqMap needs at least one argument");var t3=n3.pop();return k(t3),C.apply(null,n3).map(function(n4){return t3.apply(null,n4)})}function T(){var n3=[].slice.call(arguments),t3=n3.length;if(t3===0)return Y("zero alternates");for(var r2=0;r2<t3;r2+=1)_(n3[r2]);return e(function(t4,r3){for(var e2,u2=0;u2<n3.length;u2+=1)if((e2=B(n3[u2]._(t4,r3),e2)).status)return e2;return e2})}function V(n3,t3){return H(n3,t3).or(X([]))}function H(n3,t3){return _(n3),_(t3),J(n3,t3.then(n3).many(),function(n4,t4){return[n4].concat(t4)})}function K(n3){P(n3);var t3="'"+n3+"'";return e(function(r2,e2){var u2=e2+n3.length,o2=r2.slice(e2,u2);return o2===n3?b(u2,o2):x(e2,t3)})}function Q(n3,t3){(function(n4){if(!(n4 instanceof RegExp))throw new Error("not a regexp: "+n4);for(var t4=G(n4),r3=0;r3<t4.length;r3++){var e2=t4.charAt(r3);if(e2!=="i"&&e2!=="m"&&e2!=="u"&&e2!=="s")throw new Error('unsupported regexp flag "'+e2+'": '+n4)}})(n3),arguments.length>=2?O(t3):t3=0;var r2=(function(n4){return RegExp("^(?:"+n4.source+")",G(n4))})(n3),u2=""+n3;return e(function(n4,e2){var o2=r2.exec(n4.slice(e2));if(o2){if(0<=t3&&t3<=o2.length){var i2=o2[0],a2=o2[t3];return b(e2+i2.length,a2)}return x(e2,"valid match group (0 to "+o2.length+") in "+u2)}return x(e2,u2)})}function X(n3){return e(function(t3,r2){return b(r2,n3)})}function Y(n3){return e(function(t3,r2){return x(r2,n3)})}function Z(n3){if(y(n3))return e(function(t3,r2){var e2=n3._(t3,r2);return e2.index=r2,e2.value="",e2});if(typeof n3=="string")return Z(K(n3));if(n3 instanceof RegExp)return Z(Q(n3));throw new Error("not a string, regexp, or parser: "+n3)}function $(n3){return _(n3),e(function(t3,r2){var e2=n3._(t3,r2),u2=t3.slice(r2,e2.index);return e2.status?x(r2,'not "'+u2+'"'):b(r2,null)})}function nn(n3){return k(n3),e(function(t3,r2){var e2=L(t3,r2);return r2<t3.length&&n3(e2)?b(r2+1,e2):x(r2,"a character/byte matching "+n3)})}function tn(n3,t3){arguments.length<2&&(t3=n3,n3=void 0);var r2=e(function(n4,e2){return r2._=t3()._,r2._(n4,e2)});return n3?r2.desc(n3):r2}function rn(){return Y("fantasy-land/empty")}u.parse=function(n3){if(typeof n3!="string"&&!w(n3))throw new Error(".parse must be called with a string or Buffer as its argument");var t3,r2=this.skip(an)._(n3,0);return t3=r2.status?{status:!0,value:r2.value}:{status:!1,index:S(n3,r2.furthest),expected:r2.expected},delete j[n3],t3},u.tryParse=function(n3){var t3=this.parse(n3);if(t3.status)return t3.value;var r2=N(n3,t3),e2=new Error(r2);throw e2.type="ParsimmonError",e2.result=t3,e2},u.assert=function(n3,t3){return this.chain(function(r2){return n3(r2)?X(r2):Y(t3)})},u.or=function(n3){return T(this,n3)},u.trim=function(n3){return this.wrap(n3,n3)},u.wrap=function(n3,t3){return J(n3,this,t3,function(n4,t4){return t4})},u.thru=function(n3){return n3(this)},u.then=function(n3){return _(n3),C(this,n3).map(function(n4){return n4[1]})},u.many=function(){var n3=this;return e(function(t3,r2){for(var e2=[],u2=void 0;;){if(!(u2=B(n3._(t3,r2),u2)).status)return B(b(r2,e2),u2);if(r2===u2.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");r2=u2.index,e2.push(u2.value)}})},u.tieWith=function(n3){return P(n3),this.map(function(t3){if((function(n4){if(!E(n4))throw new Error("not an array: "+n4)})(t3),t3.length){P(t3[0]);for(var r2=t3[0],e2=1;e2<t3.length;e2++)P(t3[e2]),r2+=n3+t3[e2];return r2}return""})},u.tie=function(){return this.tieWith("")},u.times=function(n3,t3){var r2=this;return arguments.length<2&&(t3=n3),O(n3),O(t3),e(function(e2,u2){for(var
`),gn=K(`\r
`),mn=T(gn,vn,dn).desc("newline"),yn=T(mn,an);e.all=on,e.alt=T,e.any=un,e.cr=dn,e.createLanguage=function(n3){var t3={};for(var r2 in n3)({}).hasOwnProperty.call(n3,r2)&&(function(r3){t3[r3]=tn(function(){return n3[r3](t3)})})(r2);return t3},e.crlf=gn,e.custom=function(n3){return e(n3(b,x))},e.digit=fn,e.digits=cn,e.empty=rn,e.end=yn,e.eof=an,e.fail=Y,e.formatError=N,e.index=en,e.isParser=y,e.lazy=tn,e.letter=sn,e.letters=ln,e.lf=vn,e.lookahead=Z,e.makeFailure=x,e.makeSuccess=b,e.newline=mn,e.noneOf=function(n3){return nn(function(t3){return n3.indexOf(t3)<0}).desc("none of '"+n3+"'")},e.notFollowedBy=$,e.of=X,e.oneOf=function(n3){for(var t3=n3.split(""),r2=0;r2<t3.length;r2++)t3[r2]="'"+t3[r2]+"'";return nn(function(t4){return n3.indexOf(t4)>=0}).desc(t3)},e.optWhitespace=hn,e.Parser=e,e.range=function(n3,t3){return nn(function(r2){return n3<=r2&&r2<=t3}).desc(n3+"-"+t3)},e.regex=Q,e.regexp=Q,e.sepBy=V,e.sepBy1=H,e.seq=C,e.seqMap=J,e.seqObj=function(){for(var n3,t3={},r2=0,u2=(n3=arguments,Array.prototype.slice.call(n3)),o2=u2.length,i2=0;i2<o2;i2+=1){var a2=u2[i2];if(!y(a2)){if(E(a2)&&a2.length===2&&typeof a2[0]=="string"&&y(a2[1])){var f2=a2[0];if(Object.prototype.hasOwnProperty.call(t3,f2))throw new Error("seqObj: duplicate key "+f2);t3[f2]=!0,r2++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(r2===0)throw new Error("seqObj expects at least one named parser, found zero");return e(function(n4,t4){for(var r3,e2={},i3=0;i3<o2;i3+=1){var a3,f3;if(E(u2[i3])?(a3=u2[i3][0],f3=u2[i3][1]):(a3=null,f3=u2[i3]),!(r3=B(f3._(n4,t4),r3)).status)return r3;a3&&(e2[a3]=r3.value),t4=r3.index}return B(b(t4,e2),r3)})},e.string=K,e.succeed=X,e.takeWhile=function(n3){return k(n3),e(function(t3,r2){for(var e2=r2;e2<t3.length&&n3(L(t3,e2));)e2++;return b(e2,t3.slice(r2,e2))})},e.test=nn,e.whitespace=pn,e["fantasy-land/empty"]=rn,e["fantasy-land/of"]=X,e.Binary={bitSeq:l2,bitSeqObj:function(n3){s2();var t3={},r2=0,e2=a(function(n4){if(E(n4)){var e3=n4;if(e3.length!==2)throw new Error("["+e3.join(", ")+"] should be length 2, got length "+e3.length);if(P(e3[0]),O(e3[1]),Object.prototype.hasOwnProperty.call(t3,e3[0]))throw new Error("duplicate key in bitSeqObj: "+e3[0]);return t3[e3[0]]=!0,r2++,e3}return O(n4),[null,n4]},n3);if(r2<1)throw new Error("bitSeqObj expects at least one named pair, got ["+n3.join(", ")+"]");var u2=a(function(n4){return n4[0]},e2);return l2(a(function(n4){return n4[1]},e2)).map(function(n4){return i(function(n5,t4){return t4[0]!==null&&(n5[t4[0]]=t4[1]),n5},{},a(function(t4,r3){return[t4,n4[r3]]},u2))})},byte:function(n3){if(s2(),O(n3),n3>255)throw new Error("Value specified to byte constructor ("+n3+"=0x"+n3.toString(16)+") is larger in value than a single byte.");var t3=(n3>15?"0x":"0x0")+n3.toString(16);return e(function(r2,e2){var u2=L(r2,e2);return u2===n3?b(e2+1,u2):x(e2,t3)})},buffer:function(n3){return h("buffer",n3).map(function(n4){return Buffer.from(n4)})},encodedString:function(n3,t3){return h("string",t3).map(function(t4){return t4.toString(n3)})},uintBE:d,uint8BE:d(1),uint16BE:d(2),uint32BE:d(4),uintLE:v,uint8LE:v(1),uint16LE:v(2),uint32LE:v(4),intBE:g,int8BE:g(1),int16BE:g(2),int32BE:g(4),intLE:m,int8LE:m(1),int16LE:m(2),int32LE:m(4),floatBE:h("floatBE",4).map(function(n3){return n3.readFloatBE(0)}),floatLE:h("floatLE",4).map(function(n3){return n3.readFloatLE(0)}),doubleBE:h("doubleBE",8).map(function(n3){return n3.readDoubleBE(0)}),doubleLE:h("doubleLE",8).map(function(n3){return n3.readDoubleLE(0)})},n2.exports=e}])})})(parsimmon_umd_min,parsimmon_umd_min.exports);var parsimmon_umd_minExports=parsimmon_umd_min.exports,emojiRegex=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u2
`)[0];let comment=line.substring(2).trim();return parsimmon_umd_minExports.makeSuccess(i+line.length,comment)}),namedField:q=>parsimmon_umd_minExports.alt(q.explicitNamedField,captureRaw(EXPRESSION.field).map(([value,text])=>QueryFields.named(stripNewlines(text),value))),sortField:q=>parsimmon_umd_minExports.seqMap(EXPRESSION.field.skip(parsimmon_umd_minExports.optWhitespace),parsimmon_umd_minExports.regexp(/ASCENDING|DESCENDING|ASC|DESC/i).atMost(1),(field,dir2)=>{let direction=dir2.length==0?"ascending":dir2[0].toLowerCase();return direction=="desc"&&(direction="descending"),direction=="asc"&&(direction="ascending"),{field,direction}}),headerClause:q=>q.queryType.chain(type=>{switch(type){case"table":return precededByWhitespaceIfNotEof(()=>({type,fields:[],showId:!0}),parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WITHOUT\s+ID/i).skip(parsimmon_umd_minExports.optWhitespace).atMost(1),parsimmon_umd_minExports.sepBy(q.namedField,parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)),(withoutId,fields)=>({type,fields,showId:withoutId.length==0})));case"list":return precededByWhitespaceIfNotEof(()=>({type,format:void 0,showId:!0}),parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WITHOUT\s+ID/i).skip(parsimmon_umd_minExports.optWhitespace).atMost(1),EXPRESSION.field.atMost(1),(withoutId,format)=>({type,format:format.length==1?format[0]:void 0,showId:withoutId.length==0})));case"task":return parsimmon_umd_minExports.succeed({type});case"calendar":return parsimmon_umd_minExports.whitespace.then(parsimmon_umd_minExports.seqMap(q.namedField,field=>({type,showId:!0,field})));default:return parsimmon_umd_minExports.fail(`Unrecognized query type '${type}'`)}}).desc("TABLE or LIST or TASK or CALENDAR"),fromClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/FROM/i),parsimmon_umd_minExports.whitespace,EXPRESSION.source,(_1,_2,source)=>source),whereClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WHERE/i),parsimmon_umd_minExports.whitespace,EXPRESSION.field,(where,_,field)=>({type:"where",clause:field})).desc("WHERE <expression>"),sortByClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/SORT/i),parsimmon_umd_minExports.whitespace,q.sortField.sepBy1(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)),(sort,_1,fields)=>({type:"sort",fields})).desc("SORT field [ASC/DESC]"),limitClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/LIMIT/i),parsimmon_umd_minExports.whitespace,EXPRESSION.field,(limit,_1,field)=>({type:"limit",amount:field})).desc("LIMIT <value>"),flattenClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/FLATTEN/i).skip(parsimmon_umd_minExports.whitespace),q.namedField,(_,field)=>({type:"flatten",field})).desc("FLATTEN <value> [AS <name>]"),groupByClause:q=>parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/GROUP BY/i).skip(parsimmon_umd_minExports.whitespace),q.namedField,(_,field)=>({type:"group",field})).desc("GROUP BY <value> [AS <name>]"),clause:q=>parsimmon_umd_minExports.alt(q.fromClause,q.whereClause,q.sortByClause,q.limitClause,q.groupByClause,q.flattenClause),query:q=>parsimmon_umd_minExports.seqMap(q.headerClause.trim(optionalWhitespaceOrComment),q.fromClause.trim(optionalWhitespaceOrComment).atMost(1),q.clause.trim(optionalWhitespaceOrComment).many(),(header,from,clauses)=>({header,source:from.length==0?Sources.folder(""):from[0],operations:clauses,settings:DEFAULT_QUERY_SETTINGS}))}),optionalWhitespaceOrComment=parsimmon_umd_minExports.alt(parsimmon_umd_minExports.whitespace,QUERY_LANGUAGE.comment).many().map(arr=>arr.join("")),getAPI4=app=>app?app.plugins.plugins.dataview?.api:window.DataviewAPI,isPluginEnabled=app=>app.plugins.enabledPlugins.has("dataview");exports.DATE_SHORTHANDS=DATE_SHORTHANDS;exports.DURATION_TYPES=DURATION_TYPES;exports.EXPRESSION=EXPRESSION;exports.KEYWORDS=KEYWORDS;exports.Link=Link;exports.QUERY_LANGUAGE=QUERY_LANGUAGE;exports.Widget=Widget;exports.getAPI=getAPI
`+data.errors.map(e=>` - ${e.message}`).join(`
`)}var GraphqlResponseError=class extends Error{constructor(request2,headers,response){super(_buildMessageForResponseErrors(response)),this.request=request2,this.headers=headers,this.response=response,this.errors=response.errors,this.data=response.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},NON_VARIABLE_OPTIONS=["method","baseUrl","url","headers","request","query","mediaType","operationName"],FORBIDDEN_VARIABLE_OPTIONS=["query","method","url"],GHES_V3_SUFFIX_REGEX=/\/api\/v3\/?$/;function graphql(request2,query,options){if(options){if(typeof query=="string"&&"query"in options)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let key in options)if(FORBIDDEN_VARIABLE_OPTIONS.includes(key))return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`))}let parsedOptions=typeof query=="string"?Object.assign({query},options):query,requestOptions=Object.keys(parsedOptions).reduce((result,key)=>NON_VARIABLE_OPTIONS.includes(key)?(result[key]=parsedOptions[key],result):(result.variables||(result.variables={}),result.variables[key]=parsedOptions[key],result),{}),baseUrl=parsedOptions.baseUrl||request2.endpoint.DEFAULTS.baseUrl;return GHES_V3_SUFFIX_REGEX.test(baseUrl)&&(requestOptions.url=baseUrl.replace(GHES_V3_SUFFIX_REGEX,"/api/graphql")),request2(requestOptions).then(response=>{if(response.data.errors){let headers={};for(let key of Object.keys(response.headers))headers[key]=response.headers[key];throw new GraphqlResponseError(requestOptions,headers,response.data)}return response.data.data})}function withDefaults3(request2,newDefaults){let newRequest=request2.defaults(newDefaults);return Object.assign((query,options)=>graphql(newRequest,query,options),{defaults:withDefaults3.bind(null,newRequest),endpoint:newRequest.endpoint})}var graphql2=withDefaults3(request,{headers:{"user-agent":`octokit-graphql.js/${VERSION3} ${getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(customRequest){return withDefaults3(customRequest,{method:"POST",url:"/graphql"})}var b64url="(?:[a-zA-Z0-9_-]+)",sep="\\.",jwtRE=new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`),isJWT=jwtRE.test.bind(jwtRE);async function auth(token){let isApp=isJWT(token),isInstallation=token.startsWith("v1.")||token.startsWith("ghs_"),isUserToServer=token.startsWith("ghu_");return{type:"token",token,tokenType:isApp?"app":isInstallation?"installation":isUserToServer?"user-to-server":"oauth"}}function withAuthorizationPrefix(token){return token.split(/\./).length===3?`bearer ${token}`:`token ${token}`}async function hook(token,request2,route,parameters){let endpoint2=request2.endpoint.merge(route,parameters);return endpoint2.headers.authorization=withAuthorizationPrefix(token),request2(endpoint2)}var createTokenAuth=function(token){if(!token)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof token!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return token=token.replace(/^(token|bearer) +/i,""),Object.assign(auth.bind(null,token),{hook:hook.bind(null,token)})};var VERSION4="7.0.6";var noop2=()=>{},consoleWarn=console.warn.bind(console),consoleError=console.error.bind(console);function createLogger(logger={}){return typeof logger.debug!="function"&&(logger.debug=noop2),typeof logger.info!="function"&&(logger.info=noop2),typeof logger.warn!="function"&&(logger.warn=consoleWarn),typeof logger.error!="function"&&(logger.error=consoleError),logger}var userAgentTrail=`octokit-core.js/${VERSION4} ${getUserAgent()}`,Octokit=class{static VERSION=VERSION4;static defaults(defaults){return class extends this{constructor(...args){let options=args[0]||{};if(typeof defaults=="function"){super(defaults(options));return}super(Object.assign({},defaults,options,options.userAgent&&defaults.userAgent?{userAgent:`${options.userAgent} ${defaults.userAgent}`}:null))}}}static plugins=[];static plugin(...newPlugins){let currentPlugins=
`),mindent=null;for(let l of lines){let m=l.match(/^(\s+)\S+/);if(m){let indent=m[1].length;mindent?mindent=Math.min(mindent,indent):mindent=indent}}if(mindent!==null){let m=mindent;result=lines.map(l=>l[0]===" "||l[0]===" "?l.slice(m):l).join(`
`)}return trimWhitespace&&(result=result.trim()),escapeSpecialCharacters&&(result=result.replace(/\\n/g,`
`).replace(/\\t/g," ").replace(/\\r/g,"\r").replace(/\\v/g,"\v").replace(/\\b/g,"\b").replace(/\\f/g,"\f").replace(/\\0/g,"\0").replace(/\\x([\da-fA-F]{2})/g,(_,h)=>String.fromCharCode(parseInt(h,16))).replace(/\\u\{([\da-fA-F]{1,6})\}/g,(_,h)=>String.fromCodePoint(parseInt(h,16))).replace(/\\u([\da-fA-F]{4})/g,(_,h)=>String.fromCharCode(parseInt(h,16)))),typeof Bun<"u"&&(result=result.replace(/\\u(?:\{([\da-fA-F]{1,6})\}|([\da-fA-F]{4}))/g,(_,braced,unbraced)=>{var _ref;let hex=(_ref=braced??unbraced)!==null&&_ref!==void 0?_ref:"";return String.fromCodePoint(parseInt(hex,16))})),result}}function alignValue(value,precedingText){if(typeof value!="string"||!value.includes(`
`))return value;let indentMatch=precedingText.slice(precedingText.lastIndexOf(`
`)+1).match(/^(\s+)/);if(indentMatch){let indent=indentMatch[1];return value.replace(/\n/g,`
${indent}`)}return value}var isString=obj=>typeof obj=="string",defer=()=>{let res,rej,promise=new Promise((resolve,reject)=>{res=resolve,rej=reject});return promise.resolve=res,promise.reject=rej,promise},makeString=object=>object==null?"":String(object),copy=(a,s,t2)=>{a.forEach(m=>{s[m]&&(t2[m]=s[m])})},lastOfPathSeparatorRegExp=/###/g,cleanKey=key=>key&&key.includes("###")?key.replace(lastOfPathSeparatorRegExp,"."):key,canNotTraverseDeeper=object=>!object||isString(object),getLastOfPath=(object,path,Empty)=>{let stack=isString(path)?path.split("."):path,stackIndex=0;for(;stackIndex<stack.length-1;){if(canNotTraverseDeeper(object))return{};let key=cleanKey(stack[stackIndex]);!object[key]&&Empty&&(object[key]=new Empty),Object.prototype.hasOwnProperty.call(object,key)?object=object[key]:object={},++stackIndex}return canNotTraverseDeeper(object)?{}:{obj:object,k:cleanKey(stack[stackIndex])}},setPath=(object,path,newValue)=>{let{obj,k}=getLastOfPath(object,path,Object);if(obj!==void 0||path.length===1){obj[k]=newValue;return}let e=path[path.length-1],p=path.slice(0,path.length-1),last=getLastOfPath(object,p,Object);for(;last.obj===void 0&&p.length;)e=`${p[p.length-1]}.${e}`,p=p.slice(0,p.length-1),last=getLastOfPath(object,p,Object),last?.obj&&typeof last.obj[`${last.k}.${e}`]<"u"&&(last.obj=void 0);last.obj[`${last.k}.${e}`]=newValue},pushPath=(object,path,newValue,concat)=>{let{obj,k}=getLastOfPath(object,path,Object);obj[k]=obj[k]||[],obj[k].push(newValue)},getPath=(object,path)=>{let{obj,k}=getLastOfPath(object,path);if(obj&&Object.prototype.hasOwnProperty.call(obj,k))return obj[k]},getPathWithDefaults=(data,defaultData,key)=>{let value=getPath(data,key);return value!==void 0?value:getPath(defaultData,key)},deepExtend=(target,source,overwrite)=>{for(let prop in source)prop!=="__proto__"&&prop!=="constructor"&&(prop in target?isString(target[prop])||target[prop]instanceof String||isString(source[prop])||source[prop]instanceof String?overwrite&&(target[prop]=source[prop]):deepExtend(target[prop],source[prop],overwrite):target[prop]=source[prop]);return target},regexEscape=str=>str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),_entityMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},escape=data=>isString(data)?data.replace(/[&<>"'\/]/g,s=>_entityMap[s]):data,RegExpCache=class{constructor(capacity){this.capacity=capacity,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(pattern){let regExpFromCache=this.regExpMap.get(pattern);if(regExpFromCache!==void 0)return regExpFromCache;let regExpNew=new RegExp(pattern);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(pattern,regExpNew),this.regExpQueue.push(pattern),regExpNew}},chars=[" ",",","?","!",";"],looksLikeObjectPathRegExpCache=new RegExpCache(20),looksLikeObjectPath=(key,nsSeparator,keySeparator)=>{nsSeparator=nsSeparator||"",keySeparator=keySeparator||"";let possibleChars=chars.filter(c=>!nsSeparator.includes(c)&&!keySeparator.includes(c));if(possibleChars.length===0)return!0;let r=looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c=>c==="?"?"\\?":c).join("|")})`),matched=!r.test(key);if(!matched){let ki=key.indexOf(keySeparator);ki>0&&!r.test(key.substring(0,ki))&&(matched=!0)}return matched},deepFind=(obj,path,keySeparator=".")=>{if(!obj)return;if(obj[path])return Object.prototype.hasOwnProperty.call(obj,path)?obj[path]:void 0;let tokens=path.split(keySeparator),current=obj;for(let i=0;i<tokens.length;){if(!current||typeof current!="object")return;let next,nextPath="";for(let j=i;j<tokens.length;++j)if(j!==i&&(nextPath+=keySeparator),nextPath+=tokens[j],next=current[nextPath],next!==void 0){if(["string","number","boolean"].includes(typeof next)&&j<tokens.length-1)continue;i+=j-i+1;break}current=next}return current},getCleanedCode=code=>code?.replace(/_/g,"-"),consoleLogger={type:"logger",log(args){this.output("log",args)},warn(args){this.output("warn",args)},error(args){this.output("error",args)},output(type,args){console?.[type]?.apply?.(console,args)
`,"").trim().replaceAll(`
`,`
`)}
`:`
`,header=`${new Date().toLocaleString()} [${type}]:
${errMessage.replaceAll(`
`,`
`)}
${stack}`;this.app.vault.adapter.exists(logFile).then(e=>{e?this.app.vault.adapter.append(logFile,header).catch(e2=>console.error(e2)):this.app.vault.adapter.write(logFile,header).catch(e2=>console.error(e2))}).catch(e=>console.error(e))}}notif(...messages){let settings=this.plugin.settings;settings.plugin?.noticeError&&new import_obsidian2.Notice(messages.join(" "),settings.plugin.noticeLength)}error(error){console.error(error),this.noticeError(error.message),this.writeToLog(error,"error")}warn(...messages){console.warn(...messages),this.notif(messages),this.writeToLog(messages,"warn")}info(...messages){console.info(...messages),this.notif(messages),this.writeToLog(messages,"info")}debug(...messages){this.plugin.settings.plugin?.dev&&([...messages],this.notif(messages),this.writeToLog(messages,"debug"))}trace(...messages){this.plugin.settings.plugin?.dev&&([...messages],this.notif(messages),this.writeToLog(messages,"debug"))}silly(...messages){this.plugin.settings.plugin?.dev&&([...messages],this.notif(messages),this.writeToLog(messages,"silly"))}noticeMobile(cls,icon,message){if(!import_obsidian2.Platform.isMobile)return;let noticeFrag=document.createDocumentFragment(),span=noticeFrag.createEl("span",{text:message,cls:["enveloppe",cls,"icons"]});return(0,import_obsidian2.setIcon)(span,icon),noticeFrag.createEl("span",{cls:["enveloppe",cls,"notification"]}).innerHTML=message,new import_obsidian2.Notice(noticeFrag,this.noticeLength)}noticeErrorUpload(properties){let repo=Array.isArray(properties)?properties:[properties];for(let repository of repo){let notif=document.createDocumentFragment(),notifSpan=notif.createSpan({cls:["error","enveloppe","icons","notification"]}),html=(0,import_obsidian2.sanitizeHTMLToDom)(instance.t("error.errorPublish",{repo:repository}));(0,import_obsidian2.setIcon)(notifSpan,"mail-warning"),notif.createSpan({cls:["error","enveloppe","notification"]}).appendChild(html),new import_obsidian2.Notice(notif,this.noticeLength)}}noticeSuccess(message){let notif=document.createDocumentFragment(),notifSpan=notif.createSpan({cls:["success","enveloppe","icons","notification"]}),html=(0,import_obsidian2.sanitizeHTMLToDom)(message);(0,import_obsidian2.setIcon)(notifSpan,"mail-check"),notif.createSpan({cls:["success","enveloppe","notification"]}).appendChild(html),new import_obsidian2.Notice(notif,this.noticeLength)}noticeError(message){let notif=document.createDocumentFragment(),notifSpan=notif.createSpan({cls:["error","enveloppe","icons","notification"]}),html=(0,import_obsidian2.sanitizeHTMLToDom)(message);(0,import_obsidian2.setIcon)(notifSpan,"alert-triangle"),notif.createSpan({cls:["error","enveloppe","notification"]}).appendChild(html),new import_obsidian2.Notice(notif,this.plugin.settings.plugin.noticeLength)}async publisherNotificationOneRepo(PublisherManager,file,settings,prop){let noticeValue=file instanceof import_obsidian2.TFile?`"${file.basename}"`:file,docSuccess=document.createDocumentFragment(),successMsg=file instanceof String?instance.t("informations.successfulPublish",{nbNotes:noticeValue,repo:prop}):instance.t("informations.successPublishOneNote",{file:noticeValue,repo:prop}),span=docSuccess.createEl("span",{text:successMsg,cls:["enveloppe","success","icons"]});if((0,import_obsidian2.setIcon)(span,"mail-check"),docSuccess.createEl("span",{cls:["enveloppe","success","notification"]}).innerHTML=successMsg,settings.github.workflow.name.length===0){new import_obsidian2.Notice(docSuccess,settings.plugin.noticeLength);return}let workflowSuccess=document.createDocumentFragment(),WorkflowSpan=workflowSuccess.createEl("span",{text:instance.t("informations.successfulPublish",{nbNotes:noticeValue,repo:prop}),cls:["enveloppe","wait","icons"]});(0,import_obsidian2.setIcon)(WorkflowSpan,"hourglass"),workflowSuccess.createEl("span",{cls:["enveloppe","wait","notification"]}).innerHTML=`${instance.t("informations.sendMessage",{nbNotes:noticeValue,repo:prop})}.<br>${instance.t("informations.waitingWorkflow")}`,new import_obsidian2.Notice(workflowSuccess,PublisherManager.settings.plugin.noticeLength),await
const query = ${query};
dv.el("div", query);
`,markdown=await this.tryExecuteJs(evaluateQuery);return removeDataviewQueries(markdown,this.properties.frontmatter.general)}};async function convertDataviewQueries(text,path,frontmatter,sourceFile,properties){let plugin=properties.plugin,app=plugin.app,settings=plugin.settings,replacedText=text,dataViewRegex=/```dataview\s(.+?)```/gms;if(!app.plugins.plugins?.dataview?._loaded)return replacedText;let dvApi=(0,import_obsidian_dataview.getAPI)(app);if(!dvApi)return replacedText;let matches=text.matchAll(dataViewRegex),compiler=new DataviewCompiler(settings,properties,path,dvApi,text),{dataviewJsMatches,inlineMatches,inlineJsMatches}=compiler.matches();if(!matches&&!inlineMatches&&!dataviewJsMatches&&!inlineJsMatches)return plugin.console.warn("No dataview queries found"),replacedText;let error=instance.t("error.dataview");for(let queryBlock of matches)try{let block=queryBlock[0],markdown=await compiler.dataviewDQL(queryBlock[1]);replacedText=replacedText.replace(block,markdown)}catch(e){return plugin.console.debug(e),plugin.console.warn(error),queryBlock[0]}for(let queryBlock of dataviewJsMatches)try{let block=queryBlock[0],markdown=await compiler.dataviewJS(queryBlock[1]);replacedText=replacedText.replace(block,markdown)}catch(e){return plugin.console.debug(e),plugin.console.warn(error),queryBlock[0]}for(let inlineQuery of inlineMatches)try{let code=inlineQuery[0],query=inlineQuery[1].trim(),markdown=await compiler.inlineDQLDataview(query);replacedText=replacedText.replace(code,markdown)}catch(e){return plugin.console.debug(e),plugin.console.warn(error),inlineQuery[0]}for(let inlineJsQuery of inlineJsMatches)try{let code=inlineJsQuery[0],markdown=await compiler.inlineDataviewJS(inlineJsQuery[1].trim());replacedText=replacedText.replace(code,markdown)}catch(e){return plugin.console.debug(e),plugin.console.warn(error),inlineJsQuery[0]}return await convertDataviewLinks(replacedText,frontmatter,sourceFile,properties)}function removeDataviewQueries(dataviewMarkdown,frontmatterSettings){let toStr=dataviewMarkdown?.toString();return frontmatterSettings.dataview&&dataviewMarkdown&&toStr?toStr:""}async function convertDataviewLinks(md,frontmatter,sourceFile,properties){let dataviewPath=getDataviewPath(md,properties.plugin);return md=await convertToInternalGithub(md,dataviewPath,sourceFile,frontmatter,properties),convertWikilinks(md,properties.frontmatter.general,dataviewPath,properties.plugin,frontmatter)}function getDataviewPath(markdown,plugin){let{settings}=plugin,vault=plugin.app.vault;if(!settings.conversion.dataview)return[];let wikiRegex=/\[\[(.*?)\]\]/gim,wikiMatches=markdown.matchAll(wikiRegex),linkedFiles=[];if(!wikiMatches)return[];if(wikiMatches)for(let wikiMatch of wikiMatches){let altText=wikiMatch[1].replace(/(.*)\\?\|/i,""),linkFrom=wikiMatch[1].replace(/\\?\|(.*)/,""),linked=vault.getAbstractFileByPath(linkFrom)instanceof import_obsidian20.TFile?vault.getAbstractFileByPath(linkFrom):null;linked&&linkedFiles.push({linked,linkFrom,altText,type:"link"})}return linkedFiles}function sanitizeQuery(query){let isInsideCallout=!1,parts=query.split(`
`),sanitized=[];for(let part of parts)part.startsWith(">")?(isInsideCallout=!0,sanitized.push(part.substring(1).trim())):sanitized.push(part);let finalQuery=query;return isInsideCallout&&(finalQuery=sanitized.join(`
`)),{isInsideCallout,finalQuery}}function surroundWithCalloutBlock(input){return` ${input.split(`
`).join(`
> `)}`}var import_obsidian21=require("obsidian"),import_obsidian_dataview2=__toESM(require_lib());function applyIndent(text,indent){return indent?text.trim().replace(/(\r?\n)/g,`$1${indent}`):text}function stripFirstBullet(text){return text.replace(/^[ \t]*(?:[-*+]|[0-9]+[.)]) +/,"")}function dedent2(text){let firstIndent=text.match(/^([ \t]*)/);return firstIndent?text.replace(new RegExp(`^${firstIndent[0].replace(/\\/g,"\\$&")}`,"gm"),""):text}function stripBlockId(str){return str.replace(/ +\^[^ \n\r]+$/gm,"")}function stripFrontmatter(text){return text&&text.replace(/^---[\s\S]+?\r?\n---(?:\r?\n\s*|$)/,"")}function sanitizeBakedContent(text){return stripBlockId(stripFrontmatter(text))}function extractSubpath(content,subpathResult,cache){if(subpathResult.type==="block"&&subpathResult.list&&cache.listItems){let targetItem=subpathResult.list,ancestors=new Set([targetItem.position.start.line]),start2=targetItem.position.start.offset-targetItem.position.start.col,end2=targetItem.position.end.offset,found=!1;for(let item of cache.listItems){if(targetItem===item){found=!0;continue}else if(!found)continue;if(!ancestors.has(item.parent))break;ancestors.add(item.position.start.line),end2=item.position.end.offset}return stripBlockId(dedent2(content.substring(start2,end2)))}let start=subpathResult.start.offset,end=subpathResult.end?subpathResult.end.offset:content.length;return stripBlockId(content.substring(start,end))}async function bakeEmbeds(originalFile,ancestor,properties,subpath,linkedNotes){let{plugin}=properties,{app,settings}=plugin,{vault,metadataCache}=plugin.app,text=await vault.cachedRead(originalFile),cache=metadataCache.getFileCache(originalFile);if(!cache)return text;let resolvedSubpath=subpath?(0,import_obsidian21.resolveSubpath)(cache,subpath):null;resolvedSubpath&&resolvedSubpath.type!=="footnote"&&(text=extractSubpath(text,resolvedSubpath,cache));let embeds=cache.embeds;if(!embeds||embeds.length===0)return text;let targets=[...embeds];targets.sort((a,b)=>a.position.start.offset-b.position.start.offset);let newAncestors=new Set(ancestor);newAncestors.add(originalFile);let posOffset=0;for(let embed of targets){let{path,subpath:subpath2}=(0,import_obsidian21.parseLinktext)(embed.link),linked=metadataCache.getFirstLinkpathDest(path,originalFile.path);if(linked===null||linked?.extension!=="md")continue;let start=embed.position.start.offset+posOffset,end=embed.position.end.offset+posOffset,prevLen=end-start,before=text.substring(0,start),after=text.substring(end),replaceTarget=async replacement=>{if(settings.embed.bake?.textAfter){let textAfter=await changeUrl(settings.embed.bake?.textAfter,properties,linked,originalFile,linkedNotes);textAfter=changeTitle(textAfter,linked,app,settings);let newLine=replacement.match(/[\s\n]/g)?"":`
`;replacement=`${replacement}${newLine}${textAfter}`}if(settings.embed.bake?.textBefore){let textBefore=await changeUrl(settings.embed.bake?.textBefore,properties,linked,originalFile,linkedNotes);textBefore=changeTitle(textBefore,linked,app,settings),replacement=`${textBefore}
${replacement}`}text=before+replacement+after,posOffset+=replacement.length-prevLen},frontmatter=metadataCache.getFileCache(linked)?.frontmatter,shared=isShared(frontmatter,settings,linked,properties.repository),listMatch=before.match(/(?:^|\n)([ \t]*)(?:[-*+]|[0-9]+[.)]) +$/);if(newAncestors.has(linked)||!shared)continue;let baked=sanitizeBakedContent(await bakeEmbeds(linked,newAncestors,properties,subpath2,linkedNotes));await replaceTarget(listMatch?applyIndent(stripFirstBullet(baked),listMatch[1]):baked)}return text}async function changeUrl(textToAdd,properties,linked,sourceFile,linkedNotes){let frontmatter=properties.plugin.app.metadataCache.getFileCache(linked)?.frontmatter;if(!frontmatter)return textToAdd;let linkedNote=linkedNotes.find(note=>note.linked===linked);if(!linkedNote)return textToAdd;if(properties.frontmatter.general.convertInternalLinks){let relativePath=await createRelativePath(sourceFile,linkedNote,frontmatter,properties);return textToAdd.replace(/\{{2}url\}{2}/gim,relativePath.link)}return textToAdd.replace(/\{{2}url\}{2}/gim,linkedNote.linked.path)}function changeTitle(textToAdd,linked,app,settings){let title=linked.basename,frontmatter=app.metadataCache.getFileCache(linked)?.frontmatter;if(!frontmatter)return textToAdd.replace(/\{{2}title\}{2}/gim,title);let getTitle=regexOnFileName(getTitleField(frontmatter,linked,settings),settings).replace(".md","");return textToAdd.replace(/\{{2}title\}{2}/gim,getTitle)}async function convertInlineDataview(text,plugin,sourceFile){let{settings,app}=plugin;if(settings.conversion.tags.fields.length===0||!app.plugins.enabledPlugins.has("dataview"))return text;let dvApi=(0,import_obsidian_dataview2.getAPI)();if(!dvApi)return text;let dataviewLinks=dvApi.page(sourceFile.path);if(!dataviewLinks)return text;let valueToAdd=[];for(let field of settings.conversion.tags.fields){let fieldValue=dataviewLinks[field];if(fieldValue)if(fieldValue.constructor.name==="Link"){fieldValue=fieldValue;let stringifyField=dataviewExtract(fieldValue,settings);stringifyField&&valueToAdd.push(stringifyField)}else if(fieldValue instanceof Array)for(let item of fieldValue){let stringifyField=item;item&&item.constructor.name==="Link"?(stringifyField=dataviewExtract(item,settings),stringifyField&&valueToAdd.push(stringifyField)):stringifyField&&!settings.conversion.tags.exclude.includes(stringifyField.toString())&&valueToAdd.push(stringifyField.toString())}else settings.conversion.tags.exclude.includes(fieldValue.toString())||valueToAdd.push(fieldValue.toString())}return valueToAdd.length>0?addToYaml(text,valueToAdd.filter(Boolean),{properties:null,file:sourceFile}):text}function dataviewExtract(fieldValue,settings){let filename=(name=>/([^/\\.]*)(\..*)?$/.exec(name)[1])(fieldValue.path).toString(),display=fieldValue.display?fieldValue.display.toString():filename;return!settings.conversion.tags.exclude.includes(display)&&!settings.conversion.tags.fields.includes(filename)?display:null}function addHardLineBreak(text,plugin,frontmatter){try{let{exists:exists2,contentStart,from}=(0,import_obsidian22.getFrontMatterInfo)(text);if(frontmatter.hardbreak){if(exists2){let substring=text.substring(contentStart).replace(/\n/gm,`
`).replace(/^\s*\\\s*$/gim,"<br/>");return`---
${text.slice(from,contentStart)}${substring}`}return text.replace(/\n/gm,`
`)}else if(exists2){let newText=text.substring(contentStart).replace(/^\s*\\\s*$/gim,"<br/>");return`---
${text.slice(from,contentStart)}${newText}`}return text.replace(/^\s*\\\s*$/gim,"<br/>")}catch(e){return plugin.console.error(e),text}}function setTags(toAdd,tags){return!tags||!Array.isArray(tags)?toAdd:(tags=tags.map(tag=>tag.replaceAll("/","_")),Array.isArray(tags)?[...new Set([...tags,...toAdd])]:[...new Set([...toAdd,tags])])}function tagsToYaml(toAdd,plugin,yaml){if(yaml.tag)try{toAdd=[...setTags(toAdd,yaml.tag)],delete yaml.tag}catch(e){plugin.console.error(e)}if(yaml.tags)try{yaml.tags=[...setTags(toAdd,yaml.tags)]}catch(e){plugin.console.error(e)}else yaml.tags=toAdd;return yaml}function addToYaml(text,toAdd,folderNoteParaMeters){let properties=folderNoteParaMeters?.properties,{contentStart,exists:exists2,frontmatter}=(0,import_obsidian22.getFrontMatterInfo)(text);if(!properties||!properties.plugin.settings.conversion.tags.inline&&!properties.plugin.settings.upload.folderNote.addTitle)return text;let yamlObject=(0,import_obsidian22.parseYaml)(exists2?frontmatter:"{}");try{if(yamlObject&&toAdd.length>0&&(yamlObject=tagsToYaml(toAdd,properties.plugin,yamlObject)),folderNoteParaMeters?.properties&&(yamlObject=titleToYaml(yamlObject,folderNoteParaMeters.properties,folderNoteParaMeters.file)),yamlObject&&Object.keys(yamlObject).length>0)return`---
${(0,import_obsidian22.stringifyYaml)(yamlObject)}---
${exists2?text.slice(contentStart):text}`}catch{return new import_obsidian22.Notice(instance.t("error.parseYaml"),properties.plugin.settings.plugin.noticeLength),text}return new import_obsidian22.Notice(instance.t("error.parseYaml"),properties.plugin.settings.plugin.noticeLength),text}function titleToYaml(yaml,properties,file){let settings=properties.plugin.settings.upload.folderNote.addTitle;return settings&&!yaml[settings.key]&&isFolderNote(properties)&&settings.enable&&(yaml[settings.key]=file.basename),yaml}function inlineTags(settings,file,metadataCache,frontmatter){if(!settings.conversion.tags.inline)return[];let inlineTags2=metadataCache.getFileCache(file)?.tags,inlineTagsInText=inlineTags2?inlineTags2.map(t2=>t2.tag.replace("#","").replaceAll("/","_")):[],frontmatterTags=(0,import_obsidian22.parseFrontMatterTags)(frontmatter),yamlTags=frontmatterTags?frontmatterTags.map(t2=>t2.replace("#","").replaceAll("/","_")):[];return[...new Set([...inlineTagsInText,...yamlTags])]}async function processYaml(file,frontmatter,text,multiProperties){let{plugin}=multiProperties,{settings,app}=plugin,metadataCache=app.metadataCache,toAdd=inlineTags(settings,file,metadataCache,frontmatter);return addToYaml(text,toAdd,{properties:multiProperties,file})}async function mainConverting(text,file,frontmatter,linkedFiles,properties){let{plugin}=properties;return properties.frontmatter.general.removeEmbed==="bake"&&(text=await bakeEmbeds(file,new Set,properties,null,linkedFiles)),text=findAndReplaceText(text,plugin,!1),text=await processYaml(file,frontmatter,text,properties),text=await convertToInternalGithub(text,linkedFiles,file,frontmatter,properties),text=convertWikilinks(text,properties.frontmatter.general,linkedFiles,plugin,frontmatter),text=await convertDataviewQueries(text,file.path,frontmatter,file,properties),text=await convertInlineDataview(text,plugin,file),text=addHardLineBreak(text,plugin,properties.frontmatter.general),findAndReplaceText(text,plugin,!0)}async function convertToHTMLSVG(file,app){try{let excalidraw=app.plugins.getPlugin("obsidian-excalidraw-plugin");if(!excalidraw)return null;let ea=excalidraw.ea,settings=ea.getExportSettings(!1,!0),embeddedFilesLoader=ea.getEmbeddedFilesLoader(!0);return(await ea.createSVG(file.path,!0,settings,embeddedFilesLoader)).outerHTML}catch(e){return console.error(e),null}}var Publisher=class{octokit;plugin;vault;metadataCache;settings;branchName;console;noticeLength;constructor(octokit,plugin){this.vault=plugin.app.vault,this.metadataCache=plugin.app.metadataCache,this.settings=plugin.settings,this.octokit=octokit,this.plugin=plugin,this.branchName=plugin.branchName,this.console=plugin.console,this.noticeLength=this.settings.plugin.noticeLength}async statusBarForEmbed(linkedFiles,fileHistory,deepScan,properties){let uploadedFile=[],fileError=[];if(linkedFiles.length>0){let statusBarItems=this.plugin.addStatusBarItem(),statusBar=new ShareStatusBar(statusBarItems,linkedFiles.length,!0,this.console),prop=properties.frontmatter.prop,repoProperties={frontmatter:properties.frontmatter.prop,repository:properties.repository,convert:properties.frontmatter.general};try{for(let file of linkedFiles)try{if(!fileHistory.includes(file)){let isExcalidraw=file.name.includes("excalidraw");if(file.extension==="md"&&!isExcalidraw&&deepScan){let published=await this.publish(file,!1,repoProperties,fileHistory,!0,properties.frontmatter.source);published&&uploadedFile.push(...published.uploaded)}else if(isAttachment(file.name,this.settings.embed.unHandledObsidianExt)&&properties.frontmatter.general.attachment){let published=await this.uploadImage(file,properties);fileHistory.push(file),published&&uploadedFile.push(published)}}statusBar.increment()}catch(e){new import_obsidian23.Notice(instance.t("error.unablePublishNote",{file:file.name}),this.noticeLength),fileError.push(file.name),this.console.error(e)}statusBar.finish(8e3)}catch(e){throw this.console.noticeErrorUpload(prop),statusBar.error(prop),new EnveloppeErrors(e.message,{cause:e})}}return{fileHistory,uploaded:uploadedFile,error:fileError}}async pub
- Branch Status: ${mainBranch.status}
- Repo: ${prop.owner}/${prop.repo}
- Branch: ${prop.branch}`));try{let shaMainBranch=mainBranch.data.commit.sha,branch=await this.octokit.request("POST /repos/{owner}/{repo}/git/refs",{owner:prop.owner,repo:prop.repo,ref:`refs/heads/${this.branchName}`,sha:shaMainBranch});return this.console.info(instance.t("publish.branch.success",{branchStatus:branch.status,repo:prop})),branch.status===201}catch{try{this.console.warn("Branch already exists, trying to find it");let mainBranch2=await this.findMainBranch(prop,this.branchName);return this.console.debug("Branch already exists",mainBranch2),mainBranch2?this.console.info(instance.t("publish.branch.alreadyExists",{branchName:this.branchName,repo:prop})):this.console.error(new Error(`No main branch found for ${prop.repo}, please check the branch name in the settings`)),mainBranch2}catch(e){return this.console.error(e),!1}}}async pullRequestOnRepo(prop){try{let pr=await this.octokit.request("POST /repos/{owner}/{repo}/pulls",{owner:prop.owner,repo:prop.repo,title:instance.t("publish.branch.prMessage",{branchName:this.branchName}),body:"",head:this.branchName,base:prop.branch});return pr.status===201?pr.data.number:0}catch(e){e?.status===422&&this.console.warn("Github error 422: Unprocessable Entity. Verify your base branch!",e?.response?.data),this.console.trace(e);try{return(await this.octokit.request("GET /repos/{owner}/{repo}/pulls",{owner:prop.owner,repo:prop.repo,state:"open"})).data[0]?.number||0}catch(e2){return this.console.info(instance.t("publish.branch.error",{error:e2,repo:prop})),0}}}async deleteBranchOnRepo(prop){try{return(await this.octokit.request(`DELETE /repos/{owner}/{repo}/git/refs/heads/${this.branchName}`,{owner:prop.owner,repo:prop.repo})).status===200}catch(e){return this.console.trace(e),!1}}async mergePullRequestOnRepo(pullRequestNumber,prop){let commitMsg=prop.commitMsg||prop.commitMsg.trim().length>0?`${prop.commitMsg} #${pullRequestNumber}`:`[PUBLISHER] Merge #${pullRequestNumber}`;try{return(await this.octokit.request("PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge",{owner:prop.owner,repo:prop.repo,pull_number:pullRequestNumber,commit_title:commitMsg,merge_method:"squash"})).status===200}catch(e){return this.console.warn(e),new import_obsidian25.Notice(instance.t("error.mergeconflic"),this.noticeLength),!1}}async updateRepository(prop,dryRun=!1){if(dryRun)return!0;prop=Array.isArray(prop)?prop:[prop];let success=[];for(let repo of prop)success.push(await this.updateRepositoryOnOne(repo));return!success.every(value=>!value)}async updateRepositoryOnOne(prop){if(this.settings.github.dryRun.enable)return!0;try{let pullRequest=await this.pullRequestOnRepo(prop);return pullRequest===0?!1:prop.automaticallyMergePR&&pullRequest!==0?await this.mergePullRequestOnRepo(pullRequest,prop)?(await this.deleteBranchOnRepo(prop),!0):!1:!0}catch(e){return this.console.warn(e),new import_obsidian25.Notice(instance.t("error.errorConfig",{repo:prop}),this.noticeLength),!1}}async checkRepository(prop,silent=!0){prop=Array.isArray(prop)?prop:[prop],await verifyToken(this.octokit,this.settings.github.user);for(let repo of prop)if((await this.octokit.request("GET /repos/{owner}/{repo}",{owner:repo.owner,repo:repo.repo}).catch(e=>{if(e.status===404)throw new import_obsidian25.Notice(instance.t("commands.checkValidity.inRepo.error404",{repo}),this.noticeLength),new EnveloppeErrors(instance.t("commands.checkValidity.inRepo.error404",{repo}));if(e.status===403)throw new import_obsidian25.Notice(instance.t("commands.checkValidity.inRepo.error403",{repo}),this.noticeLength),new EnveloppeErrors(instance.t("commands.checkValidity.inRepo.error403",{repo}));if(e.status===301)throw new import_obsidian25.Notice(instance.t("commands.checkValidity.inRepo.error301",{repo}),this.noticeLength),new EnveloppeErrors(instance.t("commands.checkValidity.inRepo.error301",{repo}))})).status===200){if(this.console.info(instance.t("commands.checkValidity.repoExistsTestBranch",{repo})),!await this.findMainBranch(repo))throw new EnveloppeErrors(instance.t("commands.checkValidity.inBranch.error404",{repo}),{cause:"Branch not fo
Dataview oder ein anderes Plugin st\xF6rt das Hinzuf\xFCgen.
Schritt \xFCbersprungen.`,"reading-token-file":"Fehler: Der Pfad scheint falsch zu sein.",unablePublishMultiNotes:"Mehrere Notizen k\xF6nnen nicht hochgeladen werden, etwas ist schief gelaufen.",unablePublishNote:"",whatEmpty:{branch:"Zweig",owner:"Eigent\xFCmer"}},informations:{foundNoteToSend:"",migrating:{fileReplace:"",normalFormat:"",oldSettings:"",subFolder:""},noNewNote:"",scanningRepo:"",sendMessage:"",startingClean:"",successPublishOneNote:"",successfulPublish:"",wait:"",wait_plural:"",waitingWorkflow:""},modals:{export:{copy:"",desc:"",download:"Herunterladen",title:""},import:{desc:"",error:{isEmpty:"",span:""},importFromFile:"",paste:"",presets:{desc:"",title:""},title:""},listChangedFiles:{added:"",deleted:"",edited:"",error:"",notDeleted:"",title:"",unpublished:""}},publish:{branch:{alreadyExists:"",error:"",prMessage:"",success:""},upToDate:""},regex:{entry:"",replace:""},settings:{conversion:{dataview:{desc:"",title:""},desc:"",hardBreak:{desc:"",title:""},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"",title:""},internals:{dataview:"",desc:"",shareAll:"",title:""},key:"<code>links: false</code>",nonShared:{desc:"",title:""},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"",lower:"",strict:"",title:""},textBefore:{desc:"",title:""},title:"",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"",title:""}},sectionTitle:"",tags:{desc:"",exclude:{desc:"",placeholder:"",title:""},inlineTags:{desc:"",title:""},title:""},title:""},embed:{attachment:"",bake:{text:"",textAfter:{title:""},textBefore:{title:""},title:"",variable:{desc:"",title:"",url:""},warning:""},char:{desc:"",title:""},defaultImageFolder:{desc:"",title:""},forcePush:{all:"",default:"",desc:"",info:"",title:""},imagePath:{desc:"",title:""},links:{desc:"",dp:{bake:"",keep:"",links:"",remove:""},title:""},notes:"",overrides:{desc:"",modal:{dest:"",path:"",title:""}},sendSimpleLinks:{desc:"",title:""},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"",free:""},hostname:{desc:"",title:""},title:""},automaticallyMergePR:"",branch:{desc:"",title:""},dryRun:{enable:{desc:"",title:""},folder:{desc:"",error:"",title:""}},ghToken:{button:{configDir:"",default:"",description:"",pluginID:"",tooltip:"",variables:""},desc:"",error:""},repoName:{desc:"",placeholder:"",title:""},smartRepo:{button:"",modals:{default:"",desc:"",duplicate:"",empty:"",frontmatterInfo:"",newRepo:"",otherConfig:"",shortcuts:{desc:"",title:""},title:""}},testConnection:"",title:"",username:{desc:"",title:""}},githubWorkflow:{autoCleanUp:{desc:"",popup:{desc:"",exclude:"",sure:"",title:""},title:""},excludedFiles:{desc:"",title:""},githubAction:{desc:"",title:""},includeAttachments:{desc:"",title:""},prRequest:{desc:"",error:"",title:""},useMetadataExtractor:{desc:"",title:""}},help:{frontmatter:{attachment:{folder:"",send:""},autoclean:"",baselink:{desc:"",remove:""},convert:{enableOrDisable:"",syntax:""},dataview:"",desc:"",embed:{char:"",remove:{bake:"",desc:"",keep:"",links:"",remove:""},send:""},hardBreak:"",includeLinks:"",internals:"",mdlinks:"",nestedKey:"",nonShared:"",path:"",repo:{branch:"",desc:"",owner:""},share:{other:"",title:""},shortRepo:"",title:"",titleKey:"",unlink:""},multiRepoHelp:{desc:"",desc2:"",exampleDesc:"",title:""},title:"",usefulLinks:{discussion:"",documentation:"",issue:"",title:"",translation:""}},plugin:{copyLink:{applyRegex:{desc:"",title:""},baselink:{desc:"",title:""},command:{desc:""},desc:"",linkPathRemover:{desc:"",title:""},title:"",toUri:{desc:"",title:""}},dev:{desc:"",title:""},editorMenu:{desc:"",title:""},embedEditRepo:{desc:"",title:""},excludedFolder:{desc:"",title:""},fileMenu:{desc:"",title:""},head:{copyLinks:"",log:"",menu:"",other:"",share:""},logNoticeHeader:{desc:"",title:""},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"",title:""},set:{desc:"",title:""},setImport:{desc:"",title:""},shareKey:{all:{desc:"",title:""},desc:"",
Dataview or another plugin must be interfering with it.
Step skipped.`,"reading-token-file":"Error: the path seems incorrect.",unablePublishMultiNotes:"Unable to upload multiple notes, something went wrong.",unablePublishNote:"Unable to upload note {{- file}}, skipping it",whatEmpty:{branch:"Branch",owner:"Owner"}},informations:{foundNoteToSend:"Found {{- nbNotes}} new notes to send",migrating:{fileReplace:"Migration of filename replace to the new format\u2026",normalFormat:"Migrating settings\u2026",oldSettings:"Migration of old settings to new settings format\u2026",subFolder:"Adding replacing subfolder to the folderpath replacement\u2026"},noNewNote:"No new notes to upload.",scanningRepo:"Scanning the repository, may take a while\u2026",sendMessage:"Upload <i>{{- nbNotes}}</i> notes to <u>{{- repo.owner}}/{{- repo.repo}}</u>",startingClean:"Starting cleaning <u>{{- repo.owner}}/{{- repo.repo}}</u>",successPublishOneNote:"Successfully uploaded <i><u>{{- file}}</u></i> to <u>{{- repo.owner}}/{{- repo.repo}}</u>",successfulPublish:"Successfully uploaded <i>{{- nbNotes}}</i> to <u>{{- repo.owner}}/{{- repo.repo}}</u>",wait:"Scanning file {{-file}}... Please wait...",wait_plural:"Scanning files... Please wait...",waitingWorkflow:"Now, waiting for the workflow to be completed\u2026"},modals:{export:{copy:"Copy to clipboard",desc:"Export settings to clipboard or a file.",download:"Download",title:"Export settings"},import:{desc:"Import settings from text or a file. Note: this will overwrite your current settings (except for username, repo name and token).",error:{isEmpty:"the configuration is empty.",span:"Error importing configuration: "},importFromFile:"Import from file",paste:"Paste configuration here\u2026",presets:{desc:'Load presets from the repository "plugin-presets"',title:"Presets"},title:"Import settings"},listChangedFiles:{added:"Added",deleted:"Deleted",edited:"Edited",error:"Errors",notDeleted:"Cannot be deleted",title:"List of files edited in the repository",unpublished:"Cannot be published"}},publish:{branch:{alreadyExists:"Branch already exists ({{- branchName}} on {{- repo.owner}}/{{- repo.repo}} - Using it.",error:"Error with {{- repo.owner}}/{{- repo.repo}}: {{- error}}",prMessage:"Pull-Request [{{- branchName}}] from Obsidian",success:"Branch successfully created (status: {{- branchStatus}}) on {{- repo.owner}}/{{- repo.repo}}"},upToDate:"{{- file}} is up-to-date on {{- repo}}"},regex:{entry:"Value to replace",replace:"Replacement"},settings:{conversion:{dataview:{desc:`Convert Dataview queries to markdown.
Only works if Dataview and internal link conversion are enabled.`,title:"Dataview"},desc:"These options won't change the content of the file in your Obsidian Vault, but will change the content of the file in GitHub.",hardBreak:{desc:"Add a markdown hard line break (double whitespace) after each line.",title:"Markdown hard line break"},links:{anchor:{desc:"Standardize anchor: transform it and replace space with hyphen.",title:"Slugify anchor markdown link"},desc:"Put $t(settings.conversion.links.key) in the frontmatter of a note to prevent links to it to be converted and keep the alt text (or filename)",folderNote:{desc:"Rename files to a specified name (default: index.md) if it has the same name as their parent folder/category (also works if the note is outside of the folder).",title:"Folder note"},internals:{dataview:"Mandatory if you want to convert links in dataview blocks!",desc:"Convert internal links to their counterpart in the repository, with relative path.",shareAll:'Includes all links for the "share all" settings, as it impossible without frontmatter to know the sharing state of a file.',title:"Internal links"},key:"<code>links: false</code>",nonShared:{desc:"Same option as internal links, but for notes that are not yet published. Disabled, only the filename will be conserved.",title:"Convert internal links pointing to unpublished notes"},relativePath:{desc:"Create the internals paths as relative path.",title:"Relative path"},slugify:{desc:"Standardize links: transform it and replace space with hyphen. ",disable:"Disable",lower:"Lower",strict:"Strict: Text without capital letters or special characters. ",title:"Sluglify markdown links"},textBefore:{desc:"Add a string before the created path. Use {{- slash}} to create absolute path. This text will be happened only if a path should be generated.",title:"Text before path"},title:"Links",unlink:{desc:"E.g. `[[note name|alias]]` \u2192 `alias`",title:"Unlink unshared files"},wikiDisplayText:{desc:"Maintain display text when converting wikilinks",title:"Wiki display text"},wikilinks:{desc:"Convert Wikilinks to MDlinks, without changing the contents.",title:"[[Wikilinks]] to [MDlinks](links)"}},sectionTitle:"Main text",tags:{desc:"This will convert any properties or dataview inline field into properties tags. Separate fields with a comma.",exclude:{desc:"This will exclude value from being converted. Separate fields with a comma.",placeholder:"Field value",title:"Exclude value from conversion"},inlineTags:{desc:'Add your inline tags in your properties tags field and converting nested tags with replacing "/" with "_"',title:"Inline tags"},title:"Convert properties/dataview fields into tags"},title:"Content"},embed:{attachment:"Attachments",bake:{text:"Allow you to add text before and after each embed, for example adding HTML or stylize the block with markdown.",textAfter:{title:"Text after the block"},textBefore:{title:"Text before the block"},title:"Include embed settings",variable:{desc:"It is possible to use the following variable:",title:": note embedded title",url:": path to the embedded note"},warning:"If you use HTML, depending of your host settings, the markdown will broke."},char:{desc:"Character(s) to add before the link.",title:"Embed characters"},defaultImageFolder:{desc:"To use a folder different from default",title:"Default attachment folder"},forcePush:{all:": Change the destination of all attachments (and/or force them to be sent).",default:": Use the default destination path.",desc:"Always upload linked notes to the repository, even if they are already present and up-to-date.",info:"By default, attachments are only sent if they have been modified since they were last sent, or if they do not exist in the repository.",title:"Forced updates"},imagePath:{desc:"Use the obsidian folder structure or configure a default folder below",title:"Structure"},links:{desc:"Allow to edit the links of the embeds, removing entirely the citation, or transform to a simple link",dp:{bake:"Include embed contents",keep:"No change",links:"Transform to link",remove:"Remove link
Regexes are supported when enclosed by /, such as /regex/.
Don't include the period!`,title:"Allow extensions not natively supported by Obsidian"}},github:{apiType:{desc:"Choose between the GitHub API or the GitHub Enterprise API (only GitHub Enterprise users \u2014 Advanced user!).",dropdown:{enterprise:"Enterprise",free:"Free/Pro/Team (default)"},hostname:{desc:"The hostname of your GitHub Enterprise instance.",title:"GitHub Enterprise Hostname"},title:"API Type"},automaticallyMergePR:"Automatically merge pull requests",branch:{desc:'If you use a different branch than "main"',title:"Main branch"},dryRun:{enable:{desc:"Disable GitHub push and all other action and only perform a dry-run to see what would be pushed or deleted in the repository.",title:"Test mode"},folder:{desc:"Use {{owner}}, {{repo}} and {{branch}} to dynamically name the folder.",error:"The folder name can't be empty!",title:"Folder where the repository will be simulated (test mode only)"}},ghToken:{button:{configDir:": The configuration folder of Obsidian",default:"By default, it will be in:",description:"You can edit the file path where the token will be stored.",pluginID:": The plugin ID",tooltip:"Modify the path of the file containing the token",variables:"You can use the following variables:"},desc:"A GitHub token with repository permission. You can generate it ",error:"The token mustn't be empty!"},repoName:{desc:"The name of the repository where you store your blog.",placeholder:"mkdocs-template",title:"Repository name"},smartRepo:{button:"Manage more repositories",modals:{default:'The name "default" is reserved for your primary configuration.',desc:'These "other repositories" allow you to use all the commands on the repositories added below.',duplicate:"Smartkey must be unique!",empty:"Smartkeys cannot be empty",frontmatterInfo:'Using the "shortRepo" properties key with the "smartKey" also allows you to use this repository in a file without having to write its path.',newRepo:"a new repository",otherConfig:"Other settings",shortcuts:{desc:"Add all commands for this repository in the command palette",title:"Shortcuts"},title:"Manage others repositories"}},testConnection:"Test connection",title:"GitHub config",username:{desc:"The username or organization hosting the repo in GitHub",title:"GitHub username"}},githubWorkflow:{autoCleanUp:{desc:"Remove depublished files (stopped sharing or deleted) from GitHub",popup:{desc:"Enabling the auto-clean when the name of the {{- what}} is empty can delete all files within your repository, including templates, workflows, icons or README.",exclude:`Don't forget to exclude the files and folders you need for your repository.
Additionally, you can always revert files deleted by GitHub's pull-request system.`,sure:"Are you sure you want to enable this feature?",title:"Enable autoclean"},title:"Auto clean up"},excludedFiles:{desc:'If you want to exclude some folders or files from the autoclean, add them here. You can use regex by surrounding the string with "/". Separate files with a comma.',title:"Excluded files and folder"},githubAction:{desc:'If you want to activate a GitHub action when the plugin pushes the file, set the name of the file (in your .github/workflows folder). Only a workflow with the "workflow_dispatch" event will be triggered.',title:"GitHub action name"},includeAttachments:{desc:"Attachments will also be auto-cleaned among other notes.",title:"Self-cleaning of attachments"},prRequest:{desc:"The message sent when the pull request is merged. Will always be followed by the pull-request number.",error:"You can't use an empty string here!",title:"Commit message"},useMetadataExtractor:{desc:"Send the files generated by the metadata-extractor plugin to this folder.",title:"Metadata-extractor files"}},help:{frontmatter:{attachment:{folder:"Change the default folder for the attachments",send:"Send all attachments to GitHub"},autoclean:"Disable or enable autocleaning",baselink:{desc:"Change the base link for the copy link command. Also disable the link replacer part. Can be used as an properties object with the name ",remove:"Remove part of the link. It must be a list!"},convert:{enableOrDisable:"Enable or disable the conversion of links. Disabling this will remove the",syntax:"syntax, while keeping the file name or the alternative text."},dataview:"Convert dataview queries to markdown.",desc:"Moreover, there are some properties keys that can be useful for your workflow. The code below shows the default settings, but feel free to change it to your needs in each note!",embed:{char:'Add a character(s) before the embedded links. Used only if you set "remove" to "links".',remove:{bake:"Include the content of the embed (support blocks, heading and entire file)",desc:"Modify the aspect of the embedded files link. Can take the followed value:",keep:"Leave as in Obsidian",links:'Convert to links (delete or edit the "!")',remove:"Delete the citation completely and leave an empty line"},send:"Send embedded note to GitHub"},hardBreak:"Convert all linebreaks to markdown \xABhard break\xBB.",includeLinks:"Allows sending files linked by a simple link, such as",internals:"Convert internal links to their counterpart in the website, with relative path. Disabled, the plugin will keep the internal link as is.",mdlinks:"Convert all ",nestedKey:`It's also possible to use "dot" syntax, i.e. to denote nested keys with dots. For example, using `,nonShared:"Convert internal links pointing to an unshared file to their counterpart in the website, with relative path. Disabled, the plugin will keep the filename.",path:"You can override all path settings using this key. The path will be relative to the root of your repository.",repo:{branch:"Branch of the repo",desc:"Change the default repo for the note.",owner:"Owner of the repo"},share:{other:"You could also use another shareKey based on the key set in \xAB Manage other repo \xBB. It allows you to separate your different repository. If the main and secondaries key are used, the main repo will be used.",title:"This key is used to share a note with the plugin."},shortRepo:"Allow to use one of the repo set in other repo settings.",title:"Property key cheatsheet",titleKey:"Change the title of the note.",unlink:"Deletes link syntax (retains only name or alias) for unshared files only."},multiRepoHelp:{desc:"If you want to send your notes to multiple repository, you can use the ",desc2:"key in your properties. The value of this key must be a list of repository. Each repository must have the following keys ",exampleDesc:"The code below show an example based on your settings.",title:"Send to multiple repository"},title:"Help",usefulLinks:{discussion:"Discussion",documentation:"Documentation",issue:"Report a problem",ti
Toimii vain, jos Dataview ja sis\xE4isen linkin muuntaminen ovat k\xE4yt\xF6ss\xE4.`,title:""},desc:"N\xE4m\xE4 vaihtoehdot eiv\xE4t muuta tiedoston sis\xE4lt\xF6\xE4 Obsidian Vaultissa, mutta ne muuttavat tiedoston sis\xE4lt\xF6\xE4 GitHubissa.",hardBreak:{desc:"Lis\xE4\xE4 jokaisen rivin j\xE4lkeen kova rivinvaihto -merkint\xE4 (kaksoisv\xE4lily\xF6nti).",title:"Kova rivinvaihto -merkint\xE4"},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"Nime\xE4 tiedostot uudelleen m\xE4\xE4ritetyll\xE4 nimell\xE4 (oletus: index.md), jos sill\xE4 on sama nimi kuin niiden yl\xE4kansion/luokan (toimii my\xF6s, jos muistiinpano on kansion ulkopuolella).",title:"Kansion muistiinpano"},internals:{dataview:"Pakollinen, jos haluat muuntaa linkit datan\xE4kym\xE4lohkoiksi!",desc:"Muunna sis\xE4iset linkit tietovaraston vastaaviksi suhteellisella polulla.",shareAll:"",title:"Sis\xE4iset linkit"},key:"<code>links: false</code>",nonShared:{desc:"Sama vaihtoehto kuin sis\xE4iset, mutta muistiinpanoille, joita ei ole viel\xE4 julkaistu. Kun se on poistettu k\xE4yt\xF6st\xE4, vain tiedostonimi s\xE4ilytet\xE4\xE4n.",title:"Muunna julkaisemattomiin muistiinpanoihin osoittavat sis\xE4iset linkit"},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"Poista k\xE4yt\xF6st\xE4",lower:"Alempi",strict:"Tiukka: Teksti ilman isoja kirjaimia tai erikoismerkkej\xE4.",title:""},textBefore:{desc:"",title:""},title:"Linkit",unlink:{desc:"Poistaa linkkien syntaksin (s\xE4ilytt\xE4\xE4 vain nimen tai aliaksen) vain jakamattomille tiedostoille.",title:"Pura linkitys"},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"Muunna Wikilinkit MD-linkeiksi sis\xE4lt\xF6\xE4 muuttamatta.",title:"[[Wikilinkit]] [MDlinkit](links):hin"}},sectionTitle:"P\xE4\xE4teksti",tags:{desc:"",exclude:{desc:"T\xE4m\xE4 sulkee pois arvon muuntamisen. Erottele kent\xE4t pilkulla.",placeholder:"Kent\xE4n arvo",title:"Sulje arvo pois muunnoksesta"},inlineTags:{desc:"",title:""},title:"Muunna ominaisuudet/tieton\xE4kym\xE4kent\xE4t tunnisteiksi"},title:"Sis\xE4lt\xF6"},embed:{attachment:"Liitteet",bake:{text:"",textAfter:{title:"Teksti lohkon j\xE4lkeen"},textBefore:{title:"Teksti ennen lohkoa"},title:"Sis\xE4llyt\xE4 upotusasetukset",variable:{desc:"On mahdollista k\xE4ytt\xE4\xE4 seuraavaa muuttujaa:",title:"",url:": polku upotettuun muistiinpanoon"},warning:"Jos k\xE4yt\xE4t HTML:ta, is\xE4nt\xE4asetuksistasi riippuen, merkint\xE4 katkeaa."},char:{desc:"Ennen linkki\xE4 lis\xE4tt\xE4v\xE4t merkit.",title:"Upota merkkej\xE4"},defaultImageFolder:{desc:"Oletuksesta poikkeavan kansion kytt\xE4\xE4miseksi",title:"Oletusliitekansio"},forcePush:{all:": Muuta kaikkien liitteiden kohdetta (ja/tai pakota ne l\xE4hetett\xE4v\xE4ksi).",default:": K\xE4yt\xE4 oletuskohdepolkua.",desc:"Uloslataa aina linkitetyt muistiinpanot tietovarastoon, vaikka ne olisivat jo olemassa ja ajan tasalla.",info:"Oletuksena liitteet l\xE4hetet\xE4\xE4n vain, jos niit\xE4 on muokattu viimeisimm\xE4n l\xE4hetyksen j\xE4lkeen tai jos niit\xE4 ei ole tietovarastossa.",title:"Pakotetut p\xE4ivitykset"},imagePath:{desc:"",title:"Rakenne"},links:{desc:"Salli upotteiden linkkien muokkaaminen poistamalla lainaus kokonaan tai muuntamalla yksinkertaiseksi linkiksi",dp:{bake:"Sis\xE4llyt\xE4 upotussis\xE4lt\xF6",keep:"Ei muutosta",links:"Muunna linkiksi",remove:"Poista linkki kokonaan"},title:""},notes:"Upota muistiinpanoja",overrides:{desc:"Salli liitteen l\xE4hett\xE4minen tietylle polulle ja pakota liitteiden ty\xF6nt\xE4minen.",modal:{dest:"Kohde",path:"Polku tai laajennus",title:"Ohita liitteiden polku"}},sendSimpleLinks:{desc:"Sovella seuraavia asetuksia tiedostoille, jotka on linkitetty yksinkertaisilla linkeill\xE4 (mukaan lukien liite).",title:"L\xE4het\xE4 linkitetyt tiedostot"},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"",free:""},hostname:{desc:"",title:""},title:""},automaticallyMergePR:"",branch:{desc:"",title:""},dryRun:{enable:{desc:"",title:""
Dataview ou un autre plugin doit interf\xE9rer avec.
\xC9tape saut\xE9e.`,"reading-token-file":"Erreur : Le chemin est incorrect.",unablePublishMultiNotes:"Impossible de transf\xE9rer plusieurs notes, quelque chose s'est mal pass\xE9.",unablePublishNote:"Impossible de transf\xE9rer {{- file}}, le fichier a \xE9t\xE9 ignor\xE9",whatEmpty:{branch:"Branche",owner:"Propri\xE9taire"}},informations:{foundNoteToSend:"Trouv\xE9 {{- nbNotes}} nouvelles notes \xE0 transf\xE9rer",migrating:{fileReplace:"Migration du remplacement du nom du fichier au nouveau format\u2026",normalFormat:"Migration des param\xE8tres\u2026",oldSettings:"Migration des anciens param\xE8tres au nouveau format\u2026",subFolder:"Ajout du remplacement du sous-dossier au remplacement de chemin de fichier\u2026"},noNewNote:"Aucune note \xE0 transf\xE9rer.",scanningRepo:"Scan du d\xE9p\xF4t, veuillez patienter\u2026",sendMessage:"Transfert de <i>{{- nbNotes}}</i> notes vers <u>{{- repo.owner}}/{{- repo.repo}}</u>",startingClean:"D\xE9but du nettoyage de <u>{{- repo.owner}}/{{- repo.repo}}</u>",successPublishOneNote:"Transfert r\xE9ussi de <i><u>{{- file}}</u></i> vers <u>{{- repo.owner}}/{{- repo.repo}}</u>",successfulPublish:"Transfert r\xE9ussi de <i>{{- nbNotes}}</i> notes vers <u>{{- repo.owner}}/{{- repo.repo}}</u>",wait:"Scan du fichier {{- file}}... Veuillez attendre...",wait_plural:"Scan des fichiers... Merci d'attendre...",waitingWorkflow:"Maintenant, attente de la fin du workflow\u2026"},modals:{export:{copy:"Copier vers le presse-papier",desc:"Exporter les param\xE8tres vers un fichier ou dans le presse-papier.",download:"T\xE9l\xE9charger",title:"Exporter les param\xE8tres"},import:{desc:"Importer des param\xE8tres depuis un fichier ou un texte. Cela \xE9crasera vos param\xE8tres actuels (sauf le nom du d\xE9p\xF4t, le nom d'utilisateur et votre token).",error:{isEmpty:"la configuration est vide.",span:"Erreur lors de l'importation de la configuration\u202F: "},importFromFile:"Import depuis le fichier",paste:"Coller la configuration ici\u2026",presets:{desc:'Charger des pr\xE9-r\xE9glages du d\xE9p\xF4t "plugin-presets"',title:"Pr\xE9-r\xE9glages"},title:"Importer des param\xE8tres"},listChangedFiles:{added:"Ajout\xE9",deleted:"Supprim\xE9",edited:"Modifi\xE9",error:"Erreurs",notDeleted:"Impossible \xE0 supprimer",title:"Liste des fichiers \xE9dit\xE9s sur le d\xE9p\xF4t",unpublished:"Impossible \xE0 publier"}},publish:{branch:{alreadyExists:"La branche {{- branchName}} sur {{- repo.owner}}/{{- repo.repo}} existe d\xE9j\xE0 - Utilisation de celle-ci.",error:"Erreur avec {{- repo.owner}}/{{- repo.repo}} : {{- error}}",prMessage:"Pull-Request [{{- branchName}}] depuis Obsidian",success:"La branche a \xE9t\xE9 cr\xE9e avec succ\xE8s (statut\u202F: {{- branchStatus}} sur {{- repo.owner}}/{{- repo.repo}})"},upToDate:"{{- file}} est d\xE9j\xE0 \xE0 jour dans {{- repo}}."},regex:{entry:"Valeur \xE0 remplacer",replace:"Remplacement"},settings:{conversion:{dataview:{desc:`Convertir les requ\xEAtes Dataview en markdown.
Ne fonctionne que si Dataview et la conversion des liens internes sont activ\xE9s.`,title:"Dataview"},desc:"Ces options ne changent pas le contenu du fichier dans votre coffre Obsidian, mais changeront le contenu du fichier publi\xE9 sur GitHub.",hardBreak:{desc:"Ajoutez un retour \xE0 la ligne Markdown (double espace) apr\xE8s chaque ligne.",title:"Saut de ligne strict"},links:{anchor:{desc:"Normaliser les ancre Markdown : transformation et remplacement des espaces par un tiret.",title:"Slugifier les ancres markdown"},desc:"Mettre $t(settings.conversion.links.key) dans les propri\xE9t\xE9s d'une note pour emp\xEAcher la conversion des liens vers cette note et conserver l'alias (ou le nom du fichier)",folderNote:{desc:`Renommer les fichiers en un nom sp\xE9cifique (d\xE9faut : "index.md") s'il porte le m\xEAme nom que leur dossier/cat\xE9gorie parent (fonctionne aussi si la note est \xE0 l'ext\xE9rieur du dossier).`,title:"Folder Note"},internals:{dataview:"Obligatoire si vous voulez convertir les liens dans les blocs dataview !",desc:"Convertir les liens internes pointant vers les notes publi\xE9es vers leur homologue dans le d\xE9p\xF4t, sous forme de chemin relatif.",shareAll:`Inclut tous les liens pour les param\xE8tres "partager tout", car il est impossible sans frontmatter de conna\xEEtre l'\xE9tat de partage d'un fichier.`,title:"Liens internes"},key:"<code>links: false</code>",nonShared:{desc:"L'option pr\xE9c\xE9dente, mais appliqu\xE9es aux liens internes pointant vers des notes non-publi\xE9es. D\xE9sactiv\xE9, seul le nom du fichier sera conserv\xE9.",title:"Conversion des liens internes pointant vers des notes non-publi\xE9es"},relativePath:{desc:"Cr\xE9er les chemins internes en tant que chemin relatif.",title:"Chemin relatif"},slugify:{desc:"Normaliser les liens : transformation et remplacement des espaces par un tiret.",disable:"D\xE9sactiver",lower:"Minuscule",strict:"Strict : Texte sans majuscules ni caract\xE8res sp\xE9ciaux.",title:"Slugifier les liens markdown"},textBefore:{desc:"Ajouter un texte avant le chemin cr\xE9\xE9. Utiliser {{- slash}} pour cr\xE9er un chemin absolu. Ce texte ne sera ajout\xE9 que si un chemin doit \xEAtre g\xE9n\xE9r\xE9.",title:"Texte avant le chemin"},title:"Liens",unlink:{desc:"Permet de supprimer la syntaxe de lien (conserve uniquement le nom ou l'alias) uniquement pour les fichiers non-partag\xE9s.",title:"Retirer les liens"},wikiDisplayText:{desc:"Maintenir le texte d'affichage quand les liens wikilinks sont convertis",title:"Affichage des liens wikilinks"},wikilinks:{desc:"Conversion des liens wikilinks en liens Markdown, sans en modifier le contenu.",title:"Convertir [[WikiLinks]] en [liens](Markdown)"}},sectionTitle:"Texte principal",tags:{desc:"Ceci convertira tous les champs des propri\xE9t\xE9s/dataview en tags. S\xE9parez les champs par une virgule.",exclude:{desc:"Exclusion de champs de la conversion. S\xE9parer les valeurs par une virgule.",placeholder:"Valeur du chemin",title:"Exclusion de tags"},inlineTags:{desc:'Ajoute vos inlines tags dans votre bloc propri\xE9t\xE9s et converti les tags imbriqu\xE9s en rempla\xE7ant "/" par "_"',title:"Inlines tags"},title:"Convertir des champs dataview ou propri\xE9t\xE9s en tags"},title:"Contenu"},embed:{attachment:"Pi\xE8ces-jointes",bake:{text:"Permet d'ajouter du texte avant et apr\xE8s chaque int\xE9gration, par exemple en ajoutant du HTML ou en stylisant le bloc avec du markdown.",textAfter:{title:"Texte apr\xE8s le block"},textBefore:{title:"Texte \xE0 ajouter avant le block"},title:"Param\xE8tres pour l'inclusion des embeds",variable:{desc:"Il est possible d'utiliser les variables suivantes :",title:": Titre de la note inclue",url:": Chemin vers la note inclue"},warning:"Si vous utilisez du HTML, selon les param\xE8tres de votre h\xE9bergeur, le Markdown sera cass\xE9."},char:{desc:"Caract\xE8re(s) \xE0 ajouter devant le lien.",title:"Caract\xE8re d'embed"},defaultImageFolder:{desc:"Pour utiliser un dossier diff\xE9rent de celui par d\xE9faut pour les pi\xE8ces-jointes",title:"Dossier de pi\xE8ces-jointes par d
Les regex sont support\xE9es quand encadr\xE9s par /, tel que /regex/.
N'incluez pas le point\u202F!`,title:"Autoriser des extensions non-support\xE9s nativement par Obsidian"}},github:{apiType:{desc:"Choisir entre l'API GitHub ou l'API pour GitHub Entreprise (uniquement pour les utilisateurs de GitHub Enterprise \u2014 Utilisateur avanc\xE9 !).",dropdown:{enterprise:"Entreprise",free:"Free/Pro/Team (d\xE9faut)"},hostname:{desc:"Le nom de l'instance Github de votre entreprise.",title:"Instance Github Entreprise"},title:"Type d'API"},automaticallyMergePR:"Fusionner automatiquement les pull-request",branch:{desc:'Dans le cas o\xF9 vous souhaitez utiliser une branche diff\xE9rente de "main"',title:"Branche principale"},dryRun:{enable:{desc:"D\xE9sactiver le push GitHub et toutes les autres actions et effectuer seulement une simulation pour voir ce qui serait transf\xE9r\xE9 ou supprim\xE9 dans le d\xE9p\xF4t.",title:"Mode de test"},folder:{desc:"Utilisez {{owner}}, {{repo}} et {{branch}} pour nommer dynamiquement le dossier.",error:"Le nom du dossier ne peut \xEAtre vide.",title:"Dossier o\xF9 le d\xE9p\xF4t sera simul\xE9 (test mode uniquement)"}},ghToken:{button:{configDir:": Le dossier de configuration d'Obsidian",default:"Par d\xE9faut, il sera dans :",description:"Vous pouvez \xE9diter le chemin du fichier dans lequel sera stock\xE9 le token.",pluginID:": L'ID du plugin",tooltip:"Modifier le chemin du fichier contenant le token",variables:"Vous pouvez utiliser les variables suivantes :"},desc:"Un token GitHub avec autorisation de d\xE9p\xF4t. Vous pouvez le g\xE9n\xE9rer ",error:"Le token ne doit pas \xEAtre vide !"},repoName:{desc:"Le nom du d\xE9p\xF4t dans lequel vos fichiers seront transf\xE9r\xE9s.",placeholder:"mkdocs-template",title:"Nom du d\xE9p\xF4t"},smartRepo:{button:"G\xE9rer plus de d\xE9p\xF4t",modals:{default:'Le nom "default" est r\xE9serv\xE9 pour votre configuration principale.',desc:`Ces "autres d\xE9p\xF4ts" vous permettent d'utiliser toutes les commandes sur les d\xE9p\xF4ts ajout\xE9s ci-dessous.`,duplicate:"Les smartKey doivent \xEAtre uniques !",empty:"Les smartkeys ne peuvent pas \xEAtre vide",frontmatterInfo:`L'utilisation de la cl\xE9 propri\xE9t\xE9 "shortRepo" avec la "smartKey" permet \xE9galement d'utiliser ce d\xE9p\xF4t dans un fichier sans avoir \xE0 \xE9crire son chemin.`,newRepo:"un nouveau d\xE9p\xF4t",otherConfig:"Autres param\xE8tres",shortcuts:{desc:"Ajoute toutes les commandes de ce d\xE9p\xF4t dans la palette de commandes",title:"Raccourci"},title:"G\xE9rer d'autres d\xE9p\xF4ts"}},testConnection:"Tester la connexion",title:"Configuration GitHub",username:{desc:"Votre username sur GitHub",title:"Nom d'utilisateur GitHub"}},githubWorkflow:{autoCleanUp:{desc:"Si le plugin doit supprimer de votre d\xE9p\xF4t les fichiers d\xE9publi\xE9s (arr\xEAt du partage ou suppression)",popup:{desc:"L'activation du nettoyage automatique lorsque le nom du {{- what}} est vide peut supprimer tous les fichiers de votre d\xE9p\xF4t, y compris les fichiers de votre template, les workflows, les ic\xF4nes ou le README.",exclude:`N'oubliez pas d'exclure les fichiers et dossiers dont vous avez besoin pour votre d\xE9p\xF4t.
De plus, vous pouvez toujours r\xE9tablir les fichiers supprim\xE9s par le syst\xE8me de pull-request de GitHub.`,sure:"\xCAtes-vous certain de vouloir activer cette fonctionnalit\xE9 ?",title:"Activation de l'auto-nettoyage"},title:"Auto-nettoyage"},excludedFiles:{desc:"Si vous voulez exclure certains dossier ou fichier du nettoyage automatique, d\xE9finissez leur chemin. Les regex sont accept\xE9es en les encadrant par des slashs. S\xE9parer les valeurs par une virgule.",title:"fichiers et dossier exclus"},githubAction:{desc:"Si vous souhaitez activer une action GitHub lorsque le plugin push les fichiers dans le d\xE9p\xF4t, il vous faut indiquer le nom du fichier issus du dossier .github/workflows/. Seules les actions activ\xE9es par un workflow_dispatch sont activ\xE9es.",title:"Nom de l'action GitHub"},includeAttachments:{desc:"Les pi\xE8ces-jointes seront aussi auto-nettoy\xE9es avec les autres notes.",title:"Auto-nettoyage des pi\xE8ces-jointes"},prRequest:{desc:"Le message envoy\xE9 lorsque la pull-request est fusionn\xE9e. Sera toujours suivi par le num\xE9ro de la pull-request.",error:"Vous ne pouvez pas utiliser une valeur vide pour le message de commit\u202F!",title:"Message de commit"},useMetadataExtractor:{desc:"Envoyer les fichiers g\xE9n\xE9r\xE9s par metadata-extractor dans ce dossier.",title:"Fichier de metadata-extractor"}},help:{frontmatter:{attachment:{folder:"Change le dossier par d\xE9faut pour les pi\xE8ces-jointes",send:"Envoie toutes les pi\xE8ces-jointes dans le d\xE9p\xF4t GitHub"},autoclean:"D\xE9sactive ou active le nettoyage automatique du d\xE9p\xF4t GitHub",baselink:{desc:"Change le lien de base pour la commande de copie de lien. D\xE9sactive aussi la suppression de partie de lien. Peut \xEAtre utilis\xE9e en tant qu'objet sous le nom de ",remove:"Supprime les parties de lien. \xC0 mettre sous forme de liste !"},convert:{enableOrDisable:"Active ou d\xE9sactive la conversion des liens. En d\xE9sactivant cette option, vous supprimez les",syntax:"syntaxes, tout en gardant le nom du fichier ou son texte alternatif."},dataview:"Convertit les requ\xEAtes dataview en markdown.",desc:"Il existe quelques cl\xE9s de propri\xE9t\xE9s qui peuvent vous \xEAtes utile. Le code ci-dessous montre les param\xE8tres par d\xE9faut, mais n'h\xE9sitez pas \xE0 le modifier selon vos besoins pour chaque note !",embed:{char:'Ajoutez un ou plusieurs caract\xE8res avant les liens. Utiliser uniquement si vous avez fix\xE9 "remove" \xE0 "links".',remove:{bake:"Inclure le contenu des embeds (blocs de support, titre et fichier entier)",desc:"Modifie l'aspect des liens des notes incorpor\xE9es. Peut prendre les valeurs suivantes :",keep:"Laisse comme dans Obsidian",links:"Convertit le lien vers la note incorpor\xE9e en lien simple",remove:"Supprime le lien compl\xE8tement et laisse une ligne vide"},send:"Envoie les notes int\xE9gr\xE9es de la note publi\xE9es dans le d\xE9p\xF4t"},hardBreak:'Convertit tous les sauts de lignes en "hard break" markdown.',includeLinks:"Autorise l'envoie des fichiers li\xE9s par un lien simple, comme",internals:"Convertit les liens internes vers leur homologue du d\xE9p\xF4t, sous forme de liens relatifs. D\xE9sactiv\xE9s, les liens seront conserv\xE9s tels quels.",mdlinks:"Convertir tous les liens ",nestedKey:`Il est aussi possible d'utiliser les syntaxes "par point", c'est-\xE0-dire en notant les cl\xE9s imbriqu\xE9es par des points. Par exemple en utilisant `,nonShared:"Convertit les liens internes pointant vers une notes non publi\xE9es vers son futur homologue. D\xE9sactiv\xE9, le plugin conservera le nom du fichier ou son texte alternatif.",path:"Vous pouvez \xE9craser tous les param\xE8tres de chemins en utilisant cette cl\xE9. Le chemin sera cr\xE9\xE9e \xE0 partir de la racine du d\xE9p\xF4t.",repo:{branch:"Nom de la branche",desc:"Changer le d\xE9p\xF4t GitHub pour cette note.",owner:"Pseudo GitHub du propri\xE9taire du d\xE9p\xF4t"},share:{other:"Vous pouvez \xE9galement utiliser une autre shareKey bas\xE9e sur la cl\xE9 d\xE9finie dans \xAB G\xE9rer plus de d\xE9p\xF4t \xBB. Ce
Dataview\uB098 \uB2E4\uB978 \uD50C\uB7EC\uADF8\uC778\uC774 \uC774\uB97C \uBC29\uD574\uD558\uACE0 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
\uC774 \uB2E8\uACC4\uB294 \uAC74\uB108\uB701\uB2C8\uB2E4.`,"reading-token-file":"\uC624\uB958: \uACBD\uB85C\uAC00 \uC798\uBABB\uB41C \uAC83 \uAC19\uC2B5\uB2C8\uB2E4.",unablePublishMultiNotes:"\uC5EC\uB7EC \uB178\uD2B8\uB97C \uC5C5\uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",unablePublishNote:"\uB178\uD2B8 {{- file}}\uC744 \uC5C5\uB85C\uB4DC\uD560 \uC218 \uC5C6\uC5B4 \uAC74\uB108\uB701\uB2C8\uB2E4",whatEmpty:{branch:"\uBE0C\uB79C\uCE58",owner:"\uC18C\uC720\uC790"}},informations:{foundNoteToSend:"{{- nbNotes}}\uAC1C\uC758 \uC0C8\uB85C\uC6B4 \uB178\uD2B8\uB97C \uC804\uC1A1\uD560 \uC608\uC815\uC785\uB2C8\uB2E4",migrating:{fileReplace:"\uD30C\uC77C \uC774\uB984\uC744 \uC0C8\uB85C\uC6B4 \uD615\uC2DD\uC73C\uB85C \uBCC0\uACBD\uD558\uB294 \uB9C8\uC774\uADF8\uB808\uC774\uC158\u2026",normalFormat:"\uC124\uC815\uC744 \uB9C8\uC774\uADF8\uB808\uC774\uC158\uD558\uB294 \uC911\u2026",oldSettings:"\uC774\uC804 \uC124\uC815\uC744 \uC0C8 \uC124\uC815\uC73C\uB85C \uB9C8\uC774\uADF8\uB808\uC774\uC158\u2026",subFolder:"\uBCC0\uACBD\uB41C \uD3F4\uB354 \uACBD\uB85C\uC5D0 \uC0C8\uB85C\uC6B4 \uC11C\uBE0C \uD3F4\uB354 \uCD94\uAC00\u2026"},noNewNote:"\uC5C5\uB85C\uB4DC\uD560 \uC0C8\uB85C\uC6B4 \uB178\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",scanningRepo:"\uC800\uC7A5\uC18C\uB97C \uC2A4\uCE94\uD558\uB294 \uC911\uC785\uB2C8\uB2E4. \uC2DC\uAC04\uC774 \uC870\uAE08 \uAC78\uB9B4 \uC218 \uC788\uC2B5\uB2C8\uB2E4\u2026",sendMessage:"<u>{{- repo.owner}}/{{- repo.repo}}</u>\uC5D0 <i>{{- nbNotes}}</i>\uAC1C\uC758 \uB178\uD2B8\uB97C \uC5C5\uB85C\uB4DC\uD569\uB2C8\uB2E4",startingClean:"<u>{{- repo.owner}}/{{- repo.repo}}</u> \uC815\uB9AC \uC791\uC5C5 \uC2DC\uC791",successPublishOneNote:"<u>{{- repo.owner}}/{{- repo.repo}}</u>\uC5D0 <i><u>{{- file}}</u></i>\uB97C \uC131\uACF5\uC801\uC73C\uB85C \uC5C5\uB85C\uB4DC\uD588\uC2B5\uB2C8\uB2E4",successfulPublish:"<u>{{- repo.owner}}/{{- repo.repo}}</u>\uC5D0 <i>{{- nbNotes}}</i>\uAC1C\uB97C \uC131\uACF5\uC801\uC73C\uB85C \uC5C5\uB85C\uB4DC\uD588\uC2B5\uB2C8\uB2E4",wait:"",wait_plural:"",waitingWorkflow:"\uC9C0\uAE08, \uC6CC\uD06C\uD50C\uB85C\uC6B0\uAC00 \uC644\uB8CC\uB420 \uB54C\uAE4C\uC9C0 \uAE30\uB2E4\uB9AC\uB294 \uC911\uC785\uB2C8\uB2E4\u2026"},modals:{export:{copy:"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC",desc:"\uC124\uC815\uC744 \uD074\uB9BD\uBCF4\uB4DC \uB610\uB294 \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0B4\uAE30.",download:"\uB2E4\uC6B4\uB85C\uB4DC",title:"\uC124\uC815 \uB0B4\uBCF4\uB0B4\uAE30"},import:{desc:"\uD14D\uC2A4\uD2B8\uB098 \uD30C\uC77C\uC5D0\uC11C \uC124\uC815 \uAC00\uC838\uC624\uAE30. \uCC38\uACE0: \uD604\uC7AC \uC124\uC815\uC744 \uB36E\uC5B4\uC4F8 \uAC83\uC785\uB2C8\uB2E4 (\uC0AC\uC6A9\uC790 \uC774\uB984, \uC800\uC7A5\uC18C \uC774\uB984, \uD1A0\uD070\uC740 \uC81C\uC678).",error:{isEmpty:"\uC124\uC815\uC774 \uBE44\uC5B4\uC788\uC2B5\uB2C8\uB2E4.",span:"\uC124\uC815 \uAC00\uC838\uC624\uAE30 \uC624\uB958: "},importFromFile:"\uD30C\uC77C\uC5D0\uC11C \uAC00\uC838\uC624\uAE30",paste:"\uC5EC\uAE30\uC5D0 \uC124\uC815 \uBCF5\uC0AC\uD558\uAE30\u2026",presets:{desc:'"plugin-presets" \uC800\uC7A5\uC18C\uC5D0\uC11C \uD504\uB9AC\uC14B\uC744 \uBD88\uB7EC\uC624\uAE30',title:"\uD504\uB9AC\uC14B"},title:"\uC124\uC815 \uAC00\uC838\uC624\uAE30"},listChangedFiles:{added:"\uCD94\uAC00\uB428",deleted:"\uC0AD\uC81C\uB428",edited:"\uC218\uC815\uB428",error:"\uC624\uB958",notDeleted:"\uC0AD\uC81C\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",title:"\uC800\uC7A5\uC18C\uC5D0\uC11C \uC218\uC815\uB41C \uD30C\uC77C\uB4E4\uC758 \uBAA9\uB85D",unpublished:"\uAC8C\uC2DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4"}},publish:{branch:{alreadyExists:"{{- branchName}} \uBE0C\uB79C\uCE58\uAC00 \uC774\uBBF8 {{- repo.owner}}/{{-repo.repo}}\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4 - \uD574\uB2F9 \uBE0C\uB79C\uCE58\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.",error:"{{- repo.owner}}/{{- repo.repo}}\uC5D0\uC11C \uC624\uB958 \uBC1C\uC0DD: {{- error}}",prMessage:"Obsidian\uC5D0\uC11C\uC758 \uD480 \uB9AC\uD018\uC2A4\uD2B8 [{{- branchName}}]",success:"\uBE0C\uB79C\uCE58\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC0D
\uB370\uC774\uD130\uBDF0\uC640 \uB0B4\uBD80 \uB9C1\uD06C \uBCC0\uD658\uC774 \uD65C\uC131\uD654\uB41C \uACBD\uC6B0\uC5D0\uB9CC \uC791\uB3D9\uD569\uB2C8\uB2E4.`,title:"\uB370\uC774\uD130\uBDF0"},desc:"\uC774 \uC635\uC158\uB4E4\uC740 Obsidian \uBCF4\uAD00\uC18C\uC758 \uD30C\uC77C \uB0B4\uC6A9\uC744 \uBCC0\uACBD\uD558\uC9C0 \uC54A\uC9C0\uB9CC, GitHub\uC758 \uD30C\uC77C \uB0B4\uC6A9\uC744 \uBCC0\uACBD\uD560 \uAC83\uC785\uB2C8\uB2E4.",hardBreak:{desc:"\uAC01 \uC904 \uB4A4\uC5D0 \uB9C8\uD06C\uB2E4\uC6B4 \uD558\uB4DC \uB77C\uC778 \uBE0C\uB808\uC774\uD06C (\uC774\uC911 \uACF5\uBC31) \uCD94\uAC00\uD558\uAE30.",title:"\uB9C8\uD06C\uB2E4\uC6B4\uC5D0\uC11C \uAC15\uC81C \uC904 \uBC14\uAFC8"},links:{anchor:{desc:"",title:""},desc:"\uD574\uB2F9 \uB178\uD2B8\uC758 \uD504\uB860\uD2B8\uB9E4\uD130\uC5D0 $t(settings.conversion.links.key) \uB97C \uCD94\uAC00\uD558\uC5EC \uD574\uB2F9 \uB178\uD2B8\uB85C\uC758 \uB9C1\uD06C \uBCC0\uD658\uC744 \uB9C9\uACE0 alt \uD14D\uC2A4\uD2B8(\uB610\uB294 \uD30C\uC77C \uC774\uB984)\uB97C \uC720\uC9C0\uD558\uC138\uC694",folderNote:{desc:"\uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uB41C \uC774\uB984(default: index.md)\uC73C\uB85C \uBCC0\uACBD\uD569\uB2C8\uB2E4. \uC774\uB294 \uD574\uB2F9 \uD30C\uC77C\uC774 \uBD80\uBAA8 \uD3F4\uB354/\uCE74\uD14C\uACE0\uB9AC\uC640 \uAC19\uC740 \uC774\uB984\uC744 \uAC00\uC9C8 \uB54C \uC801\uC6A9\uB429\uB2C8\uB2E4 (\uB178\uD2B8\uAC00 \uD3F4\uB354 \uBC16\uC5D0 \uC788\uB294 \uACBD\uC6B0\uC5D0\uB3C4 \uB3D9\uC791\uD569\uB2C8\uB2E4).",title:"\uD3F4\uB354 \uB178\uD2B8"},internals:{dataview:"\uB370\uC774\uD130\uBDF0 \uBE14\uB7ED\uC5D0\uC11C \uB9C1\uD06C\uB97C \uBCC0\uD658\uD558\uB824\uBA74 \uD544\uC218\uC785\uB2C8\uB2E4!",desc:"\uB0B4\uBD80 \uB9C1\uD06C\uB97C \uC800\uC7A5\uC18C \uB0B4\uC758 \uD574\uB2F9 \uB9C1\uD06C(\uC0C1\uB300 \uB9C1\uD06C)\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.",shareAll:"\uD504\uB860\uD2B8\uB9E4\uD130 \uC5C6\uC774\uB294 \uD30C\uC77C\uC758 \uACF5\uC720 \uC0C1\uD0DC\uB97C \uC54C \uC218 \uC5C6\uAE30 \uB54C\uBB38\uC5D0 '\uBAA8\uB450 \uACF5\uC720' \uC124\uC815\uC5D0 \uB300\uD55C \uBAA8\uB4E0 \uB9C1\uD06C\uB97C \uD3EC\uD568\uD569\uB2C8\uB2E4.",title:"\uB0B4\uBD80 \uB9C1\uD06C"},key:"<code>links: false</code>",nonShared:{desc:"\uB0B4\uBD80 \uB9C1\uD06C\uC640 \uAC19\uC740 \uC635\uC158\uC774\uC9C0\uB9CC \uC544\uC9C1 \uBC1C\uD589\uB418\uC9C0 \uC54A\uC740 \uB178\uD2B8\uC5D0 \uB300\uD574 \uC801\uC6A9\uB429\uB2C8\uB2E4. \uBE44\uD65C\uC131\uD654\uB418\uBA70, \uD30C\uC77C \uC774\uB984\uB9CC \uBCF4\uC874\uB429\uB2C8\uB2E4.",title:"\uBC1C\uD589\uB418\uC9C0 \uC54A\uC740 \uB178\uD2B8\uB97C \uAC00\uB9AC\uD0A4\uB294 \uB0B4\uBD80 \uB9C1\uD06C\uB97C \uBCC0\uD658\uD569\uB2C8\uB2E4"},relativePath:{desc:"",title:""},slugify:{desc:"\uB9C1\uD06C \uD45C\uC900\uD654: \uB9C1\uD06C\uB97C \uBCC0\uD658\uD558\uACE0 \uACF5\uBC31\uC744 \uD558\uC774\uD508\uC73C\uB85C \uB300\uCCB4\uD569\uB2C8\uB2E4.",disable:"\uBE44\uD65C\uC131\uD654",lower:"\uC18C\uBB38\uC790\uB85C \uBCC0\uD658",strict:"\uC5C4\uACA9 \uBAA8\uB4DC: \uB300\uBB38\uC790\uB098 \uD2B9\uC218 \uBB38\uC790\uAC00 \uC5C6\uB294 \uD14D\uC2A4\uD2B8\uC785\uB2C8\uB2E4. ",title:"\uB9C1\uD06C\uC758 \uC2AC\uB7EC\uADF8 \uC0DD\uC131"},textBefore:{desc:"",title:""},title:"\uB9C1\uD06C",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"\uB0B4\uC6A9 \uBCC0\uACBD \uC5C6\uC774 Wikilink\uB97C MDlink\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.",title:"[[Wikilinks]]\uB97C [MDlinks]\uB85C(links)"}},sectionTitle:"\uBA54\uC778 \uD14D\uC2A4\uD2B8",tags:{desc:"\uC774\uAC83\uC740 \uC18D\uC131\uC774\uB098 \uB370\uC774\uD130\uBDF0 \uC778\uB77C\uC778 \uD544\uB4DC\uB97C \uC18D\uC131 \uD0DC\uADF8\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4. \uD544\uB4DC\uB294 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD569\uB2C8\uB2E4.",exclude:{desc:"\uC774\uAC83\uC740 \uAC12\uC774 \uBCC0\uD658\uB418\uB294 \uAC83\uC5D0\uC11C \uC81C\uC678\uD569\uB2C8\uB2E4. \uD544\uB4DC\uB294 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD569\uB2C8\uB2E4.",placeholder:"\uD544\uB4DC \uAC12",title:"\uBCC0\uD658\uC5D0\uC11C \uAC12\uC744 \uC81C\uC678\uD569\uB2C8\uB2E4"},inlineTags:{desc:"\uC778\uB77C\uC778 \uD0DC\uADF8\uB97C
\uC815\uADDC\uC2DD\uC740 /\uB85C \uB458\uB7EC\uC2F8\uC5EC \uC788\uC744 \uB54C \uC9C0\uC6D0\uB429\uB2C8\uB2E4(\uC608: /\uC815\uADDC\uC2DD/).
\uB9C8\uCE68\uD45C\uB294 \uD3EC\uD568\uD558\uC9C0 \uB9C8\uC138\uC694!`,title:"Obsidian\uC5D0\uC11C \uAE30\uBCF8\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uD655\uC7A5\uC790\uB97C \uD5C8\uC6A9\uD569\uB2C8\uB2E4"}},github:{apiType:{desc:"GitHub API\uC640 GitHub Enterprise API \uC911 \uC120\uD0DD\uD558\uC138\uC694 (GitHub Enterprise \uC0AC\uC6A9\uC790 \uC804\uC6A9 \u2014 \uACE0\uAE09 \uC0AC\uC6A9\uC790!).",dropdown:{enterprise:"\uAE30\uC5C5",free:"\uBB34\uB8CC/\uD504\uB85C/\uD300 (\uAE30\uBCF8)"},hostname:{desc:"\uADC0\uD558\uC758 GibHub Enterprise \uC778\uC2A4\uD134\uC2A4\uC758 \uD638\uC2A4\uD2B8 \uC774\uB984.",title:"GitHub Enterprise \uD638\uC2A4\uD2B8 \uC774\uB984"},title:"API \uC720\uD615"},automaticallyMergePR:"\uC790\uB3D9\uC73C\uB85C \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uBCD1\uD569",branch:{desc:'"main" \uC774\uC678\uC758 \uB2E4\uB978 \uBE0C\uB79C\uCE58\uB97C \uC0AC\uC6A9\uD55C\uB2E4\uBA74',title:"\uBA54\uC778 \uBE0C\uB79C\uCE58"},dryRun:{enable:{desc:"GitHub \uD478\uC2DC\uC640 \uBAA8\uB4E0 \uB2E4\uB978 \uC791\uC5C5\uC744 \uBE44\uD65C\uC131\uD654\uD558\uACE0, \uC800\uC7A5\uC18C\uC5D0 \uD478\uC2DC\uB418\uAC70\uB098 \uC0AD\uC81C\uB420 \uD56D\uBAA9\uC744 \uD655\uC778\uD558\uAE30 \uC704\uD574 dry-run\uB9CC \uC218\uD589\uD569\uB2C8\uB2E4.",title:"\uD14C\uC2A4\uD2B8 \uBAA8\uB4DC"},folder:{desc:"{{owner}}, {{repo}}, \uBC0F {{branch}}\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB3D9\uC801\uC73C\uB85C \uD3F4\uB354 \uC774\uB984\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.",error:"",title:"\uC800\uC7A5\uC18C\uAC00 \uC2DC\uBBAC\uB808\uC774\uC158\uB420 \uD3F4\uB354 (\uD14C\uC2A4\uD2B8 \uBAA8\uB4DC \uC804\uC6A9)"}},ghToken:{button:{configDir:": Obsidian\uC758 \uC124\uC815 \uD3F4\uB354",default:"\uAE30\uBCF8\uC801\uC73C\uB85C \uB2E4\uC74C \uC704\uCE58\uC5D0 \uC788\uC2B5\uB2C8\uB2E4:",description:"\uD1A0\uD070\uC774 \uC800\uC7A5\uB420 \uD30C\uC77C \uACBD\uB85C\uB97C \uC218\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",pluginID:": \uD50C\uB7EC\uADF8\uC778 \uC544\uC774\uB514",tooltip:"\uD1A0\uD070\uC744 \uD3EC\uD568\uD55C \uD30C\uC77C\uC758 \uACBD\uB85C\uB97C \uC218\uC815\uD569\uB2C8\uB2E4",variables:"\uB2E4\uC74C \uBCC0\uC218\uB4E4\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4:"},desc:"\uC800\uC7A5\uC18C \uAD8C\uD55C\uC774 \uC788\uB294 GitHub \uD1A0\uD070\uC785\uB2C8\uB2E4. \uC774\uAC83\uC744 \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ",error:"\uD1A0\uD070\uC740 \uBE44\uC6CC\uB458 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!"},repoName:{desc:"\uBE14\uB85C\uADF8\uB97C \uC800\uC7A5\uD558\uB294 \uC800\uC7A5\uC18C\uC758 \uC774\uB984.",placeholder:"mkdocs \uD15C\uD50C\uB9BF",title:"\uC800\uC7A5\uC18C \uC774\uB984"},smartRepo:{button:"\uB354 \uB9CE\uC740 \uC800\uC7A5\uC18C \uAD00\uB9AC",modals:{default:'"default"\uB77C\uB294 \uC774\uB984\uC740 \uC8FC \uC124\uC815\uC744 \uC704\uD574 \uC608\uC57D\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.',desc:'"\uB2E4\uB978 \uC800\uC7A5\uC18C"\uB294 \uC544\uB798\uC5D0 \uCD94\uAC00\uB41C \uC800\uC7A5\uC18C\uC5D0\uC11C \uBAA8\uB4E0 \uBA85\uB839\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uAC8C \uD569\uB2C8\uB2E4.',duplicate:"\uC2A4\uB9C8\uD2B8 \uD0A4\uB294 \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4!",empty:"\uC2A4\uB9C8\uD2B8 \uD0A4\uB294 \uBE44\uC6CC\uB458 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",frontmatterInfo:'\uC2A4\uB9C8\uD2B8 \uD0A4\uC640 \uD568\uAED8 "shortRepo" \uC18D\uC131 \uD0A4\uB97C \uC0AC\uC6A9\uD558\uBA74 \uD30C\uC77C\uC5D0\uC11C \uD574\uB2F9 \uC800\uC7A5\uC18C\uC758 \uACBD\uB85C\uB97C \uC4F0\uC9C0 \uC54A\uACE0\uB3C4 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.',newRepo:"\uC0C8\uB85C\uC6B4 \uC800\uC7A5\uC18C",otherConfig:"\uAE30\uD0C0 \uC124\uC815",shortcuts:{desc:"\uC774 \uC800\uC7A5\uC18C\uC758 \uBAA8\uB4E0 \uBA85\uB839\uC744 \uBA85\uB839 \uD314\uB808\uD2B8\uC5D0 \uCD94\uAC00\uD569\uB2C8\uB2E4",title:"\uB2E8\uCD95\uD0A4"},title:"\uAE30\uD0C0 \uC800\uC7A5\uC18C \uAD00\uB9AC"}},testConnection:"\uD14C\uC2A4\uD2B8 \uC5F0\uACB0",title:"GitHub \uC124\uC815",username:{desc:"GitHub\uC5D0\uC11C \uC800\uC7A5\uC18C\uB97C \uD638\uC2A4\uD305\uD558\uB294 \uC0AC\uC6A9\uC790 \uC774\uB984 \uB610\uB294 \uC870\uC9C1 \
\uB610\uD55C GitHub\uC758 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uC2DC\uC2A4\uD15C\uC5D0 \uC758\uD574 \uC0AD\uC81C\uB41C \uD30C\uC77C\uC740 \uC5B8\uC81C\uB4E0\uC9C0 \uB418\uB3CC\uB9B4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,sure:"\uC774 \uAE30\uB2A5\uC744 \uD65C\uC131\uD654\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",title:"\uC790\uB3D9 \uC815\uB9AC \uAE30\uB2A5 \uD65C\uC131\uD654"},title:"\uC790\uB3D9 \uC815\uB9AC \uAE30\uB2A5"},excludedFiles:{desc:"\uC790\uB3D9 \uC815\uB9AC\uC5D0\uC11C \uD2B9\uC815 \uD3F4\uB354\uB098 \uD30C\uC77C\uC744 \uC81C\uC678\uD558\uB824\uBA74 \uC5EC\uAE30\uC5D0 \uCD94\uAC00\uD558\uC138\uC694. \uBB38\uC790\uC5F4\uC744 '/'\uB85C \uB458\uB7EC\uC2F8\uBA74 \uC815\uADDC\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uD30C\uC77C\uC740 \uC27C\uD45C\uB85C \uAD6C\uBD84\uD569\uB2C8\uB2E4.",title:"\uC81C\uC678\uB41C \uD30C\uC77C\uACFC \uD3F4\uB354"},githubAction:{desc:'\uD50C\uB7EC\uADF8\uC778\uC774 \uD30C\uC77C\uC744 \uD478\uC2DC\uD560 \uB54C GitHub \uC561\uC158\uC744 \uD65C\uC131\uD654\uD558\uB824\uBA74 \uD30C\uC77C \uC774\uB984\uC744 \uC124\uC815\uD558\uC138\uC694 (.github/workflows \uD3F4\uB354 \uB0B4\uC5D0\uC11C). "workflow_dispatch" \uC774\uBCA4\uD2B8\uB97C \uAC16\uB294 \uC6CC\uD06C\uD50C\uB85C\uC6B0\uB9CC \uD2B8\uB9AC\uAC70\uB429\uB2C8\uB2E4.',title:"GitHub \uC561\uC158 \uC774\uB984"},includeAttachments:{desc:"\uCCA8\uBD80 \uD30C\uC77C\uB3C4 \uB2E4\uB978 \uB178\uD2B8\uC640 \uD568\uAED8 \uC790\uB3D9\uC73C\uB85C \uC815\uB9AC\uB429\uB2C8\uB2E4.",title:"\uCCA8\uBD80 \uD30C\uC77C\uC758 \uC790\uAC00 \uC815\uB9AC"},prRequest:{desc:"\uD480 \uB9AC\uD018\uC2A4\uD2B8\uAC00 \uBCD1\uD569\uB420 \uB54C \uC804\uC1A1\uB418\uB294 \uBA54\uC2DC\uC9C0\uC785\uB2C8\uB2E4. \uD56D\uC0C1 \uD480 \uB9AC\uD018\uC2A4\uD2B8 \uBC88\uD638\uAC00 \uB4A4\uC5D0 \uBD99\uC2B5\uB2C8\uB2E4.",error:"\uC5EC\uAE30\uC5D0 \uBE48 \uBB38\uC790\uC5F4\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!",title:"\uCEE4\uBC0B \uBA54\uC2DC\uC9C0"},useMetadataExtractor:{desc:"\uC774 \uD3F4\uB354\uC5D0\uC11C \uBA54\uD0C0\uB370\uC774\uD130 \uCD94\uCD9C \uD50C\uB7EC\uADF8\uC778\uC5D0 \uC758\uD574 \uC0DD\uC131\uB41C \uD30C\uC77C\uC744 \uC804\uC1A1\uD569\uB2C8\uB2E4.",title:"\uBA54\uD0C0\uB370\uC774\uD130 \uCD94\uCD9C \uD30C\uC77C"}},help:{frontmatter:{attachment:{folder:"\uCCA8\uBD80 \uD30C\uC77C\uC758 \uAE30\uBCF8 \uD3F4\uB354 \uBCC0\uACBD",send:"\uBAA8\uB4E0 \uCCA8\uBD80 \uD30C\uC77C\uC744 GitHub\uC5D0 \uBCF4\uB0B4\uAE30"},autoclean:"\uC790\uB3D9 \uC815\uB9AC \uAE30\uB2A5 \uBE44\uD65C\uC131\uD654 \uB610\uB294 \uD65C\uC131\uD654",baselink:{desc:"\uB9C1\uD06C \uBCF5\uC0AC \uBA85\uB839\uC758 \uAE30\uBCF8 \uB9C1\uD06C\uB97C \uBCC0\uACBD\uD558\uACE0, \uB9C1\uD06C \uAD50\uCCB4\uAE30 \uBD80\uBD84\uC744 \uBE44\uD65C\uC131\uD654\uD569\uB2C8\uB2E4. \uC774\uB984\uACFC \uD568\uAED8 \uC18D\uC131 \uAC1D\uCCB4\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4 ",remove:"\uB9C1\uD06C\uC758 \uC77C\uBD80\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4. \uBAA9\uB85D \uD615\uC2DD\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4!"},convert:{enableOrDisable:"\uB9C1\uD06C\uC758 \uBCC0\uD658\uC744 \uD65C\uC131\uD654 \uB610\uB294 \uBE44\uD65C\uC131\uD654 \uD569\uB2C8\uB2E4. \uC774\uAC83\uC744 \uBE44\uD65C\uC131\uD654 \uD558\uB294 \uAC83\uC740 ...\uB97C \uC81C\uAC70\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4",syntax:"\uD30C\uC77C \uC774\uB984 \uB610\uB294 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uB294 \uC720\uC9C0\uD558\uBA74\uC11C \uAD6C\uBB38."},dataview:"\uB370\uC774\uD130 \uBDF0 \uCFFC\uB9AC\uB97C \uB9C8\uD06C\uB2E4\uC6B4\uC73C\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.",desc:"\uB610\uD55C, \uC6CC\uD06C\uD50C\uB85C\uC6B0\uC5D0 \uC720\uC6A9\uD560 \uC218 \uC788\uB294 \uBA87 \uAC00\uC9C0 \uC18D\uC131 \uD0A4\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uC544\uB798 \uCF54\uB4DC\uB294 \uAE30\uBCF8 \uC124\uC815\uC744 \uBCF4\uC5EC\uC8FC\uC9C0\uB9CC, \uAC01 \uB178\uD2B8\uC5D0\uC11C \uD544\uC694\uC5D0 \uB9DE\uAC8C \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4!",embed:{char:'\uC784\uBCA0\uB4DC\uB41C \uB9C1\uD06C \uC55E\uC5D0 \uBB38\uC790\uB97C \uCD94\uAC00\uD569\uB2C8\uB2E4. "remove"\uB97C "link"\uB85C \uC124\uC815\uD55C \u
\u041F\u043B\u0430\u0433\u0438\u043D Dataview \u0438\u043B\u0438 \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u043B\u0430\u0433\u0438\u043D \u043C\u043E\u0436\u0435\u0442 \u043C\u0435\u0448\u0430\u0442\u044C \u044D\u0442\u043E\u043C\u0443.
\u0428\u0430\u0433 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D.`,"reading-token-file":"\u041E\u0448\u0438\u0431\u043A\u0430: \u043F\u0443\u0442\u044C \u0443\u043A\u0430\u0437\u0430\u043D \u043D\u0435\u0432\u0435\u0440\u043D\u043E.",unablePublishMultiNotes:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043C\u0435\u0442\u043E\u043A, \u0447\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A.",unablePublishNote:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0443 {{- file}}, \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430\u0435\u043C \u0435\u0451",whatEmpty:{branch:"\u0412\u0435\u0442\u043A\u0430",owner:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446"}},informations:{foundNoteToSend:"\u041D\u0430\u0439\u0434\u0435\u043D\u043E {{- nbNotes}} \u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0434\u043B\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438",migrating:{fileReplace:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u0437\u0430\u043C\u0435\u043D\u044B \u0438\u043C\u0435\u043D\u0438 \u0444\u0430\u0439\u043B\u0430 \u0432 \u043D\u043E\u0432\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442\u2026",normalFormat:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A\u2026",oldSettings:"\u041C\u0438\u0433\u0440\u0430\u0446\u0438\u044F \u0441\u0442\u0430\u0440\u044B\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u0432 \u043D\u043E\u0432\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442\u2026",subFolder:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u0434\u043A\u0430\u0442\u0430\u043B\u043E\u0433\u0430 \u0432 \u0437\u0430\u043C\u0435\u043D\u0443 \u043F\u0443\u0442\u0438 \u043A \u043F\u0430\u043F\u043A\u0435\u2026"},noNewNote:"\u041D\u043E\u0432\u044B\u0445 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u043D\u0435\u0442.",scanningRepo:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F, \u044D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043D\u044F\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\u2026",sendMessage:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 <i>{{- nbNotes}}</i> \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u0432 <u>{{- repo.owner}}/{{- repo.repo}}</u>",startingClean:"\u041D\u0430\u0447\u0438\u043D\u0430\u0435\u043C \u043E\u0447\u0438\u0441\u0442\u043A\u0443 <u>{{- repo.owner}}/{{- repo.repo}}</u>",successPublishOneNote:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E <i><u>{{- file}}</u></i> \u0432 <u>{{- repo.owner}}/{{- repo.repo}}</u>",successfulPublish:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E <i>{{- nbNotes}}</i> \u0432 <u>{{- repo.owner}}/{{- repo.repo}}</u>",wait:"",wait_plural:"",waitingWorkflow:"\u041E\u0436\u0438\u0434\u0430\u0435\u043C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F workflow\u2026"},modals:{export:{copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",desc:"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0444\u0430\u0439\u043B.",download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C",title:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A"},import:{desc:"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u0437 \u0442\u0435
\u0420\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u0435\u0441\u043B\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \xAB\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438\xBB \u0438 \u043F\u043B\u0430\u0433\u0438\u043D Dataview.`,title:"Dataview"},desc:"\u042D\u0442\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u044F\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0444\u0430\u0439\u043B\u0430 \u0432 \u0432\u0430\u0448\u0435\u043C \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 Obsidian, \u043D\u043E \u0438\u0437\u043C\u0435\u043D\u044F\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0444\u0430\u0439\u043B\u0430 \u043D\u0430 GitHub.",hardBreak:{desc:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u043D\u043E\u0441 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 Markdown (\u0434\u0432\u043E\u0439\u043D\u043E\u0439 \u043E\u0442\u0441\u0442\u0443\u043F) \u043F\u043E\u0441\u043B\u0435 \u043A\u0430\u0436\u0434\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438.",title:"\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u043D\u043E\u0441 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 Markdown"},links:{anchor:{desc:"",title:""},desc:"\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 $t(settings.conversion.links.key) \u0432 frontmatter \u0437\u0430\u043C\u0435\u0442\u043A\u0438, \u0447\u0442\u043E\u0431\u044B \u0441\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u043D\u0435\u0451 \u043D\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u044B\u0432\u0430\u043B\u0438\u0441\u044C \u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u043B\u0441\u044F \u0442\u0435\u043A\u0441\u0442 alt (\u0438\u043B\u0438 \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430).",folderNote:{desc:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0432 \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0435 \u0438\u043C\u044F (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: index.md), \u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u0438\u043C\u0435\u044E\u0442 \u0442\u043E \u0436\u0435 \u0438\u043C\u044F, \u0447\u0442\u043E \u0438 \u0438\u0445 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043F\u0430\u043F\u043A\u0430/\u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F (\u0442\u0430\u043A\u0436\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442, \u0435\u0441\u043B\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0430 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432\u043D\u0435 \u043F\u0430\u043F\u043A\u0438).",title:"\u0417\u0430\u043C\u0435\u0442\u043A\u0430 \u043F\u0430\u043F\u043A\u0438"},internals:{dataview:"\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u044B\u0432\u0430\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438 \u0432 \u0431\u043B\u043E\u043A\u0430\u0445 Dataview!",desc:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0435 \u0441\u0441\u044B\u043B\u043A\u0438 \u0432 \u0438\u0445 \u0430\u043D\u0430\u043B\u043E\u0433\u0438 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438 \u0441 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C \u043F\u0443\u0442\u0435\u043C.",shareAll:'\u0412\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0432\u0441\u0435 \u0441\u0441\u044B\u043B\u043A\u0438 \u0434\u043B\u044F \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 "share all", \u0442\u0430\u043A \u043A\u0430\u043A \u0431\u0435\u0437 frontmatter \u043D\u0435\u0432\u
\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F, \u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u0437\u0430\u043A\u043B\u044E\u0447\u0435\u043D\u044B \u0432 /.
\u041D\u0435 \u0432\u043A\u043B\u044E\u0447\u0430\u0439\u0442\u0435 \u0442\u043E\u0447\u043A\u0443!`,title:"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F, \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0435 Obsidian"}},github:{apiType:{desc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u0436\u0434\u0443 API GitHub \u0438\u043B\u0438 API GitHub Enterprise (\u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439 GitHub Enterprise \u2014 \u0414\u043B\u044F \u043E\u043F\u044B\u0442\u043D\u044B\u0445 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439!).",dropdown:{enterprise:"Enterprise",free:"Free/Pro/Team (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E)"},hostname:{desc:"\u0418\u043C\u044F \u0445\u043E\u0441\u0442\u0430 \u0432\u0430\u0448\u0435\u0439 GitHub Enterprise \u0438\u043D\u0441\u0442\u0430\u043D\u0446\u0438\u0438.",title:"\u0425\u043E\u0441\u0442 GitHub Enterprise"},title:"API Type"},automaticallyMergePR:"Automatically merge pull requests.",branch:{desc:'\u041C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0435\u0442\u043A\u0443 \u043E\u0442\u043B\u0438\u0447\u043D\u0443\u044E \u043E\u0442 "main".',title:"Main branch"},dryRun:{enable:{desc:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0443 \u0432 GitHub \u0438 \u0432\u0441\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F. \u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u0442\u0435\u0441\u0442\u043E\u0432\u044B\u0439 \u043F\u0440\u043E\u0433\u043E\u043D, \u0447\u0442\u043E\u0431\u044B \u0443\u0432\u0438\u0434\u0435\u0442\u044C, \u0447\u0442\u043E \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u0438\u043B\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u043E \u0438\u0437 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u044F.",title:"\u0422\u0435\u0441\u0442\u043E\u0432\u044B\u0439 \u0440\u0435\u0436\u0438\u043C"},folder:{desc:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 {{owner}}, {{repo}} \u0438 {{branch}} \u0434\u043B\u044F \u0434\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0430\u043F\u043A\u0438.",error:"",title:"\u041F\u0430\u043F\u043A\u0430, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0438\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 (\u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u0441\u0442\u043E\u0432\u044B\u0439 \u0440\u0435\u0436\u0438\u043C)"}},ghToken:{button:{configDir:": \u041F\u0430\u043F\u043A\u0430 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Obsidian",default:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D \u0432:",description:"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043D\u0438\u0442\u044C\u0441\u044F \u0442\u043E\u043A\u0435\u043D.",pluginID:": ID \u043F\u043B\u0430\u0433\u0438\u043D\u0430",tooltip:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443, \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u043C\u0443 \u0442\u043E\u043A\u0435\u043D",variables:"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u04
\u041A\u0440\u043E\u043C\u0435 \u0442\u043E\u0433\u043E, \u0432\u044B \u0432\u0441\u0435\u0433\u0434\u0430 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0447\u0435\u0440\u0435\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u0443 pull-request GitHub.`,sure:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u0442\u0443 \u0444\u0443\u043D\u043A\u0446\u0438\u044E?",title:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0443"},title:"\u0410\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0430"},excludedFiles:{desc:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0438\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u0430\u043F\u043A\u0438 \u0438\u043B\u0438 \u0444\u0430\u0439\u043B\u044B \u0438\u0437 \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0438, \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0438\u0445 \u0441\u044E\u0434\u0430. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u044B\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F, \u0437\u0430\u043A\u043B\u044E\u0447\u0438\u0432 \u0441\u0442\u0440\u043E\u043A\u0443 \u0432 \xAB/\xBB. \u0420\u0430\u0437\u0434\u0435\u043B\u044F\u0439\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0437\u0430\u043F\u044F\u0442\u043E\u0439.",title:"\u0418\u0441\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0438 \u043F\u0430\u043F\u043A\u0438"},githubAction:{desc:'\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C GitHub Actions \u043F\u0440\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0435 \u0444\u0430\u0439\u043B\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u043C, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430 (\u0432 \u0432\u0430\u0448\u0435\u0439 \u043F\u0430\u043F\u043A\u0435 .github/workflows). \u0411\u0443\u0434\u0443\u0442 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E workflows \u0441 \u0441\u043E\u0431\u044B\u0442\u0438\u0435\u043C "workflow_dispatch".',title:"GitHub Actions"},includeAttachments:{desc:"\u0412\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0442\u0430\u043A\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0447\u0438\u0449\u0430\u0442\u044C\u0441\u044F \u0432\u043C\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0437\u0430\u043C\u0435\u0442\u043A\u0430\u043C\u0438.",title:"\u0410\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0430 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439"},prRequest:{desc:"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435, \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u043C\u043E\u0435 \u043F\u0440\u0438 \u0441\u043B\u0438\u044F\u043D\u0438\u0438 pull-request. \u0412\u0441\u0435\u0433\u0434\u0430 \u0441\u043E\u043F\u0440\u043E\u0432\u043E\u0436\u0434\u0430\u0435\u0442\u0441\u044F \u043D\u043E\u043C\u0435\u0440\u043E\u043C pull-request\u2019a.",error:"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043F\u0443\u0441\u0442\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 \u0437\u0434\u0435\u0441\u044C!",title:"Commit message"},useMetadataExtractor:{desc:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B\u044B, \u0441\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0
Dataview veya ba\u015Fka bir eklenti buna m\xFCdahale ediyor olmal\u0131.
Ad\u0131m atland\u0131.`,"reading-token-file":"",unablePublishMultiNotes:"",unablePublishNote:"",whatEmpty:{branch:"",owner:""}},informations:{foundNoteToSend:"",migrating:{fileReplace:"",normalFormat:"",oldSettings:"",subFolder:""},noNewNote:"",scanningRepo:"",sendMessage:"",startingClean:"",successPublishOneNote:"",successfulPublish:"",wait:"",wait_plural:"",waitingWorkflow:""},modals:{export:{copy:"",desc:"",download:"",title:""},import:{desc:"",error:{isEmpty:"",span:""},importFromFile:"",paste:"",presets:{desc:"",title:""},title:""},listChangedFiles:{added:"",deleted:"",edited:"",error:"",notDeleted:"",title:"",unpublished:""}},publish:{branch:{alreadyExists:"",error:"",prMessage:"",success:""},upToDate:""},regex:{entry:"",replace:""},settings:{conversion:{dataview:{desc:"",title:""},desc:"",hardBreak:{desc:"",title:""},links:{anchor:{desc:"",title:""},desc:"",folderNote:{desc:"",title:""},internals:{dataview:"",desc:"",shareAll:"",title:""},key:"<code>links: false</code>",nonShared:{desc:"",title:""},relativePath:{desc:"",title:""},slugify:{desc:"",disable:"",lower:"",strict:"",title:"Ba\u011Flant\u0131 yava\u015Flad\u0131"},textBefore:{desc:"",title:""},title:"",unlink:{desc:"",title:""},wikiDisplayText:{desc:"",title:""},wikilinks:{desc:"",title:""}},sectionTitle:"",tags:{desc:"",exclude:{desc:"",placeholder:"",title:""},inlineTags:{desc:"",title:""},title:""},title:""},embed:{attachment:"",bake:{text:"",textAfter:{title:""},textBefore:{title:""},title:"",variable:{desc:"",title:"",url:""},warning:""},char:{desc:"",title:""},defaultImageFolder:{desc:"",title:""},forcePush:{all:"",default:"",desc:"",info:"",title:""},imagePath:{desc:"",title:""},links:{desc:"",dp:{bake:"",keep:"",links:"",remove:""},title:""},notes:"",overrides:{desc:"",modal:{dest:"",path:"",title:""}},sendSimpleLinks:{desc:"",title:""},title:"",transferImage:{title:""},transferMetaFile:{desc:"",title:""},transferNotes:{desc:"",title:""}},embeds:{unHandledObsidianExt:{desc:"",title:""}},github:{apiType:{desc:"",dropdown:{enterprise:"",free:""},hostname:{desc:"",title:""},title:""},automaticallyMergePR:"",branch:{desc:"",title:""},dryRun:{enable:{desc:"",title:""},folder:{desc:"",error:"",title:""}},ghToken:{button:{configDir:"",default:"",description:"",pluginID:"",tooltip:"",variables:""},desc:"",error:""},repoName:{desc:"",placeholder:"",title:""},smartRepo:{button:"",modals:{default:"",desc:"",duplicate:"",empty:"",frontmatterInfo:"",newRepo:"",otherConfig:"",shortcuts:{desc:"",title:""},title:""}},testConnection:"",title:"",username:{desc:"",title:""}},githubWorkflow:{autoCleanUp:{desc:"",popup:{desc:"",exclude:"",sure:"",title:""},title:""},excludedFiles:{desc:"",title:""},githubAction:{desc:"",title:""},includeAttachments:{desc:"",title:""},prRequest:{desc:"",error:"",title:""},useMetadataExtractor:{desc:"",title:""}},help:{frontmatter:{attachment:{folder:"",send:""},autoclean:"",baselink:{desc:"",remove:""},convert:{enableOrDisable:"",syntax:""},dataview:"",desc:"",embed:{char:"",remove:{bake:"",desc:"",keep:"",links:"",remove:""},send:""},hardBreak:"",includeLinks:"",internals:"",mdlinks:"",nestedKey:"",nonShared:"",path:"",repo:{branch:"",desc:"",owner:""},share:{other:"",title:""},shortRepo:"",title:"",titleKey:"",unlink:""},multiRepoHelp:{desc:"",desc2:"",exampleDesc:"",title:""},title:"",usefulLinks:{discussion:"",documentation:"",issue:"",title:"",translation:""}},plugin:{copyLink:{applyRegex:{desc:"",title:""},baselink:{desc:"",title:""},command:{desc:""},desc:"",linkPathRemover:{desc:"",title:""},title:"Ba\u011Flant\u0131y\u0131 kopyala",toUri:{desc:"",title:""}},dev:{desc:"",title:""},editorMenu:{desc:"",title:"Edit\xF6r men\xFCs\xFC"},embedEditRepo:{desc:"",title:""},excludedFolder:{desc:"",title:"Hari\xE7 tutulan klas\xF6rler"},fileMenu:{desc:"",title:"Dosya men\xFCs\xFC"},head:{copyLinks:"",log:"",menu:"",other:"",share:"Yap\u0131land\u0131rmay\u0131 payla\u015Fma"},logNoticeHeader:{desc:"",title:""},noticeLength:{desc:"",error:"",title:""},saveTab:{desc:"",title:"Sekmeyi kaydet"},set:{desc:"",title:""},setImport:{desc:"",titl
`);return err.stack=e.stack,err.message=err.message+e.message,plugin.console.error(err),[]}}async function loadPresetContent(path,octokit,plugin){let presetContent=await octokit.request("GET /repos/{owner}/{repo}/contents/{+path}",{owner:"Enveloppe",repo:"plugin-presets",path});if(!presetContent.data?.content)return plugin.settings;let presetContentDecoded=atob(presetContent.data.content);return JSON.parse(presetContentDecoded)}var import_obsidian30=require("obsidian");var import_obsidian29=require("obsidian");function isRegexValid(regexString){try{return new RegExp(regexString),{error:null,isValid:!0}}catch(e){return{error:e,isValid:!1}}}var OverrideAttachmentsModal=class extends import_obsidian29.Modal{settings;allOverrides;onSubmit;constructor(app,settings,allOverrides,onSubmit){super(app),this.allOverrides=allOverrides,this.settings=settings,this.onSubmit=onSubmit}forbiddenValue(value){if(isRegexValid(value).isValid){if(value.match(/[\\><:"|?*]/)&&!value.match(/^\/(.*)\/[gmisuvdy]*$/))return new import_obsidian29.Notice(instance.t("settings.regexReplacing.forbiddenValue",{what:instance.t("common.path.folder"),forbiddenChar:value.match(/[\\><:"|?*]/)[0]}),this.settings.plugin.noticeLength),{value:"",isForbidden:!0}}else{let error=isRegexValid(value).error;return new import_obsidian29.Notice(instance.t("settings.regexReplacing.invalidRegex",{e:error}),this.settings.plugin.noticeLength),{value:"",isForbidden:!0}}return{value,isForbidden:!1}}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addClasses(["enveloppe","modals","regex","file-path-name"]),new import_obsidian29.Setting(contentEl).setHeading().setName(instance.t("settings.embed.overrides.modal.title"));let explanation=dedent_default(`
<p>${instance.t("settings.regexReplacing.modal.desc")}</p>
<h3>${instance.t("settings.regexReplacing.modal.keywords")}</h3>
<ul class="keywords">
<li><code>{{all}}</code>${instance.t("settings.embed.forcePush.all")}</li>
<li><code>{{default}}</code>${instance.t("settings.embed.forcePush.default")}</li>
<li><code>{{name}}</code>${instance.t("settings.regexReplacing.modal.name")}</li>
</ul>
<h3>${instance.t("settings.regexReplacing.modal.force")}</h3>
<p>${instance.t("settings.embed.forcePush.info")}</p>
`);contentEl.appendChild((0,import_obsidian29.sanitizeHTMLToDom)(explanation)),this.settings.embed.overrideAttachments||(this.settings.embed.overrideAttachments=[]);for(let override of this.allOverrides){let sett=new import_obsidian29.Setting(contentEl).setClass("entry").addText(text=>{text.setPlaceholder(instance.t("settings.embed.overrides.modal.path")).setValue(override.path).onChange(value=>{override.path=value,sett.controlEl.setAttribute("value",value)})}).addText(text=>{text.setPlaceholder(instance.t("settings.embed.overrides.modal.dest")).setValue(override.destination).onChange(value=>{override.destination=value,sett.controlEl.setAttribute("replace",value)})}).addToggle(toggle=>{toggle.setTooltip(instance.t("settings.embed.forcePush.title")).setValue(override.forcePush).onChange(value=>{override.forcePush=value})});sett.controlEl.setAttribute("value",override.path),sett.controlEl.setAttribute("replace",override.destination),sett.addExtraButton(button=>{button.setIcon("trash").onClick(()=>{this.allOverrides.splice(this.allOverrides.indexOf(override),1),this.onOpen()})})}new import_obsidian29.Setting(contentEl).addButton(button=>{button.setIcon("plus").onClick(()=>{this.allOverrides.push({path:"",destination:"",forcePush:!1}),this.onOpen()})}).addButton(button=>{button.setButtonText(instance.t("common.save")).onClick(()=>{let canBeValidated=[];this.allOverrides.forEach(override=>{let isForbiddenEntry=this.forbiddenValue(override.path),isForbiddenReplace=this.forbiddenValue(override.destination);if(canBeValidated.push(isForbiddenEntry.isForbidden),canBeValidated.push(isForbiddenReplace.isForbidden),isForbiddenEntry.isForbidden||isForbiddenReplace.isForbidden){override.path=isForbiddenEntry.value,override.destination=isForbiddenReplace.value;let faultyInputValue=contentEl.querySelector(`[value="${escapeRegex(override.path)}"] input`),faultyInputReplace=contentEl.querySelector(`[replace="${escapeRegex(override.destination)}"] input`);faultyInputValue?.classList.add("error"),faultyInputReplace?.classList.add("error")}}),canBeValidated.includes(!0)||(this.onSubmit(this.allOverrides),this.close())})})}onClose(){let{contentEl}=this;contentEl.empty()}},ModalRegexFilePathName=class extends import_obsidian29.Modal{settings;allRegex;onSubmit;constructor(app,settings,allRegex,onSubmit){super(app),this.allRegex=allRegex,this.settings=settings,this.onSubmit=onSubmit}classValue(allRegex){this.settings.upload.replacePath=allRegex.filter(regex=>regex.type==="path"),this.settings.upload.replaceTitle=allRegex.filter(regex=>regex.type==="title")}forbiddenValue(value,type){let regexSpecialDontExclude=/\/(.*)(\\[dwstrnvfb0cxup])(.*)\//i,onWhat=type==="path"?instance.t("common.path.folder"):instance.t("common.path.file");onWhat=onWhat.toLowerCase();let isForbidden=!1;if(value=="/")new import_obsidian29.Notice(instance.t("settings.regexReplacing.forbiddenValue",{what:onWhat,forbiddenChar:value}),this.settings.plugin.noticeLength),value="",isForbidden=!0;else if(isRegexValid(value).isValid)value.match(/[><:"|?*]|(\\\/)|(^\w+\/\w+)|(\\)/)&&type==="title"&&!value.match(regexSpecialDontExclude)?(new import_obsidian29.Notice(instance.t("settings.regexReplacing.forbiddenValue",{what:onWhat,forbiddenChar:value.match(/[><:"|?*]|(\\\/)|(^\w+\/\w+)|(\\)/)[0]}),this.settings.plugin.noticeLength),value="",isForbidden=!0):type==="path"&&(value.match(/[\\><:"|?*]/)&&!value.match(/^\/(.*)\/[gmisuvdy]*$/)?(new import_obsidian29.Notice(instance.t("settings.regexReplacing.forbiddenValue",{what:onWhat,forbiddenChar:value.match(/[\\><:"|?*]/)[0]}),this.settings.plugin.noticeLength),value="",isForbidden=!0):value.match(/(^\w+\/\w+)|(\\\/)/)&&!value.match(regexSpecialDontExclude)&&new import_obsidian29.Notice(instance.t("settings.regexReplacing.warningPath"),this.settings.plugin.noticeLength));else{let error=isRegexValid(value).error;new import_obsidian29.Notice(instance.t("settings.regexReplacing.invalidRegex",{e:error}),this.settings.plugin.noticeLength),isForbidden=!0}return{value,isForbidden}}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addCl
<h5>${instance.t("settings.embed.bake.title")}</h5>
<p>${instance.t("settings.embed.bake.text")}. <span class="bake">${instance.t("settings.embed.bake.variable.desc")}</span>
<ul>
<li><code>{{title}}</code>${instance.t("settings.embed.bake.variable.title")}</li>
<li><code>{{url}}</code>${instance.t("settings.embed.bake.variable.url")}</li>
</ul></p>
<p class="warning embed">! ${instance.t("settings.embed.bake.warning")}</p>
`);ctx.settingsPage.appendChild((0,import_obsidian30.sanitizeHTMLToDom)(bakeEmbedDesc)),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.bake.textBefore.title")).addTextArea(text=>{text.setValue(embedSettings.bake?.textBefore??"").onChange(async value=>{embedSettings.bake.textBefore=value,await ctx.plugin.saveSettings()})}),new import_obsidian30.Setting(ctx.settingsPage).setName(instance.t("settings.embed.bake.textAfter.title")).addTextArea(text=>{text.setValue(embedSettings.bake?.textAfter??"").onChange(async value=>{embedSettings.bake.textAfter=value,await ctx.plugin.saveSettings()})})}}};var import_obsidian32=require("obsidian");var import_obsidian31=require("obsidian");var SetClassSuggester=class extends import_obsidian31.AbstractInputSuggest{constructor(inputEl,plugin,onSubmit){super(plugin.app,inputEl);this.inputEl=inputEl;this.onSubmit=onSubmit;this.plugin=plugin}inputEl;onSubmit;plugin;renderSuggestion(value,el){el.setText(value.path)}getSuggestions(query){return this.plugin.app.vault.getFiles().filter(file=>!!(file.extension==="md"&&file.path.toLowerCase().contains(query.toLowerCase())&&this.plugin.app.metadataCache.getFileCache(file)?.frontmatter))}selectSuggestion(value,_evt){this.onSubmit(value),this.inputEl.value=value.path,this.inputEl.focus(),this.inputEl.trigger("input"),this.close()}},ModalAddingNewRepository=class extends import_obsidian31.Modal{settings;plugin;branchName;repository;onSubmit;constructor(app,settings,branchName,plugin,repository,onSubmit){super(app),this.settings=settings,this.repository=repository,this.plugin=plugin,this.onSubmit=onSubmit,this.branchName=branchName}onOpen(){let{contentEl}=this;contentEl.empty(),contentEl.addClasses(["enveloppe","modals","manage-repo","add"]),contentEl.createEl("h2",{text:instance.t("settings.github.smartRepo.modals.title")}),contentEl.createEl("p",{text:instance.t("settings.github.smartRepo.modals.desc")}),contentEl.createEl("p",{text:instance.t("settings.github.smartRepo.modals.frontmatterInfo")}),contentEl.createEl("p",{text:instance.t("settings.plugin.shareKey.otherRepo")});let defaultRepository={smartKey:"smartkey",user:this.settings.github.user,repo:this.settings.github.repo,branch:this.settings.github.branch,automaticallyMergePR:this.settings.github.automaticallyMergePR,api:{tiersForApi:this.settings.github.api.tiersForApi,hostname:this.settings.github.api.hostname},workflow:{commitMessage:this.settings.github.workflow.commitMessage,name:""},createShortcuts:!1,shareKey:this.settings.plugin.shareKey,copyLink:{links:this.settings.plugin.copyLink.links,removePart:[],transform:{toUri:this.settings.plugin.copyLink.transform.toUri,slugify:this.settings.plugin.copyLink.transform.slugify,applyRegex:this.settings.plugin.copyLink.transform.applyRegex}},set:null};new import_obsidian31.Setting(contentEl).setClass("max-width").setClass("display-none").addButton(button=>{button.setButtonText(instance.t("common.add",{things:instance.t("settings.github.smartRepo.modals.newRepo").toLowerCase()})).onClick(()=>{this.repository.push(defaultRepository),this.onOpen()})});for(let repo of this.repository){let sett=new import_obsidian31.Setting(contentEl).setClass("max-width").setClass("display-none").addText(text=>{text.setPlaceholder("smartKey").setValue(repo.smartKey).onChange(value=>{repo.smartKey=value.toLowerCase(),sett.controlEl.setAttribute("smartKey",value.toLowerCase())})}).addExtraButton(btn=>{btn.setIcon("trash").onClick(()=>{this.repository.splice(this.repository.indexOf(repo),1),this.onOpen()})}).addExtraButton(btn=>{btn.setIcon("pencil").onClick(()=>{new ModalEditingRepository(this.app,repo,this.plugin,this.branchName,result=>{this.repository[this.repository.indexOf(repo)]=result}).open()})})}new import_obsidian31.Setting(contentEl).addButton(button=>{button.setButtonText(instance.t("common.save")).setCta().onClick(()=>{let error=this.foundError(),input=error.repo.length>0?this.containerEl.querySelector(`[smartkey="${error.repo}"] input`):contentEl.querySelector('[placeholder="smartKey"] input');error.type==="None"&&(in
<br><span class="${rules}">${settings.upload.yamlFolderKey.length>0?`${settings.upload.yamlFolderKey}: `:"category: "}</span><span class="${str}">${(0,import_obsidian33.normalizePath)(defaultPath)}</span>
`)}return""},html=dedent_default(`<code><span class="${rules}">${settings.plugin.shareKey}</span>: <span class="${boolean}">true</span>${category()}
<span class="${rules}">path</span>: <span class="${str}"> file.md</span><span class="${comments}"> # given as an example path</span>
<span class="${rules}">links</span>:
<span class="${rules}"> mdlinks</span>: <span class="${boolean}">${settings.conversion.links.wiki}</span>
<span class="${rules}"> convert</span>: <span class="${boolean}">true</span>
<span class="${rules}"> internals</span>: <span class="${boolean}">${settings.conversion.links.internal}</span>
<span class="${rules}"> nonShared</span>: <span class="${boolean}">${settings.conversion.links.unshared}</span>
<span class="${rules}"> unlink</span>: <span class="${boolean}">${settings.conversion.links.unlink}</span>
<span class="${rules}">embed</span>:
<span class="${rules}"> send</span>: <span class="${boolean}">${settings.embed.notes}</span>
<span class="${rules}"> remove</span>: <span class="${str}">${settings.embed.convertEmbedToLinks}</span>
<span class="${rules}"> char</span>: <span class="${str}">${settings.embed.charConvert}</span>
<span class="${rules}">attachment</span>:
<span class="${rules}"> send</span>: <span class="${boolean}">${settings.embed.attachments}</span>
<span class="${rules}"> folder</span>: <span class="${str}">${settings.embed.folder}</span>
<span class="${rules}">dataview</span>: <span class="${boolean}">${settings.conversion.dataview}</span>
<span class="${rules}">hardBreak</span>: <span class="${boolean}">${settings.conversion.hardbreak}</span>
<span class="${rules}">includeLinks</span>: <span class="${boolean}">${settings.embed.sendSimpleLinks}</span>
`);if(settings.github.otherRepo.length>0){let smartkey=settings.github.otherRepo[0].smartKey.length>0?settings.github.otherRepo[0].smartKey:"smartkey";html+=dedent_default(`<br><span class="${rules}">shortRepo</span>: <span class="${str}">${smartkey}</span>`)}html+=dedent_default(`<br><span class="${rules}">repo</span>:
<span class="${rules}"> owner</span>: <span class="${str}">${settings.github.user}</span>
<span class="${rules}"> repo</span>: <span class="${str}">${settings.github.repo}</span>
<span class="${rules}"> branch</span>: <span class="${str}">${settings.github.branch}</span>
<span class="${rules}"> autoclean</span>: <span class="${boolean}">${settings.upload.autoclean.enable}</span>
<span class="${rules}">copylink</span>:
<span class="${rules}"> base</span>: <span class="${str}">${settings.plugin.copyLink.links.length>0?settings.plugin.copyLink.links:`https://${settings.github.repo}.github.io/${settings.github.repo}`}</span>
`);let removePart=settings.plugin.copyLink.removePart.map(val=>`"${val}"`).join(", ");return removePart.length>0&&(html+=dedent_default(`<span class="${rules}"> remove</span>: <span class="${str}">${removePart}</span>`)),html+="</code>",(0,import_obsidian33.sanitizeHTMLToDom)(html)}function help(settings){let els=dedent_default(`
<ul>
<li><code class="code-title">${settings.plugin.shareKey}</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.share.title")}
<ol>${instance.t("settings.help.frontmatter.share.other")}</ol>
<li><code class="code-title">path</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.path")}</li>
<li><code class="code-title">links</code>${instance.t("common.points")}
<ul>
<li><code>mdlinks</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.mdlinks")} <code>[[markdown|alias]]</code> ${instance.t("common.in")} <code>[alias](markdown)</code></li>
<li><code>convert</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.convert.enableOrDisable")} <code>[[link]]</code> ${instance.t("common.or")} <code>[](link)</code> ${instance.t("settings.help.frontmatter.convert.syntax")}</li>
<li><code>internals</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.internals")}</li>
<li><code>nonShared</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.nonShared")}</li>
<li><code>unlink</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.unlink")}</li>
</ul>
</li>
<li><code class="code-title">embed</code>${instance.t("common.points")}
<ul>
<li><code>send</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.send")}</li>
<li><code>remove</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.desc")}
<ul>
<li><code>remove | true</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.remove")}</li>
<li><code>keep | false</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.keep")}</li>
<li><code>links</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.links")}</li>
<li><code>bake</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.remove.bake")}</li>
</ul>
</li>
<li><code>char</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.embed.char")}</li>
</ul>
</li>
<li><code class="code-title">attachment</code>${instance.t("common.points")}
<ul>
<li><code>send</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.attachment.send")}</li>
<li><code>folder</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.attachment.folder")}</li>
</ul>
</li>
<li><code class="code-title">dataview</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.dataview")}</li>
<li><code class="code-title">hardbreak</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.hardBreak")}</li>
<li><code class="code-title">includeLinks</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.includeLinks")} <code>[[markdown]]</code> ${instance.t("common.or")} <code>[](markdown)</code></li>
<li><code class="code-title">shortRepo</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.shortRepo")}</li>
<li><code class="code-title">repo</code>${instance.t("common.points")}
<ul>
<li><code>owner</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.repo.owner")}</li>
<li><code>repo</code>${instance.t("common.points")}${instance.t("settings.github.repoName.title")}</li>
<li><code>branch</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.repo.branch")}</li>
<li><code>autoclean</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.autoclean")}</li>
</ul>
</li>
<li><code class="code-title">${settings.upload.frontmatterTitle.key}</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.titleKey")}</li>
<li><code class="code-title">baseLink</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.baselink.desc")}
<code class="code-title">copylink:</code>
<ul>
<li><code>base</code>${instance.t("common.points")}${instance.t("settings.plugin.copyLink.baselink.title")}</li>
<li><code>remove</code>${instance.t("common.points")}${instance.t("settings.help.frontmatter.baselink.remove")}</li>
</ul>
</li>
</ul>
`);return(0,import_obsidian33.sanitizeHTMLToDom)(els)}function usefulLinks(){let els=dedent_default(`
<ul>
<a href=${DOCUMENTATION_LINK}>${DOCUMENTATION} ${instance.t("settings.help.usefulLinks.documentation")}</a><br>
<a href="https://github.com/Enveloppe/obsidian-enveloppe">${GITHUB_ICON} ${instance.t("common.repository")}</a><br>
<a href="https://github.com/Enveloppe/obsidian-enveloppe/issues">${ISSUE} ${instance.t("settings.help.usefulLinks.issue")}</a><br>
<a href="https://github.com/orgs/Enveloppe/discussions">${DISCUSSION_ICON} ${instance.t("settings.help.usefulLinks.discussion")}</a><br>
<a href="https://discord.gg/6DyY779Nbn">${DISCORD_ICON} Discord</a><br>
<a href="https://hosted.weblate.org/projects/enveloppe/locales/">${TRANSLATION_ICON} ${instance.t("settings.help.usefulLinks.translation")}</a><br>
</ul>
`);return(0,import_obsidian33.sanitizeHTMLToDom)(els)}function multipleRepoExplained(settings){let rules="token key atrule",comments="token comment",str="token string",yaml=dedent_default(`<pre class="language-yaml"><code class="language-yaml"><span class="${rules}">multipleRepo</span>:
<span class="${rules}"> - owner</span>: <span class="${str}">${settings.github.user}</span>
<span class="${rules}"> repo</span>: <span class="${str}">${settings.github.repo}</span>
<span class="${rules}"> branch</span>: <span class="${str}">${settings.github.branch}</span>
<span class="${rules}"> autoclean</span>: <span class="${comments}">false</span>
<span class="${rules}"> - owner</span>: <span class="${str}">sandboxingRepo</span>
<span class="${rules}"> repo</span>: <span class="${str}">my_second_blog</span>
<span class="${rules}"> branch</span>: <span class="${str}">master</span>
<span class="${rules}"> autoclean</span>: <span class="${comments}">false</span>
</code></pre>`),paragraph=dedent_default(`
<span>${instance.t("settings.help.multiRepoHelp.desc")} <code>multipleRepo</code> ${instance.t("settings.help.multiRepoHelp.desc2")}<ul>
<li><code>owner</code></li>
<li><code>repo</code></li>
<li><code>branch</code></li>
<li><code>autoclean</code></li>
</ul>${instance.t("settings.help.multiRepoHelp.exampleDesc")}</span>
`);return(0,import_obsidian33.sanitizeHTMLToDom)(paragraph+yaml)}function supportMe(){let supportMe2=dedent_default(`<p style="text-align:center"><a href="https://ko-fi.com/lisandra_dev"><img src="https://storage.ko-fi.com/cdn/kofi2.png?v=3" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;"></a></p>
`);return(0,import_obsidian33.sanitizeHTMLToDom)(supportMe2)}var renderHelp=ctx=>{new import_obsidian34.Setting(ctx.settingsPage).setName(instance.t("settings.help.usefulLinks.title")).setHeading(),ctx.settingsPage.appendChild(usefulLinks()),ctx.settingsPage.createEl("hr"),new import_obsidian34.Setting(ctx.settingsPage).setName(instance.t("settings.help.frontmatter.title")).setHeading();let dom=(0,import_obsidian34.sanitizeHTMLToDom)(`
<p>${instance.t("settings.help.frontmatter.desc")}</p>
<p>${instance.t("settings.help.frontmatter.nestedKey")} <code>key.subkey: value</code>.</p>`);ctx.settingsPage.appendChild(dom),ctx.settingsPage.createEl("pre",{cls:"language-yaml"}).createEl("code",{text:KeyBasedOnSettings(ctx.settings),cls:"language-yaml"}),ctx.settingsPage.appendChild(help(ctx.settings)),ctx.settingsPage.createEl("hr"),new import_obsidian34.Setting(ctx.settingsPage).setName(instance.t("settings.help.multiRepoHelp.title")).setHeading(),ctx.settingsPage.appendChild(multipleRepoExplained(ctx.settings)),ctx.settingsPage.appendChild(supportMe())};var import_obsidian35=require("obsidian");var renderPluginSettings=ctx=>{let pluginSettings=ctx.settings.plugin;if(ctx.settingsPage.createEl("h3",{text:instance.t("settings.plugin.head.share")}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.shareKey.all.title")).setDesc(instance.t("settings.plugin.shareKey.all.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.shareAll?.enable??!1).onChange(async value=>{pluginSettings.shareAll={enable:value,excludedFileName:pluginSettings.shareAll?.excludedFileName??"DRAFT"},value&&(ctx.settings.conversion.links.internal=!0),await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("plugin-settings")})),!pluginSettings.shareAll||!pluginSettings.shareAll.enable?new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.shareKey.title")).setDesc(instance.t("settings.plugin.shareKey.desc")).addText(text=>text.setPlaceholder("share").setValue(pluginSettings.shareKey).onChange(async value=>{pluginSettings.shareKey=value.trim(),await ctx.plugin.saveSettings()})):new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.shareKey.excludedFileName.title")).addText(text=>text.setPlaceholder("DRAFT").setValue(pluginSettings.shareAll?.excludedFileName??"DRAFT").onChange(async value=>{pluginSettings.shareAll.excludedFileName=value.trim(),await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.excludedFolder.title")).setDesc(instance.t("settings.plugin.excludedFolder.desc")).addTextArea(textArea=>textArea.setPlaceholder("_assets, Archive, /^_(.*)/gi").setValue(pluginSettings.excludedFolder.join(", ")).onChange(async value=>{pluginSettings.excludedFolder=splitByCommaOrNewLineAndNonWord(value),await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.set.title")).setDesc(instance.t("settings.plugin.set.desc")).addText(text=>text.setPlaceholder("Set").setValue(pluginSettings.setFrontmatterKey).onChange(async value=>{pluginSettings.setFrontmatterKey=value.trim(),await ctx.plugin.saveSettings()})),ctx.settingsPage.createEl("h3",{text:instance.t("settings.plugin.head.menu")}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.fileMenu.title")).setDesc(instance.t("settings.plugin.fileMenu.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.fileMenu).onChange(async value=>{pluginSettings.fileMenu=value,await ctx.plugin.saveSettings()})),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.editorMenu.title")).setDesc(instance.t("settings.plugin.editorMenu.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.editorMenu).onChange(async value=>{pluginSettings.editorMenu=value,await ctx.plugin.saveSettings()})),ctx.settingsPage.createEl("h3",{text:instance.t("settings.plugin.head.copyLinks")}),new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.copyLink.title")).setDesc(instance.t("settings.plugin.copyLink.desc")).addToggle(toggle=>toggle.setValue(pluginSettings.copyLink.enable).onChange(async value=>{pluginSettings.copyLink.enable=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("plugin-settings")})),pluginSettings.copyLink.enable){new import_obsidian35.Setting(ctx.settingsPage).setName(instance.t("settings.plugin.copyLink.baselink.title")).setDesc(instance.t("settings.plugin.copyLink.baselink.desc")).addText(tex
<p class="no-margin">${instance.t("settings.conversion.links.internals.desc")} ${shareAll}</p>
<p class="no-margin">${instance.t("settings.conversion.links.internals.dataview")}</p>
`));new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.internals.title")).setDesc(internalLinksDesc).addToggle(toggle=>{toggle.setValue(textSettings.links.internal).onChange(async value=>{textSettings.links.internal=value,ctx.settings.plugin.shareAll?.enable&&(textSettings.links.unshared=!0),await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("text-conversion")})}),textSettings.links.internal&&(ctx.settings.plugin.shareAll?.enable||(new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.nonShared.title")).setDesc(instance.t("settings.conversion.links.nonShared.desc")).addToggle(toggle=>{toggle.setValue(textSettings.links.unshared).onChange(async value=>{textSettings.links.unshared=value,await ctx.renderSettingsPage("text-conversion"),await ctx.plugin.saveSettings()})}),textSettings.links.unshared||new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.unlink.title")).setDesc((0,import_obsidian36.sanitizeHTMLToDom)(instance.t("settings.conversion.links.unlink.desc"))).addToggle(toggle=>{toggle.setValue(textSettings.links.unlink).onChange(async value=>{textSettings.links.unlink=value,await ctx.plugin.saveSettings()})})),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.relativePath.title")).setDesc(instance.t("settings.conversion.links.relativePath.desc")).addToggle(toggle=>{toggle.setValue(textSettings.links.relativePath).onChange(async value=>{textSettings.links.relativePath=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("text-conversion")})}),textSettings.links.relativePath||new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.textBefore.title")).setDesc((0,import_obsidian36.sanitizeHTMLToDom)(`<span>${instance.t("settings.conversion.links.textBefore.desc",{slash:"<code>/</code>"})}</span>`)).addText(cb=>{cb.setPlaceholder("/").setValue(textSettings.links.textPrefix).onChange(async value=>{textSettings.links.textPrefix=value,await ctx.plugin.saveSettings()})})),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.wikilinks.title")).setDesc(instance.t("settings.conversion.links.wikilinks.desc")).addToggle(toggle=>{toggle.setValue(textSettings.links.wiki).onChange(async value=>{textSettings.links.wiki=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("text-conversion")})}),textSettings.links.wiki&&new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.wikiDisplayText.title")).setDesc(instance.t("settings.conversion.links.wikiDisplayText.desc")).addToggle(toggle=>{toggle.setValue(textSettings.links.wikiDisplayText).onChange(async value=>{textSettings.links.wikiDisplayText=value,await ctx.plugin.saveSettings(),await ctx.renderSettingsPage("text-conversion")})});let slugifySetting=typeof textSettings.links.slugify=="boolean"?textSettings.links.slugify?"strict":"disable":textSettings.links.slugify,slugifyAnchorSettings=typeof textSettings.links.slugifyAnchor=="boolean"?textSettings.links.slugifyAnchor?"strict":"disable":textSettings.links.slugifyAnchor||"disable";(textSettings.links.wiki||textSettings.links.internal)&&(new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.slugify.title")).setDesc(instance.t("settings.conversion.links.slugify.desc")).addDropdown(dropdown=>{dropdown.addOptions({disable:instance.t("settings.conversion.links.slugify.disable"),strict:instance.t("settings.conversion.links.slugify.strict"),lower:instance.t("settings.conversion.links.slugify.lower")}).setValue(slugifySetting).onChange(async value=>{textSettings.links.slugify=["disable","strict","lower"].includes(value)?value:"disable",await ctx.plugin.saveSettings()})}),new import_obsidian36.Setting(ctx.settingsPage).setName(instance.t("settings.conversion.links.anchor.title")).setDesc(instance.t("settings.conversion.links.anchor.desc")).addDropdown(dropdown=>{dropdown.addOptions({d
`).find(line=>line.startsWith("GITHUB_TOKEN"))?.split("=")[1]??"";return repo?tokenFile.split(`
`).find(line=>line.startsWith(`${repo}_TOKEN`))?.split("=")[1]??defaultToken:defaultToken}}catch(e){return this.console.error(e),""}return""}async reloadOctokit(repo){let apiSettings=this.settings.github.api,token=await this.loadToken(repo),octokit=apiSettings.tiersForApi==="Enterprise"&&apiSettings.hostname.length>0?new Octokit({baseUrl:`${apiSettings.hostname}/api/v3`,auth:token}):new Octokit({auth:token});return new GithubBranch(octokit,this)}async onload(){await instance.init({lng:translationLanguage,fallbackLng:"en",resources,returnNull:!1,returnEmptyString:!1}),await this.loadSettings(),this.console=new Logs(this),this.console.info(dedent_default(`[Obsidian Enveloppe] v.${this.manifest.version} (lang: ${translationLanguage}) loaded.
* You can hide HTTP logs in the console with checking the "Hide network" in the console settings.
* See here: https://developer.chrome.com/docs/devtools/console/reference#network`)),await this.console.createLogFile(),!this.settings.plugin.dev&&await this.app.vault.adapter.exists((0,import_obsidian41.normalizePath)(`${this.manifest.dir}/logs.txt`))&&await this.app.vault.adapter.remove((0,import_obsidian41.normalizePath)(`${this.manifest.dir}/logs.txt`));let oldSettings=this.settings;if(await migrateSettings(oldSettings,this),await migrateToSecret(this),this.branchName=`${this.app.vault.getName().replaceAll(" ","-").replaceAll(".","-")}-${new Date().toLocaleDateString("en-US").replace(/\//g,"-")}`,this.addSettingTab(new EnveloppeSettingsTab(this.app,this,this.branchName)),!this.settings.github.verifiedRepo&&await this.loadToken()!==""){let octokit=await this.reloadOctokit();this.settings.github.verifiedRepo=await checkRepositoryValidity(octokit,null,null,!0),this.settings.github.rateLimit=await verifyRateLimitAPI(octokit.octokit,this,!1),await this.saveSettings()}for(let repository of this.settings.github.otherRepo){if(!repository.verifiedRepo&&await this.loadToken(repository.smartKey)!==""){let repoOctokit=await this.reloadOctokit(repository.smartKey);repository.verifiedRepo=await checkRepositoryValidity(repoOctokit,repository,null,!1),repository.rateLimit=await verifyRateLimitAPI(repoOctokit.octokit,this)}if(repository.set){let file=this.app.vault.getAbstractFileByPath(repository.set);if(file&&file instanceof import_obsidian41.TFile){let frontmatter=this.app.metadataCache.getFileCache(file)?.frontmatter;frontmatter&&(this.repositoryFrontmatter[repository.smartKey]=frontmatter)}}}await this.saveSettings(),this.registerEvent(this.app.workspace.on("file-menu",(menu,folder)=>{this.settings.plugin.fileMenu&&folder instanceof import_obsidian41.TFolder?addMenuFolder(menu,folder,this.branchName,this):folder instanceof import_obsidian41.TFile&&addMenuFile(this,folder,this.branchName,menu)})),this.registerEvent(this.app.workspace.on("editor-menu",(menu,_editor,view)=>{view.file&&addMenuFile(this,view.file,this.branchName,menu)})),await this.chargeAllCommands(null,this),this.addCommand({id:"check-rate-limit",name:instance.t("commands.checkValidity.rateLimit.command"),callback:async()=>{let octokit=await this.reloadOctokit();this.settings.github.rateLimit=await verifyRateLimitAPI(octokit.octokit,this),await this.saveSettings()}}),this.settings.github.otherRepo.length>0&&this.addCommand({id:"run-cmd-for-repo",name:instance.t("commands.runOtherRepo.title"),callback:async()=>{new ChooseWhichRepoToRun(this.app,this,this.branchName).open()}});let repoWithShortcuts=this.settings.github.otherRepo.filter(repo=>repo.createShortcuts);for(let repo of repoWithShortcuts)await this.chargeAllCommands(repo,this);this.addCommand(refreshOpenedSet(this)),this.addCommand(refreshAllSets(this)),window.addEventListener("unhandledrejection",this.unhandledRejectionListener),window.addEventListener("error",this.errorListener)}unhandledRejectionListener(e){this.manifest?.id&&e?.reason?.stack?.includes(this.manifest.id)&&this.console.writeToLog(e,"fatal")}errorListener(e){this.manifest?.id&&e?.error?.stack?.includes(this.manifest.id)&&this.console.writeToLog(e,"error")}onunload(){this.console.warn("[Obsidian Enveloppe] Unloaded"),window.removeEventListener("unhandledrejection",this.unhandledRejectionListener),window.removeEventListener("error",this.errorListener)}async loadSettings(){let loadedData=await this.loadData();try{this.settings=merge2(DEFAULT_SETTINGS,loadedData)}catch{console.warn("[Obsidian Enveloppe] Error while deep merging settings, using default loading method"),this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData())}}async saveSettings(){await this.saveData(this.settings)}};
/**
* The majority of the code was taken from obsidian-easy-bake
* @credit mgmeyers
* @source https://github.com/mgmeyers/obsidian-easy-bake
* @license GPL-3.0
* Each function is modified to fit the needs of this plugin, but citation are done in the code for each function
*/
/*! Bundled license information:
@octokit/request-error/dist-src/index.js:
(* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
@octokit/request/dist-bundle/index.js:
(* v8 ignore next -- @preserve *)
(* v8 ignore else -- @preserve *)
*/
/* nosourcemap */