help.html 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>SingleFile help</title>
  6. <link rel="stylesheet" href="help.css">
  7. <meta name="viewport" content="width=device-width,initial-scale=1">
  8. </head>
  9. <body>
  10. <div>
  11. <div id="titleBorder">
  12. <h2>SingleFile</h2>
  13. <h4>Save a complete page into a single HTML file</h4>
  14. </div> <span id="index"> <a href="#getting-started">Getting started</a> - <a href="#general-notes">Additional
  15. notes</a> - <a href="#options">Options description</a> - <a href="#notes">Technical notes</a> - <a
  16. href="#template-variables">Template variables</a> - <a href="#known-issues">Known issues</a> - <a
  17. href="#unknown-issues">Troubleshooting unknown issues</a> - <a href="#contributors">Contributors</a>
  18. </span>
  19. <hr>
  20. <ol>
  21. <li><a id="getting-started">Getting started</a>
  22. <ul>
  23. <li>Wait until the page is fully loaded, you may need to scroll down the entire page to be sure all
  24. elements are loaded.</li>
  25. <li>Click on the SingleFile button <img src="../resources/icon_16.png" class="icon"> in the
  26. extension toolbar to save the page.</li>
  27. </ul>
  28. </li>
  29. <li><a id="general-notes">Additional notes</a>
  30. <ul>
  31. <li>To save multiple tabs, select them first and click on the SingleFile button <img
  32. src="../resources/icon_16.png" class="icon">.</li>
  33. <li>Open the context menu by right-clicking the SingleFile button <img
  34. src="../resources/icon_16.png" class="icon"> in the extension toolbar or on the webpage. It
  35. allows you to save: <ul>
  36. <li>the current tab,</li>
  37. <li>or the selected content,</li>
  38. <li>or the selected frame.</li>
  39. </ul>
  40. </li>
  41. <li>You can also process multiple tabs in one click and save: <ul>
  42. <li>the selected tabs,</li>
  43. <li>or the unpinned tabs,</li>
  44. <li>or all the tabs.</li>
  45. </ul>
  46. </li>
  47. <li>The context menu also allows you to activate the auto-save of: <ul>
  48. <li>the current tab,</li>
  49. <li>or the unpinned tabs,</li>
  50. <li>or all the tabs.</li>
  51. </ul>
  52. </li>
  53. <li>You can annotate the page before saving it by selecting "Annotate and save the page..." in the
  54. context menu.</li>
  55. <li>You can interrupt the saving progress by clicking on the SingleFile button when processing a
  56. page.</li>
  57. <li>With auto-save active, pages are automatically saved every time after being loaded (or before
  58. being unloaded if not). </li>
  59. <li>Right-click on the SingleFile button and select "Options" to open the options page.</li>
  60. <li>The default save folder is the download folder configured in your browser, cf.
  61. about:preferences in Firefox and chrome://settings in Chrome. </li>
  62. <li>You can use the shortcut Ctrl+Shift+Y to save the current tab or the selected tabs. Go to <a
  63. href="chrome://extensions/shortcuts">chrome://extensions/shortcuts</a> to change it in
  64. Chrome.</li>
  65. </ul>
  66. </li>
  67. <li><a id="options">Options description</a>
  68. <p>You can customize SingleFile through the options page. Right-click on SingleFile button <img
  69. src="../resources/icon_16.png" class="icon"> in the browser toolbar and select "Options"/"Manage
  70. extension" in the context menu to open the options page.</p>
  71. <p>Profiles</p>
  72. <ul>
  73. <li>
  74. <p>A profile is a set of user-defined options associated to a unique name.</p>
  75. <p>The drop-down list in the upper right of the options page allows you to select a profile and
  76. modify the associated options. The buttons next to the drop-down list allows you
  77. respectively to create, delete and rename a profile. </p>
  78. </li>
  79. <li>
  80. <p>You can select the default profile through the context menu of SingleFile. The selection is
  81. persistent and applied to all tabs. </p>
  82. </li>
  83. <li>
  84. <p>You can also override the default profile by associating a profile to a complete or partial
  85. URL. See the description of the <a href="#auto-settings-rules">Auto-settings rules</a>
  86. feature for more info. </p>
  87. </li>
  88. </ul>
  89. <p>User interface</p>
  90. <ul>
  91. <li data-options-label="addMenuEntryLabel"> <span class="option">Option: add entry in the context
  92. menu of the webpage</span>
  93. <p>Check this option to display an entry for SingleFile in the context menu of the webpage. The
  94. context menu of the SingleFile button <img src="../resources/icon_16.png" class="icon"> in
  95. the extension toolbar is displayed wether this option is checked or not. </p>
  96. <p class="notice">It is recommended to <u>check</u> this option</p>
  97. </li>
  98. <li data-options-label="shadowEnabledLabel"> <span class="option">Option: overlay a shadow on the
  99. page during processing</span>
  100. <p>Check this option to overlay a shadow on the page when SingleFile is retrieving page
  101. resources. This reminds you that you should not close the tab. </p>
  102. <p class="notice">It is recommended to <u>check</u> this option</p>
  103. </li>
  104. <li data-options-label="displayInfobarLabel"> <span class="option">Option: display an infobar when
  105. viewing a saved page</span>
  106. <p>Check this option to display the ℹ button at the top right of the page when viewing a saved
  107. page. By clicking this button, you can get more information about the saved date and open
  108. the original URL.</p>
  109. <p class="notice">It is recommended to <u>check</u> this option</p>
  110. </li>
  111. <li data-options-label="infobarTemplateLabel"> <span class="option">Option: template of the infobar
  112. content</span>
  113. <p>The template allows you to customize the content displayed in the infobar. You can use any
  114. valid character, <code>\n</code> for new lines or <code>\t</code> for tabs. You can also use
  115. any variables from <a href="#template-variables">this list</a> anywhere in the template. If
  116. the template or the resulting content is empty, the infobar will display the saved date by
  117. default. </p>
  118. <p>Template examples:</p>
  119. <ul>
  120. <li><code>{url-href} ({date-iso})</code> will produce contents like "https://www.example.com
  121. (2018-09-15 11 06 03 PM)".</li>
  122. <li><code>Title: {page-title}</code> will produce contents like "Title: Example Domain" for
  123. a page having "Example Domain" as title.</li>
  124. </ul>
  125. </li>
  126. <li data-options-label="openEditorLabel"> <span class="option">Option: edit page before
  127. saving</span>
  128. <p>Check this option to open the annotation editor before saving any page. Checking this option
  129. removes the entry "Annotate and save the page..." from the context menu.</p>
  130. <p class="notice">It is recommended to <u>uncheck</u> this option</p>
  131. </li>
  132. <li data-options-label="autoOpenEditorLabel"> <span class="option">Option: open the annotation
  133. editor when viewing a page saved with SingleFile </span>
  134. <p>Check this option to open the annotation editor when displaying a page saved by SingleFile.
  135. </p>
  136. <p class="notice">It is recommended to <u>uncheck</u> this option</p>
  137. </li>
  138. <li data-options-label="confirmInfobarLabel"> <span class="option">Option: open a prompt dialog to
  139. edit the infobar content</span>
  140. <p>Check this option to display a prompt dialog in order to confirm the infobar content before
  141. saving the page. </p>
  142. </li>
  143. <li data-options-label="autoCloseLabel"> <span class="option">Option: auto-close the tab after
  144. the page is saved</span>
  145. <p>Check this option to automatically close the tab after saving the page displayed inside.
  146. </p>
  147. </li>
  148. </ul>
  149. <p>File name</p>
  150. <ul>
  151. <li data-options-label="filenameTemplateLabel"> <span class="option">Option: template</span>
  152. <p>The template allows you to customize the file name of saved pages. You can use any valid
  153. character and "/" to create sub-folders (with the option "save pages in background" active).
  154. You can also use any variables from <a href="#template-variables">this list</a> anywhere in
  155. the template.</p>
  156. <p>Invalid characters are automatically transformed and collapsed to underscores. File names
  157. cannot exceed 192 characters and are truncated if longer. The invalid characters are:
  158. <code>[</code> <code>~</code> <code>+</code> <code>\</code> <code>?</code> <code>%</code>
  159. <code>*</code> <code>:</code> <code>|</code> <code>"</code> <code>&lt;</code>
  160. <code>&gt;</code> and control characters from 0 to 31 in the ASCII table.</p>
  161. <p>Template examples:</p>
  162. <ul>
  163. <li><code>{page-title} ({date-iso} {time-locale}).html</code> will produce filenames like
  164. "Introduction to SingleFile (2018-09-15 11_06_03 PM).html" for a page having
  165. "Introduction to SingleFile" as title.</li>
  166. <li><code>archives/{url-last-segment} - {date-iso}</code> will produce filenames like
  167. "welcome - 2018-09-15" for a page hosted on https://example.com/welcome.html. The saved
  168. files will be saved in the sub-directory "archives".</li>
  169. <li><code>archives/{year-locale}/{month-locale}/{day-locale}/{page-title}.html</code> will
  170. produce filenames like "Introduction to SingleFile.html" stored into 3 sub-directories
  171. in the "archives" folder, one for each part of the save date (e.g.
  172. "2018/9/15/Introduction to SingleFile.html").</li>
  173. </ul>
  174. </li>
  175. <li data-options-label="confirmFilenameLabel"> <span class="option">Option: open the "Save as"
  176. dialog to confirm the file name</span>
  177. <p>Check this option to display the "Save as" dialog in order to confirm the file name before
  178. saving the page. If the option "save pages in background" is unchecked then a prompt dialog
  179. will be displayed instead of the "Save as" dialog. </p>
  180. </li>
  181. <li data-options-label="filenameConflictActionLabel"> <span class="option">Option: file name
  182. conflict resolution</span>
  183. <p>Choose the most appropriate action when a the filename of the saved page is conflicting with
  184. existing ones on the filesystem.</p>
  185. </li>
  186. </ul>
  187. <p>HTML content</p>
  188. <ul>
  189. <li data-options-label="compressHTMLLabel"> <span class="option">Option: compress HTML
  190. content</span>
  191. <p>Check this option to remove all HTML comments and unneeded tags, spaces, quotes and
  192. whitespace characters. Checking this option helps to reduce the size of the file without
  193. altering the document.</p>
  194. <p class="notice">It is recommended to <u>check</u> this option</p>
  195. </li>
  196. <li data-options-label="removeImportsLabel"> <span class="option">Option: remove HTML imports</span>
  197. <p>Check this option to remove all link elements used to import HTML documents. Checking this
  198. option can help to reduce the size of the file without altering the document.</p>
  199. <p class="notice">It is recommended to <u>check</u> this option</p>
  200. </li>
  201. <li data-options-label="removeHiddenElementsLabel"> <span class="option">Option: remove hidden
  202. elements</span>
  203. <p>Check this option to remove all hidden elements. Checking this option can help to reduce the
  204. size of the file without altering the document. It may also increase the CPU consumption and
  205. the time needed to save a page.</p>
  206. <p class="notice">It is recommended to <u>check</u> this option</p>
  207. </li>
  208. <li data-options-label="removeFramesLabel"> <span class="option">Option: remove frames</span>
  209. <p>Check this option to remove all frame and iframe elements. Checking this option can
  210. considerably reduce the size of the file without altering the document most of the time. It
  211. may also decrease the time needed to save a page.</p>
  212. </li>
  213. <li data-options-label="includeInfobarLabel">Option: include infobar in the saved page
  214. <p>Check this option to display the ℹ button at the top right of the page when viewing a saved
  215. page in a browser where SingleFileZ is not installed.</p>
  216. </li>
  217. </ul>
  218. <p>Stylesheets</p>
  219. <ul>
  220. <li data-options-label="compressCSSLabel"> <span class="option">Option: compress CSS content</span>
  221. <p>Check this option to minify CSS stylesheets. Checking this option can reduce size of the file
  222. without altering the document. It may also increase the CPU consumption and the time needed
  223. to save a page.</p>
  224. <p class="notice">It is recommended to <u>check</u> this option</p>
  225. </li>
  226. <li data-options-label="removeUnusedStylesLabel"> <span class="option">Option: remove unused
  227. styles</span>
  228. <p>Check this option to remove all the CSS rules and styles that do not match any element in the
  229. saved page. Checking this option will not alter the document and can considerably reduce the
  230. size of the file. It will also increase the CPU consumption and the time needed to save a
  231. page.</p>
  232. <p class="notice">It is recommended to <u>check</u> this option</p>
  233. </li>
  234. <li data-options-label="removeAlternativeMediasLabel"> <span class="option">Option: remove
  235. stylesheets for alternative devices to screens</span>
  236. <p>Check this option to remove stylesheets that are not used for the screen display like
  237. stylesheets for print preview and speech synthesizers. Checking this option can help to
  238. reduce the size of the file.</p>
  239. </li>
  240. </ul>
  241. <p>Images</p>
  242. <ul>
  243. <li data-options-label="groupDuplicateImagesLabel"> <span class="option">Option: group duplicate
  244. images together</span>
  245. <p>Check this option to avoid saving multiple times duplicate images. Checking this option
  246. should not alter the document in modern browsers and can considerably reduce the size of the
  247. file.</p>
  248. <p class="notice">It is recommended to <u>check</u> this option</p>
  249. </li>
  250. <li data-options-label="loadDeferredImagesLabel"> <span class="option">Option: save deferred
  251. images</span>
  252. <p>Check this option to save all the deferred images that are not yet displayed. This may help
  253. to save all the images without scrolling the page. This feature does its best effort and is
  254. not guaranteed to work on all sites. It will also increase the time needed to save a page.
  255. </p>
  256. <p class="notice">It is recommended to <u>check</u> this option</p>
  257. </li>
  258. <li data-options-label="loadDeferredImagesMaxIdleTimeLabel"> <span class="option">Option: maximum
  259. idle time (ms)</span>
  260. <p>Specify the maximum delay of time to wait for deferred images. You can increase this value if
  261. for example the network or system conditions are degraded. You can also decrease this value
  262. otherwise.</p>
  263. </li>
  264. <li data-options-label="removeAlternativeImagesLabel"> <span class="option">Option: remove images
  265. for alternative screen resolutions</span>
  266. <p>Check this option to remove images that are alternatives in lower and/or higher resolutions
  267. to the ones displayed by default. Checking this option can considerably reduce the size of
  268. the file.</p>
  269. </li>
  270. </ul>
  271. <p>Fonts</p>
  272. <ul>
  273. <li data-options-label="removeUnusedFontsLabel"> <span class="option">Option: remove unused
  274. fonts</span>
  275. <p>Check this option to remove all font CSS rules that do not match any content. Checking this
  276. option should not alter the document and can considerably reduce the size of the file.</p>
  277. <p class="notice">It is recommended to <u>check</u> this option</p>
  278. </li>
  279. <li data-options-label="removeAlternativeFontsLabel"> <span class="option">Option: remove
  280. alternative fonts</span>
  281. <p>Check this option to remove fonts that are alternatives to the ones used. Checking this
  282. option should not alter the document and can considerably reduce the size of the file.</p>
  283. <p class="notice">It is recommended to <u>check</u> this option</p>
  284. </li>
  285. </ul>
  286. <p>Other resources</p>
  287. <ul>
  288. <li data-options-label="removeScriptsLabel"> <span class="option">Option: remove scripts</span>
  289. <p>Check this option to remove all the JavaScript scripts. Unchecking this option may alter the
  290. document and may introduce privacy or security issues.</p>
  291. <p class="notice">It is recommended to <u>check</u> this option</p>
  292. </li>
  293. <li data-options-label="removeVideoLabel"> <span class="option">Option: remove video sources</span>
  294. <p>Check this option to empty the "src" attribute of all video elements.</p>
  295. <p class="notice">It is recommended to <u>check</u> this option</p>
  296. </li>
  297. <li data-options-label="removeAudioLabel"> <span class="option">Option: remove audio sources</span>
  298. <p>Check this option to empty the "src" attribute of all audio elements.</p>
  299. <p class="notice">It is recommended to <u>check</u> this option</p>
  300. </li>
  301. </ul>
  302. <p>Auto-save</p>
  303. <ul>
  304. <li data-options-label="autoSaveLoadOrUnloadLabel"> <span class="option">Option: auto-save after
  305. page load or on page unload</span>
  306. <p>Check this option to auto-save pages after being loaded. If you browse to another page before
  307. the page is fully loaded then the page will be saved just before being unloaded. With this
  308. option active, you are guaranteed pages will always be saved. Some frame contents may be
  309. missing (if you unchecked "remove frames") when pages are saved before being unloaded. </p>
  310. </li>
  311. <li data-options-label="autoSaveLoadLabel"> <span class="option">Option: auto-save after page
  312. load</span>
  313. <p>Check this option to auto-save pages after being loaded.</p>
  314. </li>
  315. <li data-options-label="autoSaveUnloadLabel"> <span class="option">Option: auto-save on page
  316. unload</span>
  317. <p>Check this option to auto-save pages before being unloaded instead of saving pages after
  318. being loaded. With this option active, you are guaranteed pages will always be saved but
  319. some frame contents may be missing (if you unchecked "remove frames"). </p>
  320. </li>
  321. <li data-options-label="autoSaveDelayLabel"> <span class="option">Option: auto-save waiting delay
  322. after load (s)</span>
  323. <p>Specify the delay in seconds to wait before saving a page when the "auto-save on page load or
  324. on page unload" or "auto-save on page load" is checked. </p>
  325. </li>
  326. <li data-options-label="autoSaveRepeatLabel"> <span class="option">Option: auto-save
  327. periodically</span>
  328. <p>Check this option to auto-save pages periodically after load.</p>
  329. </li>
  330. <li data-options-label="autoSaveRepeatDelayLabel"> <span class="option">Option: period (s)</span>
  331. <p>Specify the delay in seconds to wait before each page saving when the "auto-save
  332. periodically" option is checked. </p>
  333. </li>
  334. </ul>
  335. <p>Misc.</p>
  336. <ul>
  337. <li data-options-label="backgroundSaveLabel"> <span class="option">Option: save pages in
  338. background</span>
  339. <p>Uncheck this option if you get invalid file names like
  340. "37bec68b-446a-46a5-8642-19a89c231b46.html" or interrupted downloads when saving pages. You
  341. can also uncheck this option if you want the "Save as" dialog to remember the last saved
  342. path. Unchecking this option prevent using sub-directories in filename templates.</p>
  343. <p class="notice">It is recommended to <u>check</u> this option</p>
  344. </li>
  345. <li data-options-label="displayStatsLabel"> <span class="option">Option: display stats in the
  346. console after processing</span>
  347. <p>Check this option to display stats about processing in the JavaScript developer tools of your
  348. browser. Checking this option may increase the CPU consumption and the time needed to save a
  349. page. </p>
  350. <p class="notice">It is recommended to <u>uncheck</u> this option</p>
  351. </li>
  352. <li data-options-label="setMaxResourceSizeLabel"> <span class="option">Option: set a maximum size
  353. for embedded resources (MB)</span>
  354. <p>Check this option to remove from the saved page embedded resources (i.e. images, stylesheets,
  355. scripts and iframes) that exceeds a given size.</p>
  356. </li>
  357. <li data-options-label="maxResourceSizeLabel"> <span class="option">Option: maximum size (MB)</span>
  358. <p>Specify the maximum size of embedded resources in megabytes.</p>
  359. </li>
  360. <li data-options-label="saveRawPageLabel"> <span class="option">Option: save raw page</span>
  361. <p>Check this option to save the page without interpreting JavaScript. Checking this option may
  362. alter the document, will force the options "remove frames", "remove hidden elements" to
  363. be enabled and "save deferred images" to be disabled.</p>
  364. <p class="notice">It is recommended to <u>uncheck</u> this option</p>
  365. </li>
  366. <li data-options-label="saveToClipboardLabel"> <span class="option">Option: save to clipboard</span>
  367. <p>Check this option to copy the page to the clipboard instead of downloading it on your
  368. computer. Checking this option will force the "File name" options to be disabled.</p>
  369. <p class="notice">It is recommended to <u>uncheck</u> this option</p>
  370. </li>
  371. <li data-options-label="saveToGDriveLabel"> <span class="option">Option: save to Google Drive</span>
  372. <p>Check this option to save the page on Google Drive instead of downloading it on your
  373. computer. Checking this option will force some "File name" options to be disabled.
  374. However, you can change the value of the "File name &gt; template" option to save files into
  375. sub-folders, e.g. "<code>SingleFile/{page-title} ({date-iso} {time-locale}).html</code>" to
  376. save pages in the folder named "SingleFile".
  377. </p>
  378. <p>
  379. The permissions requested by SingleFile allow it to access only to the files and folders it
  380. has created. When you uncheck this option, SingleFile revokes automatically its access to
  381. your Google Drive account.
  382. </p>
  383. <p class="notice">It is recommended to <u>uncheck</u> this option</p>
  384. </li>
  385. </ul>
  386. <p id="auto-settings-rules">Auto-settings rules</p>
  387. <ul>
  388. <li>The auto-settings rules let you associate a complete or partial URL with a profile. It also
  389. allows to associate a specific profile for the auto-save, or to disable it (check "display
  390. 'Auto-save profile' column"). When two or more rules match a URL of a page to save, the rule
  391. with the longest URL will be chosen. The special profile "-" means the current profile. </li>
  392. <li>You can use the special value "*" as URL to create a rule that applies to all URLs</li>
  393. <li>You can use regular expressions by prefixing the URL with "regexp:" (e.g. "regexp:.*\.com" to
  394. match all URLs containing ".com"). When zero or more rules based on URLs and one or more rules
  395. based on regular expressions match a URL, the longest rule based on regular expression will be
  396. chosen. </li>
  397. </ul>
  398. <p>Form buttons</p>
  399. <ul>
  400. <li><span class="option">synchronize options</span>
  401. <p>Check this option to synchronize your options with the account associated to
  402. your browser session.</p>
  403. </li>
  404. <li><span class="option">Reset</span>
  405. <p>Reset all options to their default values.</p>
  406. </li>
  407. </ul>
  408. </li>
  409. <li><a id="template-variables">Template variables</a>
  410. <p>The template variables are used to customize the infobar content or the file name of a saved page.
  411. They help to insert dynamic values like the save date or the page title.</p>
  412. <ul>
  413. <li><code>{page-title}</code>: the title of the page</li>
  414. <li><code>{page-language}</code>: the language of the page</li>
  415. <li><code>{page-description}</code>: the description of the page</li>
  416. <li><code>{page-author}</code>: the author of the page</li>
  417. <li><code>{page-creator}</code>: the creator of the page</li>
  418. <li><code>{page-publisher}</code>: the publisher of the page</li>
  419. <li><code>{datetime-iso}</code>: the save date and time in the ISO format (e.g.
  420. "2018-09-15T22_38_26_317Z")</li>
  421. <li><code>{datetime-utc}</code>: the save date and time in UTC format (e.g. "Sat, 15 Sep 2018
  422. 22_38_26 GMT")</li>
  423. <li><code>{datetime-locale}</code>: the localized value of the date and time (e.g. "9_16_2018,
  424. 12_54_31 AM")</li>
  425. <li><code>{date-iso}</code>: the save date in the ISO format (e.g. "2018-09-15")</li>
  426. <li><code>{date-locale}</code>: the localized value of the save date (e.g. "16_09_2018")</li>
  427. <li><code>{time-iso}</code>: the save time in the ISO format (e.g. "22_38_26_317")</li>
  428. <li><code>{time-locale}</code>: the localized value of the save time (e.g. "00_38_26")</li>
  429. <li><code>{day-utc}</code>: the day of the save date in UTC format (e.g. "15")</li>
  430. <li><code>{day-locale}</code>: the localized value of the day (e.g. "15")</li>
  431. <li><code>{month-utc}</code>: the month of the save date in UTC format (e.g. "09")</li>
  432. <li><code>{month-locale}</code>: the localized value of the month (e.g. "09")</li>
  433. <li><code>{year-utc}</code>: the year of the save date in UTC format (e.g. "2018")</li>
  434. <li><code>{year-locale}</code>: the localized value of the year (e.g. "2018")</li>
  435. <li><code>{hours-utc}</code>: the hour of the save date in UTC format (e.g. "20")</li>
  436. <li><code>{hours-locale}</code>: the localized value of the hour (e.g. "22")</li>
  437. <li><code>{minutes-utc}</code>: the minutes of the save date in UTC format (e.g. "38")</li>
  438. <li><code>{minutes-locale}</code>: the localized value of the minutes (e.g. "38")</li>
  439. <li><code>{seconds-utc}</code>: the seconds of the save date in UTC format (e.g. "31")</li>
  440. <li><code>{seconds-locale}</code>: the localized value of the seconds (e.g. "31")</li>
  441. <li><code>{url-href}</code>: the URL of the page (e.g. "http_example.com")</li>
  442. <li><code>{url-pathname}</code>: the path name of the URL (e.g. "category_index.html")</li>
  443. <li><code>{url-last-segment}</code>: the last part of the pathname (without the extension) or the
  444. host if not found (e.g. "index")</li>
  445. <li><code>{url-protocol}</code>: the protocol of the URL (e.g. "https")</li>
  446. <li><code>{url-host}</code>: the host name + the port of the URL (e.g. "example.com_8080")</li>
  447. <li><code>{url-hostname}</code>: the host name of the URL (e.g. "example.com")</li>
  448. <li><code>{url-port}</code>: the port of the URL (e.g. "8080")</li>
  449. <li><code>{url-username}</code>: the user name of the URL (e.g. "john_doe")</li>
  450. <li><code>{url-password}</code>: the password of the URL (e.g. "qwerty123")</li>
  451. <li><code>{url-search}</code>: the search string of the URL (e.g. "order=ascending")</li>
  452. <li><code>{url-search-&lt;name&gt;}</code>: the query parameter "&lt;name&gt;" in the the search
  453. string of the URL (e.g. "url-search-order" will return "ascending" in the previous example)</li>
  454. <li><code>{url-hash}</code>: the hash of the URL (e.g. "chapter-2")</li>
  455. <li><code>{url-referrer}</code>: the URI of the page that "linked" to the page (e.g.
  456. "http_example.com")</li>
  457. <li><code>{tab-id}</code>: the unique identifier of the tab (e.g. "326")</li>
  458. <li><code>{tab-index}</code>: the index of the tab in the window (e.g. "1")</li>
  459. <li><code>{digest-sha-256}</code>: the SHA-256 hash value of the entire page content (e.g.
  460. e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)</li>
  461. <li><code>{digest-sha-384}</code>: the SHA-384 hash value of the entire page content</li>
  462. <li><code>{digest-sha-512}</code>: the SHA-512 hash value of the entire page content</li>
  463. </ul>
  464. </li>
  465. <li><a id="notes">Technical notes</a>
  466. <ul>
  467. <li>All images are converted into <a href="http://en.wikipedia.org/wiki/Base64">base64</a>. </li>
  468. <li>All resources except frame contents are injected in the document using <a
  469. href="http://en.wikipedia.org/wiki/Data_URI_scheme">data URI scheme</a>. </li>
  470. <li>Frame contents are injected as text in the document by using the srcdoc attribute. </li>
  471. </ul>
  472. </li>
  473. <li><a id="known-issues">Known issues</a>
  474. <ul>
  475. <li>All browsers <ul>
  476. <li>For security reasons, you cannot save pages hosted on https://chrome.google.com,
  477. https://addons.mozilla.org and some other Mozilla domains. When this happens, 🚫 is
  478. displayed on top of the SingleFile icon.</li>
  479. <li>For security reasons, SingleFile is sometimes unable to save the image representation of
  480. a
  481. canvas element.</li>
  482. <li>The last saved path cannot be remembered by default. To circumvent this limitation,
  483. disable the option "Misc. &gt; Save pages in background".</li>
  484. <li>The following characters are replaced with _ in filenames: ~, +, \, ?, %, *, :, |, ",
  485. &lt;, &gt;</li>
  486. </ul>
  487. </li>
  488. <li>Chrome/Opera <ul>
  489. <li>You must enable the option "Allow access to file URLs" in the extension page to display
  490. the infobar when viewing a saved page, or to save a page stored on the filesystem.</li>
  491. <li>If the filename of a saved page looks like "56833935-156b-4d8c-a00f-19599c6513d3",
  492. disable the option "Misc. &gt; Save pages in background". Reinstalling the browser may
  493. also fix this issue.</li>
  494. <li>Disabling the option 'File name &gt; open the "Save as" dialog to confirm the file name'
  495. will work if and only if "Ask where to save each file before downloading" is disabled in
  496. chrome://settings/downloads</li>
  497. </ul>
  498. </li>
  499. <li>Firefox <ul>
  500. <li>The "file name conflict resolution" option does not work if set to "prompt for a name".
  501. </li>
  502. </ul>
  503. </li>
  504. </ul>
  505. </li>
  506. <li><a id="unknown-issues">Troubleshooting unknown issues</a>
  507. <p>Please follow these steps if you find an unknown issue:</p>
  508. <ul>
  509. <li>Save the page in incognito.</li>
  510. <li>If saving page in incognito did not fix the issue, reset SingleFile options.</li>
  511. <li>If resetting options did not fix the issue, restart the browser.</li>
  512. <li>If restarting the browser did not fix the issue, try to disable all other extensions to see if
  513. there is a conflict.</li>
  514. <li>If there is a conflict then try to determine against which extension(s).</li>
  515. <li>Please report the issue <a href="https://github.com/gildas-lormeau/SingleFile/issues">here</a>
  516. with a short description on how to reproduce it.</li>
  517. </ul>
  518. <p>Suggestions are welcome :)</p>
  519. </li>
  520. <li><a id="contributors">Contributors</a>
  521. <ul>
  522. <li>Chinese translation done by yfdyh000 (<a href="https://github.com/yfdyh000">GitHub profile</a>),
  523. KrasnayaPloshchad (<a href="https://github.com/KrasnayaPloshchad">GitHub profile</a>),
  524. frostblazergit (<a href="https://github.com/frostblazergit">GitHub profile</a>)</li>
  525. <li>Traditional Chinese translation done by frostblazergit (<a
  526. href="https://github.com/frostblazergit">GitHub profile</a>)</li>
  527. <li>German translation done by womotroll (<a href="https://github.com/womotroll">GitHub
  528. profile</a>), bannmann (<a href="https://github.com/bannmann">GitHub profile</a>)
  529. </li>
  530. <li>Japanese translation, done by Shitennouji (四天王寺) (<a
  531. href="https://github.com/Shitennouji">GitHub profile</a>)</li>
  532. <li>Polish translation done by xesarni (<a href="https://github.com/xesarni">GitHub profile</a>)
  533. </li>
  534. <li>Russian translation done by rstp14 (<a href="https://github.com/rstp14">GitHub profile</a>),
  535. kramola-RU (<a href="https://github.com/kramola-RU">GitHub profile</a>)</li>
  536. <li>Ukrainian translation done by perdolka (<a href="https://github.com/perdolka">GitHub
  537. profile</a>)</li>
  538. <li>Spanish translation done by strel (<a href="https://github.com/strel">GitHub profile</a>)</li>
  539. </ul>
  540. </li>
  541. <li><a id="icons">Icons</a>
  542. <ul>
  543. <li>Icon made by <a href="https://www.flaticon.com/authors/kiranshastry"
  544. title="Kiranshastry">Kiranshastry</a> from <a href="https://www.flaticon.com/"
  545. title="Flaticon">www.flaticon.com</a> is licensed by <a
  546. href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0"
  547. target="_blank">CC 3.0 BY</a> </li>
  548. </ul>
  549. </li>
  550. </ol>
  551. </div>
  552. </body>
  553. </html>