estruyf / vscode-front-matter

Front Matter is a CMS running straight in Visual Studio Code. Can be used with static site generators like Hugo, Jekyll, Hexo, NextJs, Gatsby, and many more...
https://frontmatter.codes
MIT License
2.04k stars 84 forks source link

Issue: Preview urls generated using local time zone rather than UTC #887

Open nyergler opened 2 weeks ago

nyergler commented 2 weeks ago

I'm using Front Matter with a Hugo blog. My permalinks include the post date, and I have the following in my FM configuration:

  "frontMatter.preview.pathName": "{{date|yyyy/MM/DD}}/",

When I try to open the preview in the editor ("Front Matter: Preview content"), the URL opened is generated using the local timezone (UTC-8 for me), rather than UTC. This causes problems when the date in UTC does not match the date in my time zone.

For example, a post with the following front-matter:

date: 2017-07-06T04:03:44.000Z
slug: foo

Will be generated by Hugo at /2017/07/06/foo; however FM will open /2017/07/05/foo when I try to preview the content.

I'm not sure this is really a bug; it's more of an inconsistency between the framework and FM. I'm wondering if there's a way to configure the timezone for FM that I haven't found.

Thanks for FM; it's really cool!

estruyf commented 2 weeks ago

Thanks, @nyergler, for opening this issue. I'll see what I can do to resolve it.

estruyf commented 2 weeks ago

@nyergler I have included a new setting + change to the formatting logic. With the new frontMatter.global.timezone setting, you can define the timezone in which you want to format the dates.

The default is set to utc. In your case, it should now process the date as UTC and not in your timezone.

Can you verify this in the latest beta version?