v1.1.0 Release
2023-06-22We are thrilled to announce the latest release of SuCoS, v1.1.0. The first automated weekly release. This version comes chock-full of new features that will significantly improve your user experience and streamline your content management process. The primary features introduced include:
- Markdown Extras
- Params
- URL with Liquid tokens
- Content URL Aliases
- Content Date, PublishDate, ExpiryDate and LastMod
- Section Pages
Let's take a closer look at these updates!
Markdown Extras
The power of Markdig, our reliable Markdown parser, just got an upgrade! Now, its default setting includes all built-in extensions. This means you can now create tables, citations, figures, mathematical formulas, auto-links, and more with ease and precision.
For example, to create a simple table, use the following format:
| Header 1 | Header 2 |
| -------- | -------- |
| Row 1 | Row 2 |
will become:
Header 1 | Header 2 |
---|---|
Row 1 | Row 2 |
Params
The Params feature allows all site and page YAML values without matching attributes in the FrontMatter or Site classes to be placed in a dictionary Params
. This opens the door for using custom fields in your templates. Here's how you can do it:
Create your content as shown below:
---
Title: My Page
MyCustomValue: HELLO
---
This is the *Markdown* content.
And use the custom value in your template:
<!-- It will create <span>HELLO</span> -->
<span>{{ page.Params.MyCustomValue }}</span>
URL with Liquid tokens
We've added a feature that enables Content URL fields to be parsed as a mini Liquid template. This means you can now use other content values, like title, path, or tags, to generate unique URLs. This feature provides a more efficient and dynamic URL creation process.
---
Title: My Page
Type: page
URL: "{{ page.Type }}/{{ page.Title }}" # it will become "/page/my-page"
---
This is the *Markdown* content.
Content URL Aliases
This feature allows content to have multiple URLs pointing to the same page. It's particularly useful when you're transitioning from legacy or old URLs or when you're generating small bitly
-like alternatives. Like regular URLs, aliases can also use tokens.
For example, define your aliases in the content file:
---
Title: My Page
Aliases:
- /legacy-url
- /short-url
- "{{ page.Type }}/{{ page.Title }}"
---
This is the *Markdown* content.
Content Date, PublishDate, ExpiryDate and LastMod
We've added support for these four date fields in the content front matter. Now, you can easily manage your content's publish and expiry dates, as well as track their last modification.
Important: SuCoS now ignore content that have Date
or PublishDate
set in the future, as well ExpiryDate
that is earlier than the current time. Use the Future command to include them
-f/--Future command line option
We have introduced a new build and serve command line option to include posts from the future (Date or PublishDate values later than the current time). This is particularly handy when you want to preview posts that will be displayed at a later time.
As we continue to improve SuCoS, we appreciate your feedback on these new features. Please feel free to share your thoughts and experiences as you explore SuCoS
Section pages
The very first folder inside content
defines each content's Section
. Pages, blog, tags... Now SuCoS automatically creates a page for each section. So you can now use https://example.com/blog
to get a list of all blog posts, by default.