@cornhsu/polymigrate-win32-arm64 2.1.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE.txt +8059 -0
- package/bin/AngleSharp.dll +0 -0
- package/bin/Magick.NET-Q8-AnyCPU.dll +0 -0
- package/bin/Magick.NET.Core.dll +0 -0
- package/bin/Magick.Native-Q8-arm64.dll +0 -0
- package/bin/Microsoft.CSharp.dll +0 -0
- package/bin/Microsoft.VisualBasic.Core.dll +0 -0
- package/bin/Microsoft.VisualBasic.dll +0 -0
- package/bin/Microsoft.Win32.Primitives.dll +0 -0
- package/bin/Microsoft.Win32.Registry.dll +0 -0
- package/bin/PolyMigrate.Core.dll +0 -0
- package/bin/PolyMigrate.Core.pdb +0 -0
- package/bin/PolyMigrate.Core.xml +132 -1
- package/bin/ReverseMarkdown.dll +0 -0
- package/bin/System.AppContext.dll +0 -0
- package/bin/System.Buffers.dll +0 -0
- package/bin/System.Collections.Concurrent.dll +0 -0
- package/bin/System.Collections.Immutable.dll +0 -0
- package/bin/System.Collections.NonGeneric.dll +0 -0
- package/bin/System.Collections.Specialized.dll +0 -0
- package/bin/System.Collections.dll +0 -0
- package/bin/System.ComponentModel.Annotations.dll +0 -0
- package/bin/System.ComponentModel.DataAnnotations.dll +0 -0
- package/bin/System.ComponentModel.EventBasedAsync.dll +0 -0
- package/bin/System.ComponentModel.Primitives.dll +0 -0
- package/bin/System.ComponentModel.TypeConverter.dll +0 -0
- package/bin/System.ComponentModel.dll +0 -0
- package/bin/System.Configuration.dll +0 -0
- package/bin/System.Console.dll +0 -0
- package/bin/System.Core.dll +0 -0
- package/bin/System.Data.Common.dll +0 -0
- package/bin/System.Data.DataSetExtensions.dll +0 -0
- package/bin/System.Data.dll +0 -0
- package/bin/System.Diagnostics.Contracts.dll +0 -0
- package/bin/System.Diagnostics.Debug.dll +0 -0
- package/bin/System.Diagnostics.DiagnosticSource.dll +0 -0
- package/bin/System.Diagnostics.FileVersionInfo.dll +0 -0
- package/bin/System.Diagnostics.Process.dll +0 -0
- package/bin/System.Diagnostics.StackTrace.dll +0 -0
- package/bin/System.Diagnostics.TextWriterTraceListener.dll +0 -0
- package/bin/System.Diagnostics.Tools.dll +0 -0
- package/bin/System.Diagnostics.TraceSource.dll +0 -0
- package/bin/System.Diagnostics.Tracing.dll +0 -0
- package/bin/System.Drawing.Primitives.dll +0 -0
- package/bin/System.Drawing.dll +0 -0
- package/bin/System.Dynamic.Runtime.dll +0 -0
- package/bin/System.Formats.Asn1.dll +0 -0
- package/bin/System.Formats.Tar.dll +0 -0
- package/bin/System.Globalization.Calendars.dll +0 -0
- package/bin/System.Globalization.Extensions.dll +0 -0
- package/bin/System.Globalization.dll +0 -0
- package/bin/System.IO.Compression.Brotli.dll +0 -0
- package/bin/System.IO.Compression.FileSystem.dll +0 -0
- package/bin/System.IO.Compression.Native.dll +0 -0
- package/bin/System.IO.Compression.ZipFile.dll +0 -0
- package/bin/System.IO.Compression.dll +0 -0
- package/bin/System.IO.FileSystem.AccessControl.dll +0 -0
- package/bin/System.IO.FileSystem.DriveInfo.dll +0 -0
- package/bin/System.IO.FileSystem.Primitives.dll +0 -0
- package/bin/System.IO.FileSystem.Watcher.dll +0 -0
- package/bin/System.IO.FileSystem.dll +0 -0
- package/bin/System.IO.IsolatedStorage.dll +0 -0
- package/bin/System.IO.MemoryMappedFiles.dll +0 -0
- package/bin/System.IO.Pipelines.dll +0 -0
- package/bin/System.IO.Pipes.AccessControl.dll +0 -0
- package/bin/System.IO.Pipes.dll +0 -0
- package/bin/System.IO.UnmanagedMemoryStream.dll +0 -0
- package/bin/System.IO.dll +0 -0
- package/bin/System.Linq.AsyncEnumerable.dll +0 -0
- package/bin/System.Linq.Expressions.dll +0 -0
- package/bin/System.Linq.Parallel.dll +0 -0
- package/bin/System.Linq.Queryable.dll +0 -0
- package/bin/System.Linq.dll +0 -0
- package/bin/System.Memory.dll +0 -0
- package/bin/System.Net.Http.Json.dll +0 -0
- package/bin/System.Net.Http.dll +0 -0
- package/bin/System.Net.HttpListener.dll +0 -0
- package/bin/System.Net.Mail.dll +0 -0
- package/bin/System.Net.NameResolution.dll +0 -0
- package/bin/System.Net.NetworkInformation.dll +0 -0
- package/bin/System.Net.Ping.dll +0 -0
- package/bin/System.Net.Primitives.dll +0 -0
- package/bin/System.Net.Quic.dll +0 -0
- package/bin/System.Net.Requests.dll +0 -0
- package/bin/System.Net.Security.dll +0 -0
- package/bin/System.Net.ServerSentEvents.dll +0 -0
- package/bin/System.Net.ServicePoint.dll +0 -0
- package/bin/System.Net.Sockets.dll +0 -0
- package/bin/System.Net.WebClient.dll +0 -0
- package/bin/System.Net.WebHeaderCollection.dll +0 -0
- package/bin/System.Net.WebProxy.dll +0 -0
- package/bin/System.Net.WebSockets.Client.dll +0 -0
- package/bin/System.Net.WebSockets.dll +0 -0
- package/bin/System.Net.dll +0 -0
- package/bin/System.Numerics.Vectors.dll +0 -0
- package/bin/System.Numerics.dll +0 -0
- package/bin/System.ObjectModel.dll +0 -0
- package/bin/System.Private.CoreLib.dll +0 -0
- package/bin/System.Private.DataContractSerialization.dll +0 -0
- package/bin/System.Private.Uri.dll +0 -0
- package/bin/System.Private.Xml.Linq.dll +0 -0
- package/bin/System.Private.Xml.dll +0 -0
- package/bin/System.Reflection.DispatchProxy.dll +0 -0
- package/bin/System.Reflection.Emit.ILGeneration.dll +0 -0
- package/bin/System.Reflection.Emit.Lightweight.dll +0 -0
- package/bin/System.Reflection.Emit.dll +0 -0
- package/bin/System.Reflection.Extensions.dll +0 -0
- package/bin/System.Reflection.Metadata.dll +0 -0
- package/bin/System.Reflection.Primitives.dll +0 -0
- package/bin/System.Reflection.TypeExtensions.dll +0 -0
- package/bin/System.Reflection.dll +0 -0
- package/bin/System.Resources.Reader.dll +0 -0
- package/bin/System.Resources.ResourceManager.dll +0 -0
- package/bin/System.Resources.Writer.dll +0 -0
- package/bin/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- package/bin/System.Runtime.CompilerServices.VisualC.dll +0 -0
- package/bin/System.Runtime.Extensions.dll +0 -0
- package/bin/System.Runtime.Handles.dll +0 -0
- package/bin/System.Runtime.InteropServices.JavaScript.dll +0 -0
- package/bin/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
- package/bin/System.Runtime.InteropServices.dll +0 -0
- package/bin/System.Runtime.Intrinsics.dll +0 -0
- package/bin/System.Runtime.Loader.dll +0 -0
- package/bin/System.Runtime.Numerics.dll +0 -0
- package/bin/System.Runtime.Serialization.Formatters.dll +0 -0
- package/bin/System.Runtime.Serialization.Json.dll +0 -0
- package/bin/System.Runtime.Serialization.Primitives.dll +0 -0
- package/bin/System.Runtime.Serialization.Xml.dll +0 -0
- package/bin/System.Runtime.Serialization.dll +0 -0
- package/bin/System.Runtime.dll +0 -0
- package/bin/System.Security.AccessControl.dll +0 -0
- package/bin/System.Security.Claims.dll +0 -0
- package/bin/System.Security.Cryptography.Algorithms.dll +0 -0
- package/bin/System.Security.Cryptography.Cng.dll +0 -0
- package/bin/System.Security.Cryptography.Csp.dll +0 -0
- package/bin/System.Security.Cryptography.Encoding.dll +0 -0
- package/bin/System.Security.Cryptography.OpenSsl.dll +0 -0
- package/bin/System.Security.Cryptography.Primitives.dll +0 -0
- package/bin/System.Security.Cryptography.X509Certificates.dll +0 -0
- package/bin/System.Security.Cryptography.dll +0 -0
- package/bin/System.Security.Principal.Windows.dll +0 -0
- package/bin/System.Security.Principal.dll +0 -0
- package/bin/System.Security.SecureString.dll +0 -0
- package/bin/System.Security.dll +0 -0
- package/bin/System.ServiceModel.Web.dll +0 -0
- package/bin/System.ServiceProcess.dll +0 -0
- package/bin/System.Text.Encoding.CodePages.dll +0 -0
- package/bin/System.Text.Encoding.Extensions.dll +0 -0
- package/bin/System.Text.Encoding.dll +0 -0
- package/bin/System.Text.Encodings.Web.dll +0 -0
- package/bin/System.Text.Json.dll +0 -0
- package/bin/System.Text.RegularExpressions.dll +0 -0
- package/bin/System.Threading.AccessControl.dll +0 -0
- package/bin/System.Threading.Channels.dll +0 -0
- package/bin/System.Threading.Overlapped.dll +0 -0
- package/bin/System.Threading.Tasks.Dataflow.dll +0 -0
- package/bin/System.Threading.Tasks.Extensions.dll +0 -0
- package/bin/System.Threading.Tasks.Parallel.dll +0 -0
- package/bin/System.Threading.Tasks.dll +0 -0
- package/bin/System.Threading.Thread.dll +0 -0
- package/bin/System.Threading.ThreadPool.dll +0 -0
- package/bin/System.Threading.Timer.dll +0 -0
- package/bin/System.Threading.dll +0 -0
- package/bin/System.Transactions.Local.dll +0 -0
- package/bin/System.Transactions.dll +0 -0
- package/bin/System.ValueTuple.dll +0 -0
- package/bin/System.Web.HttpUtility.dll +0 -0
- package/bin/System.Web.dll +0 -0
- package/bin/System.Windows.dll +0 -0
- package/bin/System.Xml.Linq.dll +0 -0
- package/bin/System.Xml.ReaderWriter.dll +0 -0
- package/bin/System.Xml.Serialization.dll +0 -0
- package/bin/System.Xml.XDocument.dll +0 -0
- package/bin/System.Xml.XPath.XDocument.dll +0 -0
- package/bin/System.Xml.XPath.dll +0 -0
- package/bin/System.Xml.XmlDocument.dll +0 -0
- package/bin/System.Xml.XmlSerializer.dll +0 -0
- package/bin/System.Xml.dll +0 -0
- package/bin/System.dll +0 -0
- package/bin/WindowsBase.dll +0 -0
- package/bin/clretwrc.dll +0 -0
- package/bin/clrgc.dll +0 -0
- package/bin/clrgcexp.dll +0 -0
- package/bin/clrjit.dll +0 -0
- package/bin/coreclr.dll +0 -0
- package/bin/createdump.exe +0 -0
- package/bin/hostfxr.dll +0 -0
- package/bin/hostpolicy.dll +0 -0
- package/bin/mscordaccore.dll +0 -0
- package/bin/{mscordaccore_arm64_arm64_10.0.1026.32716.dll → mscordaccore_arm64_arm64_10.0.1126.37416.dll} +0 -0
- package/bin/mscordbi.dll +0 -0
- package/bin/mscorlib.dll +0 -0
- package/bin/mscorrc.dll +0 -0
- package/bin/msquic.dll +0 -0
- package/bin/netstandard.dll +0 -0
- package/bin/polymigrate.deps.json +221 -221
- package/bin/polymigrate.dll +0 -0
- package/bin/polymigrate.exe +0 -0
- package/bin/polymigrate.pdb +0 -0
- package/bin/polymigrate.runtimeconfig.json +1 -1
- package/package.json +3 -2
package/bin/AngleSharp.dll
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/Magick.NET.Core.dll
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/Microsoft.CSharp.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/PolyMigrate.Core.dll
CHANGED
|
Binary file
|
package/bin/PolyMigrate.Core.pdb
CHANGED
|
Binary file
|
package/bin/PolyMigrate.Core.xml
CHANGED
|
@@ -180,6 +180,19 @@
|
|
|
180
180
|
<member name="P:PolyMigrate.Core.Extraction.ExtractionReport.PathIssues">
|
|
181
181
|
<summary>路徑安全問題(§3.4):error = 拒寫並跳過該頁;warning = 照寫但記錄(如超長路徑)。</summary>
|
|
182
182
|
</member>
|
|
183
|
+
<member name="P:PolyMigrate.Core.Extraction.ExtractionReport.StaleOutputs">
|
|
184
|
+
<summary>
|
|
185
|
+
<c>content/</c> 裡存在、但這一次沒有被寫到的 .md。
|
|
186
|
+
|
|
187
|
+
<para>只回報,**不刪**:刪使用者的檔案風險太高,而「只寫不刪」正是 <c>raw/</c> 與
|
|
188
|
+
<c>media/</c> 這兩份不可再生資料安全的原因,不值得為了清殘檔而破壞它。
|
|
189
|
+
但不刪不等於不講——舊站下架一篇文章後重跑,舊的 .md 會永遠留著,於是回報的
|
|
190
|
+
「markdown files」與磁碟上的實際檔數從此對不起來,而原本沒有任何地方會提。</para>
|
|
191
|
+
|
|
192
|
+
<para>刻意<b>不</b>計入 <see cref="P:PolyMigrate.Core.Extraction.ExtractionReport.HasWarnings"/>:那會讓所有有殘檔的既有使用者
|
|
193
|
+
的 <c>extract</c> 從 exit 0 變 1。exit code 是對外契約,不在 patch 版動它。</para>
|
|
194
|
+
</summary>
|
|
195
|
+
</member>
|
|
183
196
|
<member name="T:PolyMigrate.Core.Extraction.ExtractionPipeline">
|
|
184
197
|
<summary>
|
|
185
198
|
Phase 2 管線(規格 main):巡鏡像檔 → 逐頁抽取寫 Markdown → 聚合寫四份清單與待補媒體清單。
|
|
@@ -196,6 +209,12 @@
|
|
|
196
209
|
<param name="paths">輸入/輸出位置。</param>
|
|
197
210
|
<param name="dryRun">true = 完整跑抽取與統計但不寫任何檔案(§3.8)。</param>
|
|
198
211
|
</member>
|
|
212
|
+
<member name="M:PolyMigrate.Core.Extraction.ExtractionPipeline.FindStaleOutputs(System.String,System.Collections.Generic.HashSet{System.String})">
|
|
213
|
+
<summary>
|
|
214
|
+
content/ 裡有、但這次沒被寫到的 .md(見 <see cref="P:PolyMigrate.Core.Extraction.ExtractionReport.StaleOutputs"/>)。
|
|
215
|
+
純比對,不動磁碟。
|
|
216
|
+
</summary>
|
|
217
|
+
</member>
|
|
199
218
|
<member name="M:PolyMigrate.Core.Extraction.ExtractionPipeline.SuggestPairs(System.Collections.Generic.SortedDictionary{System.String,PolyMigrate.Core.Inventory.InventoryRecord},System.Collections.Generic.List{System.String})">
|
|
200
219
|
<summary>對「只有單語」的 key 產生啟發式配對建議(§1.4);回傳 key → 建議,兩端各一筆。</summary>
|
|
201
220
|
</member>
|
|
@@ -430,6 +449,54 @@
|
|
|
430
449
|
<member name="M:PolyMigrate.Core.Inventory.MediaHashCache.GetOrCompute(System.String,System.String)">
|
|
431
450
|
<summary>檔案不存在回傳空值;快取命中免重讀,未命中計算並記入。</summary>
|
|
432
451
|
</member>
|
|
452
|
+
<member name="T:PolyMigrate.Core.Inventory.MirrorSlugs">
|
|
453
|
+
<summary>
|
|
454
|
+
鏡像裡已經有的 slug(<c>raw/{lang}/{section}/</c> 的檔名去尾綴)。
|
|
455
|
+
|
|
456
|
+
這是「增量同步」刻意只做的那一半。另一半——去舊站讀列表頁、從 HTML 挑出 slug——
|
|
457
|
+
沒有做,因為它因站而異(列表頁位置、slug 樣式各不相同,香雲寺的活動甚至沒有列表頁,
|
|
458
|
+
<c>/ch/events/index.php</c> 回 404,是從首頁卡片連出去的),而且會安靜地壞掉:
|
|
459
|
+
舊站一改版、regex 抓不到東西,排程只會每天回報「沒有新文章」。
|
|
460
|
+
那一半本來就是十幾行的一次性腳本,留給使用者;這一半只有 PolyMigrate 答得出來。
|
|
461
|
+
</summary>
|
|
462
|
+
</member>
|
|
463
|
+
<member name="M:PolyMigrate.Core.Inventory.MirrorSlugs.InDirectory(System.String)">
|
|
464
|
+
<summary>
|
|
465
|
+
檔名 → slug:<c>20260101.php.html</c> → <c>20260101</c>。
|
|
466
|
+
只認 <c>*.html</c>——這正是 ExtractionPipeline 對「一個鏡像頁」的定義,同一把尺。
|
|
467
|
+
逐檔取名的話,鏡像目錄被 Finder / 檔案總管開過長出來的 .DS_Store 會變成空字串 slug
|
|
468
|
+
(輸出第一行就是空行),Thumbs.db 會變成一個叫「Thumbs」的假文章——
|
|
469
|
+
而這個指令的賣點就是 stdout 乾淨到可以直接導成檔案再餵給 fetch-orphans。
|
|
470
|
+
</summary>
|
|
471
|
+
</member>
|
|
472
|
+
<member name="M:PolyMigrate.Core.Inventory.MirrorSlugs.EnsurePathSegment(System.String,System.String)">
|
|
473
|
+
<summary>
|
|
474
|
+
section / lang 是「一段目錄名」,不是路徑。<c>Path.Combine</c> 只要後段是絕對路徑
|
|
475
|
+
就會把前段整個丟掉——所以 <c>--lang C:\somewhere</c> 會安靜地去讀鏡像目錄以外的地方,
|
|
476
|
+
而且照樣回報成功。在本機 CLI 上這不是提權(使用者本來就讀得到自己的磁碟),
|
|
477
|
+
該擋的理由是**它做了你沒要求的事卻不出聲**,與「section 打錯回錯誤而非空清單」同一個原則。
|
|
478
|
+
|
|
479
|
+
<para>判斷方式刻意不用 <see cref="M:System.IO.Path.IsPathRooted(System.String)"/>:它在 Linux 上認不出
|
|
480
|
+
<c>C:\Windows</c>(冒號與反斜線在那裡都只是普通字元),同一個輸入會因平台而有不同結果——
|
|
481
|
+
而 §3.4 的家規是「Windows 會炸的路徑在任何平台都一致地拒絕」,見 PathSafety。
|
|
482
|
+
改為直接要求「一段目錄名」:不得含 <c>/</c>、<c>\</c>、<c>:</c>,不得是 <c>..</c>。
|
|
483
|
+
空字串合法(無語言前綴的站)。</para>
|
|
484
|
+
</summary>
|
|
485
|
+
</member>
|
|
486
|
+
<member name="M:PolyMigrate.Core.Inventory.MirrorSlugs.ForLanguage(System.String,System.String,System.String)">
|
|
487
|
+
<summary>單一語言的 slug 集(探測時用來跳過已抓過的)。</summary>
|
|
488
|
+
</member>
|
|
489
|
+
<member name="M:PolyMigrate.Core.Inventory.MirrorSlugs.List(System.String,System.String,System.String)">
|
|
490
|
+
<summary>
|
|
491
|
+
列出 section 底下的 slug,字典序、跨語言去重。
|
|
492
|
+
<paramref name="langPrefix"/> = null 時涵蓋 raw/ 下所有語言目錄。
|
|
493
|
+
</summary>
|
|
494
|
+
<returns>
|
|
495
|
+
找不到任何對應目錄時回傳 <c>null</c>——這與「目錄在、但裡面沒有頁」必須分得開:
|
|
496
|
+
前者幾乎都是 section 名打錯,而靜靜回一份空清單會被當成「舊站沒有新文章」,
|
|
497
|
+
正是排程任務最要命的失敗方式。
|
|
498
|
+
</returns>
|
|
499
|
+
</member>
|
|
433
500
|
<member name="T:PolyMigrate.Core.Markdown.FrontmatterSerializer">
|
|
434
501
|
<summary>
|
|
435
502
|
frontmatter 序列化(§2.6 兩坑):
|
|
@@ -706,13 +773,25 @@
|
|
|
706
773
|
<member name="M:PolyMigrate.Core.PolyMigrator.GenerateThumbnails(System.String,System.String)">
|
|
707
774
|
<summary>縮圖:media 目錄 → 縮圖目錄(同結構、EXIF 轉正、寬度上限依 config)。</summary>
|
|
708
775
|
</member>
|
|
709
|
-
<member name="M:PolyMigrate.Core.PolyMigrator.Verify(System.String,System.String,System.String)">
|
|
776
|
+
<member name="M:PolyMigrate.Core.PolyMigrator.Verify(System.String,System.String,System.String,System.Collections.Generic.IReadOnlyCollection{System.String})">
|
|
710
777
|
<summary>
|
|
711
778
|
全站巡檢(Phase 4):只讀 Phase 2 輸出,不需 config 也不碰網路。
|
|
712
779
|
</summary>
|
|
713
780
|
<param name="outputDir">Phase 2 的輸出根目錄(內含 content/ 與清單)。</param>
|
|
714
781
|
<param name="mediaDir">媒體目錄;null = <c>outputDir/media</c>(不存在則跳過媒體檢查)。</param>
|
|
715
782
|
<param name="mediaPrefix">內文中媒體引用的根前綴。</param>
|
|
783
|
+
<param name="allowUnlinked">豁免孤島偵測的頁(content 相對路徑或路由)。</param>
|
|
784
|
+
</member>
|
|
785
|
+
<member name="M:PolyMigrate.Core.PolyMigrator.MirrorSlugs(System.String,System.String,System.String)">
|
|
786
|
+
<summary>
|
|
787
|
+
鏡像裡已有的 slug(<c>raw/{lang}/{section}/</c> 檔名),字典序、跨語言去重;
|
|
788
|
+
純本地、不碰網路、不需 config。並行期用來跟舊站的現況求差集,
|
|
789
|
+
差集再餵給 <c>fetch-orphans --slugs</c>。
|
|
790
|
+
</summary>
|
|
791
|
+
<param name="rawDir">鏡像根目錄(<c>root/raw</c>)。</param>
|
|
792
|
+
<param name="section">section 目錄名(如 news)。</param>
|
|
793
|
+
<param name="langPrefix">語言前綴;null = 涵蓋所有語言目錄。</param>
|
|
794
|
+
<returns>找不到任何對應目錄時為 null(通常是 section 名打錯)——與「有目錄但沒有頁」不同。</returns>
|
|
716
795
|
</member>
|
|
717
796
|
<member name="T:PolyMigrate.Core.Redirects.IRedirectExporter">
|
|
718
797
|
<summary>
|
|
@@ -748,9 +827,61 @@
|
|
|
748
827
|
missing_images.csv 已記錄的原站壞圖降為 warning(已知、非搬遷回歸)。
|
|
749
828
|
</summary>
|
|
750
829
|
</member>
|
|
830
|
+
<member name="M:PolyMigrate.Core.Verify.OutputVerifier.Run(System.String,System.String,System.String,System.Collections.Generic.IReadOnlyCollection{System.String})">
|
|
831
|
+
<param name="allowUnlinked">
|
|
832
|
+
豁免孤島偵測的頁(content 相對路徑或路由皆可)。刻意不從 config 讀:
|
|
833
|
+
verify 的「只讀輸出、不需 config」是它的設計前提,不為了一份清單破例。
|
|
834
|
+
</param>
|
|
835
|
+
</member>
|
|
751
836
|
<member name="M:PolyMigrate.Core.Verify.OutputVerifier.BuildRoutes(System.String,System.Collections.Generic.List{System.String})">
|
|
752
837
|
<summary>content 樹 → 路由集:{prefix}/{section}/{slug};index 檔代表其目錄路由。</summary>
|
|
753
838
|
</member>
|
|
839
|
+
<member name="M:PolyMigrate.Core.Verify.OutputVerifier.RouteFor(System.String)">
|
|
840
|
+
<summary>content 相對路徑(如 en/blia/index.md)→ 路由(/en/blia)。</summary>
|
|
841
|
+
</member>
|
|
842
|
+
<member name="T:PolyMigrate.Core.Verify.OutputVerifier.PageRoute">
|
|
843
|
+
<summary>一頁的孤島判定所需資訊。</summary>
|
|
844
|
+
</member>
|
|
845
|
+
<member name="M:PolyMigrate.Core.Verify.OutputVerifier.PageRoute.#ctor(System.String,System.String,System.String,System.Boolean)">
|
|
846
|
+
<summary>一頁的孤島判定所需資訊。</summary>
|
|
847
|
+
</member>
|
|
848
|
+
<member name="M:PolyMigrate.Core.Verify.OutputVerifier.FindOrphans(System.Collections.Generic.List{PolyMigrate.Core.Verify.OutputVerifier.PageRoute},System.Collections.Generic.HashSet{System.String},System.Collections.Generic.IReadOnlyCollection{System.String})">
|
|
849
|
+
<summary>
|
|
850
|
+
孤島頁面:輸出裡有這一頁,卻沒有任何內容頁連到它——訪客除非自己打網址,否則到不了。
|
|
851
|
+
判 warning 而非 error:有些頁本來就刻意不連(活動到達頁、隱私頁)。
|
|
852
|
+
|
|
853
|
+
界線要講清楚:這裡只看得到「內容頁之間」的連結。導覽選單不在 Phase 2 輸出裡,
|
|
854
|
+
verify 看不到它,所以能斷言的是「沒有內容頁連到它」,不是「完全沒有入口」——
|
|
855
|
+
訊息措辭必須跟得上這個界線,否則只是換一種形式的過度信任。
|
|
856
|
+
</summary>
|
|
857
|
+
</member>
|
|
858
|
+
<member name="M:PolyMigrate.Core.Verify.OutputVerifier.IsExemptByDefault(PolyMigrate.Core.Verify.OutputVerifier.PageRoute)">
|
|
859
|
+
<summary>
|
|
860
|
+
內建豁免。沒有這一段,這個檢查會因為誤報太多而失去可信度——而一個沒人看的警告
|
|
861
|
+
比沒有警告更糟(它會稀釋整份巡檢報告)。兩類本來就不會被內容頁連到的頁:
|
|
862
|
+
<list type="bullet">
|
|
863
|
+
<item>站根與各語言首頁:深度 ≤ 1 的目錄索引,沒有人會連回去。</item>
|
|
864
|
+
<item>分類列表頁(page_type: listing):一般只從選單進入,而選單不在掃描範圍。</item>
|
|
865
|
+
</list>
|
|
866
|
+
刻意<b>不</b>豁免深度 ≥ 2 的目錄索引——香雲寺 BLIA 那類「頂層單頁」正是要抓的目標,
|
|
867
|
+
它與列表頁的差別在於所屬 section 未宣告型別,故 page_type 是 page 而非 listing。
|
|
868
|
+
|
|
869
|
+
<para>已知限制(留帳):單語站(無語言前綴)的頂層 section 索引也落在深度 1,會一併
|
|
870
|
+
被豁免。<b>利息</b>:BLIA 那一類頁在單語站上抓不到,也就是這個檢查對單語站的效果打折。
|
|
871
|
+
要還這筆帳得先讓 verify 分得出「語言目錄」與「一般目錄」,而那需要 config——
|
|
872
|
+
會破壞 verify 不需 config 的前提,所以刻意先欠著。寧可漏報也不誤報:
|
|
873
|
+
漏的那類人工巡檢補得回來,誤報會讓人整份報告都不看。</para>
|
|
874
|
+
</summary>
|
|
875
|
+
</member>
|
|
876
|
+
<member name="M:PolyMigrate.Core.Verify.OutputVerifier.ResolveRoute(System.String,System.Collections.Generic.HashSet{System.String})">
|
|
877
|
+
<summary>
|
|
878
|
+
連結 → 路由。原樣對不上時再試一次百分號解碼版:瀏覽器與編輯器產出中日韓 href
|
|
879
|
+
預設是編碼的(<c>/ch/news/%E7%A6%AA%E4%BF%AE</c>),而鏡像檔名是解碼的(§2.6)——
|
|
880
|
+
直接比字串會把「存在、而且真的被連到」的頁判成壞連結,並連帶誤報成孤島頁面。
|
|
881
|
+
對這個 i18n-first 的工具來說,那是旗艦情境而不是邊角。
|
|
882
|
+
**只在對不上時才解碼**,原本就對得上的維持逐位元組不變(golden 不動)。
|
|
883
|
+
</summary>
|
|
884
|
+
</member>
|
|
754
885
|
<member name="M:PolyMigrate.Core.Verify.OutputVerifier.NormalizeRoute(System.String)">
|
|
755
886
|
<summary>連結正規化:去 #fragment/?query、去尾斜線(根除外)。</summary>
|
|
756
887
|
</member>
|
package/bin/ReverseMarkdown.dll
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/System.Buffers.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Console.dll
CHANGED
|
Binary file
|
package/bin/System.Core.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Data.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Drawing.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.IO.Pipes.dll
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/System.IO.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Linq.dll
CHANGED
|
Binary file
|
package/bin/System.Memory.dll
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/System.Net.Http.dll
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/System.Net.Mail.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Net.Ping.dll
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/System.Net.Quic.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Net.dll
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/System.Numerics.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Runtime.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Security.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Text.Json.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/System.Threading.dll
CHANGED
|
Binary file
|
|
Binary file
|