v2.2.1 Release: We are back!


After some weeks of development hiatus after the sad passing of my dog Mage Merlin, I'm back developing my juice. 2.2.0 was supposed to be 3.0.0 due the disrupting changes for the page resources. I hope anyone using the system found their way.

Anyway, let's try to summarize:


Bundle pages

You have three bundle types:

  • Branch (also called page bundles): content with filenames as index.md or _image.md. They are the hub and all other files in the folder will be considered as its resources.
  • Leaf: other markdown content in a folder
├── post/
    ├── my-article/
        ├── index.md          // Leaf bundle
        ├── image1.png        // Page resources
    ├──  articles-list/
        ├── _index.md         // Branch bundle
        ├── content2.md       // Page resources
        ├── another-article/
            ├── index.md      // Leaf bundle
            ├── image2.png    // Page resources


Resources can be accessed and printed in the templates:

{% for resource in page.Resources %}
  <ul><a href="{{ resource.Permalink }}">{{ resource.Title }} (FileName: {{ resource.FileName }})</a></ul>
{% endfor %}

Resources Definition

You can set the title of the resources and rename the assets directly on the front matter metadata.

- src: '*specs.pdf'
  title: 'Specification #{{counter}}'
- src: '*.pdf'
  name: "pdf-file-{{counter}}"
- src: '*.jpg'
  name: "{{title}}-{{counter}}"
  title: "{{title}}-{{counter}}"

The results would be:

Resource file Name Title
checklist.pdf "pdf-file-1.pdf "checklist.pdf"
guide.pdf "pdf-file-2.pdf "guide.pdf"
other_specs.pdf "pdf-file-3.pdf "Specification #1"
photo_specs.pdf "pdf-file-4.pdf "Specification #2"
my-photo.jpg "posttitle-5.jpg "posttitle-5.jpg"
my-kids.jpg "posttitle-5.jpg "posttitle-5.jpg"

Other 2.2.1 changes

  • We're replacing the outdated Microsoft.AspNetCore, that is going to be deprecated, with System.Net for the live server.
  • We've updated some key packages:
    • Fluid.Core* from 2.4.0 to 2.5.0
    • Markdig* from 0.31.0 to 0.33.0
    • Microsoft.NET.Test.Sdk* from to 17.7.2
    • Nuke.Common* from 7.0.2 to 7.0.6
    • Serilog* from 3.0.0 to 3.0.1
    • YamlDotNet* from 13.1.0 to 13.7.1
  • For smoother unit testing and URL generation, we're making sure everything uses Unix path style, especially when dealing with code that relies on paths.