Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change custom page files to use a .md extension. #322

Merged
merged 8 commits into from
Feb 15, 2024

Conversation

zedseven
Copy link
Contributor

@zedseven zedseven commented May 2, 2023

My rationale for this PR is in #320. Closes #320.

To summarise, the lack of a .md extension causes problems for external tools working with the custom page files, and my solution is to simply add the extension to the end.

e.g.

  • {name}.page.md
  • {name}.patch.md

This will be a breaking change for anyone using custom pages.

@niklasmohrin
Copy link
Collaborator

As I outlined in the issue thread, let's first find out how we want to handle this breaking change if we want it. Happy to continue discussion here once we are all on the same page :)

@niklasmohrin niklasmohrin marked this pull request as draft May 29, 2023 16:47
@dbrgn
Copy link
Collaborator

dbrgn commented Feb 11, 2024

As commented in #320 (comment), I think it's valuable to print a warning when pages with .page or .patch extension are found in the custom pages directory. This will be a small performance hit, but we can remove it again after 1-2 releases.

@zedseven would you be willing to add such a check?

@dbrgn dbrgn added the waiting-for-author The PR needs an update before it can be considered for merging. label Feb 11, 2024
@dbrgn
Copy link
Collaborator

dbrgn commented Feb 11, 2024

Could you add a breaking change warning to the docs?

diff --git a/docs/src/usage_custom_pages.md b/docs/src/usage_custom_pages.md
index 7024abd..d5d0f89 100644
--- a/docs/src/usage_custom_pages.md
+++ b/docs/src/usage_custom_pages.md
@@ -1,5 +1,13 @@
 # Custom Pages and Patches

+> ⚠️ **Breaking change in version 1.7.0:** The file name extension for custom
+> pages and patches was changed:
+>
+> - `<name>.page` → `<name>.page.md`
+> - `<name>.patch` → `<name>.patch.md`
+>
+> If you have custom pages or patches, you need to rename them.
+
 Tealdeer allows creating new custom pages, overriding existing pages as well as
 extending existing pages.

The branch also needs a rebase against main.

@zedseven
Copy link
Contributor Author

I've added the temporary check (when looking up any command), added your warning to the docs, rebased the branch onto the latest main, and fixed a bug I noticed with my initial implementation.

@zedseven zedseven marked this pull request as ready for review February 11, 2024 19:44
Copy link
Collaborator

@dbrgn dbrgn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks! I pushed some minor tweaks and fixes.

docs/src/usage_custom_pages.md Show resolved Hide resolved
src/cache.rs Show resolved Hide resolved
src/cache.rs Show resolved Hide resolved
@dbrgn dbrgn enabled auto-merge (squash) February 15, 2024 19:22
@dbrgn dbrgn merged commit 17c08f0 into tealdeer-rs:main Feb 15, 2024
9 checks passed
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Oct 16, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [dbrgn/tealdeer](https://github.com/dbrgn/tealdeer) | minor | `v1.6.1` -> `v1.7.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>dbrgn/tealdeer (dbrgn/tealdeer)</summary>

### [`v1.7.0`](https://github.com/dbrgn/tealdeer/blob/HEAD/CHANGELOG.md#v170-v170-2024-10-02)

[Compare Source](tealdeer-rs/tealdeer@v1.6.1...v1.7.0)

It's been 24 months since the last release, time for tealdeer 1.7.0! Thanks to
16 individual contributors, a few nice changes and features are included in
this release.

One change is that you can **query multiple platforms at once**. For example:

    tldr --platform openbsd --platform linux df

This will show the `df` page for OpenBSD (if available), followed by Linux (if
available), with fallback to the current platform on which tealdeer runs.

What's that `openbsd` thing up there? Yes, there's now **support for the BSD
platforms `freebsd`, `netbsd` and `openbsd`**.

And since we're already talking about platform support: Our **binary releases
now include builds for ARM64 (aka `aarch64`) on macOS (Apple Silicon, M1/M2/M3)
and Linux**. *(Keep in mind that binary releases are generated in CI and are
unsigned. For a trusted build, please compile from source.)*

There's also a breaking change for the folks using [custom pages and
patches](https://tealdeer-rs.github.io/tealdeer/usage_custom_pages.html): These
files now use a `.md` extension. Old files will continue to work, but will
result a deprecation warning being printed when used.

On a personal note, this will be the last release from me
([Danilo](https://github.com/dbrgn/)) as primary maintainer of tealdeer. For
details, see [#&#8203;376](tealdeer-rs/tealdeer#376).

Changes:

-   \[added] Allow querying multiple platforms (\[[#&#8203;300](tealdeer-rs/tealdeer#300)])
-   \[added] Add BSD platform support (\[[#&#8203;354](tealdeer-rs/tealdeer#354)])
-   \[added] Allow building with native-tls in addition to rustls (\[[#&#8203;303](tealdeer-rs/tealdeer#303)])
-   \[changed] Change custom page files to use a `.md` file extension (\[[#&#8203;322](tealdeer-rs/tealdeer#322)])
-   \[changed] Update to clap v4 for doing command line parsing (\[[#&#8203;298](tealdeer-rs/tealdeer#298)])
-   \[changed] Performance optimization in LineIterator (\[[#&#8203;314](tealdeer-rs/tealdeer#314)])
-   \[changed] Performance optimizations by tweaking Cargo flags (\[[#&#8203;355](tealdeer-rs/tealdeer#355)])
-   \[changed] Include completions in published crate (\[[#&#8203;333](tealdeer-rs/tealdeer#333)])
-   \[changed] Minimal supported Rust version is now 1.75 (\[[#&#8203;298](tealdeer-rs/tealdeer#298)])
-   \[fixed] Fix bash/zsh/fish completions when cache is empty (\[[#&#8203;327](tealdeer-rs/tealdeer#327)], \[[#&#8203;331](tealdeer-rs/tealdeer#331)])
-   \[docs] Publish docs only when tagging a release (\[[#&#8203;362](tealdeer-rs/tealdeer#362)])
-   \[docs] List Scoop and Debian packages (\[[#&#8203;305](tealdeer-rs/tealdeer#305)], \[[#&#8203;315](tealdeer-rs/tealdeer#315)])
-   \[docs] Add "Tips and Tricks" chapter to user manual (\[[#&#8203;342](tealdeer-rs/tealdeer#342)])
-   \[docs] Various docs improvements (\[[#&#8203;293](tealdeer-rs/tealdeer#293)])
-   \[chore] Improvements to CI workflows (\[[#&#8203;324](tealdeer-rs/tealdeer#324)])
-   \[chore] Update Cargo.toml license field following SPDX 2.1 (\[[#&#8203;336](tealdeer-rs/tealdeer#336)])
-   \[chore] Dependency updates

Contributors to this version:

-   \[Adam Henley]\[[@&#8203;adamazing](https://github.com/adamazing)]
-   \[Andrea Frigido]\[[@&#8203;frisoft](https://github.com/frisoft)]
-   \[Blair Noctis]\[[@&#8203;nc7s](https://github.com/nc7s)]
-   \[Danilo Bargen]\[[@&#8203;dbrgn](https://github.com/dbrgn)]
-   \[Felix Yan]\[[@&#8203;felixonmars](https://github.com/felixonmars)]
-   \[Iliia Maleki]\[[@&#8203;iliya-malecki](https://github.com/iliya-malecki)]
-   \[JJ Style]\[[@&#8203;jj-style](https://github.com/jj-style)]
-   \[K.B.Dharun Krishna]\[[@&#8203;kbdharun](https://github.com/kbdharun)]
-   \[Linus Walker]\[[@&#8203;Walker-00](https://github.com/Walker-00)]
-   \[Mohit Raj]\[[@&#8203;agrmohit](https://github.com/agrmohit)]
-   \[Nicolai Fröhlich]\[[@&#8203;nifr](https://github.com/nifr)]
-   \[Niklas Mohrin]\[[@&#8203;niklasmohrin](https://github.com/niklasmohrin)]
-   \[[@&#8203;qknogxxb](https://github.com/qknogxxb)]\[[@&#8203;qknogxxb](https://github.com/qknogxxb)]
-   \[[@&#8203;tveness](https://github.com/tveness)]\[[@&#8203;tveness](https://github.com/tveness)]
-   \[Y.D.X.]\[[@&#8203;YDX-2147483647](https://github.com/YDX-2147483647)]
-   \[Zacchary Dempsey-Plante]\[[@&#8203;zedseven](https://github.com/zedseven)]

Thanks!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting-for-author The PR needs an update before it can be considered for merging.
Development

Successfully merging this pull request may close these issues.

Custom Pages With .md Extension
3 participants