Nick Groenen
48f4d34baf
Add ADRs
...
Add some (back-dated) architecture decision records [1] to document some
of the more significant historical design choices.
[1]: https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions
2022-11-26 13:18:36 +01:00
Nick Groenen
83ab69aedd
Release v22.11.0
2022-11-19 17:12:13 +01:00
Nick Groenen
b5b2ea2c3b
New: apply unicode normalization while resolving notes
...
The unicode standard allows for certain (visually) identical characters to
be represented in different ways.
For example the character ä may be represented as a single combined
codepoint "Latin Small Letter A with Diaeresis" (U+00E4) or by the
combination of "Latin Small Letter A" (U+0061) followed by "Combining
Diaeresis" (U+0308).
When encoded with UTF-8, these are represented as respectively the two
bytes 0xC3 0xA4, and the three bytes 0x61 0xCC 0x88.
A user linking to notes with these characters in their titles would
expect these two variants to link to the same file, given they are
visually identical and have the exact same semantic meaning.
The unicode standard defines a method to deconstruct and normalize these
forms, so that a byte comparison on the normalized forms of these
variants ends up comparing the same thing. This is called Unicode
Normalization, defined in Unicode® Standard Annex #15
(http://www.unicode.org/reports/tr15/ ).
The W3C Working Group has written an excellent explanation of the
problems regarding string matching, and how unicode normalization helps
with this process: https://www.w3.org/TR/charmod-norm/#unicodeNormalization
With this change, obsidian-export will perform unicode normalization
(specifically the C (or NFC) normalization form) on all note titles
while looking up link references, ensuring visually identical links are
treated as being similar, even if they were encoded as different
variants.
A special thanks to Hans Raaf (@oderwat) for reporting and helping track
down this issue.
---
Closes #126
2022-11-19 16:58:48 +01:00
Chang-Yen Tseng
c5ba5b7aef
Use path.Join to construct hugo links ( #92 )
...
Use path.Join so that it will render correctly on Windows
(path.Join will convert Windows backslash to forward slash)
2022-11-15 18:07:18 +01:00
dependabot[bot]
9bce284697
Bump crossbeam-utils from 0.8.5 to 0.8.12
...
Bumps [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam ) from 0.8.5 to 0.8.12.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases )
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.8.5...crossbeam-utils-0.8.12 )
---
updated-dependencies:
- dependency-name: crossbeam-utils
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-11-15 17:55:54 +01:00
dependabot[bot]
f2a0d1c041
Bump regex from 1.6.0 to 1.7.0
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.6.0...1.7.0 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-11-15 17:55:38 +01:00
dependabot[bot]
0659924635
Bump actions/checkout from 2 to 3
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-11-05 15:41:22 +01:00
dependabot[bot]
7a3f278e4b
Bump actions/upload-artifact from 2 to 3
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-11-05 15:41:06 +01:00
dependabot[bot]
89ad2d0e66
Bump thread_local from 1.1.3 to 1.1.4
...
Bumps [thread_local](https://github.com/Amanieu/thread_local-rs ) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/Amanieu/thread_local-rs/releases )
- [Commits](https://github.com/Amanieu/thread_local-rs/compare/v1.1.3...1.1.4 )
---
updated-dependencies:
- dependency-name: thread_local
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-11-05 15:39:37 +01:00
Nick Groenen
be5cf58c1a
Remove needless borrows
2022-11-05 15:37:20 +01:00
Nick Groenen
6af4c9140c
Upgrade snafu to 0.7.x
2022-11-05 14:38:02 +01:00
Nick Groenen
17d0e3df7e
Upgrade pulldown-cmark-to-cmark to 10.0.x
2022-11-05 14:38:02 +01:00
Nick Groenen
262f22ba70
Upgrade serde_yaml to 0.9.x
2022-11-05 14:38:02 +01:00
Nick Groenen
0535de53a9
Upgrade minor dependencies
2022-11-05 14:37:56 +01:00
Nick Groenen
868f1132bc
Fix new clippy lints
2022-11-05 14:18:53 +01:00
Nick Groenen
586530cac8
Add a contributor guide
2022-11-05 14:15:18 +01:00
Nick Groenen
081eb6c9ab
Simplify pre-commit setup
...
No need to depend on a third-party hook repository when each of these
checks is easily defined and run through system commands.
This also allows us to actually run tests, which is current unsupported
(https://github.com/doublify/pre-commit-rust/pull/19 )
2022-01-16 17:06:52 +01:00
Nick Groenen
d25c6d80c6
Chg: Pass context and events as mutable references to postprocessors
...
Instead of passing clones of context and the markdown tree to
postprocessors, pass them a mutable reference which may be modified
in-place.
This is a breaking change to the postprocessor implementation, changing
both the input arguments as well as the return value:
```diff
- dyn Fn(Context, MarkdownEvents) -> (Context, MarkdownEvents, PostprocessorResult) + Send + Sync;
+ dyn Fn(&mut Context, &mut MarkdownEvents) -> PostprocessorResult + Send + Sync;
```
With this change the postprocessor API becomes a little more ergonomic
to use however, especially making the intent around return statements more clear.
2022-01-16 11:53:15 +01:00
dependabot[bot]
85adc314b6
Bump tempfile from 3.2.0 to 3.3.0
...
Bumps [tempfile](https://github.com/Stebalien/tempfile ) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases )
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0 )
---
updated-dependencies:
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 20:30:36 +01:00
Nick Groenen
86af6bbf37
Release v22.1.0
2022-01-02 12:28:25 +01:00
Nick Groenen
67cd5ac738
Give release binaries file extensions
...
This may make it more clear to users that these are precompiled, binary
files. This is especially relevant on Windows, where the convention is
that executable files have a .exe` extension, as seen in #49 .
2022-01-02 12:08:50 +01:00
Nick Groenen
84308c9f1f
New: support Obsidian's "Strict line breaks" setting
...
This change introduces a new `--hard-linebreaks` CLI argument. When
used, this converts soft line breaks to hard line breaks, mimicking
Obsidian's "Strict line breaks" setting.
Implementation detail: I considered naming this flag
`--strict-line-breaks` to be consistent with Obsidian itself, however I
feel the name is somewhat misleading and ill-chosen.
2022-01-02 00:42:51 +01:00
Nick Groenen
838881fea0
Upgrade dependencies
...
This commit upgrades all dependencies to their current latest versions. Most
notably, this includes upgrades to the following most critical libraries:
pulldown-cmark v0.8.0 -> v0.9.0
pulldown-cmark-to-cmark v7.1.1 -> v9.0.0
In total, these dependencies were upgraded:
bstr v0.2.16 -> v0.2.17
ignore v0.4.17 -> v0.4.18
libc v0.2.101 -> v0.2.112
memoffset v0.6.4 -> v0.6.5
num_cpus v1.13.0 -> v1.13.1
once_cell v1.8.0 -> v1.9.0
ppv-lite86 v0.2.10 -> v0.2.16
proc-macro2 v1.0.29 -> v1.0.36
pulldown-cmark v0.8.0 -> v0.9.0
pulldown-cmark-to-cmark v7.1.1 -> v9.0.0
quote v1.0.9 -> v1.0.14
rayon v1.5.0 -> v1.5.1
regex v1.5.3 -> v1.5.4
serde v1.0.130 -> v1.0.132
syn v1.0.75 -> v1.0.84
unicode-width v0.1.8 -> v0.1.9
version_check v0.9.3 -> v0.9.4
2022-01-01 23:34:46 +01:00
dependabot[bot]
c96acc1d6d
Bump serde_yaml from 0.8.21 to 0.8.23 ( #52 )
...
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml ) from 0.8.21 to 0.8.23.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases )
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.21...0.8.23 )
---
updated-dependencies:
- dependency-name: serde_yaml
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-14 16:49:32 +01:00
dependabot[bot]
7026b0f684
Bump pulldown-cmark-to-cmark from 7.1.0 to 7.1.1 ( #51 )
...
Bumps [pulldown-cmark-to-cmark](https://github.com/Byron/pulldown-cmark-to-cmark ) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/Byron/pulldown-cmark-to-cmark/releases )
- [Changelog](https://github.com/Byron/pulldown-cmark-to-cmark/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Byron/pulldown-cmark-to-cmark/compare/v7.1.0...v7.1.1 )
---
updated-dependencies:
- dependency-name: pulldown-cmark-to-cmark
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-06 23:31:49 +01:00
dependabot[bot]
fe896ddd47
Bump pulldown-cmark-to-cmark from 7.0.0 to 7.1.0 ( #48 )
...
Bumps [pulldown-cmark-to-cmark](https://github.com/Byron/pulldown-cmark-to-cmark ) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/Byron/pulldown-cmark-to-cmark/releases )
- [Changelog](https://github.com/Byron/pulldown-cmark-to-cmark/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Byron/pulldown-cmark-to-cmark/compare/v7.0.0...v7.1.0 )
---
updated-dependencies:
- dependency-name: pulldown-cmark-to-cmark
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-30 18:37:41 +01:00
dependabot[bot]
fd346baee9
Bump pulldown-cmark-to-cmark from 6.0.4 to 7.0.0 ( #47 )
...
Bumps [pulldown-cmark-to-cmark](https://github.com/Byron/pulldown-cmark-to-cmark ) from 6.0.4 to 7.0.0.
- [Release notes](https://github.com/Byron/pulldown-cmark-to-cmark/releases )
- [Changelog](https://github.com/Byron/pulldown-cmark-to-cmark/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Byron/pulldown-cmark-to-cmark/compare/v6.0.4...v7.0.0 )
---
updated-dependencies:
- dependency-name: pulldown-cmark-to-cmark
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-22 22:46:50 +01:00
dependabot[bot]
740346fa4c
Bump pathdiff from 0.2.0 to 0.2.1 ( #46 )
...
Bumps [pathdiff](https://github.com/Manishearth/pathdiff ) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/Manishearth/pathdiff/releases )
- [Commits](https://github.com/Manishearth/pathdiff/commits )
---
updated-dependencies:
- dependency-name: pathdiff
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-06 19:38:25 +02:00
dependabot[bot]
e78f19a2fa
Bump pulldown-cmark-to-cmark from 6.0.3 to 6.0.4 ( #44 )
...
Bumps [pulldown-cmark-to-cmark](https://github.com/Byron/pulldown-cmark-to-cmark ) from 6.0.3 to 6.0.4.
- [Release notes](https://github.com/Byron/pulldown-cmark-to-cmark/releases )
- [Changelog](https://github.com/Byron/pulldown-cmark-to-cmark/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Byron/pulldown-cmark-to-cmark/compare/v6.0.3...v6.0.4 )
---
updated-dependencies:
- dependency-name: pulldown-cmark-to-cmark
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-06 19:38:18 +02:00
dependabot[bot]
9a3ace0070
Bump pretty_assertions from 0.7.2 to 1.0.0 ( #45 )
...
Bumps [pretty_assertions](https://github.com/colin-kiegel/rust-pretty-assertions ) from 0.7.2 to 1.0.0.
- [Release notes](https://github.com/colin-kiegel/rust-pretty-assertions/releases )
- [Changelog](https://github.com/colin-kiegel/rust-pretty-assertions/blob/main/CHANGELOG.md )
- [Commits](https://github.com/colin-kiegel/rust-pretty-assertions/compare/v0.7.2...v1.0.0 )
---
updated-dependencies:
- dependency-name: pretty_assertions
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-06 19:38:01 +02:00
Nick Groenen
e7486fa962
Release v21.9.1
2021-09-24 12:01:46 +02:00
Nick Groenen
f70d6b0cf0
Simplify releases with a script
2021-09-24 12:01:37 +02:00
Narayan Sainaney
c4bc77402e
Chg: Treat SVG files as embeddable images
...
This will ensure SVG files are included as an image when using `![[foo.svg]]` syntax, as opposed to only being linked to.
2021-09-24 11:12:27 +02:00
dependabot[bot]
6d247104c4
Bump pulldown-cmark-to-cmark from 6.0.2 to 6.0.3
...
Bumps [pulldown-cmark-to-cmark](https://github.com/Byron/pulldown-cmark-to-cmark ) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/Byron/pulldown-cmark-to-cmark/releases )
- [Changelog](https://github.com/Byron/pulldown-cmark-to-cmark/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Byron/pulldown-cmark-to-cmark/compare/v6.0.2...v6.0.3 )
---
updated-dependencies:
- dependency-name: pulldown-cmark-to-cmark
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 23:16:33 +02:00
Nick Groenen
7f94766cce
Merge pull request #41 from zoni/dependabot/cargo/serde_yaml-0.8.21
...
Bump serde_yaml from 0.8.20 to 0.8.21
2021-09-13 23:16:09 +02:00
dependabot[bot]
48ec896cee
Bump serde_yaml from 0.8.20 to 0.8.21
...
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml ) from 0.8.20 to 0.8.21.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases )
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.20...0.8.21 )
---
updated-dependencies:
- dependency-name: serde_yaml
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 19:02:43 +00:00
Nick Groenen
5460368297
Release v21.9.0
2021-09-12 23:48:31 +02:00
Nick Groenen
8dc7e59a79
New: support postprocessors running on embedded notes
...
This introduces support for postprocessors that are run on the result of
a note that is being embedded into another note. This differs from the
existing postprocessors (which remain unchanged) that run once all
embeds have been processed and merged with the final note.
These "embed postprocessors" may be set through the new
`Exporter::add_embed_postprocessor` method.
2021-09-12 14:53:27 +02:00
Nick Groenen
6afcd75f07
Don't build docs for the bin target
...
The library contains documentation covering both CLI and library usage,
there's no separate documentation for just the binary target.
2021-09-12 14:42:07 +02:00
Nick Groenen
216179ef35
Move postprocessor tests into their own file for clarity
2021-09-12 12:50:11 +02:00
Nick Groenen
77e35980c4
Update indirect dependencies
2021-09-03 20:04:41 +02:00
Nick Groenen
481c62b78d
Merge pull request #38 from zoni/dependabot/cargo/serde_yaml-0.8.20
...
Bump serde_yaml from 0.8.19 to 0.8.20
2021-08-31 20:01:23 +02:00
dependabot[bot]
47df3739c5
Bump serde_yaml from 0.8.19 to 0.8.20
...
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml ) from 0.8.19 to 0.8.20.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases )
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.19...0.8.20 )
---
updated-dependencies:
- dependency-name: serde_yaml
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 19:03:09 +00:00
Nick Groenen
d138c92a25
Merge pull request #37 from zoni/start_at
...
New: add start_at option to export a partial vault
2021-08-27 16:13:26 +02:00
Nick Groenen
634b0d70ac
New: add start_at option to export a partial vault
...
This introduces a new `--start-at` CLI argument and corresponding
`start_at()` method on the Exporter type that allows exporting of only a
given subdirectory within a vault.
See the updated README file for more details on when and how this may be
used.
2021-08-27 16:03:54 +02:00
Nick Groenen
c64d75967e
Don't borrow references that are immediately dereferenced
...
This was caught by a recently introduced clippy rule
2021-08-27 11:27:46 +02:00
Nick Groenen
82798daa89
Merge pull request #35 from zoni/dependabot/cargo/serde_yaml-0.8.19
...
Bump serde_yaml from 0.8.17 to 0.8.19
2021-08-27 11:19:57 +02:00
dependabot[bot]
ff58263707
Bump serde_yaml from 0.8.17 to 0.8.19
...
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml ) from 0.8.17 to 0.8.19.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases )
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.17...0.8.19 )
---
updated-dependencies:
- dependency-name: serde_yaml
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 19:02:57 +00:00
Nick Groenen
18231775ae
Update dependencies
2021-07-27 15:05:29 +02:00
Nick Groenen
33eac07b1a
Fix 4 new clippy lints
2021-07-27 15:00:44 +02:00