abx-plugins 1.12.332__tar.gz → 1.12.334__tar.gz

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.
Files changed (378) hide show
  1. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/PKG-INFO +1 -1
  2. abx_plugins-1.12.334/abx_plugins/plugins/forumdl/templates/card.html +2 -0
  3. abx_plugins-1.12.334/abx_plugins/plugins/forumdl/templates/full.html +33 -0
  4. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/pyproject.toml +1 -1
  5. abx_plugins-1.12.332/abx_plugins/plugins/forumdl/templates/card.html +0 -7
  6. abx_plugins-1.12.332/abx_plugins/plugins/forumdl/templates/full.html +0 -147
  7. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/.github/pages/README.md +0 -0
  8. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/.gitignore +0 -0
  9. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/LICENSE +0 -0
  10. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/README.md +0 -0
  11. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/__init__.py +0 -0
  12. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/__init__.py +0 -0
  13. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/accessibility/__init__.py +0 -0
  14. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/accessibility/config.json +0 -0
  15. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/accessibility/on_Snapshot__39_accessibility.js +0 -0
  16. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/accessibility/templates/card.html +0 -0
  17. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/accessibility/templates/full.html +0 -0
  18. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/accessibility/templates/icon.html +0 -0
  19. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivedotorg/__init__.py +0 -0
  20. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivedotorg/config.json +0 -0
  21. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivedotorg/on_Snapshot__36_archivedotorg.finite.bg.py +0 -0
  22. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivedotorg/templates/card.html +0 -0
  23. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivedotorg/templates/icon.html +0 -0
  24. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/__init__.py +0 -0
  25. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/awp_internal.js +0 -0
  26. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/config.json +0 -0
  27. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/on_CrawlSetup__80_archivewebpage_prepare.py +0 -0
  28. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/on_Snapshot__16_archivewebpage_start.js +0 -0
  29. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/on_Snapshot__65_archivewebpage_stop.js +0 -0
  30. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/replay_preview.py +0 -0
  31. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/templates/card.html +0 -0
  32. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/templates/full.html +0 -0
  33. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/archivewebpage/templates/icon.html +0 -0
  34. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/__init__.py +0 -0
  35. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/config.json +0 -0
  36. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/daemon_lifecycle.js +0 -0
  37. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/search_command.py +0 -0
  38. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/templates/icon.html +0 -0
  39. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/testing.py +0 -0
  40. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/url_cleaning.py +0 -0
  41. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/utils.js +0 -0
  42. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/base/utils.py +0 -0
  43. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/__init__.py +0 -0
  44. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/chrome_utils.js +0 -0
  45. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/chrome_wait.js +0 -0
  46. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/config.json +0 -0
  47. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/extract_cookies.js +0 -0
  48. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/on_CrawlSetup__89_chrome_kill_zombies.js +0 -0
  49. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/on_CrawlSetup__90_chrome_launch.daemon.bg.js +0 -0
  50. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/on_CrawlSetup__91_chrome_wait.js +0 -0
  51. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/on_Snapshot__00_chrome_launch.daemon.bg.js +0 -0
  52. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/on_Snapshot__01_chrome_tab.daemon.bg.js +0 -0
  53. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/on_Snapshot__30_chrome_navigate.js +0 -0
  54. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/templates/card.html +0 -0
  55. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/templates/full.html +0 -0
  56. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome/templates/icon.html +0 -0
  57. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_mhtml/__init__.py +0 -0
  58. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_mhtml/config.json +0 -0
  59. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_mhtml/on_Snapshot__54_chrome_mhtml.js +0 -0
  60. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_mhtml/templates/card.html +0 -0
  61. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_mhtml/templates/full.html +0 -0
  62. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_mhtml/templates/icon.html +0 -0
  63. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_screencast/__init__.py +0 -0
  64. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_screencast/config.json +0 -0
  65. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_screencast/on_CrawlSetup__90_chrome_screencast.daemon.bg.js +0 -0
  66. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/chrome_screencast/on_Snapshot__02_chrome_screencast.daemon.bg.js +0 -0
  67. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudechrome/__init__.py +0 -0
  68. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudechrome/config.json +0 -0
  69. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudechrome/on_CrawlSetup__80_claudechrome_prepare.py +0 -0
  70. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudechrome/on_CrawlSetup__96_claudechrome_config.js +0 -0
  71. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudechrome/on_Snapshot__47_claudechrome.js +0 -0
  72. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudechrome/templates/card.html +0 -0
  73. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudechrome/templates/full.html +0 -0
  74. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudechrome/templates/icon.html +0 -0
  75. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecode/__init__.py +0 -0
  76. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecode/claudecode_utils.py +0 -0
  77. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecode/config.json +0 -0
  78. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecode/templates/card.html +0 -0
  79. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecode/templates/full.html +0 -0
  80. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecode/templates/icon.html +0 -0
  81. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodecleanup/__init__.py +0 -0
  82. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodecleanup/cleanup_utils.py +0 -0
  83. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodecleanup/config.json +0 -0
  84. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodecleanup/on_Snapshot__92_claudecodecleanup.py +0 -0
  85. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodecleanup/templates/card.html +0 -0
  86. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodecleanup/templates/full.html +0 -0
  87. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodecleanup/templates/icon.html +0 -0
  88. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodeextract/__init__.py +0 -0
  89. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodeextract/config.json +0 -0
  90. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodeextract/on_Snapshot__58_claudecodeextract.py +0 -0
  91. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodeextract/templates/card.html +0 -0
  92. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodeextract/templates/full.html +0 -0
  93. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/claudecodeextract/templates/icon.html +0 -0
  94. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/consolelog/__init__.py +0 -0
  95. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/consolelog/config.json +0 -0
  96. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/consolelog/on_Snapshot__21_consolelog.daemon.bg.js +0 -0
  97. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/consolelog/templates/card.html +0 -0
  98. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/consolelog/templates/full.html +0 -0
  99. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/consolelog/templates/icon.html +0 -0
  100. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/defuddle/__init__.py +0 -0
  101. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/defuddle/config.json +0 -0
  102. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/defuddle/on_Snapshot__57_defuddle.py +0 -0
  103. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/defuddle/templates/card.html +0 -0
  104. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/defuddle/templates/full.html +0 -0
  105. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/defuddle/templates/icon.html +0 -0
  106. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dns/__init__.py +0 -0
  107. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dns/config.json +0 -0
  108. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dns/on_Snapshot__22_dns.daemon.bg.js +0 -0
  109. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dns/templates/card.html +0 -0
  110. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dns/templates/full.html +0 -0
  111. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dns/templates/icon.html +0 -0
  112. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dom/__init__.py +0 -0
  113. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dom/config.json +0 -0
  114. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dom/on_Snapshot__53_dom.js +0 -0
  115. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dom/templates/card.html +0 -0
  116. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/dom/templates/icon.html +0 -0
  117. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/favicon/__init__.py +0 -0
  118. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/favicon/config.json +0 -0
  119. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/favicon/on_Snapshot__37_favicon.finite.bg.py +0 -0
  120. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/favicon/templates/card.html +0 -0
  121. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/favicon/templates/icon.html +0 -0
  122. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/forumdl/__init__.py +0 -0
  123. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/forumdl/config.json +0 -0
  124. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/forumdl/on_Snapshot__33_forumdl.finite.bg.py +0 -0
  125. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/forumdl/templates/icon.html +0 -0
  126. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/gallerydl/__init__.py +0 -0
  127. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/gallerydl/config.json +0 -0
  128. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/gallerydl/on_Snapshot__32_gallerydl.finite.bg.py +0 -0
  129. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/gallerydl/templates/card.html +0 -0
  130. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/gallerydl/templates/full.html +0 -0
  131. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/gallerydl/templates/icon.html +0 -0
  132. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/git/__init__.py +0 -0
  133. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/git/config.json +0 -0
  134. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/git/on_Snapshot__34_git.finite.bg.py +0 -0
  135. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/git/templates/card.html +0 -0
  136. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/git/templates/icon.html +0 -0
  137. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/hashes/__init__.py +0 -0
  138. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/hashes/config.json +0 -0
  139. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/hashes/on_Snapshot__93_hashes.py +0 -0
  140. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/hashes/templates/card.html +0 -0
  141. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/hashes/templates/full.html +0 -0
  142. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/hashes/templates/icon.html +0 -0
  143. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/headers/__init__.py +0 -0
  144. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/headers/config.json +0 -0
  145. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/headers/on_Snapshot__27_headers.daemon.bg.js +0 -0
  146. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/headers/templates/card.html +0 -0
  147. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/headers/templates/full.html +0 -0
  148. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/headers/templates/icon.html +0 -0
  149. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/htmltotext/__init__.py +0 -0
  150. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/htmltotext/config.json +0 -0
  151. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/htmltotext/on_Snapshot__58_htmltotext.py +0 -0
  152. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/htmltotext/templates/card.html +0 -0
  153. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/htmltotext/templates/full.html +0 -0
  154. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/htmltotext/templates/icon.html +0 -0
  155. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/infiniscroll/__init__.py +0 -0
  156. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/infiniscroll/config.json +0 -0
  157. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/infiniscroll/on_Snapshot__45_infiniscroll.js +0 -0
  158. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/infiniscroll/templates/icon.html +0 -0
  159. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/istilldontcareaboutcookies/__init__.py +0 -0
  160. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/istilldontcareaboutcookies/config.json +0 -0
  161. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/istilldontcareaboutcookies/on_CrawlSetup__80_istilldontcareaboutcookies_prepare.py +0 -0
  162. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/istilldontcareaboutcookies/on_Snapshot__13_istilldontcareaboutcookies.daemon.bg.js +0 -0
  163. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/istilldontcareaboutcookies/templates/icon.html +0 -0
  164. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/liteparse/__init__.py +0 -0
  165. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/liteparse/config.json +0 -0
  166. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/liteparse/on_Snapshot__61_liteparse.py +0 -0
  167. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/liteparse/templates/card.html +0 -0
  168. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/liteparse/templates/full.html +0 -0
  169. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/media/__init__.py +0 -0
  170. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/media/config.json +0 -0
  171. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/media/templates/icon.html +0 -0
  172. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/mercury/__init__.py +0 -0
  173. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/mercury/config.json +0 -0
  174. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/mercury/on_Snapshot__57_mercury.py +0 -0
  175. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/mercury/templates/card.html +0 -0
  176. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/mercury/templates/icon.html +0 -0
  177. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/modalcloser/__init__.py +0 -0
  178. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/modalcloser/config.json +0 -0
  179. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/modalcloser/on_Snapshot__15_modalcloser.daemon.bg.js +0 -0
  180. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/modalcloser/templates/icon.html +0 -0
  181. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opencode/__init__.py +0 -0
  182. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opencode/config.json +0 -0
  183. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opencode/runtime.py +0 -0
  184. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opencode/templates/add.html +0 -0
  185. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opencode/templates/agent.html +0 -0
  186. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opencode/templates/navigation.html +0 -0
  187. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opendataloader/__init__.py +0 -0
  188. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opendataloader/config.json +0 -0
  189. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opendataloader/on_Snapshot__60_opendataloader.py +0 -0
  190. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opendataloader/templates/card.html +0 -0
  191. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opendataloader/templates/full.html +0 -0
  192. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opentimestamps/__init__.py +0 -0
  193. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opentimestamps/config.json +0 -0
  194. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opentimestamps/on_Snapshot__99_opentimestamps.py +0 -0
  195. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opentimestamps/templates/card.html +0 -0
  196. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opentimestamps/templates/full.html +0 -0
  197. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opentimestamps/templates/icon.html +0 -0
  198. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/opentimestamps/templates/viewer.html +0 -0
  199. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/papersdl/__init__.py +0 -0
  200. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/papersdl/config.json +0 -0
  201. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/papersdl/on_Snapshot__66_papersdl.finite.bg.py +0 -0
  202. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/papersdl/templates/card.html +0 -0
  203. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/papersdl/templates/full.html +0 -0
  204. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/papersdl/templates/icon.html +0 -0
  205. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_dom_outlinks/__init__.py +0 -0
  206. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_dom_outlinks/config.json +0 -0
  207. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_dom_outlinks/on_Snapshot__75_parse_dom_outlinks.js +0 -0
  208. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_dom_outlinks/templates/card.html +0 -0
  209. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_dom_outlinks/templates/full.html +0 -0
  210. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_dom_outlinks/templates/icon.html +0 -0
  211. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_html_urls/__init__.py +0 -0
  212. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_html_urls/config.json +0 -0
  213. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_html_urls/on_Snapshot__70_parse_html_urls.py +0 -0
  214. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_html_urls/templates/card.html +0 -0
  215. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_html_urls/templates/full.html +0 -0
  216. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_html_urls/templates/icon.html +0 -0
  217. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_jsonl_urls/__init__.py +0 -0
  218. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_jsonl_urls/config.json +0 -0
  219. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_jsonl_urls/on_Snapshot__74_parse_jsonl_urls.py +0 -0
  220. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_jsonl_urls/templates/card.html +0 -0
  221. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_jsonl_urls/templates/full.html +0 -0
  222. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_jsonl_urls/templates/icon.html +0 -0
  223. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_netscape_urls/__init__.py +0 -0
  224. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_netscape_urls/config.json +0 -0
  225. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_netscape_urls/on_Snapshot__73_parse_netscape_urls.py +0 -0
  226. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_netscape_urls/templates/card.html +0 -0
  227. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_netscape_urls/templates/full.html +0 -0
  228. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_netscape_urls/templates/icon.html +0 -0
  229. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_rss_urls/__init__.py +0 -0
  230. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_rss_urls/config.json +0 -0
  231. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_rss_urls/on_Snapshot__72_parse_rss_urls.py +0 -0
  232. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_rss_urls/parse_rss_test_helpers.py +0 -0
  233. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_rss_urls/templates/card.html +0 -0
  234. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_rss_urls/templates/full.html +0 -0
  235. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_rss_urls/templates/icon.html +0 -0
  236. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_txt_urls/__init__.py +0 -0
  237. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_txt_urls/config.json +0 -0
  238. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_txt_urls/on_Snapshot__71_parse_txt_urls.py +0 -0
  239. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_txt_urls/templates/card.html +0 -0
  240. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_txt_urls/templates/full.html +0 -0
  241. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/parse_txt_urls/templates/icon.html +0 -0
  242. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/pdf/__init__.py +0 -0
  243. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/pdf/config.json +0 -0
  244. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/pdf/on_Snapshot__52_pdf.js +0 -0
  245. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/pdf/templates/card.html +0 -0
  246. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/pdf/templates/full.html +0 -0
  247. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/pdf/templates/icon.html +0 -0
  248. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/readability/__init__.py +0 -0
  249. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/readability/config.json +0 -0
  250. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/readability/on_Snapshot__56_readability.py +0 -0
  251. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/readability/templates/card.html +0 -0
  252. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/readability/templates/full.html +0 -0
  253. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/readability/templates/icon.html +0 -0
  254. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/redirects/__init__.py +0 -0
  255. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/redirects/config.json +0 -0
  256. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/redirects/on_Snapshot__25_redirects.daemon.bg.js +0 -0
  257. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/redirects/templates/card.html +0 -0
  258. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/redirects/templates/full.html +0 -0
  259. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/redirects/templates/icon.html +0 -0
  260. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/responses/__init__.py +0 -0
  261. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/responses/config.json +0 -0
  262. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/responses/filename_utils.js +0 -0
  263. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/responses/on_Snapshot__24_responses.daemon.bg.js +0 -0
  264. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/responses/templates/icon.html +0 -0
  265. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/screenshot/__init__.py +0 -0
  266. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/screenshot/config.json +0 -0
  267. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/screenshot/on_Snapshot__51_screenshot.js +0 -0
  268. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/screenshot/templates/card.html +0 -0
  269. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/screenshot/templates/full.html +0 -0
  270. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/screenshot/templates/icon.html +0 -0
  271. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_ripgrep/__init__.py +0 -0
  272. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_ripgrep/config.json +0 -0
  273. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_ripgrep/search.py +0 -0
  274. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_ripgrep/templates/icon.html +0 -0
  275. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sonic/__init__.py +0 -0
  276. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sonic/config.json +0 -0
  277. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sonic/daemon.py +0 -0
  278. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sonic/on_Snapshot__91_index_sonic.py +0 -0
  279. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sonic/search.py +0 -0
  280. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sonic/templates/icon.html +0 -0
  281. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sqlite/__init__.py +0 -0
  282. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sqlite/config.json +0 -0
  283. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sqlite/on_Snapshot__90_index_sqlite.py +0 -0
  284. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sqlite/search.py +0 -0
  285. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/search_backend_sqlite/templates/icon.html +0 -0
  286. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/seo/__init__.py +0 -0
  287. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/seo/config.json +0 -0
  288. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/seo/on_Snapshot__38_seo.js +0 -0
  289. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/seo/templates/card.html +0 -0
  290. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/seo/templates/full.html +0 -0
  291. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/seo/templates/icon.html +0 -0
  292. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/singlefile/__init__.py +0 -0
  293. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/singlefile/config.json +0 -0
  294. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/singlefile/on_CrawlSetup__80_singlefile_prepare.py +0 -0
  295. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/singlefile/on_Snapshot__50_singlefile.py +0 -0
  296. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/singlefile/singlefile_extension_save.js +0 -0
  297. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/singlefile/templates/card.html +0 -0
  298. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/singlefile/templates/icon.html +0 -0
  299. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ssl/config.json +0 -0
  300. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/sslcerts/__init__.py +0 -0
  301. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/sslcerts/config.json +0 -0
  302. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/sslcerts/on_Snapshot__23_sslcerts.daemon.bg.js +0 -0
  303. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/sslcerts/templates/card.html +0 -0
  304. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/sslcerts/templates/full.html +0 -0
  305. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/sslcerts/templates/icon.html +0 -0
  306. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/staticfile/__init__.py +0 -0
  307. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/staticfile/config.json +0 -0
  308. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/staticfile/on_Snapshot__26_staticfile.daemon.bg.js +0 -0
  309. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/staticfile/templates/card.html +0 -0
  310. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/staticfile/templates/icon.html +0 -0
  311. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/title/__init__.py +0 -0
  312. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/title/config.json +0 -0
  313. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/title/on_Snapshot__54_title.js +0 -0
  314. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/title/templates/card.html +0 -0
  315. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/title/templates/full.html +0 -0
  316. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/title/templates/icon.html +0 -0
  317. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/.gitignore +0 -0
  318. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/__init__.py +0 -0
  319. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/config.json +0 -0
  320. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/on_CrawlSetup__80_tlsnotary_prepare.py +0 -0
  321. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/on_Snapshot__92_tlsnotary.js +0 -0
  322. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/research/.gitignore +0 -0
  323. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/research/EXTENSION_API_AUDIT.md +0 -0
  324. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/research/PRIVATE_INTERSECTION.pseudocode.mjs +0 -0
  325. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/research/TLSNOTARY_CAPTURE.pseudocode.mjs +0 -0
  326. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/.dockerignore +0 -0
  327. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/.env.example +0 -0
  328. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/Dockerfile +0 -0
  329. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/README.md +0 -0
  330. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/cloudflared.yaml +0 -0
  331. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/cloudflared.yaml.example +0 -0
  332. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/docker-compose.yml +0 -0
  333. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/package-lock.json +0 -0
  334. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/package.json +0 -0
  335. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/server.mjs +0 -0
  336. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/verifier-config.yaml +0 -0
  337. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/visualization/README.md +0 -0
  338. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/visualization/build.mjs +0 -0
  339. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/web/app.mjs +0 -0
  340. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/web/diagram.mjs +0 -0
  341. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/web/index.html +0 -0
  342. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/web/site-chrome.mjs +0 -0
  343. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/web/style.css +0 -0
  344. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/server/web/verify.mjs +0 -0
  345. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/templates/card.html +0 -0
  346. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/templates/full.html +0 -0
  347. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/tlsnotary/templates/icon.html +0 -0
  348. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/trafilatura/__init__.py +0 -0
  349. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/trafilatura/config.json +0 -0
  350. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/trafilatura/on_Snapshot__59_trafilatura.py +0 -0
  351. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/trafilatura/templates/card.html +0 -0
  352. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/trafilatura/templates/full.html +0 -0
  353. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/trafilatura/templates/icon.html +0 -0
  354. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/twocaptcha/__init__.py +0 -0
  355. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/twocaptcha/config.json +0 -0
  356. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/twocaptcha/on_CrawlSetup__80_twocaptcha_prepare.py +0 -0
  357. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/twocaptcha/on_CrawlSetup__95_twocaptcha_config.js +0 -0
  358. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/twocaptcha/on_Snapshot__14_twocaptcha.daemon.bg.js +0 -0
  359. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/twocaptcha/templates/icon.html +0 -0
  360. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ublock/__init__.py +0 -0
  361. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ublock/config.json +0 -0
  362. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ublock/on_CrawlSetup__80_ublock_prepare.py +0 -0
  363. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ublock/on_CrawlSetup__95_ublock_config.js +0 -0
  364. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ublock/on_Snapshot__11_ublock_config.js +0 -0
  365. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ublock/on_Snapshot__12_ublock.daemon.bg.js +0 -0
  366. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ublock/templates/icon.html +0 -0
  367. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ublock/ublock_internal.js +0 -0
  368. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/wget/__init__.py +0 -0
  369. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/wget/config.json +0 -0
  370. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/wget/on_Snapshot__35_wget.finite.bg.py +0 -0
  371. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/wget/templates/card.html +0 -0
  372. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/wget/templates/icon.html +0 -0
  373. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ytdlp/__init__.py +0 -0
  374. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ytdlp/config.json +0 -0
  375. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ytdlp/on_Snapshot__31_ytdlp.finite.bg.py +0 -0
  376. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ytdlp/templates/card.html +0 -0
  377. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ytdlp/templates/full.html +0 -0
  378. {abx_plugins-1.12.332 → abx_plugins-1.12.334}/abx_plugins/plugins/ytdlp/templates/icon.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: abx-plugins
3
- Version: 1.12.332
3
+ Version: 1.12.334
4
4
  Summary: ArchiveBox-compatible plugin suite (hooks, configs, binaries manifests)
5
5
  Project-URL: Homepage, https://plugins.archivebox.io/
6
6
  Project-URL: Source, https://github.com/ArchiveBox/abx-plugins
@@ -0,0 +1,2 @@
1
+ <!-- Compact forum preview: one row in the snapshot grid. -->
2
+ <iframe data-compact="1" data-plugin="forumdl" src="{{ output_path }}?preview=1&amp;card=1" title="Forum preview" loading="lazy" sandbox="allow-scripts allow-same-origin" style="width:100% !important;height:20px !important;transform:none !important;border:0;pointer-events:none"></iframe>
@@ -0,0 +1,33 @@
1
+ <!doctype html>
2
+ <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Forum thread</title>
3
+ <style>
4
+ :root{color-scheme:light;--ink:#25282c;--muted:#66717c;--line:#d9dee4;--accent:#315c83;--paper:#fff;--bg:#f5f7f9}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,sans-serif}header{display:flex;align-items:center;gap:12px;min-height:49px;padding:6px 16px;border-bottom:1px solid #23435f;background:var(--accent);color:#fff}header h1{margin:0;font-size:15px;white-space:nowrap}.site-mark{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(255,255,255,.72);border-radius:5px;color:white;font:700 14px/1 system-ui,sans-serif}nav{display:flex;gap:5px;margin-left:auto}nav a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:36px;min-height:36px;padding:5px 8px;border:1px solid rgba(0,0,0,.2);border-radius:5px;background:#fff;color:#211c18;text-decoration:none}nav a:hover{background:#f1f5f9}main{width:100%;max-width:1040px;margin:0 auto;padding:24px}.thread-head{padding:22px 24px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:12px}.eyebrow strong{color:var(--accent);letter-spacing:.05em;text-transform:uppercase}.thread-title{margin:8px 0 9px;font:700 clamp(26px,4vw,38px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.015em}.thread-meta{display:flex;flex-wrap:wrap;gap:5px 14px;color:var(--muted);font-size:13px}.thread-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.thread-links a{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:5px;background:#f8fafc;color:#3f5870;text-decoration:none}.thread-links a:hover{border-color:#aab6c1;background:#fff}.story-text{margin-top:18px;padding:15px 17px;border-left:3px solid var(--accent);background:#f4f8fc;font:16px/1.55 Georgia,'Times New Roman',serif}.story-text:empty{display:none}.rich p{margin:0 0 .72em}.rich p:last-child{margin-bottom:0}.rich a{color:#315c83;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.rich pre{max-width:100%;overflow:auto;padding:9px;border-radius:5px;background:#eef1f4;font:12px/1.45 ui-monospace,SFMono-Regular,monospace}.rich code{font:12px/1.45 ui-monospace,SFMono-Regular,monospace}.rich blockquote{margin:8px 0;padding-left:12px;border-left:2px solid #c9d1d8;color:#555e67}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:22px 2px 10px}.section-head h2{margin:0;font-size:16px}.section-head span{color:var(--muted);font-size:12px}.comments{border-top:1px solid var(--line)}.comment{padding:14px 4px 4px}.comment-head{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;margin-bottom:5px;color:var(--muted);font-size:12px}.avatar{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e7edf3;color:#315c83;font-size:11px;font-weight:700}.author{color:#315c83;font-weight:700}.comment-link{color:var(--muted);text-decoration:none}.comment-link:hover{color:#315c83;text-decoration:underline}.comment-body{padding-left:31px;font:14px/1.55 system-ui,-apple-system,sans-serif}.comment-children{margin-left:26px;padding-left:13px;border-left:1px solid #d3dbe2}.empty{padding:40px;text-align:center;color:var(--muted)}#card-summary{display:none}.badge{display:inline-flex;align-items:center;border:1px solid #e2e6eb;border-radius:5px;background:#f1f5f9;padding:2px 7px;font-size:12px;color:#475569}.card-view{background:#f8fafc;overflow:hidden}.card-view header,.card-view main{display:none}.card-view #card-summary{display:flex;align-items:center;gap:7px;height:20px;padding:0 8px;white-space:nowrap;overflow:hidden;font-size:11px;color:#475569}.card-view #card-summary span{overflow:hidden;text-overflow:ellipsis}.card-view .badge{padding:0 4px;font-size:10px;flex:none}@media(max-width:760px){nav .label{display:none}main{padding:12px}.thread-head{padding:18px 16px}.comment-children{margin-left:12px;padding-left:8px}.comment-body{padding-left:0}.thread-title{font-size:28px}}@media(max-width:420px){header{gap:6px;padding:4px 8px}.site-mark{width:24px;height:24px}header h1{font-size:14px}nav{gap:3px}nav a{width:40px;height:40px;padding:0}.thread-links a{flex:1;justify-content:center}.comment{padding-top:12px}.comment-children{margin-left:7px}}
5
+ </style></head><body>
6
+ <header><span class="site-mark">💬</span><h1>ForumDL</h1><nav aria-label="Output actions"><a id="files" title="View all files" aria-label="View all files">📁<span class="label">View all files</span></a><a id="download" download title="Download" aria-label="Download">⤓<span class="label">Download</span></a><a id="raw" title="View raw" aria-label="View raw">&lt;/&gt;<span class="label">View raw</span></a></nav></header>
7
+ <div id="card-summary"></div><main id="content"><div class="empty">Loading thread…</div></main>
8
+ <script>
9
+ (()=>{
10
+ const compact=new URLSearchParams(location.search).get('card')==='1';document.body.classList.toggle('card-view',compact);
11
+ const output=new URL('{{ output_path|escapejs }}',location.href);output.search='';output.hash='';const folder=new URL('./',output);
12
+ document.getElementById('files').href=folder.href+'?files=1';document.getElementById('download').href=output.href;document.getElementById('raw').href=output.href+'?preview=1&raw=1';
13
+ const el=(tag,text,cls)=>{const node=document.createElement(tag);if(text!=null)node.textContent=String(text);if(cls)node.className=cls;return node};
14
+ const safeURL=(value,base)=>{try{const url=new URL(value,base);return ['http:','https:'].includes(url.protocol)?url:null}catch{return null}};
15
+ const link=(value,label,base)=>{const anchor=el('a',label);const url=safeURL(value,base);if(url){anchor.href=url.href;anchor.target='_blank';anchor.rel='noopener noreferrer'}return anchor};
16
+ const itemOf=record=>record&&typeof record.item==='object'&&record.item?record.item:{};
17
+ const dataOf=record=>{const item=itemOf(record);return item.data&&typeof item.data==='object'?item.data:{}};
18
+ const field=(record,...names)=>{const item=itemOf(record),data=dataOf(record);for(const name of names){const value=item[name]??data[name];if(value!=null)return value}};
19
+ const last=value=>Array.isArray(value)&&value.length?value[value.length-1]:null;
20
+ const recordID=record=>{const item=itemOf(record),data=dataOf(record),specific=last(item.subpath)??data.id??data.post_id??data.post_number;if(specific!=null)return String(specific);if(record.type==='post'&&item.url)return String(item.url);return String(last(item.path)??item.url??'')};
21
+ const contentOf=record=>field(record,'content','cooked','text','raw','body')??'';
22
+ const authorOf=record=>field(record,'author','username','display_username','by','name')??dataOf(record).details?.created_by?.username??'';
23
+ const timeOf=record=>{const raw=field(record,'creation_time','created_at','time','date','timestamp');if(!raw)return null;const date=typeof raw==='number'?new Date(raw*1000):new Date(raw);return Number.isNaN(date.getTime())?null:date};
24
+ const formatTime=record=>{const date=timeOf(record);return date?new Intl.DateTimeFormat(undefined,{dateStyle:'medium',timeStyle:'short'}).format(date):''};
25
+ const aliasesOf=record=>{const item=itemOf(record),data=dataOf(record);return [recordID(record),last(item.subpath),data.id,data.post_id,data.post_number,item.url].filter(value=>value!=null&&value!=='').map(String)};
26
+ const postURL=(record,threadURL)=>{const itemURL=itemOf(record).url||threadURL,id=recordID(record);if(record.extractor==='hackernews'&&/^\d+$/.test(id)){const url=safeURL(threadURL||itemURL,location.href);if(url){url.searchParams.set('id',id);return url.href}}return itemURL};
27
+ const richContent=(html,base)=>{const allowed=new Set(['P','BR','A','EM','I','STRONG','B','CODE','PRE','BLOCKQUOTE','UL','OL','LI','DEL']),source=new DOMParser().parseFromString(String(html||''),'text/html'),fragment=document.createDocumentFragment();const copy=(node,parent)=>{if(node.nodeType===Node.TEXT_NODE){parent.append(document.createTextNode(node.nodeValue||''));return}if(node.nodeType!==Node.ELEMENT_NODE)return;const target=allowed.has(node.tagName)?document.createElement(node.tagName.toLowerCase()):document.createDocumentFragment();if(node.tagName==='A'){const url=safeURL(node.getAttribute('href'),base);if(url){target.href=url.href;target.target='_blank';target.rel='noopener noreferrer'}}for(const child of node.childNodes)copy(child,target);parent.append(target)};for(const child of source.body.childNodes)copy(child,fragment);return fragment};
28
+ const parseLines=text=>{const records=[];for(const line of text.split(/\r?\n/)){if(!line.trim())continue;try{const value=JSON.parse(line);if(value&&typeof value==='object')records.push(value)}catch{}}return records};
29
+ const commentNode=(record,childrenByParent,threadURL,seen)=>{const id=recordID(record);if(!id||seen.has(id))return null;seen.add(id);const wrap=el('article',null,'comment'),head=el('div',null,'comment-head'),author=authorOf(record),body=contentOf(record),isDeleted=Boolean(field(record,'deleted','dead')),authorLabel=author||(isDeleted?'[deleted]':'Unknown author');head.append(el('span',(author||'?').slice(0,1).toUpperCase(),'avatar'),el('span',authorLabel,'author'));const time=formatTime(record);if(time)head.append(el('span',time));const permalink=postURL(record,threadURL);if(permalink&&safeURL(permalink,threadURL||location.href)){const label=/^\d+$/.test(id)?'#'+id:'permalink';head.append(link(permalink,label,threadURL||location.href))}wrap.append(head);if(body){const content=el('div',null,'comment-body rich');content.append(richContent(body,permalink||threadURL||location.href));wrap.append(content)}const children=childrenByParent.get(id)||[];if(children.length){const branch=el('div',null,'comment-children');for(const child of children){const childNode=commentNode(child,childrenByParent,threadURL,seen);if(childNode)branch.append(childNode)}wrap.append(branch)}return wrap};
30
+ const render=records=>{const thread=records.find(record=>record.type==='thread')||records.find(record=>field(record,'type')==='story')||records[0],threadID=recordID(thread),posts=records.filter(record=>record.type==='post'),storyPost=posts.find(record=>recordID(record)===threadID)||thread,title=field(thread,'title','topic_title','subject')||'Forum thread',threadURL=itemOf(thread).url||'',storyURL=dataOf(thread).url||'',author=authorOf(storyPost)||authorOf(thread),score=field(thread,'score'),likes=field(thread,'like_count'),comments=posts.filter(record=>recordID(record)!==threadID&&(authorOf(record)||contentOf(record))),childrenByParent=new Map(),keyByAlias=new Map();for(const post of comments)for(const alias of aliasesOf(post))if(!keyByAlias.has(alias))keyByAlias.set(alias,recordID(post));for(const post of comments){const parentValue=field(post,'parent','parent_id','reply_to_post_number'),parent=parentValue==null?threadID:(keyByAlias.get(String(parentValue))||String(parentValue));if(!childrenByParent.has(parent))childrenByParent.set(parent,[]);childrenByParent.get(parent).push(post)}document.title=title+' · ForumDL';const summary=document.getElementById('card-summary');summary.replaceChildren(el('span',title),el('span','💬 '+comments.length,'badge'));if(compact)return;const content=document.getElementById('content');content.replaceChildren();const hero=el('section',null,'thread-head'),eyebrow=el('div',null,'eyebrow'),threadHost=safeURL(threadURL,location.href)?.hostname;eyebrow.append(el('strong',(thread.extractor||'forum').replaceAll('_',' ')));if(threadHost)eyebrow.append(el('span',threadHost));if(threadID)eyebrow.append(el('span','#'+threadID));hero.append(eyebrow,el('h2',title,'thread-title'));const meta=el('div',null,'thread-meta');if(author)meta.append(el('span','by '+author));if(score!=null)meta.append(el('span','▲ '+score+' points'));else if(likes!=null)meta.append(el('span','♥ '+likes+' like'+(likes===1?'':'s')));meta.append(el('span','💬 '+comments.length+' captured repl'+(comments.length===1?'y':'ies')));const time=formatTime(storyPost);if(time)meta.append(el('span','◷ '+time));hero.append(meta);const links=el('div',null,'thread-links');if(storyURL&&storyURL!==threadURL&&safeURL(storyURL,threadURL||location.href))links.append(link(storyURL,'↗ Open article',threadURL||location.href));if(threadURL&&safeURL(threadURL,location.href))links.append(link(threadURL,'💬 Open discussion',location.href));if(links.childElementCount)hero.append(links);const storyText=contentOf(storyPost);if(storyText){const intro=el('div',null,'story-text rich');intro.append(richContent(storyText,storyURL||threadURL||location.href));hero.append(intro)}content.append(hero);const section=el('div',null,'section-head');section.append(el('h2','Discussion'),el('span',comments.length+' captured'));content.append(section);const tree=el('section',null,'comments'),seen=new Set(),roots=childrenByParent.get(threadID)||[];for(const post of roots){const node=commentNode(post,childrenByParent,threadURL,seen);if(node)tree.append(node)}for(const post of comments){if(seen.has(recordID(post)))continue;const node=commentNode(post,childrenByParent,threadURL,seen);if(node)tree.append(node)}if(!tree.childElementCount)tree.append(el('div','No captured replies','empty'));content.append(tree)};
31
+ fetch(output).then(response=>{if(!response.ok)throw new Error(String(response.status));return response.text()}).then(text=>{const records=parseLines(text);if(!records.length)throw new Error('No posts');render(records)}).catch(()=>{document.getElementById('content').replaceChildren(el('div','Unable to read captured forum thread.','empty'))});
32
+ })();
33
+ </script></body></html>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "abx-plugins"
3
- version = "1.12.332"
3
+ version = "1.12.334"
4
4
  description = "ArchiveBox-compatible plugin suite (hooks, configs, binaries manifests)"
5
5
  authors = [{name = "Nick Sweeting"}, {name = "ArchiveBox"}]
6
6
  requires-python = ">=3.12,<3.15"
@@ -1,7 +0,0 @@
1
- <!-- Forum thumbnail - shows icon placeholder -->
2
- <div class="extractor-thumbnail forumdl-thumbnail" style="width: 100%; height: 100px; overflow: hidden; background: #1a1a1a; display: flex; align-items: center; justify-content: center;">
3
- <div style="display: flex; flex-direction: column; align-items: center; color: #888; font-size: 12px;">
4
- <span style="font-size: 32px;">💬</span>
5
- <span>Forum</span>
6
- </div>
7
- </div>
@@ -1,147 +0,0 @@
1
- <!-- Fullscreen forum view - renders JSONL forum posts -->
2
- <!DOCTYPE html>
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>Forum Thread</title>
8
- <style>
9
- body {
10
- margin: 0;
11
- padding: 20px;
12
- background: #0d1117;
13
- color: #c9d1d9;
14
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
15
- line-height: 1.6;
16
- }
17
- .header {
18
- max-width: 1000px;
19
- margin: 0 auto 30px;
20
- text-align: center;
21
- padding: 20px;
22
- border-bottom: 1px solid #30363d;
23
- }
24
- .icon {
25
- font-size: 48px;
26
- margin-bottom: 10px;
27
- }
28
- h1 {
29
- margin: 0;
30
- font-size: 28px;
31
- color: #f0f6fc;
32
- }
33
- .container {
34
- max-width: 1000px;
35
- margin: 0 auto;
36
- }
37
- .post {
38
- background: #161b22;
39
- border: 1px solid #30363d;
40
- border-radius: 6px;
41
- margin-bottom: 16px;
42
- padding: 16px;
43
- transition: border-color 0.2s;
44
- }
45
- .post:hover {
46
- border-color: #58a6ff;
47
- }
48
- .post-header {
49
- display: flex;
50
- justify-content: space-between;
51
- align-items: center;
52
- margin-bottom: 12px;
53
- padding-bottom: 12px;
54
- border-bottom: 1px solid #21262d;
55
- }
56
- .post-author {
57
- font-weight: 600;
58
- color: #58a6ff;
59
- font-size: 14px;
60
- }
61
- .post-date {
62
- color: #8b949e;
63
- font-size: 12px;
64
- }
65
- .post-title {
66
- margin: 0 0 12px 0;
67
- font-size: 18px;
68
- font-weight: 600;
69
- color: #f0f6fc;
70
- }
71
- .post-content {
72
- color: #c9d1d9;
73
- word-wrap: break-word;
74
- }
75
- .post-content img {
76
- max-width: 100%;
77
- height: auto;
78
- border-radius: 4px;
79
- }
80
- .post-content a {
81
- color: #58a6ff;
82
- text-decoration: none;
83
- }
84
- .post-content a:hover {
85
- text-decoration: underline;
86
- }
87
- .loading {
88
- text-align: center;
89
- padding: 40px;
90
- color: #8b949e;
91
- }
92
- </style>
93
- </head>
94
- <body>
95
- <div class="header">
96
- <div class="icon">💬</div>
97
- <h1>Forum Thread</h1>
98
- </div>
99
- <div class="container">
100
- <div id="forum-posts" class="loading">Loading posts...</div>
101
- </div>
102
- <script>
103
- (async function() {
104
- try {
105
- const response = await fetch('{{ output_path }}');
106
- const text = await response.text();
107
- const posts = text.trim().split('\n').filter(line => line).map(line => JSON.parse(line));
108
- const container = document.getElementById('forum-posts');
109
- container.innerHTML = '';
110
- container.className = '';
111
-
112
- posts.forEach(post => {
113
- const postDiv = document.createElement('div');
114
- postDiv.className = 'post';
115
-
116
- const author = post.author || 'Anonymous';
117
- const date = post.date ? new Date(post.date).toLocaleString() : '';
118
- const title = post.title || '';
119
- const content = post.content || post.body || '';
120
-
121
- postDiv.innerHTML = `
122
- <div class="post-header">
123
- <span class="post-author">${escapeHtml(author)}</span>
124
- <span class="post-date">${escapeHtml(date)}</span>
125
- </div>
126
- ${title ? `<h2 class="post-title">${escapeHtml(title)}</h2>` : ''}
127
- <div class="post-content">${content}</div>
128
- `;
129
- container.appendChild(postDiv);
130
- });
131
-
132
- if (posts.length === 0) {
133
- container.innerHTML = '<div class="loading">No posts found</div>';
134
- }
135
- } catch(e) {
136
- document.getElementById('forum-posts').innerHTML = '<div class="loading">Error loading posts: ' + e.message + '</div>';
137
- }
138
- })();
139
-
140
- function escapeHtml(text) {
141
- const div = document.createElement('div');
142
- div.textContent = text;
143
- return div.innerHTML;
144
- }
145
- </script>
146
- </body>
147
- </html>
File without changes
File without changes