kantas-spike / idea_bank

Hugo Theme for Idea Bank
MIT License
0 stars 0 forks source link

idea_bank

アイデアバンク用のThe world’s fastest framework for building websites | Hugoのテーマです。

アイデアバンクとは、Free Your Inner Nonfiction Writer: Educate, Influence, and Entertain Your Readers by Johanna Rothmanで紹介さている、シンプルな執筆システムです。

アイデアバンクは、日々、思い浮んだアイデアを書き留めておく場所のことです。 それらのアイデアをもとに書き止めた短い文章をまとめておく場所でもあります。

また、Free Your Inner Nonfiction Writerでは、この"アイデアをもとに書き止めた短い文章"のことをFieldstones(自然石)と呼んでいます。[^1]

何かを執筆する時には、アイデアバンクからアイデアや自然石を選んで執筆します。 そして、執筆の結果、新たに思いついたり、学んだ事は、アイデアや自然石としてアイデアバンクに追加していきます。

アイデアバンクはアイデアバンクの更新執筆のサイクルを繰り返しながら執筆していくシステムになります。

インストール

Quick start | Hugoに従って、Hugoのサイトを生成してください。

ここでは、例としてmybankというディレクトリにサイトを作ります。

hugo new site mybank

Hugoのモジュールとして、本テーマをインストールしたいので、 以下のコマンドにより、サイト自体もHugoのモジュール化します。

cd mybank
hugo mod init mybank

次に、本テーマをモジュールとして取得します。

hugo mod get github.com/kantas-spike/idea_bank

hugo.tomlの設定を変更し、idea_bankテーマをモジュールとしてインポートします。

さらに、テーマに必要な以下の設定をhugo.tomlに追加します。

# ..略..
[module]
  # テーマで使用するアセットの登録
  [[module.mounts]]
    source = "assets"
    target = "assets"
  [[module.mounts]]
    source = "hugo_stats.json"
    target = "assets/watching/hugo_stats.json"
  # テーマのインポート
  [[module.imports]]
    path = 'github.com/kantas-spike/idea_bank'
# ..略..
#  テーマで利用するtailwindcss用の設定
[build]
  writeStats = true

[[build.cachebusters]]
  source = 'assets/watching/hugo_stats\.json'
  target = 'theme\.css'
[[build.cachebusters]]
  source = '(postcss|tailwind)\.config\.js'
  target = 'css'
# ..略..
# シンタックスハイライトの設定
[markup.highlight]
  noClasses = false

# `hugo new content xxx --editor code`でvscodeを開けるように
[security.exec]
  allow = ['^dart-sass-embedded$', '^go$', '^npx$', '^postcss$', 'code']

最後に、テーマに必要なパッケージをインストールします。

以下を実行して、テーマで利用しているパッケージをサイト側で収集します。

hugo mod npm pack

そして、サイト側でパッケージをインストールします。

npm install

あとは、動作確認です。以下を実行してサーバーを起動します。 そして、をブラウザで開いてサイトが表示されるか確認しましょう。

hugo server

コンテンツの登録

アイデアも自然石も content/ideas ディレクトリに格納します。

コンテンツの種類は以下になります。

コンテンツ間の関連付け

コンテンツのFrontMatterrelationships:を関連するコンテンツのリンクを記載することで、 コンテンツ間の関連付けを行えます。

---
title: "アイデアバンクとは"
date: 2023-08-25T06:43:01+09:00
draft: false
categories:
- 自然石
tags:
relationships:
- /ideas/アイデアバンクを作る
---

アイデアバンクとは、シンプルな執筆支援システムです。
<!--more-->

何か書くことが必要になった時に助けてくれるネタ帳です。

日々思いついたアイデアや自然石を貯めておく場所です。

相互に関連付けをする場合は、手間ですが、他方のコンテンツのrelationships:にリンクを記載してください。^2

方針

[^1]: 自然石とはワインバーグの文章読本(伊豆原 弓 伊豆原 弓 Gerald M. Weinberg)|翔泳社の本で紹介された概念らしいです。