mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-28 18:03:14 +08:00
@ -2,6 +2,7 @@
|
|||||||
draft: true
|
draft: true
|
||||||
bugs:
|
bugs:
|
||||||
- text: "Dark Theme: Render checkboxes in a lighter color"
|
- text: "Dark Theme: Render checkboxes in a lighter color"
|
||||||
|
- text: "Fix Relative Parent links not working - #256"
|
||||||
|
|
||||||
- version: "1.70"
|
- version: "1.70"
|
||||||
date: 2020-09-16
|
date: 2020-09-16
|
||||||
|
@ -28,18 +28,7 @@ class LinkResolver {
|
|||||||
return resolveWikiLink(wikiLinkTerm);
|
return resolveWikiLink(wikiLinkTerm);
|
||||||
}
|
}
|
||||||
|
|
||||||
var folder = inputNote.parent;
|
return _getNoteWithSpec(inputNote.parent, link);
|
||||||
var spec = link;
|
|
||||||
|
|
||||||
if (link.startsWith('./')) {
|
|
||||||
spec = link.substring(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (spec.contains(p.separator)) {
|
|
||||||
spec = p.normalize(spec);
|
|
||||||
}
|
|
||||||
|
|
||||||
return _getNoteWithSpec(folder, spec);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Note resolveWikiLink(String term) {
|
Note resolveWikiLink(String term) {
|
||||||
@ -88,6 +77,13 @@ class LinkResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Note _getNoteWithSpec(NotesFolderFS folder, String spec) {
|
Note _getNoteWithSpec(NotesFolderFS folder, String spec) {
|
||||||
|
var fullPath = p.normalize(p.join(folder.folderPath, spec));
|
||||||
|
if (!fullPath.startsWith(folder.folderPath)) {
|
||||||
|
folder = folder.rootFolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
spec = fullPath.substring(folder.folderPath.length + 1);
|
||||||
|
|
||||||
var linkedNote = folder.getNoteWithSpec(spec);
|
var linkedNote = folder.getNoteWithSpec(spec);
|
||||||
if (linkedNote != null) {
|
if (linkedNote != null) {
|
||||||
return linkedNote;
|
return linkedNote;
|
||||||
|
@ -154,6 +154,14 @@ void main() {
|
|||||||
expect(resolvedNote.filePath, p.join(tempDir.path, 'Goat Sim.md'));
|
expect(resolvedNote.filePath, p.join(tempDir.path, 'Goat Sim.md'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('Resolve Parent file', () {
|
||||||
|
var note = rootFolder.getNoteWithSpec('Folder/Water.md');
|
||||||
|
var linkResolver = LinkResolver(note);
|
||||||
|
|
||||||
|
var resolvedNote = linkResolver.resolve('../Hello.md');
|
||||||
|
expect(resolvedNote.filePath, p.join(tempDir.path, 'Hello.md'));
|
||||||
|
});
|
||||||
|
|
||||||
test('Should resolve Link object', () {
|
test('Should resolve Link object', () {
|
||||||
var note = rootFolder.getNoteWithSpec('Folder/Water.md');
|
var note = rootFolder.getNoteWithSpec('Folder/Water.md');
|
||||||
var linkResolver = LinkResolver(note);
|
var linkResolver = LinkResolver(note);
|
||||||
|
Reference in New Issue
Block a user