# Add a markdown preprocessor

**URL:** <https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451>\
**Category:** Feature archive\
**Created:** [June 8, 2020, 11:50am UTC](https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451 "2020-06-08T11:50:01Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![tritlo](https://forum.obsidian.md/user_avatar/forum.obsidian.md/tritlo/32/769_2.png) [@tritlo](https://forum.obsidian.md/u/tritlo)\
**Post date:** [June 8, 2020, 11:50am UTC](https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451/1 "2020-06-08T11:50:01Z")

</div>

Adding an explicit pre-processor would be great. They could turn commands such as {{today}} into the correct link (e.g. when you open a daily note, the title could be {{today}}, today would be rendered as 2020-06-08). Same could work for {{yesterday}} and {{tomorrow}}, {{this week}} and so on. Of course, having a general pre-processor goes beyond mere relative links, they could also be used for loading remote resources, or even running general scripts!

---

<div class="post-metadata">

**Author:** ![bendotk](https://forum.obsidian.md/user_avatar/forum.obsidian.md/bendotk/32/2256_2.png) [@bendotk](https://forum.obsidian.md/u/bendotk)\
**Post date:** [July 8, 2020, 7:09pm UTC](https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451/2 "2020-07-08T19:09:45Z")

</div>

I would love this feature. I am migrating from Roam and really miss the `/today`, `/tomorrow` and `/yesterday` macros. Adding a preprocessor like this would be a lovely way to introduce the general functionality.

---

<div class="post-metadata">

**Author:** ![amirography](https://forum.obsidian.md/user_avatar/forum.obsidian.md/amirography/32/1876_2.png) [@amirography](https://forum.obsidian.md/u/amirography)\
**Post date:** [July 9, 2020, 6:08am UTC](https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451/3 "2020-07-09T06:08:25Z")

</div>

This would allow for some great template making.

---

<div class="post-metadata">

**Author:** ![Springpeace](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/s/edb3f5/32.png) [@Springpeace](https://forum.obsidian.md/u/Springpeace)\
**Post date:** [August 5, 2021, 1:56pm UTC](https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451/4 "2021-08-05T13:56:06Z")

</div>

Pre-processor feature is really missing in Obsidian. And also post-process with easy string replacing, because DOM manipulation is little bit overkill for some cases. Could you please bring this features as soon as possible? As I am also developer, I could help with that maybe.

---

<div class="post-metadata">

**Author:** ![Pemperor](https://forum.obsidian.md/letter_avatar_proxy/v4/letter/p/f1d935/32.png) [@Pemperor](https://forum.obsidian.md/u/Pemperor)\
**Post date:** [June 19, 2025, 3:11pm UTC](https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451/5 "2025-06-19T15:11:34Z")

</div>

It has been a couple of years, but it seems like it is possible: [Is there a pre-render pre-processor callback?](https://forum.obsidian.md/t/is-there-a-pre-render-pre-processor-callback/72530)

---

<div class="post-metadata">

**Author:** ![WhiteNoise](https://forum.obsidian.md/user_avatar/forum.obsidian.md/whitenoise/32/11_2.png) [@WhiteNoise](https://forum.obsidian.md/u/WhiteNoise)\
**Post date:** [June 19, 2025, 10:14pm UTC](https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451/6 "2025-06-19T22:14:37Z")

</div>

This is an old feature request.  
For basic user, this feature was implemented in the templates plugin.

For plugin developers see the thread link by pemperor.

---

<div class="post-metadata">

**Author:** ![system](https://forum.obsidian.md/uploads/default/original/3X/b/e/bec35fbd23ab28909bb6bfe62cb32eb82dd34019.png) [@system](https://forum.obsidian.md/u/system)\
**Post date:** [July 17, 2025, 10:15pm UTC](https://forum.obsidian.md/t/add-a-markdown-preprocessor/1451/7 "2025-07-17T22:15:25Z")

</div>

Closed on July 17, 2025, 10:15pm UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
