問題タブ [metalsmith]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
static-site - 金属細工師でアクティブなメニュー項目をネイティブに設定するにはどうすればよいですか?
メイン ナビゲーションを備えたシンプルな静的サイトを取得しました。メタルスミス ジェネレーターを操作します。
現在のメニュー項目をアクティブに設定するネイティブな方法はありますか?
私の現在の自動化されていないソリューション:
次のような回避策を作成しました。
page1.md
上部に定義できるいくつかの変数を含むコンテンツのソースとしての MD ファイル:
と私のレイアウト HTML ファイルmain.html
. handlebars
エンジンとして使用される場所。ここにメニューの一部を投稿するだけです:
どちらも金属細工のレンダリングを行っています。メニューの Page1にcurrent
クラスがあります。
質問
私のソリューションはこれまでのところ機能していますが、サイトが拡大するにつれて. すべてのサイトの「現在」を何度も定義する必要があります。気をつけないと設定ミスにつながります... いくつかの専門分野があるので、メインのナビゲーション マークアップに自由を持たせたいと思っています。
または プラグインを使用してアクティブなメニュー項目を設定できますか、metalsmith-permalinks
またはmetalsmith-canonical
このケースに適した金属細工師のプラグインが存在するか、または別の巧妙な JS 操作を使用できますか?
javascript - Metalsmith レイアウトで「処理するファイルがありません」というエラーが発生する
コミュニティ主導の公式ドキュメントのチュートリアルに注意深く従いましたが、Handlebars と metalsmith-layouts を使用してプロジェクトをコンパイルできませんでした。「Metalsmith · 処理するファイルがありません」というエラーが発生しました。
これが私のディレクトリ構造です:
build.js:
および main.hbs: