npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ssg-for-glossary

v0.1.0

Published

用語集のための SSG (Static Site Generator)。

Downloads

24

Readme

SSG for Glossary

用語集のための SSG (Static Site Generator)。

用語 1 つにつき 1 つの Markdown ファイルが収められたディレクトリを読み取り、用語集として使える Web サイトを生成するためのライブラリおよびコマンドを提供します。

フォーマット

1 つの用語の説明を 1 つの Markdown ファイルに記載してください。すべての Markdown ファイルは特定ディレクトリ以下に配置します。

Markdown ファイルのファイル名は <用語>.md とします。たとえば、用語集 のためのファイルは 用語集.md です。

Markdown ファイルの中身は任意の GFM (GitHub Flavored Markdown) が使用できます。ただし、後述する用語の自動リンクと Front Matter について特別なルールがあります。

Markdown ファイル中に出現する用語は Markdown ファイルとして定義されていると自動的にハイパーリンクになります。たとえば、整理された用語集を使うと**理解の助け**となります。 のような Markdown の場合、ファイルとして 用語集.md が定義されていれば 整理された<a href="/用語集">用語集</a>を使うと<b>理解の助け</b>となります。 のような出力となります。

Markdown ファイルの先頭に用語のメタデータとなる Front Matter を埋め込むことができます。YAML で記述します。定義済みのメタデータは

| キー | 説明 | | ----- | ---------------------------------------------------------------------------------- | | kana | 用語の読み方。 | | alias | 用語の別名。リストで複数記載できる。ここに定義された単語でも自動リンクされる。 | | tag | 用語の分類。リストで複数記載できる。ここに記載された単語の専用ページが生成される。 |

サンプル

取説.md

---
kana: とりせつ
alias: 説明書
tag:
  - 一般
  - 最初に見ておいてほしい
---

整理された用語集を使うと**理解の助け**となります。

使い方

CLI

以下のコマンドを実行すると out ディレクトリに Web サイトが出力されます。

$ npx ssg-for-glossary <用語の Markdown ファイルが格納されたディレクトリ>

ライブラリ

import { generate } from "ssg-for-glossary";

async function main() {
  await generate({
    inputDir: "<用語の Markdown ファイルが格納されたディレクトリ>",
  });
}

カスタマイズ

import { copy, scan, read, render, put } from "ssg-for-glossary";

async function generate({ inputDir, outputDir }) {
  await copy(inputDir, outputDir);
  const filePaths = await scan(inputDir);
  const entries = await read(inputDir, filePaths);
  const pages = await render(entries);
  await put(outputDir, pages);
}