mwoffliner 1.17.4 → 2.0.0

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 (227) hide show
  1. package/README.md +355 -62
  2. package/docs/functional_architecture.md +34 -38
  3. package/extensions/wiktionary_fr.js +18 -17
  4. package/jest.config.cjs +2 -2
  5. package/lib/DOMUtils.js +0 -1
  6. package/lib/DOMUtils.js.map +1 -1
  7. package/lib/Downloader.d.ts +39 -31
  8. package/lib/Downloader.js +418 -349
  9. package/lib/Downloader.js.map +1 -1
  10. package/lib/Dump.d.ts +24 -10
  11. package/lib/Dump.js +95 -50
  12. package/lib/Dump.js.map +1 -1
  13. package/lib/Gadgets.d.ts +2 -1
  14. package/lib/Gadgets.js +7 -5
  15. package/lib/Gadgets.js.map +1 -1
  16. package/lib/Logger.d.ts +6 -6
  17. package/lib/Logger.js +33 -33
  18. package/lib/Logger.js.map +1 -1
  19. package/lib/MediaWiki.d.ts +14 -31
  20. package/lib/MediaWiki.js +119 -172
  21. package/lib/MediaWiki.js.map +1 -1
  22. package/lib/RedisStore.d.ts +3 -3
  23. package/lib/RedisStore.js +21 -23
  24. package/lib/RedisStore.js.map +1 -1
  25. package/lib/S3.js +1 -1
  26. package/lib/S3.js.map +1 -1
  27. package/lib/Templates.d.ts +3 -10
  28. package/lib/Templates.js +5 -14
  29. package/lib/Templates.js.map +1 -1
  30. package/lib/cli.js +7 -6
  31. package/lib/cli.js.map +1 -1
  32. package/lib/config.d.ts +10 -16
  33. package/lib/config.js +33 -55
  34. package/lib/config.js.map +1 -1
  35. package/lib/error.manager.d.ts +2 -2
  36. package/lib/error.manager.js +42 -49
  37. package/lib/error.manager.js.map +1 -1
  38. package/lib/i18n.d.ts +2 -0
  39. package/lib/i18n.js +53 -0
  40. package/lib/i18n.js.map +1 -0
  41. package/lib/mutex.d.ts +2 -1
  42. package/lib/mutex.js +2 -1
  43. package/lib/mutex.js.map +1 -1
  44. package/lib/mwoffliner.lib.js +370 -222
  45. package/lib/mwoffliner.lib.js.map +1 -1
  46. package/lib/parameterList.d.ts +20 -8
  47. package/lib/parameterList.js +30 -18
  48. package/lib/parameterList.js.map +1 -1
  49. package/lib/renderers/abstract.renderer.d.ts +48 -55
  50. package/lib/renderers/abstract.renderer.js +377 -98
  51. package/lib/renderers/abstract.renderer.js.map +1 -1
  52. package/lib/renderers/action-parse.renderer.d.ts +22 -3
  53. package/lib/renderers/action-parse.renderer.js +123 -81
  54. package/lib/renderers/action-parse.renderer.js.map +1 -1
  55. package/lib/renderers/renderer.builder.js +6 -69
  56. package/lib/renderers/renderer.builder.js.map +1 -1
  57. package/lib/renderers/rendering.context.d.ts +2 -3
  58. package/lib/renderers/rendering.context.js +6 -14
  59. package/lib/renderers/rendering.context.js.map +1 -1
  60. package/lib/sanitize-argument.d.ts +7 -4
  61. package/lib/sanitize-argument.js +99 -41
  62. package/lib/sanitize-argument.js.map +1 -1
  63. package/lib/util/FileManager.d.ts +36 -0
  64. package/lib/util/FileManager.js +246 -0
  65. package/lib/util/FileManager.js.map +1 -0
  66. package/lib/util/RedisKvs.js +4 -4
  67. package/lib/util/RedisKvs.js.map +1 -1
  68. package/lib/util/RedisQueue.js +1 -1
  69. package/lib/util/RedisQueue.js.map +1 -1
  70. package/lib/util/builders/url/action-parse.director.d.ts +2 -2
  71. package/lib/util/builders/url/action-parse.director.js +7 -7
  72. package/lib/util/builders/url/action-parse.director.js.map +1 -1
  73. package/lib/util/builders/url/api.director.d.ts +2 -4
  74. package/lib/util/builders/url/api.director.js +10 -17
  75. package/lib/util/builders/url/api.director.js.map +1 -1
  76. package/lib/util/builders/url/base.director.d.ts +0 -4
  77. package/lib/util/builders/url/base.director.js +0 -25
  78. package/lib/util/builders/url/base.director.js.map +1 -1
  79. package/lib/util/builders/url/basic.director.d.ts +1 -1
  80. package/lib/util/builders/url/basic.director.js +1 -1
  81. package/lib/util/builders/url/web.director.d.ts +1 -1
  82. package/lib/util/builders/url/web.director.js +2 -2
  83. package/lib/util/builders/url/web.director.js.map +1 -1
  84. package/lib/util/categories.d.ts +5 -5
  85. package/lib/util/categories.js +175 -174
  86. package/lib/util/categories.js.map +1 -1
  87. package/lib/util/const.d.ts +4 -8
  88. package/lib/util/const.js +9 -17
  89. package/lib/util/const.js.map +1 -1
  90. package/lib/util/customCssJs.d.ts +6 -0
  91. package/lib/util/customCssJs.js +70 -0
  92. package/lib/util/customCssJs.js.map +1 -0
  93. package/lib/util/dump.d.ts +15 -4
  94. package/lib/util/dump.js +282 -86
  95. package/lib/util/dump.js.map +1 -1
  96. package/lib/util/index.d.ts +1 -1
  97. package/lib/util/index.js +1 -1
  98. package/lib/util/index.js.map +1 -1
  99. package/lib/util/metaData.js.map +1 -1
  100. package/lib/util/misc.d.ts +23 -13
  101. package/lib/util/misc.js +90 -59
  102. package/lib/util/misc.js.map +1 -1
  103. package/lib/util/mw-api.d.ts +7 -5
  104. package/lib/util/mw-api.js +167 -221
  105. package/lib/util/mw-api.js.map +1 -1
  106. package/lib/util/pageListMainPage.d.ts +3 -0
  107. package/lib/util/pageListMainPage.js +10 -0
  108. package/lib/util/pageListMainPage.js.map +1 -0
  109. package/lib/util/pages.d.ts +30 -0
  110. package/lib/util/pages.js +146 -0
  111. package/lib/util/pages.js.map +1 -0
  112. package/lib/util/rewriteUrls.d.ts +2 -2
  113. package/lib/util/rewriteUrls.js +33 -31
  114. package/lib/util/rewriteUrls.js.map +1 -1
  115. package/lib/util/savePages.d.ts +8 -0
  116. package/lib/util/savePages.js +182 -0
  117. package/lib/util/savePages.js.map +1 -0
  118. package/lib/version.d.ts +1 -1
  119. package/lib/version.js +1 -1
  120. package/lib/version.js.map +1 -1
  121. package/offliner-definition.json +178 -90
  122. package/package.json +50 -49
  123. package/res/page_list_home.js +20 -0
  124. package/res/{article_not_found.svg → page_not_found.svg} +1 -1
  125. package/res/script.js +30 -45
  126. package/res/style.css +52 -68
  127. package/res/templates/download_error_placeholder.html +7 -8
  128. package/res/templates/javaScript.html +19 -0
  129. package/res/templates/pageFallback.html +9 -7
  130. package/res/templates/pageVector2022.html +9 -7
  131. package/res/templates/pageVectorLegacy.html +9 -7
  132. package/res/templates/{article_list_home.html → page_list_home.html} +1 -2
  133. package/translation/ar.json +21 -21
  134. package/translation/bn.json +1 -1
  135. package/translation/de.json +46 -19
  136. package/translation/en.json +54 -21
  137. package/translation/es.json +17 -19
  138. package/translation/fi.json +23 -3
  139. package/translation/fr.json +57 -21
  140. package/translation/he.json +8 -6
  141. package/translation/ia.json +19 -19
  142. package/translation/id.json +13 -13
  143. package/translation/it.json +13 -8
  144. package/translation/ko.json +55 -3
  145. package/translation/lb.json +5 -2
  146. package/translation/mk.json +5 -5
  147. package/translation/nl.json +57 -22
  148. package/translation/or.json +2 -2
  149. package/translation/pt.json +2 -2
  150. package/translation/qqq.json +55 -22
  151. package/translation/ru.json +2 -2
  152. package/translation/sc.json +2 -2
  153. package/translation/sk.json +62 -0
  154. package/translation/sl.json +54 -21
  155. package/translation/sv.json +20 -19
  156. package/translation/sw.json +45 -2
  157. package/translation/zh-hans.json +56 -22
  158. package/translation/zh-hant.json +26 -19
  159. package/lib/renderers/abstractDesktop.render.d.ts +0 -12
  160. package/lib/renderers/abstractDesktop.render.js +0 -67
  161. package/lib/renderers/abstractDesktop.render.js.map +0 -1
  162. package/lib/renderers/abstractMobile.render.d.ts +0 -12
  163. package/lib/renderers/abstractMobile.render.js +0 -54
  164. package/lib/renderers/abstractMobile.render.js.map +0 -1
  165. package/lib/renderers/rest-api.renderer.d.ts +0 -7
  166. package/lib/renderers/rest-api.renderer.js +0 -68
  167. package/lib/renderers/rest-api.renderer.js.map +0 -1
  168. package/lib/renderers/visual-editor.renderer.d.ts +0 -7
  169. package/lib/renderers/visual-editor.renderer.js +0 -76
  170. package/lib/renderers/visual-editor.renderer.js.map +0 -1
  171. package/lib/renderers/wikimedia-desktop.renderer.d.ts +0 -4
  172. package/lib/renderers/wikimedia-desktop.renderer.js +0 -7
  173. package/lib/renderers/wikimedia-desktop.renderer.js.map +0 -1
  174. package/lib/renderers/wikimedia-mobile.renderer.d.ts +0 -19
  175. package/lib/renderers/wikimedia-mobile.renderer.js +0 -243
  176. package/lib/renderers/wikimedia-mobile.renderer.js.map +0 -1
  177. package/lib/util/articleListMainPage.d.ts +0 -3
  178. package/lib/util/articleListMainPage.js +0 -10
  179. package/lib/util/articleListMainPage.js.map +0 -1
  180. package/lib/util/articles.d.ts +0 -26
  181. package/lib/util/articles.js +0 -102
  182. package/lib/util/articles.js.map +0 -1
  183. package/lib/util/builders/url/desktop.director.d.ts +0 -8
  184. package/lib/util/builders/url/desktop.director.js +0 -15
  185. package/lib/util/builders/url/desktop.director.js.map +0 -1
  186. package/lib/util/builders/url/mobile.director.d.ts +0 -8
  187. package/lib/util/builders/url/mobile.director.js +0 -15
  188. package/lib/util/builders/url/mobile.director.js.map +0 -1
  189. package/lib/util/builders/url/rest-api.director.d.ts +0 -8
  190. package/lib/util/builders/url/rest-api.director.js +0 -18
  191. package/lib/util/builders/url/rest-api.director.js.map +0 -1
  192. package/lib/util/builders/url/visual-editor.director.d.ts +0 -9
  193. package/lib/util/builders/url/visual-editor.director.js +0 -18
  194. package/lib/util/builders/url/visual-editor.director.js.map +0 -1
  195. package/lib/util/saveArticles.d.ts +0 -8
  196. package/lib/util/saveArticles.js +0 -411
  197. package/lib/util/saveArticles.js.map +0 -1
  198. package/res/article_list_home.js +0 -24
  199. package/res/content.parsoid.css +0 -196
  200. package/res/inserted_style.css +0 -45
  201. package/res/templates/categories.html +0 -11
  202. package/res/templates/lead_section_wrapper.html +0 -6
  203. package/res/templates/pageWikimediaDesktop.html +0 -24
  204. package/res/templates/pageWikimediaMobile.html +0 -24
  205. package/res/templates/section_wrapper.html +0 -5
  206. package/res/templates/subcategories.html +0 -23
  207. package/res/templates/subpages.html +0 -17
  208. package/res/templates/subsection_wrapper.html +0 -5
  209. package/res/webpHandler.js +0 -165
  210. package/res/wm_mobile_override_script.js +0 -15
  211. package/res/wm_mobile_override_style.css +0 -20
  212. package/translation/br.json +0 -8
  213. package/translation/dag.json +0 -9
  214. package/translation/es-formal.json +0 -29
  215. package/translation/ha.json +0 -10
  216. package/translation/hi.json +0 -9
  217. package/translation/ig.json +0 -10
  218. package/translation/kaa.json +0 -9
  219. package/translation/nb.json +0 -9
  220. package/translation/nqo.json +0 -8
  221. package/translation/pt-br.json +0 -10
  222. package/translation/ro.json +0 -9
  223. package/translation/scn.json +0 -8
  224. package/translation/sq.json +0 -9
  225. package/translation/te.json +0 -9
  226. package/translation/tn.json +0 -9
  227. package/translation/tr.json +0 -10
@@ -0,0 +1,146 @@
1
+ import MediaWiki from '../MediaWiki.js';
2
+ import Downloader from '../Downloader.js';
3
+ import * as logger from '../Logger.js';
4
+ import * as domino from 'domino';
5
+ /**
6
+ * Check if a given page title is main page of the target ZIM
7
+ */
8
+ export function isMainPage(pageTitle) {
9
+ return MediaWiki.metaData.mainPage === pageTitle;
10
+ }
11
+ /**
12
+ * Check if a given page title or id is a subpage or not
13
+ *
14
+ * A given is a subpage if subpages are activated on its namespace and it contains a / in its title/id
15
+ */
16
+ export function isSubpage(pageTitleOrId) {
17
+ if (pageTitleOrId && pageTitleOrId.indexOf('/') >= 0) {
18
+ if (pageTitleOrId.indexOf(':') < 0) {
19
+ // namespace 0 never allows subpages
20
+ return false;
21
+ }
22
+ const namespace = pageTitleOrId.substring(0, pageTitleOrId.indexOf(':'));
23
+ const ns = MediaWiki.namespaces[namespace];
24
+ if (ns !== undefined) {
25
+ return ns.allowedSubpages;
26
+ }
27
+ }
28
+ return false;
29
+ }
30
+ /**
31
+ * For a given namespace number, get the namespace name
32
+ */
33
+ export function getNamespaceName(namespace) {
34
+ return Object.entries(MediaWiki.namespaces).find(([, data]) => data.num === namespace)?.[0];
35
+ }
36
+ /**
37
+ * Extract the JS config variables from its headHtml, typically returned by MW API call when fetching page content
38
+ */
39
+ export function extractJsConfigVars(headHtml, extraJsConfigVars = {}) {
40
+ const match = headHtml.match(/;RLCONF=({".*?});\s?RLSTATE=/s) || headHtml.match(/{mw\.config\.set\(({".*?})\);mw\.loader\.state\(/s);
41
+ let jsConfigVars = {};
42
+ if (match) {
43
+ try {
44
+ let jsonString = match[1];
45
+ if (jsonString.includes('"wgBreakFrames":!')) {
46
+ jsonString = jsonString.replace(/":\s*!0([,}])/g, '":true$1').replace(/":\s*!1([,}])/g, '":false$1');
47
+ }
48
+ jsConfigVars = JSON.parse(jsonString);
49
+ }
50
+ catch (e) {
51
+ logger.warn('Unable to parse jsConfigVars', e);
52
+ }
53
+ }
54
+ else {
55
+ logger.warn('Unable to get jsConfigVars');
56
+ }
57
+ delete jsConfigVars.wgRequestId;
58
+ delete jsConfigVars.wgTempUserName;
59
+ delete jsConfigVars.wgUserId;
60
+ delete jsConfigVars.wgUserIsTemp;
61
+ delete jsConfigVars.wgUserEditCount;
62
+ delete jsConfigVars.wgUserRegistration;
63
+ delete jsConfigVars.wgUserFirstRegistration;
64
+ if (jsConfigVars.wgAction === 'nosuchaction')
65
+ jsConfigVars.wgAction = 'view';
66
+ return Object.assign(jsConfigVars, extraJsConfigVars, {
67
+ wgBreakFrames: false,
68
+ wgUserName: null,
69
+ wgUserGroups: ['*'],
70
+ wgIsProbablyEditable: false,
71
+ wgRelevantPageIsProbablyEditable: false,
72
+ });
73
+ }
74
+ /**
75
+ * Extract the CSS class to apply on page <body> tag from its headHtml, typically returned by MW API call when fetching page content
76
+ */
77
+ export function extractBodyCssClass(headHtml) {
78
+ const document = domino.createDocument(headHtml);
79
+ let cssClass = document.body.className;
80
+ // replace some known classes which do not makes sense in a ZIM
81
+ for (const [oldClass, newClass] of [
82
+ // fix action class from API output in older MW versions
83
+ ['action-nosuchaction', 'action-view'],
84
+ // drop some known classes which do not makes sense in a ZIM
85
+ ['mw-editable', ''],
86
+ ]) {
87
+ cssClass = cssClass.replace(oldClass, newClass);
88
+ }
89
+ // drop repetitions of two spaces
90
+ return cssClass
91
+ .split(' ')
92
+ .filter((cssClass) => cssClass)
93
+ .join(' ');
94
+ }
95
+ /**
96
+ * Extract the CSS class to apply on page <html> tag from its headHtml, typically returned by MW API call when fetching page content
97
+ */
98
+ export function extractHtmlCssClass(headHtml) {
99
+ const document = domino.createDocument(headHtml);
100
+ let cssClass = document.documentElement.className;
101
+ // replace some known classes which do not makes sense in a ZIM
102
+ for (const [oldClass, newClass] of [
103
+ // don't reserve space for elements that don't exist
104
+ ['vector-toc-available', 'vector-toc-not-available'],
105
+ ['vector-feature-toc-pinned-clientpref-1', 'vector-feature-toc-pinned-clientpref-0 vector-toc-not-available'],
106
+ ['vector-feature-appearance-pinned-clientpref-1', 'vector-feature-appearance-pinned-clientpref-0'],
107
+ ['vector-feature-page-tools-pinned-enabled', 'vector-feature-page-tools-pinned-disabled'],
108
+ ['vector-feature-main-menu-pinned-enabled', 'vector-feature-main-menu-pinned-disabled'],
109
+ // if vector2022 night mode is enabled, use the preferred color scheme
110
+ ['skin-theme-clientpref-day', 'skin-theme-clientpref-os'],
111
+ ['skin-theme-clientpref-night', 'skin-theme-clientpref-os'],
112
+ ]) {
113
+ cssClass = cssClass.replace(oldClass, newClass);
114
+ }
115
+ // drop repetitions of two spaces
116
+ return cssClass
117
+ .split(' ')
118
+ .filter((cssClass) => cssClass)
119
+ .join(' ');
120
+ }
121
+ /**
122
+ * Get the special display title for the main page
123
+ */
124
+ export async function getMainpageTitle() {
125
+ const checkUrl = Downloader.apiUrlDirector.buildQueryURL({
126
+ action: 'query',
127
+ meta: 'allmessages',
128
+ ammessages: 'mainpage-title',
129
+ amenableparser: '1',
130
+ format: 'json',
131
+ formatversion: '2',
132
+ });
133
+ let data;
134
+ try {
135
+ data = await Downloader.getJSON(checkUrl);
136
+ const message = data.query.allmessages[0];
137
+ if (!message || message.missing) {
138
+ return '-';
139
+ }
140
+ return message.content;
141
+ }
142
+ catch {
143
+ return '-';
144
+ }
145
+ }
146
+ //# sourceMappingURL=pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/util/pages.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { Dump } from '../Dump.js';
2
- export declare function rewriteUrls(articleId: string, dump: Dump, linkNodes: DominoElement[]): Promise<{
2
+ export declare function rewriteUrls(pagePath: ZimPath, dump: Dump, linkNodes: DominoElement[]): Promise<{
3
3
  mediaDependencies: string[];
4
4
  }>;
5
- export declare function rewriteUrlsOfDoc(parsoidDoc: DominoElement, articleId: string, dump: Dump): Promise<{
5
+ export declare function rewriteUrlsOfDoc(parsoidDoc: DominoElement, pagePath: ZimPath, dump: Dump): Promise<{
6
6
  mediaDependencies: string[];
7
7
  doc: DominoElement;
8
8
  }>;
@@ -1,13 +1,17 @@
1
- import { migrateChildren, getMediaBase, getFullUrl, getRelativeFilePath, encodeArticleIdForZimHtmlUrl } from './misc.js';
1
+ import { migrateChildren, getMediaBase, getFullUrl, getRelativeFilePath, encodePageTitleForZimHtmlUrl } from './misc.js';
2
2
  import MediaWiki from '../MediaWiki.js';
3
3
  import RedisStore from '../RedisStore.js';
4
4
  import DU from '../DOMUtils.js';
5
5
  import * as logger from '../Logger.js';
6
- function rewriteUrlNoArticleCheck(articleId, dump, linkNode, mediaDependencies) {
6
+ function rewriteUrlNoContentCheck(pagePath, dump, linkNode, mediaDependencies) {
7
7
  const classList = (linkNode.getAttribute('class') || '').split(' ').filter((cssClass) => cssClass);
8
8
  const rel = (linkNode.getAttribute('rel') || '').split(' ').filter((rel) => rel);
9
9
  let href = linkNode.getAttribute('href') || '';
10
10
  let hrefProtocol;
11
+ // Exclude links already written appropriately
12
+ if (classList.includes('mwo-norewrite')) {
13
+ return null;
14
+ }
11
15
  // Always keep selflinks
12
16
  if (classList.includes('mw-selflink') && !href) {
13
17
  return null;
@@ -107,7 +111,7 @@ function rewriteUrlNoArticleCheck(articleId, dump, linkNode, mediaDependencies)
107
111
  if (shouldScrape) {
108
112
  try {
109
113
  const mediaUrl = getFullUrl(href, MediaWiki.baseUrl);
110
- const newHref = getRelativeFilePath(articleId, getMediaBase(mediaUrl, true));
114
+ const newHref = getRelativeFilePath(pagePath, getMediaBase(mediaUrl, true));
111
115
  linkNode.setAttribute('href', newHref);
112
116
  if (mediaDependencies) {
113
117
  mediaDependencies.push(mediaUrl);
@@ -153,7 +157,7 @@ function rewriteUrlNoArticleCheck(articleId, dump, linkNode, mediaDependencies)
153
157
  const title = MediaWiki.extractPageTitleFromHref(href);
154
158
  if (title) {
155
159
  const localAnchor = href.lastIndexOf('#') === -1 ? '' : href.substr(href.lastIndexOf('#'));
156
- linkNode.setAttribute('href', encodeArticleIdForZimHtmlUrl(title) + localAnchor);
160
+ linkNode.setAttribute('href', encodePageTitleForZimHtmlUrl(title) + localAnchor);
157
161
  return title;
158
162
  }
159
163
  // Rewrite any urls still remaining
@@ -161,73 +165,71 @@ function rewriteUrlNoArticleCheck(articleId, dump, linkNode, mediaDependencies)
161
165
  linkNode.setAttribute('href', getFullUrl(href, MediaWiki.baseUrl));
162
166
  return null;
163
167
  }
164
- async function checkIfArticlesMirrored(articleTitles, articleDetailXId) {
168
+ async function checkIfPagesMirrored(pageTitles) {
165
169
  const mirrored = [];
166
170
  const unmirrored = [];
167
- if (!articleTitles.length) {
171
+ if (!pageTitles.length) {
168
172
  return [mirrored, unmirrored];
169
173
  }
170
- const articlesMirrored = await articleDetailXId.existsMany(articleTitles);
171
- for (const articleTitle of articleTitles) {
172
- if (articlesMirrored[articleTitle]) {
173
- mirrored.push(articleTitle);
174
+ const pagesMirrored = await RedisStore.pagesStore.existsMany(pageTitles);
175
+ for (const pageTitle of pageTitles) {
176
+ if (pagesMirrored[pageTitle]) {
177
+ mirrored.push(pageTitle);
174
178
  }
175
179
  else {
176
- unmirrored.push(articleTitle);
180
+ unmirrored.push(pageTitle);
177
181
  }
178
182
  }
179
183
  return [mirrored, unmirrored];
180
184
  }
181
- export async function rewriteUrls(articleId, dump, linkNodes) {
185
+ export async function rewriteUrls(pagePath, dump, linkNodes) {
182
186
  const mediaDependencies = [];
183
187
  /*
184
- * key: article title
185
- * value: Array of linkNodes linking to article
188
+ * key: page title
189
+ * value: Array of linkNodes linking to page
186
190
  */
187
191
  const wikilinkMappings = {};
188
192
  for (const linkNode of linkNodes) {
189
- const articleLink = rewriteUrlNoArticleCheck(articleId, dump, linkNode, mediaDependencies);
190
- if (articleLink) {
191
- if (Array.isArray(wikilinkMappings[articleLink])) {
192
- wikilinkMappings[articleLink].push(linkNode);
193
+ const pageLink = rewriteUrlNoContentCheck(pagePath, dump, linkNode, mediaDependencies);
194
+ if (pageLink) {
195
+ if (Array.isArray(wikilinkMappings[pageLink])) {
196
+ wikilinkMappings[pageLink].push(linkNode);
193
197
  }
194
198
  else {
195
- wikilinkMappings[articleLink] = [linkNode];
199
+ wikilinkMappings[pageLink] = [linkNode];
196
200
  }
197
201
  }
198
202
  }
199
- const [, unmirroredTitles] = await checkIfArticlesMirrored(Object.keys(wikilinkMappings), RedisStore.articleDetailXId);
203
+ const [, unmirroredTitles] = await checkIfPagesMirrored(Object.keys(wikilinkMappings).map((l) => l));
200
204
  if (unmirroredTitles.length) {
201
- const articlesRedirected = await RedisStore.redirectsXId.existsMany(unmirroredTitles);
202
- for (const articleTitle of unmirroredTitles) {
203
- const redirect = articlesRedirected[articleTitle];
205
+ const pagesRedirected = await RedisStore.redirectsStore.existsMany(unmirroredTitles);
206
+ for (const pageTitle of unmirroredTitles) {
207
+ const redirect = pagesRedirected[pageTitle];
204
208
  if (!redirect) {
205
- wikilinkMappings[articleTitle].forEach((linkNode) => {
209
+ wikilinkMappings[pageTitle].forEach((linkNode) => {
206
210
  migrateChildren(linkNode, linkNode.parentNode, linkNode);
207
211
  linkNode.parentNode.removeChild(linkNode);
208
212
  });
209
- delete wikilinkMappings[articleTitle];
213
+ delete wikilinkMappings[pageTitle];
210
214
  }
211
215
  }
212
216
  }
213
- if (articleId.includes('/')) {
214
- const slashesInUrl = articleId.split('/').length - 1;
215
- const upStr = slashesInUrl ? '../'.repeat(slashesInUrl) : './';
217
+ if (pagePath.includes('/')) {
216
218
  Object.values(wikilinkMappings).forEach((linkNodes) => {
217
219
  for (const linkNode of linkNodes) {
218
220
  const href = linkNode.getAttribute('href');
219
- linkNode.setAttribute('href', `${upStr}${href}`);
221
+ linkNode.setAttribute('href', getRelativeFilePath(pagePath, href));
220
222
  }
221
223
  });
222
224
  }
223
225
  return { mediaDependencies };
224
226
  }
225
- export async function rewriteUrlsOfDoc(parsoidDoc, articleId, dump) {
227
+ export async function rewriteUrlsOfDoc(parsoidDoc, pagePath, dump) {
226
228
  /* Go through all links */
227
229
  const as = parsoidDoc.getElementsByTagName('a');
228
230
  const areas = parsoidDoc.getElementsByTagName('area');
229
231
  const linkNodes = Array.prototype.slice.call(as).concat(Array.prototype.slice.call(areas));
230
- const ret = await rewriteUrls(articleId, dump, linkNodes);
232
+ const ret = await rewriteUrls(pagePath, dump, linkNodes);
231
233
  return {
232
234
  ...ret,
233
235
  doc: parsoidDoc,
@@ -1 +1 @@
1
- {"version":3,"file":"rewriteUrls.js","sourceRoot":"","sources":["../../src/util/rewriteUrls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewriteUrls.js","sourceRoot":"","sources":["../../src/util/rewriteUrls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Creator } from '@openzim/libzim';
2
+ import { Dump } from '../Dump.js';
3
+ export declare function savePage(zimCreator: Creator, htmlContent: string, zimPath: string, zimTitle: string): Promise<Error>;
4
+ export declare function savePages(zimCreator: Creator, dump: Dump): Promise<{
5
+ staticFilesList: Set<string>;
6
+ jsModuleDependencies: Set<string>;
7
+ cssModuleDependencies: Set<string>;
8
+ }>;
@@ -0,0 +1,182 @@
1
+ import * as logger from '../Logger.js';
2
+ import Downloader from '../Downloader.js';
3
+ import RedisStore from '../RedisStore.js';
4
+ import { StringItem } from '@openzim/libzim';
5
+ import * as domino from 'domino';
6
+ import Timer from './Timer.js';
7
+ import { config } from '../config.js';
8
+ import { getSizeFromUrl } from './misc.js';
9
+ import urlHelper from './url.helper.js';
10
+ import RenderingContext from '../renderers/rendering.context.js';
11
+ import { zimCreatorMutex } from '../mutex.js';
12
+ import FileManager from './FileManager.js';
13
+ import { truncateZimEntryTitleWords } from './misc.js';
14
+ import { isMainPage } from './pages.js';
15
+ function getPageRenderUrl(pageDetail, dump) {
16
+ const leadSectionId = dump.nodet && !pageDetail.contentmodel && !pageDetail.missing ? config.filters.leadSectionId : '';
17
+ const oldid = dump.opts.stableRevision && pageDetail.stableRevisionId !== undefined ? pageDetail.stableRevisionId : undefined;
18
+ return Downloader.getPageUrl(pageDetail.title, { sectionId: leadSectionId, oldid, langVar: dump.langVar });
19
+ }
20
+ async function getAllPagesToKeep(dump, pagesRenderer) {
21
+ await RedisStore.pagesStore.iterateItems(Downloader.workers, async (pageKeyValuePairs) => {
22
+ for (const pageDetail of Object.values(pageKeyValuePairs)) {
23
+ const pageTitle = pageDetail.title;
24
+ try {
25
+ const mainPage = isMainPage(pageTitle);
26
+ const pageUrl = getPageRenderUrl(pageDetail, dump);
27
+ const rendererOutput = await Downloader.getPage(pageTitle, pagesRenderer, pageUrl, dump, pageDetail);
28
+ await new Promise((resolve) => setTimeout(resolve, Downloader.pageRequestInterval));
29
+ for (const { pageTitle, htmlContent } of rendererOutput.items) {
30
+ if (!htmlContent) {
31
+ continue;
32
+ }
33
+ const doc = domino.createDocument(htmlContent);
34
+ if (!mainPage && !(await dump.customProcessor.shouldKeepPage(pageTitle, doc))) {
35
+ RedisStore.pagesStore.delete(pageTitle);
36
+ }
37
+ }
38
+ }
39
+ catch (err) {
40
+ logger.warn(`Error downloading page [${pageTitle}], skipping`, err);
41
+ RedisStore.pagesStore.delete(pageTitle);
42
+ }
43
+ }
44
+ });
45
+ }
46
+ /*
47
+ * Parse fetched page HTML, store files
48
+ * and dependencies and save in Zim
49
+ */
50
+ export async function savePage(zimCreator, htmlContent, zimPath, zimTitle) {
51
+ try {
52
+ const zimPage = zimTitle
53
+ ? new StringItem(zimPath, 'text/html', truncateZimEntryTitleWords(zimTitle), { FRONT_ARTICLE: 1 }, htmlContent)
54
+ : new StringItem(zimPath, 'text/html', '', {}, htmlContent);
55
+ await zimCreatorMutex.runExclusive(() => zimCreator.addItem(zimPage));
56
+ return null;
57
+ }
58
+ catch (err) {
59
+ return err;
60
+ }
61
+ }
62
+ async function savePageFiles(mediaDependencies, imageDependencies, videoDependencies, subtitles) {
63
+ try {
64
+ const pageFiles = {};
65
+ if (subtitles?.length > 0) {
66
+ subtitles.forEach((s) => {
67
+ pageFiles[s.path] = { url: s.url, kind: 'subtitle' };
68
+ });
69
+ }
70
+ if (mediaDependencies && mediaDependencies.length) {
71
+ for (const dep of mediaDependencies) {
72
+ const { mult, width } = getSizeFromUrl(dep.url);
73
+ pageFiles[dep.path] = { url: urlHelper.serializeUrl(dep.url), kind: 'media', mult, width };
74
+ }
75
+ }
76
+ if (imageDependencies && imageDependencies.length) {
77
+ for (const dep of imageDependencies) {
78
+ const urlSize = getSizeFromUrl(dep.url);
79
+ const width = dep.width || urlSize.width;
80
+ const mult = urlSize.mult;
81
+ pageFiles[dep.path] = { url: urlHelper.serializeUrl(dep.url), kind: 'image', mult, width };
82
+ }
83
+ }
84
+ if (videoDependencies && videoDependencies.length) {
85
+ for (const dep of videoDependencies) {
86
+ const { mult, width } = getSizeFromUrl(dep.url);
87
+ pageFiles[dep.path] = { url: urlHelper.serializeUrl(dep.url), kind: 'video', mult, width };
88
+ }
89
+ }
90
+ await FileManager.addManyFilesToProcess(pageFiles);
91
+ return null;
92
+ }
93
+ catch (err) {
94
+ return err;
95
+ }
96
+ }
97
+ /*
98
+ * Fetch Pages content, rewrite and save in ZIM
99
+ */
100
+ export async function savePages(zimCreator, dump) {
101
+ const jsModuleDependencies = new Set();
102
+ const cssModuleDependencies = new Set();
103
+ let prevPercentProgress;
104
+ const pagesTotal = await RedisStore.pagesStore.len();
105
+ // number of pages allowed to fail is the greater of 5 or 0.001% (1 per 100k) pages
106
+ dump.maxHardFailedPages = Math.max(5, Math.floor(pagesTotal / 100000));
107
+ if (dump.customProcessor?.shouldKeepPage) {
108
+ await getAllPagesToKeep(dump, RenderingContext.pagesRenderer);
109
+ }
110
+ // depending on which renderer we use, we can have up to 2 requests to make to download page details
111
+ // each request we need to make can be retried 10 times. Each retry attempttakes at most requestTimeout + retry interval
112
+ // retry interval is an exponentional value from 1 to 60s
113
+ // we assume rest of processing is "fast" and takes at most 1 minute
114
+ const timeout = 2 * (Downloader.requestTimeout * 10 + (1 + 2 + 4 + 8 + 16 + 32 + 60 * 4) * 1000) + 60000;
115
+ await RedisStore.pagesStore.iterateItems(Downloader.workers, (pageKeyValuePairs, runningWorkers) => {
116
+ // eslint-disable-next-line no-async-promise-executor
117
+ return new Promise(async (resolve, reject) => {
118
+ /*
119
+ * timer to detect freezes
120
+ */
121
+ let curPage = '';
122
+ const timer = new Timer(() => {
123
+ const errorMessage = `Worker timed out after ${timeout} ms at ${curPage}`;
124
+ logger.error(errorMessage);
125
+ reject(new Error(errorMessage));
126
+ }, timeout);
127
+ logger.debug(`Worker processing batch of page ids [${logger.logifyArray(Object.keys(pageKeyValuePairs))}] - ${runningWorkers} worker(s) running`);
128
+ for (const pageDetail of Object.values(pageKeyValuePairs)) {
129
+ timer.reset();
130
+ curPage = pageDetail.title;
131
+ if (dump.status.pages.success > 0 && (dump.status.pages.success + dump.status.pages.hardFail + dump.status.pages.softFail) % 10 === 0) {
132
+ const percentProgress = (((dump.status.pages.success + dump.status.pages.hardFail + dump.status.pages.softFail) / pagesTotal) * 100).toFixed(1);
133
+ if (percentProgress !== prevPercentProgress) {
134
+ prevPercentProgress = percentProgress;
135
+ logger.info(`Progress downloading pages [${dump.status.pages.success + dump.status.pages.hardFail + dump.status.pages.softFail}/${pagesTotal}] [${percentProgress}%]`);
136
+ }
137
+ }
138
+ try {
139
+ const pageUrl = getPageRenderUrl(pageDetail, dump);
140
+ const { items, moduleDependencies, mediaDependencies, imageDependencies, videoDependencies, subtitles, needsDownloadErrorStaticFiles } = await Downloader.getPage(pageDetail.title, RenderingContext.pagesRenderer, pageUrl, dump, pageDetail);
141
+ await new Promise((resolve) => setTimeout(resolve, Downloader.pageRequestInterval));
142
+ if (items.length == 0) {
143
+ logger.warn(`No HTML items returned for page [${pageDetail.title}], skipping`);
144
+ continue;
145
+ }
146
+ if (needsDownloadErrorStaticFiles) {
147
+ RenderingContext.pagesRenderer.addDownloadErrorStaticFiles();
148
+ }
149
+ for (const dep of moduleDependencies.jsDependenciesList || []) {
150
+ jsModuleDependencies.add(dep);
151
+ }
152
+ for (const dep of moduleDependencies.styleDependenciesList || []) {
153
+ cssModuleDependencies.add(dep);
154
+ }
155
+ savePageFiles(mediaDependencies, imageDependencies, videoDependencies, subtitles);
156
+ for (const { pageTitle, htmlContent, zimPath, zimTitle } of items) {
157
+ if (!htmlContent) {
158
+ logger.warn(`No HTML content returned for page [${pageTitle}] path [${zimPath}], skipping`);
159
+ continue;
160
+ }
161
+ savePage(zimCreator, htmlContent, zimPath, zimTitle);
162
+ }
163
+ dump.status.pages.success += 1;
164
+ }
165
+ catch (err) {
166
+ logger.error(`Error downloading/rendering page ${curPage}`);
167
+ reject(err);
168
+ return;
169
+ }
170
+ }
171
+ timer.clear();
172
+ resolve();
173
+ });
174
+ });
175
+ logger.info(`Done with downloading a total of [${pagesTotal}] pages`);
176
+ return {
177
+ staticFilesList: RenderingContext.pagesRenderer.getStaticFilesList(),
178
+ jsModuleDependencies,
179
+ cssModuleDependencies,
180
+ };
181
+ }
182
+ //# sourceMappingURL=savePages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"savePages.js","sourceRoot":"","sources":["../../src/util/savePages.ts"],"names":[],"mappings":"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"}
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const LIB_VERSION = "1.17.4";
1
+ export declare const LIB_VERSION = "2.0.0";
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const LIB_VERSION = '1.17.4';
1
+ export const LIB_VERSION = '2.0.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAA"}