Skip to content

Recent posts

v1.3.1 - 2024-04-21

It's a quick release related to bug fixes I have found when trying to update one of my own pages with v1.3.0. There is no new functionality here, only fixes related mostly to rewritten functionality of meta plugin . I definitely need to work on some additional E2E tests to cover some of the aspects because this functionality was fully covered with unit tests.

Read more

v1.3.0 - 2024-04-18

It has been a long journey since the last release in October 2023. A lot has happened in my life that is not related to this project, so I didn't have too much time to work on it. But finally, there it is, v1.3.0.

Because I wanted to add an overview functionality that will unlock the possibility to use Folder Notes plugin for Obsidian, I had to rewrite almost the whole meta plugin . It was a good exercise because it allowed me to simplify the code and add unit tests, so it will be easier to maintain the plugin quality for a longer period of time.

While working on the meta plugin rewrite, I found that some backlinks are not working correctly. Fortunately, I was already working on the meta plugin where all the stuff related to links is living, so I made the fix during the rewrite.

As for unit tests for a whole project, it's just the beginning of the work. So far, I have "only" 179 tests, that covers about 38% of the whole project code. Delivering 100% test coverage will be a hard and time-consuming task, but I will try to raise the bar on each release.

There were also many smaller things added and/or changed inside a project tooling that will help me in the future to maintain good project quality and with new releases.

Unfortunately, I still didn't find much time to work on documentation extension and for preparing a template repository. I feel the need to do it, but those 2 tasks are connected, so probably both of them will be delivered at the same time.

As I'm writing this words, this project is waiting to be added to the mkdocs catalog that is a list of awesome MkDocs plugins. If you like this project, consider adding the star in project GitHub repository .

Read more

v1.2.0 - 2023-10-17

This release adds some more control over minifier plugin by adding the following settings:

  • cache_enabled - controls if cache is enabled both globally and per file type (cache is enabled by default),
  • exclude - list of files and/or directories that are excluded from minification both globally and per file type (by default list of exclusion is empty),
  • extensions - defines file extensions for each file type.

Exclusion file name pattern

exclude setting allows defining exact match like some_file.jpg or by pattern like some_jpg_files_in_dir/some*.jpg . To match all subdirectories, you have to use ** as a pattern, for example match_all_files_in_subdirs/**/* .

Use it with caution, since using this pattern can be time-consuming (more information can be found at this link ).

The obsidian plugin, now supports:

I have also added some issue templates on project repository, so if you find some issue or have a future request, fell free to report a new issue .

Read more

v1.1.1 - 2023.10.10

This release is probably one of the most important ones for this project, but was also a bit problematic. You can ask why?

The biggest problem that I had, was about numbering this release. Because I wanted to bump all main dependencies (mainly Material for MkDocs ) i found that one of the metadata key names was colliding with Material for MkDocs and leading to unexpected behavior. I had to change it and for that reason, I was wondering how to handle this event. From one point of view, this is somehow braking change and I should create a v2.0.0, but didn't feel like this is release is big enough. It doesn't include any new functionality and is focused on bug fixes and internal improvements.

Publication status key rename

Pub-meta document or directory status metadata key has been renamed from status to publish . This change solves 2 problems:

  1. Conflict of the key name with Material for MkDocs .

  2. Default name of the key is now the same as for Obsidian publish .

If you want to use old key name, you can do it by changing key name in mkdocs.yml file.

Thanks to @AgedLace who is right now the most active user and tester of this project, I managed to fix all the problems with links (both wiki and Markdown syntax). There is much more to come in the area of Obsidian syntax support in the near future, like:

I will also create an entire section of the documentation related to Obsidian support (right now there is only a section on how to set it up ), so stay turned.

Some of you are still waiting for documentation about auto publication using GitHub Actions and some template repository, but it's under development and not yet (fully) ready. If you know how GitHub Actions works, you can take a look at this repository file deploy pages workflow . It's used for building this documentation that is pushed into docs branch after build. In the future, I'm planning to create a GitHub Action that will do all of it as a single step.

Also, there was a lot of happening in the project backstage, like new linter, added unit tests (partly code coverage) and some other small tweaks etc. A lot more things will come in upcoming releases.

Read more

v1.1.0 - 2023-09-01

Here I am with a new version of Publisher for MkDocs plugins. I have promised to make smaller releases, but my brain is refusing me to work on a small scale. It's really hard to achieve that, especially when I started to have some feedback from you, users of this tool. Because of that feedback and some problems you encountered, I decided to focus in this release on 2 main topics: some bug fixing and introducing a new plugin called pub-debugger . This plugin allows for an insight into all messages produced by plugins while building (or serving) a web page. Also, it's able to produce a ZIP file, with some basic information that could help me, whenever you will need to report an issue .

Privacy disclaimer

pub-debugger plugin do not send any files over the internet, but if you want to use a Zip file as an attachment for an issue submission or share it with anybody, please make a review of the content of this archive file.

Please remember

It's your data and your responsibility what you are publishing over the internet. This plugin is only giving you the tool that should help, and you cannot blame me (the author of this plugin) for any potential data leaks.

There is also one very crucial topic related to this project name. When I shared information about Publisher for MkDocs over an official community forum the developer of an Obsidian GitHub Publisher plugin provided me information that we have some conflict related to our plugins name. We were also spoken privately over Discord and came to some agreement related to our work. More information can be found in this thread , but in short:

  • My set of MkDocs plugins will be called Publisher for MkDocs since my work is related to MkDocs with additional support for Obsidian as an IDE/text editor,
  • Mara-Li Obsidian plugin will be called GitHub Publisher since her work is related to Obsidian with the possibility to use MkDocs as a beck-end for publication.

In the feature, some elements of this project could be part of Mara-Li work, but it's her decision. I will continue working on this project and help her with some potential issues solving.

I have also spent some time on unification of look the setup documentation. Previously, documentation was created a similar way as Material for MkDocs is doing it, but I decided to drop this approach and simplify it a little bit. Most of the work was around configuration options, that was too verbose. Currently, all configuration options related to given functionality are gathered in a single code block with their default values, so it's easier to copy it to yours mkdocs.yaml file. As a result, all descriptions related to those options are placed below this code block, so it's easy to find the information about it. I hope it's now easier to navigate and understand all the configuration options.

A lot of you have been asking me about comparison to other tools and I have answered to them in this Reddit thread . I have a plan to gather all this information and create a separate document about this (and also to some credits to projects I get inspiration from), but simply didn't have time for that so far.

There were also some requests related to the publication process. I'm aware that this is the biggest lacking right now of this project that is supposed to be related to publishing, and I will definitely solve this soon. There is an upcoming update related to that as:

  • GitHub template repository,
  • Docker image,
  • GitHub Action,
  • documentation.

I don't promise that all of the above will be ready in the next release, but some of them will be for sure.

Read more