« ^ »

hugoで特定のディレクトリを無視する

所要時間: 約 3分

この文書を書いた時にはまだマージされていなかったが、ついにこの機能はマージされたようだ。文章を書き直す時間がとれそうにないので、とりあえずこの事実と関連のありそうなリンクを幾つか追加しておく。

以下の文章は、まだこの機能がマージされていなかった頃に書いた内容となる。

状況

PRは提出されているが進んでいない。 https://github.com/gohugoio/hugo/pull/5649

実装方法に意見の相違があるみたい。 https://github.com/gohugoio/hugo/pull/5649#issuecomment-553547333

合意はされているけれど、作業をする時間がない。 https://github.com/gohugoio/hugo/pull/5649#issuecomment-554901026

指摘されている実装方法

To my knowledge, ignoreFiles has always been just content files. I have updated the docs to reflect this. This means that we cannot repurpose that same setting to also include some other random files without breaking sites in the wild. Assuming I have this in my config:

私の知る限り、ignoreFilesは常に単なるコンテンツファイルでした。これを反映するようにドキュメントを更新しました。これは、同じ設定を再利用して、実際にサイトを壊さずに他のランダムファイルも含めることができないことを意味します。私の設定にこれがあると仮定します:

ignoreFiles = [ "\\.jpg$" ]

I wanted to ignore /content/blog.jpg, but certainly not /static/images/cat.jpg or /assets/images/cat.jpg.

content/blog.jpgを無視したかったのですが、 static / images /cat.jpgや/assets/images/cat.jpgは無視しませんでした。

That said, I do understand the need for all of this, and I agree that doing this on this as a file system wrapper makes sense.

そうは言っても、私はこれらすべての必要性を理解しており、ファイルシステムラッパーとしてこれを行うことが理にかなっていることに同意します。

But I don't want us to build this on top of some legacy config when it doesn't match particularly well.

しかし、特にうまく一致しない場合は、従来の構成の上にこれを構築したくありません。

I'm doing some work adding Goldmark as the new default Markdown renderer now, and 90% of that work is to split what we have into packages.

現在、新しいデフォルトのMarkdownレンダラーとしてGoldmarkを追加する作業を行っています。その作業の90%は、所有しているものをパッケージに分割することです。

So, what I suggest we do is to add a new config element called files:

したがって、私が提案するのは、filesという新しい構成要素を追加することです。

[files]
[[files.ignore]]
fileSystem = "static" (or "all"))
expressions = [ "\\.jpg$" ]
[files]
[[files.ignore]]
fileSystem = "content")
expressions = [ "\\.jpg$" ]

See https://github.com/gohugoio/hugo/blob/master/hugofs/files/classifier.go#L76 for the "file system classifiers".

「ファイルシステム分類子」については、https://github.com/gohugoio/hugo/blob/master/hugofs/files/classifier.go#L76を参照してください。

And then decode that config into files.Config and use that when building the different filesystems.

次に、その構成をfiles.Configにデコードし、さまざまなファイルシステムを構築するときに使用します。

Also remember to consider the "legacy option" and remove all other usage of that.

また、「レガシーオプション」を検討し、他のすべての使用法を削除することを忘れないでください。

https://github.com/gohugoio/hugo/blob/master/hugofs/files/classifier.go#L76