8000
Skip to content
View hotasdye's full-sized avatar
  • バーサイドコー

Block or report hotasdye

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
hotasdye/README.md

hotasdye

今後このプロジェクトはメンテナンスされません。代わりに、後継プロジェクトであるsdenvを利用してください。


kanColleWidget

静的サイト構築のためのフロントエンド開発環境です。ページ数の多いサイトも柔軟かつ快適に開発できます。静的サイトジェネレーターの EleventyVite を中心に構成されています。

特徴

導入

要求開発環境:

  • macOS、Windows、Linux
  • Node.js 16 以降

依存パッケージのインストール:

npm ci

ローカルサーバーの起動:

npm run dev

ディレクトリ構成

.
├── dist/
│   ├── assets/
│   │   ├── images/
│   │   │   └── ogp.png
│   │   ├── main.[hash].css
│   │   └── main.[hash].js
│   ├── favicon.ico
│   └── index.html
├── public/
│   ├── assets/
│   │   └── images/
│   │       └── ogp.png
│   └── favicon.ico
├── src/
│   ├── scripts/
│   │   ├── components/
│   │   │   └── example.ts
│   │   ├── stores/
│   │   │   └── example.ts
│   │   └── main.ts
│   ├── site/
│   │   ├── data/
│   │   │   └── metadata.js
│   │   ├── includes/
│   │   │   ├── layouts/
│   │   │   │   └── base.pug
│   │   │   ├── mixins/
│   │   │   │   └── page-title.pug
│   │   │   └── partials/
│   │   │       └── site-menu.pug
│   │   └── pages/
│   │       ├── index.11tydata.js
│   │       └── index.pug
│   └── styles/
│       └── main.css
├── .eleventy.js
├── config.js
└── package.json

src ディレクトリ

サイト本体のソースコードを配置します。

src/site ディレクトリ

Eleventy で生成するページやそのデータファイル、その他 Eleventy に関するファイルを配置します。

src/scripts/components ディレクトリ

Alpine.js のコンポーネントを配置します。

src/scripts/stores ディレクトリ

Alpine.js の Store を配置します。

public ディレクトリ

コンパイル等の処理を行わず、そのまま公開されるファイルを配置します。dist ディレクトリ直下にコピーされます。

dist ディレクトリ

ビルドされたファイルが当該ディレクトリに出力されます。

開発用コマンド

npm run dev

ローカルサーバーを起動して、ファイルの変更監視を行います。

npm run build

本番用にビルドしたファイルを dist ディレクトリに出力します。

npm run preview

本番用にビルドしたファイルをプレビューできる静的サーバーを起動します。事前に npm run build を実行しておく必要があります。http://localhost:4173 から確認できます。

npm run format

Prettier を利用して、ファイルの自動整形を行います。

GitHub Actions によって、GitHub リポジトリにプッシュされるたびに当該コマンドが自動実行されます。

サブディレクトリでの公開

サブディレクトリでサイトが公開される場合、config.js を次のように記述することでビルド設定を変更できます。

const config = {
	// root: `/`
	// subdir: `/path/to/subdir/`
-	pathPrefix: "/",
+	pathPrefix: "/my-subdir/",
};

EleventyPug テンプレート内でサブディレクトリのパスを解決するためには、f.url() 関数を使用する必要があります。

-a(href="/about/") 私たちについて
+a(href=f.url('/about/')) 私たちについて

Vite 環境でビルドされる JavaScript か TypeScript からサブディレクトリのパスを参照するには、import.meta.env.BASE_URL 変数を使用します。

import.meta.env.BASE_URL; // "/my-subdir/"

推奨ライブラリ

  • eleventy-navigation: 階層構造になったナビゲーションやパンくずリストを生成する Eleventy プラグイン
  • eleventy-img: 指定した画像を複数のサイズと形式で出力する Eleventy プラグイン
  • eleventy-fetch: 外部ネットワークに依存する、取得に時間がかかるデータをキャッシュするための Eleventy プラグイン

Pinned Loading

  1. frontend-example frontend-example Public

    『フロントエンドの知識地図』のサンプルファイル

    Python

  2. hotasdye hotasdye Public

    Pug

  3. WebRTC WebRTC Public

    様々な環境向けの WebRTC のビルドを行って、そのバイナリを提供しています

    TypeScript

  4. yarnse yarnse Public

    ZEN Study プログラミングコースの教材リポジトリ yarnの練習

    Python

0