Counts the Clouds

Node.jsでAstroの新しい記事のひな型を生成する
2024.03.30

Node.js

isabella-fischer-ynfmVbvunQU-unsplash.jpg

このブログをGatsbyで作ったときは、新しい記事のひな型をコマンドで生成できた記憶があるのだが、いま調べてもそのような情報に行き当たらなかった。

Astro周辺で同じような機能を探してみたがないようなので、npm scriptで動くものを簡単に作ってみた。

% mkdir scripts
% touch scripts/new.js
// new.js
import fs from "fs";
import path from "path";

const slug = process.argv[2] || `new-post-${Date.now()}`;
const contentPath = path.resolve(`${process.cwd()}`, "src/content/posts/", `${slug}.md`);
const content = `---
title: "New Post"
description: "This is a new post."
date: ${new Date().toISOString()}
---

`;

fs.writeFileSync(contentPath, content);
{
  "scripts": {
    "new": "node ./scripts/new.js"
  }
}
% node -v
v18.18.0
# 使い方
% npm run new
# slugを指定して生成
% npm run new new-post-slug