Enhancement: Simple mode for a focus on managing front matter #191

Closed
opened 2026-10-05 02:32:31 +02:00 by adam · 10 comments
Owner

This extension has promise for managing front matter even when you don't have a need for publishing files with a static site generator. One example use case is managing a large amount of markdown files generated by Obsidian. Maybe Obsidian would be a more appropriate environment to build these tools into, but this extension has a good start and may still have a better interface for this.

A simple mode could provide settings to remove items related to publishing, such as the server, preview URL's, SEO, etc. The dashboard could still be useful for summarizing as it does now. Maybe the publishing workflow wouldn't be needed, but that's easy enough to deal with given the settings already provided.

This extension has promise for managing front matter even when you don't have a need for publishing files with a static site generator. One example use case is managing a large amount of markdown files generated by Obsidian. Maybe Obsidian would be a more appropriate environment to build these tools into, but this extension has a good start and may still have a better interface for this. A simple mode could provide settings to remove items related to publishing, such as the server, preview URL's, SEO, etc. The dashboard could still be useful for summarizing as it does now. Maybe the publishing workflow wouldn't be needed, but that's easy enough to deal with given the settings already provided. <!-- github-sync-id:1120509773 -->
adam closed this issue 2026-10-05 02:32:31 +02:00
Author
Owner

Haven't used Obsidian, maybe I need to get myself familiar with it.

So if we have a setting where you can define which type of functionalities you want to enable or disable. It would make this kind of request possible. Thinking of a sort of feature flags. We can define what falls under local development, management, ... By default all is enabled, but if you remove local development from the list, all related UI elements will be hidden.

Haven't used Obsidian, maybe I need to get myself familiar with it. So if we have a setting where you can define which type of functionalities you want to enable or disable. It would make this kind of request possible. Thinking of a sort of `feature flags`. We can define what falls under local development, management, ... By default all is enabled, but if you remove local development from the list, all related UI elements will be hidden. <!-- github-comment-id:1027673440 -->
Author
Owner
{
	"frontMatter.global.features": ["local-development", "management", ...]
}
```json { "frontMatter.global.features": ["local-development", "management", ...] } ``` <!-- github-comment-id:1027674892 -->
Author
Owner

Might be cool to have a toggle to enable 'Simple' mode that uses the "frontMatter.global.features" array for the UI and then when that is toggled to 'Default' you see all possible UI elements.

Might be cool to have a toggle to enable 'Simple' mode that uses the "frontMatter.global.features" array for the UI and then when that is toggled to 'Default' you see all possible UI elements. <!-- github-comment-id:1030724046 -->
Author
Owner

Thanks @zivbk1, really like this idea of having a simple mode.

Thanks @zivbk1, really like this idea of having a simple mode. <!-- github-comment-id:1031212422 -->
Author
Owner

Have been thinking about this enhancement again. What if you can define multiple modes?

To clarify, what I'm thinking of, is that you can define your own modes, this way, show/hide enable/disable from the UI. With another setting, you can define the default mode to load.

"frontMatter.global.activeMode": "",
"frontMatter.global.modes": [
  {
    "id": "minimal",
    "features": [
      "panel_actions",
      "..."
    ]
  }
]
Have been thinking about this enhancement again. What if you can define multiple modes? To clarify, what I'm thinking of, is that you can define your own modes, this way, show/hide enable/disable from the UI. With another setting, you can define the default mode to load. ```json "frontMatter.global.activeMode": "", "frontMatter.global.modes": [ { "id": "minimal", "features": [ "panel_actions", "..." ] } ] ``` <!-- github-comment-id:1084270795 -->
Author
Owner

That would be great, then would there be a way to switch them from the UI?

That would be great, then would there be a way to switch them from the UI? <!-- github-comment-id:1084583335 -->
Author
Owner

Of course, there is a command available for it, or via the following buttons

Screenshot 2022-03-31 at 15 52 30
Screenshot 2022-03-31 at 15 49 20

Of course, there is a command available for it, or via the following buttons ![Screenshot 2022-03-31 at 15 52 30](https://user-images.githubusercontent.com/2900833/161071658-42f53fad-f065-4f5f-8239-e8f2a1a7c0c0.png) ![Screenshot 2022-03-31 at 15 49 20](https://user-images.githubusercontent.com/2900833/161071664-58e79e50-9c21-4121-9a52-12325585bc7b.png) <!-- github-comment-id:1084616915 -->
Author
Owner

Perfect

Perfect <!-- github-comment-id:1084621762 -->
Author
Owner

The set of features to enable in your mode are the following:

  • panel.globalSettings
  • panel.seo
  • panel.actions
  • panel.metadata
  • panel.recentlyModified
  • panel.otherActions
  • dashboard.snippets.view
  • dashboard.snippets.manage
  • dashboard.data.view
The set of features to enable in your mode are the following: - panel.globalSettings - panel.seo - panel.actions - panel.metadata - panel.recentlyModified - panel.otherActions - dashboard.snippets.view - dashboard.snippets.manage - dashboard.data.view <!-- github-comment-id:1084677629 -->
Author
Owner

Example configuration:

"frontMatter.global.activeMode": "",
"frontMatter.global.modes": [
  {
    "id": "minimal",
    "features": [
      "panel.metadata",
      "panel.globalSettings",
      "panel.seo",
      "dashboard.data.view",
      "dashboard.snippets.view"
    ]
  }
]
  1. When frontMatter.global.activeMode is not set, it will show the default view.
  2. When you switch to another mode, minimal in this case. It will only be for the current session and will not update the settings. That way, you will not override the experience when you commit your changes.
Example configuration: ```json "frontMatter.global.activeMode": "", "frontMatter.global.modes": [ { "id": "minimal", "features": [ "panel.metadata", "panel.globalSettings", "panel.seo", "dashboard.data.view", "dashboard.snippets.view" ] } ] ``` 1. When `frontMatter.global.activeMode` is not set, it will show the default view. 2. When you switch to another mode, `minimal` in this case. It will only be for the current session and will not update the settings. That way, you will not override the experience when you commit your changes. <!-- github-comment-id:1084718289 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/vscode-front-matter#191