macana

Static site generator for Obsidian Vault

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
## Supported path resolutions
### Relative

Relative link is the best format, especially if you consider compatibility to other tools.

```markdown
[Overview](../Overview.md)
```

[Overview](../Overview.md)

#### Without file extension

Although you can omit file extensions in the file path, this is not recommended if you care compatibility or portability.
This also affects performance.

```markdown
[Overview](../Overview)
```

[Overview](../Overview)

### Absolute

Absolute paths are resolved from the Vault root.

```markdown
[Overview](/en/Overview.md)
```

[Overview](/en/Overview.md)

#### Without file extension

You can omit file extensions in the absolute form, too.
This affects performance.

```markdown
[Overview](/en/Overview)
```

[Overview](/en/Overview)

### Shortest path when possible

Macana also supports "Shortest path when possible" links, which is the default value for the newer Obsidian versions.
When Vault has more than one file having same name, resolution will result in error.

```markdown
[Overview](Overview)
```

[Overview](Overview)

## Limitation

### Filename confusion on extension-less path

When you have more than one file with same file stem (filename without extension part), you can't refer to the file without extension.

For example, if you have both `Foo/Bar.md` and `Foo/Bar.jpg` on a same directory, below `Foo/Baz.md` results in a build error, because Macana cannot decide which file to use.

```markdown
[Bar](./Bar)
```