mbp-oskar.lan 2025-5-10:22:41:5
This commit is contained in:
parent
4470dc8dc5
commit
99e2af8513
3
.obsidian/community-plugins.json
vendored
3
.obsidian/community-plugins.json
vendored
@ -15,5 +15,6 @@
|
||||
"dynamic-outline",
|
||||
"obsidian-git",
|
||||
"cmdr",
|
||||
"math-in-callout"
|
||||
"math-in-callout",
|
||||
"wikilinks-to-mdlinks-obsidian"
|
||||
]
|
156
.obsidian/plugins/wikilinks-to-mdlinks-obsidian/main.js
vendored
Normal file
156
.obsidian/plugins/wikilinks-to-mdlinks-obsidian/main.js
vendored
Normal file
@ -0,0 +1,156 @@
|
||||
'use strict';
|
||||
|
||||
var obsidian = require('obsidian');
|
||||
|
||||
/*! *****************************************************************************
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
/* global Reflect, Promise */
|
||||
|
||||
var extendStatics = function(d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
|
||||
function __extends(d, b) {
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
}
|
||||
|
||||
var WikilinksToMdlinks = /** @class */ (function (_super) {
|
||||
__extends(WikilinksToMdlinks, _super);
|
||||
function WikilinksToMdlinks() {
|
||||
return _super !== null && _super.apply(this, arguments) || this;
|
||||
}
|
||||
WikilinksToMdlinks.prototype.onload = function () {
|
||||
var _this = this;
|
||||
console.log('loading wikilinks-to-mdlinks plugin...');
|
||||
this.addCommand({
|
||||
id: "toggle-wiki-md-links",
|
||||
name: "Toggle selected wikilink to markdown link and vice versa",
|
||||
checkCallback: function (checking) {
|
||||
var currentView = _this.app.workspace.getActiveLeafOfViewType(obsidian.MarkdownView);
|
||||
if ((currentView == null) || (currentView.getMode() !== 'source')) {
|
||||
return false;
|
||||
}
|
||||
if (!checking) {
|
||||
_this.toggleLink();
|
||||
}
|
||||
return true;
|
||||
},
|
||||
hotkeys: [{
|
||||
modifiers: ["Mod", "Shift"],
|
||||
key: "L"
|
||||
}]
|
||||
});
|
||||
};
|
||||
WikilinksToMdlinks.prototype.onunload = function () {
|
||||
console.log('unloading wikilinks-to-mdlinks plugin');
|
||||
};
|
||||
WikilinksToMdlinks.prototype.toggleLink = function () {
|
||||
var currentView = this.app.workspace.getActiveLeafOfViewType(obsidian.MarkdownView);
|
||||
var editor = currentView.sourceMode.cmEditor;
|
||||
var cursor = editor.getCursor();
|
||||
var line = editor.getDoc().getLine(cursor.line);
|
||||
var regexHasExtension = /^([^\\]*)\.(\w+)$/;
|
||||
var regexWiki = /\[\[([^\]]+)\]\]/;
|
||||
var regexParenthesis = /\((.*?)\)/;
|
||||
var regexWikiGlobal = /\[\[([^\]]*)\]\]/g;
|
||||
var regexMdGlobal = /\[([^\]]*)\]\(([^\(]*)\)/g;
|
||||
var wikiMatches = line.match(regexWikiGlobal);
|
||||
var mdMatches = line.match(regexMdGlobal);
|
||||
var ifFoundMatch = false;
|
||||
// If there are wikiMatches find if the cursor is inside the selected text
|
||||
var i = 0;
|
||||
if (wikiMatches) {
|
||||
for (var _i = 0, wikiMatches_1 = wikiMatches; _i < wikiMatches_1.length; _i++) {
|
||||
var item = wikiMatches_1[_i];
|
||||
var temp = line.slice(i, line.length);
|
||||
var index = i + temp.indexOf(item);
|
||||
var indexEnd = index + item.length;
|
||||
i = indexEnd;
|
||||
if ((cursor.ch >= index) && (cursor.ch <= indexEnd)) {
|
||||
ifFoundMatch = true;
|
||||
var text = item.match(regexWiki)[1];
|
||||
// Check if it is a markdown file
|
||||
var matches = text.match(regexHasExtension);
|
||||
var newText = text;
|
||||
if (matches) {
|
||||
var filename = matches[1];
|
||||
var extension = matches[2];
|
||||
}
|
||||
else {
|
||||
newText = newText + ".md";
|
||||
}
|
||||
var encodedText = encodeURI(newText);
|
||||
var newItem = "[" + text + "](" + encodedText + ")";
|
||||
var cursorStart = {
|
||||
line: cursor.line,
|
||||
ch: index
|
||||
};
|
||||
var cursorEnd = {
|
||||
line: cursor.line,
|
||||
ch: indexEnd
|
||||
};
|
||||
editor.replaceRange(newItem, cursorStart, cursorEnd);
|
||||
}
|
||||
}
|
||||
}
|
||||
i = 0;
|
||||
if (ifFoundMatch == false) {
|
||||
if (mdMatches) {
|
||||
for (var _a = 0, mdMatches_1 = mdMatches; _a < mdMatches_1.length; _a++) {
|
||||
var item = mdMatches_1[_a];
|
||||
var temp = line.slice(i, line.length);
|
||||
var index = i + temp.indexOf(item);
|
||||
var indexEnd = index + item.length;
|
||||
i = indexEnd;
|
||||
if ((cursor.ch >= index) && (cursor.ch <= indexEnd)) {
|
||||
ifFoundMatch = true;
|
||||
var text = item.match(regexParenthesis)[1];
|
||||
text = decodeURI(text);
|
||||
// Check if it is a markdown file
|
||||
var matches = text.match(regexHasExtension);
|
||||
if (matches) {
|
||||
var filename = matches[1];
|
||||
var extension = matches[2];
|
||||
if (extension == 'md') {
|
||||
text = filename;
|
||||
}
|
||||
}
|
||||
var newItem = "[[" + text + "]]";
|
||||
var cursorStart = {
|
||||
line: cursor.line,
|
||||
ch: index
|
||||
};
|
||||
var cursorEnd = {
|
||||
line: cursor.line,
|
||||
ch: indexEnd
|
||||
};
|
||||
editor.replaceRange(newItem, cursorStart, cursorEnd);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
return WikilinksToMdlinks;
|
||||
}(obsidian.Plugin));
|
||||
|
||||
module.exports = WikilinksToMdlinks;
|
||||
|
||||
|
||||
/* nosourcemap */
|
10
.obsidian/plugins/wikilinks-to-mdlinks-obsidian/manifest.json
vendored
Normal file
10
.obsidian/plugins/wikilinks-to-mdlinks-obsidian/manifest.json
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "wikilinks-to-mdlinks-obsidian",
|
||||
"name": "Wikilinks to MDLinks",
|
||||
"version": "0.0.12",
|
||||
"minAppVersion": "0.9.12",
|
||||
"description": "A plugin that converts wikilinks to markdown links and vice versa",
|
||||
"author": "Agatha Uy",
|
||||
"authorUrl": "https://github.com/agathauy",
|
||||
"isDesktopOnly": false
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user