mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-09-14 04:35:29 +02:00
SEO init (#4197)
# Description of Changes This pull request introduces dynamic document meta tag management and improves URL routing and tool metadata handling in the frontend. The most significant changes are the addition of a custom hook to update document meta tags (including OpenGraph tags) based on the selected tool, enhancements to the tool selection context for better URL synchronization, and enrichment of the `Tool` type and tool registry with more metadata. **Dynamic document meta management:** * Added a new `useDocumentMeta` hook that updates the page's `<title>`, description, and OpenGraph meta tags based on the currently selected tool, and restores the original values on cleanup. (`frontend/src/hooks/useDocumentMeta.ts`) * Integrated `useDocumentMeta` into `HomePageContent` so the document's meta tags dynamically reflect the selected tool's metadata, improving SEO and social sharing. (`frontend/src/pages/HomePage.tsx`) [[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8) [[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17) [[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37) **Tool metadata and context improvements:** * Enhanced the `Tool` type and tool registry to include `title` and `description` fields, which are now translated and used throughout the UI and meta tags. (`frontend/src/types/tool.ts`, `frontend/src/hooks/useToolManagement.tsx`) [[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46) [[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118) * Updated the `ToolWorkflowContext` to use the new `Tool` type for `selectedTool`, replacing the previous `ToolConfiguration` type. (`frontend/src/contexts/ToolWorkflowContext.tsx`) [[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8) [[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72) **URL routing and synchronization:** * Implemented logic in `ToolWorkflowContext` to synchronize the selected tool with the browser URL, initialize tool selection from the URL on load, and handle browser navigation (back/forward) for tool selection. (`frontend/src/contexts/ToolWorkflowContext.tsx`) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
This commit is contained in:
@@ -347,7 +347,7 @@
|
||||
"title": "回転",
|
||||
"desc": "PDFを回転します。"
|
||||
},
|
||||
"imageToPdf": {
|
||||
"imageToPDF": {
|
||||
"title": "画像をPDFに変換",
|
||||
"desc": "画像 (PNG, JPEG, GIF) をPDFに変換します。"
|
||||
},
|
||||
@@ -371,7 +371,7 @@
|
||||
"title": "権限の変更",
|
||||
"desc": "PDFの権限を変更します。"
|
||||
},
|
||||
"removePages": {
|
||||
"pageRemover": {
|
||||
"title": "削除",
|
||||
"desc": "PDFから不要なページを削除します。"
|
||||
},
|
||||
@@ -383,7 +383,7 @@
|
||||
"title": "パスワードの削除",
|
||||
"desc": "PDFからパスワードの削除します。"
|
||||
},
|
||||
"compressPdfs": {
|
||||
"compress": {
|
||||
"title": "圧縮",
|
||||
"desc": "PDFを圧縮してファイルサイズを小さくします。"
|
||||
},
|
||||
@@ -479,7 +479,7 @@
|
||||
"title": "パイプライン",
|
||||
"desc": "パイプラインスクリプトを定義してPDF上で複数のアクションを実行します。"
|
||||
},
|
||||
"add-page-numbers": {
|
||||
"addPageNumbers": {
|
||||
"title": "ページ番号の追加",
|
||||
"desc": "ドキュメント全体の設定された場所にページ番号を追加します。"
|
||||
},
|
||||
@@ -487,7 +487,7 @@
|
||||
"title": "PDFファイル名の自動変更",
|
||||
"desc": "検出されたヘッダーに基づいてPDFファイルの名前を自動的に変更します。"
|
||||
},
|
||||
"adjust-contrast": {
|
||||
"adjustContrast": {
|
||||
"title": "色/コントラストの調整",
|
||||
"desc": "PDFのコントラスト、彩度、明るさを調整します。"
|
||||
},
|
||||
@@ -499,7 +499,7 @@
|
||||
"title": "ページの自動分割",
|
||||
"desc": "ページ分割用QRコードを使用したスキャンしたPDFを自動分割します。"
|
||||
},
|
||||
"sanitizePdf": {
|
||||
"sanitizePDF": {
|
||||
"title": "サニタイズ",
|
||||
"desc": "PDFファイルからスクリプトやその他の要素を削除します。"
|
||||
},
|
||||
@@ -523,11 +523,11 @@
|
||||
"title": "PDFのすべての情報を入手",
|
||||
"desc": "PDFのあらゆる情報を取得します。"
|
||||
},
|
||||
"extractPage": {
|
||||
"pageExtracter": {
|
||||
"title": "ページの抽出",
|
||||
"desc": "PDFから選択したページを抽出します。"
|
||||
},
|
||||
"PdfToSinglePage": {
|
||||
"pdfToSinglePage": {
|
||||
"title": "PDFを単一の大きなページに変換",
|
||||
"desc": "PDFのすべてのページを1つの大きな単一ページに結合します"
|
||||
},
|
||||
@@ -543,11 +543,11 @@
|
||||
"title": "手動墨消し",
|
||||
"desc": "選択したテキスト、描画した図形、選択したページに基づいてPDFを墨消します。"
|
||||
},
|
||||
"tableExtraxt": {
|
||||
"PDFToCSV": {
|
||||
"title": "PDFをCSVに変換",
|
||||
"desc": "PDFから表を抽出しCSVに変換します。"
|
||||
},
|
||||
"autoSizeSplitPDF": {
|
||||
"split-by-size-or-count": {
|
||||
"title": "サイズ・数による自動分割",
|
||||
"desc": "サイズ・ページ数またはドキュメント数に基づいて、1つのPDFを複数のドキュメントに分割します。"
|
||||
},
|
||||
@@ -563,11 +563,11 @@
|
||||
"title": "PDFにスタンプを追加",
|
||||
"desc": "設定した位置にテキストや画像のスタンプを追加できます"
|
||||
},
|
||||
"removeImagePdf": {
|
||||
"removeImage": {
|
||||
"title": "画像の削除",
|
||||
"desc": "PDFから画像を削除してファイルサイズを小さくします"
|
||||
},
|
||||
"splitPdfByChapters": {
|
||||
"splitByChapters": {
|
||||
"title": "PDFをチャプターごとに分割",
|
||||
"desc": "チャプターの構造に基づいてPDFを複数のファイルに分割します"
|
||||
},
|
||||
@@ -575,7 +575,7 @@
|
||||
"title": "PDF署名の検証",
|
||||
"desc": "PDF文書のデジタル署名と証明書を検証します"
|
||||
},
|
||||
"replaceColorPdf": {
|
||||
"replace-color": {
|
||||
"title": "色の置換と反転",
|
||||
"desc": "PDF内のテキストと背景の色を置き換え、PDFのフルカラーを反転してファイルサイズを縮小します。"
|
||||
}
|
||||
@@ -1558,4 +1558,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user