help.html 34 KB

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