A Visual Studio Code extension that simplifies creating new Jekyll blog posts with proper frontmatter formatting and system-accurate timestamps using a dedicated panel.
- Create new Jekyll posts via an interactive Webview panel.
- Enter post title, categories, tags, and select layout easily within the panel.
- Add custom front matter options (key-value pairs) directly in the UI.
- Responsive design that adapts to panel size and uses VS Code theme colors.
- Webview UI is built with separate HTML, CSS, and JavaScript files for easier maintenance.
- Automatically formats the filename using the date and post title:
YYYY-MM-DD-title-slug.md. - Generates frontmatter with:
- Title (from your input)
- Layout (post, page, or custom)
- Categories (in array format:
["category1","category2"]) - Tags (in array format:
["tag1","tag2"]) - Date (using local system time with timezone offset)
- Any custom options you added.
- Automatically finds or creates the
_postsdirectory. - Opens the new post file for immediate editing after creation.
- Download the
.vsixfile from the Releases page - In VS Code, go to Extensions view (
Ctrl+Shift+X) - Click the
...menu in the top-right of the Extensions view - Select "Install from VSIX..." and choose the downloaded file
-
Clone the repository:
git clone https://github.com/nativvstudios/jekyll-post-creator.git cd jekyll-post-creator -
Install dependencies:
npm install
-
Package the extension:
npm run package
-
The packaged extension (
.vsixfile) will be created in the project root
- Press
Ctrl+Shift+P(orCmd+Shift+Pon macOS) to open the command palette. - Type
Jekyll: Create New PostorJekyll: Show Creator Windowand select either command. - A "Jekyll Post Creator" panel will open in your editor pane.
- Fill in the details in the panel:
- Title: The main title of your post.
- Categories: Space-separated words (e.g.,
tech tutorial). - Tags: Space-separated words (e.g.,
vscode extension javascript). - Layout: Select from the dropdown (
post,page,custom). - Additional Options: Click the "+ Add Option" button to add custom front matter fields (e.g., key:
comments, value:true). Use the "-" button to remove options.
- Click the "Create Post" button.
(Note: The context menu entry currently triggers the command palette flow, which opens the panel.)
For a post titled "My First Jekyll Post" with categories "life recap", tags "jekyll markdown", and a custom option published: true, the extension creates:
Filename: 2025-04-05-my-first-jekyll-post.md (date will match current system date)
Content:
---
layout: post
title: "My First Jekyll Post"
date: 2025-04-05 15:30:45 -0400
categories: ["life","recap"]
tags: ["jekyll","markdown"]
published: true
---
The extension will:
- Look for an existing
_postsdirectory in your workspace - If not found, it will either:
- Create the directory for you
- Let you select a different location
- Cancel the operation
- Visual Studio Code 1.74.0 or higher
