diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 906f6fd..b3045ee 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -13,3 +13,16 @@ updates: update-types: - 'minor' - 'patch' + - package-ecosystem: 'bundler' + directory: '/' + cooldown: + default-days: 7 + schedule: + interval: 'monthly' + groups: + bundler: + patterns: + - '*' + update-types: + - 'minor' + - 'patch' diff --git a/.gitignore b/.gitignore index 89bb4b4..537fe4d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ _site .bundle/ vendor/ .jekyll-cache/ +.jekyll-metadata # Local Netlify folder .netlify diff --git a/Gemfile.lock b/Gemfile.lock index 994685b..8707683 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,7 +4,7 @@ GEM addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) base64 (0.3.0) - bigdecimal (4.1.2) + bigdecimal (4.1.3) colorator (1.1.0) concurrent-ruby (1.3.8) csv (3.3.6) @@ -107,7 +107,7 @@ DEPENDENCIES CHECKSUMS addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b - bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd + bigdecimal (4.1.3) sha256=61ebe1e5e559bdc3cc6f2c0ee7f427321fc838f59611c294356eb04d6e21cf66 colorator (1.1.0) sha256=e2f85daf57af47d740db2a32191d1bdfb0f6503a0dfbc8327d0c9154d5ddfc38 concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1 csv (3.3.6) sha256=aba61e7e507a66f03d45cb1f3c4b6359861c3504038b422962875dce099e4456 diff --git a/Makefile b/Makefile index 322491f..43785d1 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # Makefile for BleachBit documentation site -.PHONY: help clean serve build install update \ +.PHONY: help clean serve serve-prod build install update \ docker-serve docker-build docker-shell docker-down # Default target @@ -9,6 +9,7 @@ help: @echo " help - Show this help message" @echo " clean - Remove generated files and dependencies" @echo " serve - Start local development server" + @echo " serve-prod - Start local server without drafts" @echo " build - Build the static site" @echo " install - Install Ruby dependencies" @echo " update - Update Ruby dependencies" diff --git a/README.md b/README.md index 3a0d7b9..2a35b88 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This is a Jekyll site built with Ruby gems. Are you a user wanting to learn how Otherwise, if you want to build the documentation site, follow the instructions below. -# Build +## Build ```sh sudo apt-get update @@ -16,7 +16,7 @@ bundle exec jekyll serve bundle exec jekyll build ``` -# Build with Docker +## Build with Docker To skip installing Ruby and gems locally, use Docker or Podman: @@ -30,17 +30,16 @@ make docker-down # stop the container The first run writes `.env` with your host uid/gid, so generated files are owned by you. -# Help improve +## Help improve 1. Log in to GitHub. 2. Fork this repository to make your own copy. 3. Make the edits in your own repository. 4. Submit a pull request to merge your changes. +## Style guide -# Style guide - -## Writing style +### Writing style - Use sentence case for all headings. - Avoid em-dashes; use commas, colons, or rewrite the sentence. @@ -49,7 +48,7 @@ are owned by you. - Write "that is" instead of "i.e." - Omit "Microsoft" when referring to Windows. -## UI instructions +### UI instructions - Bold UI elements the user clicks, selects, or toggles: - buttons: click **Delete** @@ -65,7 +64,7 @@ are owned by you. - Use `+` to join keys, no spaces - Capitalize key names: `Ctrl`, `Shift`, `Alt`, `Enter`, `Delete` -## Headings +### Headings - Set `title` and optionally `subtitle` in the front matter; the template renders both: do not repeat them in the body @@ -78,25 +77,25 @@ are owned by you. - Use sentence case for both title and subtitle (in front matter) and for body headings: `## Limits to know`, not `## Limits To Know` -## Horizontal rules +### Horizontal rules - Use `---` only for major structural breaks, not between every section - Do not use `---` immediately after a heading -## Formatting +### Formatting - Use `-` for unordered lists, not `*`. - Use numbered lists for steps or sequences. - Use bullet lists for items that don't need numbering. - Wrap long lines to keep diffs readable. -## Capitalization of proper nouns +### Capitalization of proper nouns - BleachBit: always CamelCase - Winapp2: capitalized when referring to the community project - `winapp2.ini`: always lowercase in code ticks; it is a filename - Windows, Linux, macOS: follow each platform's own styling -# License +## License The documentation is under the GNU General Public License version 3 or later diff --git a/_config.yml b/_config.yml index 5d23da7..282c98d 100644 --- a/_config.yml +++ b/_config.yml @@ -1,22 +1,15 @@ -# Site title and subtitle. This is used in _includes/header.html +# Site title, used in _includes/header.html title: BleachBit Documentation -#subtitle: 'Documentation for BleachBit' +# Used by jekyll-seo-tag for the home page title and default meta description +tagline: Official user and developer guides +description: Official user and developer guides for BleachBit, a free and open-source system cleaner. url: "https://docs.bleachbit.org" # if you wish to integrate disqus on pages set your shortname here -disqus_shortname: '' +disqus_shortname: "" # if you use google analytics, add your tracking id here -google_analytics_id: '' - -# Enable/show navigation. There are there options: -# 0 - always hide -# 1 - always show -# 2 - show only if docs are present -navigation: 2 - -# URL to source code, used in _includes/footer.html -#codeurl: 'https://github.com/bruth/jekyll-docs-template' +google_analytics_id: "" # Navigation sections, in order. Key is the page's `category`. sections: @@ -27,9 +20,7 @@ sections: dev: Developers post: Posts -# Keep as an empty string if served up at the root. If served up at a specific -# path (e.g. on GitHub pages) leave off the trailing slash, e.g. /my-project -baseurl: '' +baseurl: "" permalink: pretty @@ -38,38 +29,36 @@ collections: output: true permalink: /:categories/:name/ -# Syntax highlighting -highlighter: rouge +defaults: + - scope: + path: "" + type: docs + values: + layout: page -encoding: "utf-8" timezone: UTC strict_front_matter: true liquid: - error_mode: warn - strict_filters: false - strict_variables: false + error_mode: strict + strict_filters: true # Sass sass: - style: compressed + style: compressed -# Since these are pages, it doesn't really matter +# Docs have dates, so don't skip ones dated in the future future: true # Site files live in src/, repo tooling stays in the root source: src -# Use the kramdown Markdown renderer -markdown: kramdown - # Netlify preview rules include: - _redirects plugins: - jekyll-last-modified-at - # https://help.github.com/articles/redirects-on-github-pages/ - jekyll-redirect-from - jekyll-seo-tag - jekyll-sitemap diff --git a/bin/jekyll-page b/bin/jekyll-page index 9fe0340..451e025 100755 --- a/bin/jekyll-page +++ b/bin/jekyll-page @@ -1,7 +1,9 @@ #!/usr/bin/env ruby -require 'date' +require 'json' require 'optparse' +require 'shellwords' +require 'yaml' options = { # Expects to be in the bin/ sub-directory by default @@ -33,32 +35,38 @@ DOCS_DIR = "#{BASE_DIR}/src/_docs" # Ensure the _docs directory exists (we are in the correct directory) if not Dir.exist?(DOCS_DIR) - puts "#{DOCS_DIR} directory does not exist" - exit + abort "#{DOCS_DIR} directory does not exist" end if not title or not category - puts parser - exit + abort parser.to_s +end + +sections = YAML.safe_load_file("#{BASE_DIR}/_config.yml")['sections'] +if not sections.key?(category) + abort "Unknown category #{category}, use one of: #{sections.keys.join(', ')}" +end + +if options[:edit] and ENV['EDITOR'].to_s.strip.empty? + abort 'No $EDITOR variable set' end if not filename filename = title.downcase.gsub(/[^a-z0-9\s]/, '').gsub(/\s+/, '-') end -now=DateTime.now().strftime('%F %T') +now = Time.now.strftime('%F %T') filepath = "#{DOCS_DIR}/#{filename}.md" if File.exist?(filepath) - puts "File #{filepath} already exists" - exit + abort "File #{filepath} already exists" end +# A JSON string is also a valid YAML string, so quotes in the title are escaped content = < 🧹 **Oops! This page has been swept away.** > -> Like your browser cache, your cookies, and your deepest secretsβ€”this page no longer exists. +> Like your browser cache, your cookies, and your deepest secrets, this page no longer exists. > *BleachBit cleaned it up. Or maybe it was never here.* --- ## Options -- [Return to Home]({{ site.baseurl }}/) +- [Return to Home]({{ '/' | relative_url }}) - [Report a Problem](https://www.bleachbit.org/contact/): If you believe this is an error, please let us know so we can fix it. diff --git a/src/_data/faqs.yml b/src/_data/faqs.yml index d4e1ba8..8259094 100644 --- a/src/_data/faqs.yml +++ b/src/_data/faqs.yml @@ -119,20 +119,20 @@ main: Mode](https://wiki.ubuntu.com/RecoveryMode) like this: 1. Reboot the system. - 1. Choose the boot option *Advanced options for Ubuntu*. - 1. Choose a recent kernel with *(recovery mode)*. - 1. In the Recovery Menu, choose _clean_. Note: this will mount your filesystem. - 1. If this cleans enough space, boot normally and then clean the cache as mentioned above. - 1. Otherwise, choose _root_ from the Recovery Menu. - 1. Type this command to switch to your normal user account: `su username -`. (Replace _username_ with your username.) - 1. Run this command to clean the user's cache: `rm -rf ~/.cache/`. - 1. Reboot. + 2. Choose the boot option *Advanced options for Ubuntu*. + 3. Choose a recent kernel with *(recovery mode)*. + 4. In the Recovery Menu, choose _clean_. Note: this will mount your filesystem. + 5. If this cleans enough space, boot normally and then clean the cache as mentioned above. + 6. Otherwise, choose _root_ from the Recovery Menu. + 7. Type this command to switch to your normal user account: `su username -`. (Replace _username_ with your username.) + 8. Run this command to clean the user's cache: `rm -rf ~/.cache/`. + 9. Reboot. In the future, you may avoid this situation by disabling the BleachBit option **System - Free Disk Space**. Otherwise, do not interrupt BleachBit while it is working. - question: How many passes does BleachBit make for the overwrite file option (shredding file)? answer: See [Shred files and wipe disks](/doc/shred-files-and-wipe-disks/). -- question: How do I see BleachBit in my own language on Microsoft Windows? +- question: How do I see BleachBit in my own language on Windows? answer: | There are a few ways to affect the language of the BleachBit user interface. @@ -141,9 +141,9 @@ main: To force BleachBit to always show in English, you have a few options: - * Download and install the English installer instead of the regular installer. - * If using the regular (non-English-only) installer, uncheck the option to install translations. - * Manually delete the translations. The default location for translations is `c:\Program Files (x86)\BleachBit\share\locale`. + - Download and install the English installer instead of the regular installer. + - If using the regular (non-English-only) installer, uncheck the option to install translations. + - Manually delete the translations. The default location for translations is `c:\Program Files (x86)\BleachBit\share\locale`. The language chosen in the BleachBit installer does not affect the BleachBit application: it affects only the language of the installer. @@ -164,7 +164,7 @@ things_to_know: answer: | Cache generally improves the performance of your computer. For example, browser cache prevents many files (such as pieces of web pages) from being downloaded again. Getting the - file from the cache is much faster than downloading it—even with fast bandwidth. + file from the cache is much faster than downloading it, even with fast bandwidth. Applications (such as web browsers) normally delete the useless parts of cache to prevent it from growing too large and to make room for new, potentially-useful data. @@ -176,10 +176,10 @@ things_to_know: answer: | Cookies are not inherently evil or dangerous. The following statements are *false*: - * Cookies have no uses besides advertising - * Cookies can infect a computer like a virus - * Cookies cause popup ads - * Cookies can read arbitrary information from your computer (such as your name, your credit card, or private documents) + - Cookies have no uses besides advertising + - Cookies can infect a computer like a virus + - Cookies cause popup ads + - Cookies can read arbitrary information from your computer (such as your name, your credit card, or private documents) Cookies perform useful functions such as maintaining your login information: this saves you the time of logging in again. Many web sites use cookies to make honest improvements @@ -189,7 +189,7 @@ things_to_know: disabled (using unique information such as IP address, user agent, plugins, etc), so disabling cookies may not have the intended effect. - On the other hand, some web sites use tricks (e.g., "evercookie" technology) to resurrect + On the other hand, some web sites use tricks (for example, "evercookie" technology) to resurrect deleted cookies and try to track users between browsers on the same computer. Using another trick, cookies can track visitors between web sites for behavioural ad targeting: for example, once you visited an online camping store, and suddenly every other web site diff --git a/src/_docs/audit.md b/src/_docs/audit.md index 6f7b4fa..8916aeb 100644 --- a/src/_docs/audit.md +++ b/src/_docs/audit.md @@ -1,5 +1,4 @@ --- -layout: page title: "Effectiveness audit" subtitle: "Cleaning developer reference" nav_title: "Audit" @@ -11,37 +10,37 @@ order: 2 This is one procedure to audit the BleachBit's effectiveness. -### Prerequisite +## Prerequisite Make sure you have the latest version of BleachBit. Preferably, it is the latest version in Git or [the latest CI build](https://ci.bleachbit.org/). -### Google Chrome +## Google Chrome -#### Exercise +### Exercise These steps "exercise" the browser to use all its functionality. 1. Start Google Chrome. -1. Enable Chrome Sync. -1. Go to Google Search, and search for a [string of random characters](https://www.random.org/strings/?num=10&len=8&digits=on&upperalpha=on&loweralpha=on&unique=off&format=plain&rnd=new). Make a note of this string for a step below. -1. On the [Evercookie](https://sa.my/evercookie/) page, open the Chrome site preferences. Enable Flash, Location, and other site-specific preferences. -1. Create an Evercookie. -1. Download a file from any site, and make a note of the filename and download URL. -1. Run Service Workers ([demo](https://googlechrome.github.io/samples/service-worker/basic/)). -1. Play media ([demo](https://www.webmfiles.org/demo-files/)). (This is not equivalent to downloading the media.) -1. Use other functionality in Google Chrome, and make a note of the associated URLs or other strings. +2. Enable Chrome Sync. +3. Go to Google Search, and search for a [string of random characters](https://www.random.org/strings/?num=10&len=8&digits=on&upperalpha=on&loweralpha=on&unique=off&format=plain&rnd=new). Make a note of this string for a step below. +4. On the [Evercookie](https://sa.my/evercookie/) page, open the Chrome site preferences. Enable Flash, Location, and other site-specific preferences. +5. Create an Evercookie. +6. Download a file from any site, and make a note of the filename and download URL. +7. Run Service Workers ([demo](https://googlechrome.github.io/samples/service-worker/basic/)). +8. Play media ([demo](https://www.webmfiles.org/demo-files/)). (This is not equivalent to downloading the media.) +9. Use other functionality in Google Chrome, and make a note of the associated URLs or other strings. -#### Clean +### Clean 1. Close Google Chrome. -1. Start BleachBit. -1. In the BleachBit preferences, enable the option *Overwrite contents*. -1. Use BleachBit to clean all of Google Chrome. +2. Start BleachBit. +3. In the BleachBit preferences, enable the option *Overwrite contents*. +4. Use BleachBit to clean all of Google Chrome. -#### Audit +### Audit 1. Use a tool such as `grep` to search the Google Chrome profile folder for the random string (used in Google Search, above), the site address `samy.pl`, and other strings from the exercise phase. There should be no matches. -1. Start Google Chrome. -1. Open the browser history (CTRL+H), and there should be none. -1. Revisit the Evercookie page, and the cookie with the same identifier should not be rediscovered. +2. Start Google Chrome. +3. Open the browser history (CTRL+H), and there should be none. +4. Revisit the Evercookie page, and the cookie with the same identifier should not be rediscovered. diff --git a/src/_docs/chaff.md b/src/_docs/chaff.md index 016edec..1fcca07 100644 --- a/src/_docs/chaff.md +++ b/src/_docs/chaff.md @@ -1,5 +1,4 @@ --- -layout: page title: "Chaff" subtitle: "Hide private files using decoy data" nav_title: "Chaff" @@ -200,7 +199,7 @@ results. a directory structure and replaces sensitive content with random data. No longer maintained. - **Vovsoft Dummy File Generator**: Creates realistic file containers (PDFs, - etc.), but the contents are trivially simple (e.g., "hello world"), making + etc.), but the contents are trivially simple (for example, "hello world"), making them easy to identify. - **Large downloads (Linux kernel ~7 GB, Wikipedia ~20 GB)**: Good if your real data is source code or reference articles, respectively, since the diff --git a/src/_docs/cleanerml.md b/src/_docs/cleanerml.md index f389391..fc9c2c8 100644 --- a/src/_docs/cleanerml.md +++ b/src/_docs/cleanerml.md @@ -1,5 +1,4 @@ --- -layout: page title: "CleanerML introduction" subtitle: "Write custom BleachBit cleaners" nav_title: "CleanerML Intro" @@ -15,41 +14,40 @@ order: 1 You can think of it as writing XML to delete files, but it is more powerful than that. CleanerML's features include: -* Familiar XML -* Open standard -* Delete, truncate, or shred files -* Delete Windows registry keys and named values -* Perform specialized operations (see [Actions](#actions)) -* Find files by glob, walking a tree, or 'deep scan' -* Refine a file search with a regular expression -* Export to gettext for translation using standard tools such as Launchpad -* Operating system detection to discard OS-specific cleaners (such as Winamp) at runtime -* XSD (XML Schema Definition) for validation +- Familiar XML +- Open standard +- Delete, truncate, or shred files +- Delete Windows registry keys and named values +- Perform specialized operations (see [Actions](#actions)) +- Find files by glob, walking a tree, or 'deep scan' +- Refine a file search with a regular expression +- Export to gettext for translation using standard tools such as Launchpad +- Operating system detection to discard OS-specific cleaners (such as Winamp) at runtime +- XSD (XML Schema Definition) for validation ## Storage During application startup, BleachBit looks for CleanerML files in a few standard locations: -* `/usr/share/bleachbit/cleaners/` on Linux -* `~/.config/bleachbit/cleaners/` on Linux -* `share/cleaners/` relative to the Python script on Linux (useful for running BleachBit from source without installation -* `share\cleaners\` relative to the BleachBit executable on Windows which typically translates to `c:\program files\bleachbit\share\cleaners` +- `/usr/share/bleachbit/cleaners/` on Linux +- `~/.config/bleachbit/cleaners/` on Linux +- `share/cleaners/` relative to the Python script on Linux (useful for running BleachBit from source without installation +- `share\cleaners\` relative to the BleachBit executable on Windows which typically translates to `c:\program files\bleachbit\share\cleaners` Warning: This directory is deleted when BleachBit is updated or uninstalled. -* `%APPDATA%\BleachBit\cleaners\` on Windows which typically translates to `C:\Users\(username)\AppData\Roaming\BleachBit\Cleaners\` +- `%APPDATA%\BleachBit\cleaners\` on Windows which typically translates to `C:\Users\(username)\AppData\Roaming\BleachBit\Cleaners\` Most of these locations are also scanned for [winapp2.ini]({% link _docs/winapp2ini.md %}) files, but you may only use one winapp2.ini file. The diagnostics section of the application lists these directories. - ## Learning CleanerML To learn CleanerML so you can write your own cleaner, read these resources: -* [Example cleaner](https://github.com/bleachbit/bleachbit/blob/master/doc/example_cleaner.xml) with many annotations -* [Cleaners that come standard with BleachBit](https://github.com/bleachbit/bleachbit/tree/master/cleaners) -* [Bonus cleaners](https://github.com/bleachbit/cleanerml) -* [XSD (XML Schema Definition)](https://github.com/bleachbit/bleachbit/blob/master/doc/cleaner_markup_language.xsd) used for validation +- [Example cleaner](https://github.com/bleachbit/bleachbit/blob/master/doc/example_cleaner.xml) with many annotations +- [Cleaners that come standard with BleachBit](https://github.com/bleachbit/bleachbit/tree/master/cleaners) +- [Bonus cleaners](https://github.com/bleachbit/cleanerml) +- [XSD (XML Schema Definition)](https://github.com/bleachbit/bleachbit/blob/master/doc/cleaner_markup_language.xsd) used for validation ## Finding files to delete @@ -59,26 +57,27 @@ See [Finding files to delete]({% link _docs/finding-files-to-delete.md %}). CleanerML allows several ways to match files. Possible values for `search` are: -* **file**: matches a single file. -* **glob**: matches one or more files with a simple pattern. See the Python documentation on [glob](https://docs.python.org/2/library/glob.html). -* **walk.files**: matches all files under a directory (but does not match directories). -* **walk.all**: matches all files and directories under a directory (but not the top directory). -* **walk.top**: matches all contents of a directory and the top directory itself. -* **deep**: queues a deep scan +- **file**: matches a single file. +- **glob**: matches one or more files with a simple pattern. See the Python documentation on [glob](https://docs.python.org/2/library/glob.html). +- **walk.files**: matches all files under a directory (but does not match directories). +- **walk.all**: matches all files and directories under a directory (but not the top directory). +- **walk.top**: matches all contents of a directory and the top directory itself. +- **deep**: queues a deep scan What is the difference between a **deep** and **walk.files**? Deep scan expects file matches to be loosely scattered (such as Thumbs.db), but **walk.files** expects to match most files under that directory (such as Firefox's cache). To improve performance, BleachBit combines deep scans for the same directory (such as all deep scans for $HOME). In the future, BleachBit may allow the user to reconfigure the deep scan directory, so, for example, he can scan a network drive in addition to his home directory. Any of these methods can be combined with [Python's Perl regular expressions](https://docs.python.org/2/howto/regex.html) for sophisticated filtering. The regular expression options are: -* **regex**: require the path, not including the directory, to match the expression -* **nregex**: require the path, not including the directory, to *not* match the expression -* **wholeregex**: require the full path to match the expression -* **nwholeregex**: require the full path to *not* match the expression +- **regex**: require the path, not including the directory, to match the expression +- **nregex**: require the path, not including the directory, to *not* match the expression +- **wholeregex**: require the full path to match the expression +- **nwholeregex**: require the full path to *not* match the expression Another way to filter is using with **type**: -* **type="f"**: matches files -* **type="d"**: matches directories -* When unspecified, any kind of file system object will match + +- **type="f"**: matches files +- **type="d"**: matches directories +- When unspecified, any kind of file system object will match For more information, refer to the section [Learning](#learning-cleanerml). @@ -88,24 +87,24 @@ The **action** element is a child of the **option** element. Values for the **comand** attribute of the **action** element: -* **apt.autoclean** -* **apt.autoremove** -* **chrome.autofill** -* **chrome.databases_db** -* **chrome.favicons** -* **chrome.history** -* **chrome.keywords** -* **delete**: delete a file -* **ini**: delete part of a .ini configuration file -* **json**: delete part of a JSON file -* **mozilla_url_history** -* **office_registrymodifications**: clean the MRU for OpenOffice.org and LibreOffice -* **process**: launch a process -* **sqlite.vacuum**: vacuum an SQLite 3 database -* **truncate**: truncate a file -* **win.shell.change.notify** -* **winreg**: delete a Windows registry key or value -* **yum.clean_all** +- **apt.autoclean** +- **apt.autoremove** +- **chrome.autofill** +- **chrome.databases_db** +- **chrome.favicons** +- **chrome.history** +- **chrome.keywords** +- **delete**: delete a file +- **ini**: delete part of a .ini configuration file +- **json**: delete part of a JSON file +- **mozilla_url_history** +- **office_registrymodifications**: clean the MRU for OpenOffice.org and LibreOffice +- **process**: launch a process +- **sqlite.vacuum**: vacuum an SQLite 3 database +- **truncate**: truncate a file +- **win.shell.change.notify** +- **winreg**: delete a Windows registry key or value +- **yum.clean_all** Actions take an optional **os** attribute to limit the action to certain operating systems. @@ -115,27 +114,27 @@ The optional attribute **os** limits the scope of an element to certain operatin Supported elements are -* **action** -* **cleaner** -* **running** -* **value** under **var** +- **action** +- **cleaner** +- **running** +- **value** under **var** Valid values for *os* are: -* **bsd** -* **darwin** -* **linux** -* **netbsd** -* **openbsd** -* **unix**: Darwin, Linux, or any BSD -* **windows** +- **bsd** +- **darwin** +- **linux** +- **netbsd** +- **openbsd** +- **unix**: Darwin, Linux, or any BSD +- **windows** ## Running process Set the *running* element to abort cleaning when an application is running. It accepts two attributes: -* **type**: required, either: **exe** for process name or **pathname** for a file on the file system -* **os**: optional, any value for the operating system +- **type**: required, either: **exe** for process name or **pathname** for a file on the file system +- **os**: optional, any value for the operating system ## Variables @@ -145,6 +144,3 @@ multi-value variables. For more information, see [Variables]({% link _docs/varia ## Sharing your cleaner Of course, you may use your cleaner privately. If you wish to share it with others, see [Contribute Cleaner]({% link _docs/contributing.md %}). - - - diff --git a/src/_docs/command-line-interface.md b/src/_docs/command-line-interface.md index 0468d08..9c4e01f 100644 --- a/src/_docs/command-line-interface.md +++ b/src/_docs/command-line-interface.md @@ -1,5 +1,4 @@ --- -layout: page title: "BleachBit command line interface" subtitle: "Usage and options" nav_title: "CLI" @@ -11,18 +10,24 @@ order: 7 Most anything you can do with the graphical user interface, you can do with BleachBit's command line interface which serves two needs: -* Automating cleaning in scripts, batch files, and scheduled tasks -* Running BleachBit headless in terminal-only connections. +- Automating cleaning in scripts, batch files, and scheduled tasks +- Running BleachBit headless in terminal-only connections. This page includes some examples. ## Video -This video introduces the command line interface for Microsoft Windows. +This video introduces the command line interface for Windows. - +
+
+
+ +
+
+
-## Microsoft Windows +## Windows In Windows, use the executable `bleachbit_console.exe` to show the console output. The directory isn't added automatically to the path, so you use the full path `C:\Program Files (x86)\BleachBit\bleachbit_console.exe`. Where acceptable, it is best to substitute the environment variable `%ProgramFiles(x86)%` for `C:\Program Files (x86)\`. @@ -152,7 +157,6 @@ To shred all files under a directory, pass the name of the directory like this: bleachbit --shred "C:\Microsoft Exchange\Top Secret Emails\" ``` - ## Wiping empty space When files are [deleted without shredding]({% link _docs/shred-files-and-wipe-disks.md %}), the contents might be recoverable from the disk's empty space. To prevent recovery from empty space, you can wipe the empty space. Unlike wiping specific files, wiping empty space takes a long time. @@ -169,7 +173,6 @@ Wiping empty space does not change how much free space is left, when the process BleachBit 5.0.2 and earlier used `--wipe-free-space` instead of `--wipe-empty-space`. - ## cron example (Linux) To vacuum Firefox each night at 03:00, run this to edit cron jobs: @@ -188,16 +191,16 @@ and add this line: To vacuum Firefox each night at 03:00: -* Open the Control Panel. -* Open Scheduled Tasks. -* Click **Add Scheduled Task**. -* Click **Next**. -* Click **Browse**. -* Choose `C:\Program Files (x86)\BleachBit\bleachbit_console.exe`. -* Choose **Daily**. -* Set the start time. -* Click **Next**. -* Click **Next**. -* Check **Advanced Properties**. -* At the end of **Run**, add `--clean firefox.vacuum`. -* Click **OK**. +1. Open the Control Panel. +2. Open Scheduled Tasks. +3. Click **Add Scheduled Task**. +4. Click **Next**. +5. Click **Browse**. +6. Choose `C:\Program Files (x86)\BleachBit\bleachbit_console.exe`. +7. Choose **Daily**. +8. Set the start time. +9. Click **Next**. +10. Click **Next**. +11. Check **Advanced Properties**. +12. At the end of **Run**, add `--clean firefox.vacuum`. +13. Click **OK**. diff --git a/src/_docs/contributing.md b/src/_docs/contributing.md index 366a7d2..a3a7bc0 100644 --- a/src/_docs/contributing.md +++ b/src/_docs/contributing.md @@ -1,5 +1,4 @@ --- -layout: page title: "Contributing to CleanerML" subtitle: "A guide for cleaner developers" nav_title: "Contributing" @@ -11,24 +10,24 @@ order: 4 Write your own cleaners to use yourself and to share with others. These cleaners define which files to delete or perform some other action. BleachBit includes one cleaner each for Firefox, Google Chrome, and so on. -### Writing the cleaner +## Writing the cleaner First, follow the [CleanerML documentation]({% link _docs/cleanerml.md %}) for technical instructions on writing the cleaner. +## Testing the cleaner -### Testing the cleaner Backup any files which may be deleted before testing. Then, use this checklist for testing your cleaner: -* BleachBit should not delete settings that the user may regret. -* BleachBit is not an uninstaller. -* Each option accurately describes what it will delete. For example, an option labeled "logs" should not delete cache. -* The descriptions are generic and reuse strings, so translators have less work. For example, Firefox should simply be labeled "Web browser" instead of "A popular, fast, free web browser." Look at other cleaners to see which strings they use. -* Use [variables]({% link _docs/variables.md %}) rather than hard-coding paths. -* Run BleachBit in a console window (`bleachbit_console.exe` on Windows) to check for any warnings. -* In the XML, options are sorted alphabetically. -* XML attributes in the action element are in the standard order: command, search, path. +- BleachBit should not delete settings that the user may regret. +- BleachBit is not an uninstaller. +- Each option accurately describes what it will delete. For example, an option labeled "logs" should not delete cache. +- The descriptions are generic and reuse strings, so translators have less work. For example, Firefox should simply be labeled "Web browser" instead of "A popular, fast, free web browser." Look at other cleaners to see which strings they use. +- Use [variables]({% link _docs/variables.md %}) rather than hard-coding paths. +- Run BleachBit in a console window (`bleachbit_console.exe` on Windows) to check for any warnings. +- In the XML, options are sorted alphabetically. +- XML attributes in the action element are in the standard order: command, search, path. -### Preparation +## Preparation It is helpful if you prepare your cleaner before submitting it. @@ -36,34 +35,31 @@ It is helpful if you prepare your cleaner before submitting it. 2. Run `make tests` to check the XML against the XSD. 3. Run `make pretty` to reformat the XML. -### Submitting the cleaner +## Submitting the cleaner To share the cleaner with others, submit it for review: -* Do not submit cleaners as your own in which you copied and pasted other's work. You must own the copyright. -* You must license the cleaner under the GNU General License Version 3 or later. -* Submit the cleaner to [cleanerml on GitHub](https://github.com/bleachbit/cleanerml) as an issue (with a link to a gist) or pull request. -* Identify the platform you tested (for example, Ubuntu 9.04 or Windows Vista). -* Identify the application version tested (for example, Firefox 3.0.10). -* (optional) Describe how much space each option cleans. For example, "the log option deleted 2KB." -* (optional) Identify the home page of the application. +- Do not submit cleaners as your own in which you copied and pasted other's work. You must own the copyright. +- You must license the cleaner under the GNU General License Version 3 or later. +- Submit the cleaner to [cleanerml on GitHub](https://github.com/bleachbit/cleanerml) as an issue (with a link to a gist) or pull request. +- Identify the platform you tested (for example, Ubuntu 9.04 or Windows Vista). +- Identify the application version tested (for example, Firefox 3.0.10). +- (optional) Describe how much space each option cleans. For example, "the log option deleted 2KB." +- (optional) Identify the home page of the application. Then, wait for a review. Until the final publication, remember you can add the cleaner to your own collection for immediete use in BleachBit. - -### Reviewing a cleaner +## Reviewing a cleaner Help review another person's cleaner submission. Because there are so many applications, versions of applications, differences in operating systems, etc., the help of the community is essential. Look in [GitHub](https://github.com/bleachbit/cleanerml) and review them -* Be polite. -* Review the testing guidelines, written above. -* Check each option individually. -* In GitHub on the pull request, document your results. Example reviews: +- Be polite. +- Review the testing guidelines, written above. +- Check each option individually. +- In GitHub on the pull request, document your results. Example reviews: > "I tested gFTP 2.0.18 on Fedora 10. The cleaner removed 2KB of logs and 500KB of cache. It did not remove any settings. I recommend changing the description from "FTP client" to "File transfer client," so it shares the same description with Azureus for ease of translating. Otherwise I recommend the cleaner for publication." > "I tested gFTP 2.0.18 on Fedora 10. It deleted my settings." - - diff --git a/src/_docs/cookie-manager.md b/src/_docs/cookie-manager.md index 5f0f0a9..b359e74 100644 --- a/src/_docs/cookie-manager.md +++ b/src/_docs/cookie-manager.md @@ -1,5 +1,4 @@ --- -layout: page title: "Cookie manager" subtitle: "Browser cookie management guide" nav_title: "Cookie Manager" @@ -100,14 +99,14 @@ The Cookie Manager works with the following browsers: There are two ways to open the Cookie Manager. -### Method A β€” Right-click context menu +### Method A: right-click context menu 1. In the BleachBit left pane, expand a supported browser (for example, **Google Chrome**). 2. Right-click on the **Cookies** option under that browser. 3. Select **Cookie Manager** from the context menu. -### Method B β€” Preferences dialog +### Method B: Preferences dialog 1. Open **Preferences** from the application menu. 2. Click **Cookies** in the left sidebar. @@ -136,7 +135,7 @@ supported browsers that are installed. | **Checkboxes** | Check a host to keep its cookies; leave unchecked to delete | | **Select All** | Checks every host in the list | | **Deselect All** | Unchecks every host in the list | -| **Cookie count** (e.g., *10 of 35 cookies kept*) | Running tally of how many cookies are marked to keep | +| **Cookie count** (for example, *10 of 35 cookies kept*) | Running tally of how many cookies are marked to keep | | **Close** | Saves your selections and closes the dialog | ### Step-by-step workflow @@ -153,7 +152,6 @@ supported browsers that are installed. 7. Click **Preview** on the main headerbar. 8. Click **Clean** to actually delete the cookies. - --- ## Tips and Best Practices @@ -171,7 +169,7 @@ supported browsers that are installed. --- -## localStorage and IndexDB +## localStorage and IndexedDB **Only HTTP/HTTPS cookies are supported.** LocalStorage and IndexedDB files, which function similarly to cookies, are not yet managed by the Cookie Manager. @@ -208,11 +206,13 @@ deletes. **Cookie Manager is not in the context menu** -: - Verify you are using BleachBit version 5.1.0 or later. - - Verify the browser is supported. +: Check the following: + + - Verify you are using BleachBit version 5.1.0 or later. + - Verify the browser is supported. **After cleaning, I am logged out of a site** -: Cause: The site's cookie host was not checked in the Cookie Manager, or it appears under a variation of the hostname (e.g., `www.example.com` vs. `example.com` or `.example.com`). +: Cause: The site's cookie host was not checked in the Cookie Manager, or it appears under a variation of the hostname (for example, `www.example.com` vs. `example.com` or `.example.com`). Solution: Re-open the Cookie Manager, search for variations of the site's domain, check all matching hosts, then clean again. diff --git a/src/_docs/expert-mode.md b/src/_docs/expert-mode.md index fb44cfa..09cceae 100644 --- a/src/_docs/expert-mode.md +++ b/src/_docs/expert-mode.md @@ -1,5 +1,4 @@ --- -layout: page title: "Expert mode" subtitle: "Safety guardrails and advanced features" nav_title: "Expert mode" @@ -43,7 +42,6 @@ To enable expert mode: BleachBit displays a confirmation dialog stating: *"Expert mode enables advanced features and relaxes guardrails. Use extra caution in expert mode."* - ## What changes with expert mode ### Access to protected cleaning options @@ -168,4 +166,4 @@ and check **Expert mode**. Remember to review the warning message carefully. Click the **Reset warning confirmations** button (available in Preferences when expert mode is enabled) to clear all saved preferences and return to being prompted for each -protected option. \ No newline at end of file +protected option. diff --git a/src/_docs/finding-files-to-delete.md b/src/_docs/finding-files-to-delete.md index 692488e..b05ad0c 100644 --- a/src/_docs/finding-files-to-delete.md +++ b/src/_docs/finding-files-to-delete.md @@ -1,5 +1,4 @@ --- -layout: page title: "Finding files to delete" subtitle: "A guide for CleanerML developers" nav_title: "Finding Files" @@ -19,20 +18,20 @@ run the application first. Here are some tips to get you started: ### General tips - **Turn on all features**: Explore the menu, settings, documentation, command line options, -and environment variables. Turn on features that record data, and disable features that prevent data recording. + and environment variables. Turn on features that record data, and disable features that prevent data recording. - **Enable logging**: In the application's preferences, turn on all logging (if applicable). -For example, by default, Pidgin turns off chat logs. + For example, by default, Pidgin turns off chat logs. - **Exercise all features**: Use the application to generate as many kinds of files as possible. -For example, in Nexuiz (a game), you must play a multiplayer game with a new map to cause -the game to download the map into its cache. Many Nexuiz multiplayer games don't download -maps by default. + For example, in Nexuiz (a game), you must play a multiplayer game with a new map to cause + the game to download the map into its cache. Many Nexuiz multiplayer games don't download + maps by default. ### Exercising browsers So that it records various kinds of data, exercise the web browser: - In the browser settings, enable features that may record data (for example, enhanced safe browsing, -third party cookies, profile sync, continue where you left off). + third party cookies, profile sync, continue where you left off). - Disable all ad blockers (for example, browser extension, DNS, firewall). - Visit popular sites that use trackers or show ads, such as Google, Facebook, and YouTube. - Fill out a form to record autofill data. @@ -45,7 +44,7 @@ third party cookies, profile sync, continue where you left off). - Play an HTML video ([example](https://videojs.org/)). - Install a PWA web application ([example](https://whatpwacando.today/)). - In Chromium-based browsers, run with `--enable-logging` and then visit -`chrome://crash` to force a crash. + `chrome://crash` to force a crash. ## The usual suspects diff --git a/src/_docs/frequently-asked-questions.md b/src/_docs/frequently-asked-questions.md index 3fc3edf..b7c5587 100644 --- a/src/_docs/frequently-asked-questions.md +++ b/src/_docs/frequently-asked-questions.md @@ -1,5 +1,4 @@ --- -layout: page title: "Frequently asked questions" nav_title: "FAQ" category: doc diff --git a/src/_docs/general-usage.md b/src/_docs/general-usage.md index f9cfa2d..ea1febf 100644 --- a/src/_docs/general-usage.md +++ b/src/_docs/general-usage.md @@ -1,5 +1,4 @@ --- -layout: page title: "General usage" subtitle: "Getting started" nav_title: "Usage" @@ -11,15 +10,13 @@ order: 6 The general usage is as follows: -1. Notice on the left of the main window is a list of cleaners and options. (Each cleaner has one or more options.) -2. Click on the label of the cleaner that interests you. (The label is the text next to the checkbox.) -3. Read the cleaner's description (which appears on the right). -4. Check any options you want to clean. -5. _Close any applications you will be cleaning._ For example, you should not clean Firefox while Firefox is running. -6. Click the **Preview** button, and review the list of files. The preview button is "safe" and makes no changes to your system. -7. Make any adjustments to your selection of options, and preview again until you are comfortable with the changes. Disable any options which you don't understand or make you uncomfortable. -8. Click the **Delete** button. +1. Notice on the left of the main window is a list of cleaners and options. (Each cleaner has one or more options.) +2. Click on the label of the cleaner that interests you. (The label is the text next to the checkbox.) +3. Read the cleaner's description (which appears on the right). +4. Check any options you want to clean. +5. _Close any applications you will be cleaning._ For example, you should not clean Firefox while Firefox is running. +6. Click the **Preview** button, and review the list of files. The preview button is "safe" and makes no changes to your system. +7. Make any adjustments to your selection of options, and preview again until you are comfortable with the changes. Disable any options which you don't understand or make you uncomfortable. +8. Click the **Delete** button. Watch the [videos](https://www.bleachbit.org/videos) for narrated walk-through of usage. - - diff --git a/src/_docs/install-on-linux.md b/src/_docs/install-on-linux.md index da3d79b..fc043e3 100644 --- a/src/_docs/install-on-linux.md +++ b/src/_docs/install-on-linux.md @@ -1,5 +1,4 @@ --- -layout: page title: "How to install BleachBit on Linux" subtitle: "Step-by-step guide" nav_title: "Linux Install" @@ -30,7 +29,6 @@ Here is an example of this policy. Ubuntu Questing 25.10 (released October 2025) It is your choice to install from the distribution's repositories, but in case of any issues with the software, first check for a newer release. - ## Software dependencies BleachBit 5 and 6 require GTK 3.24 and Python 3.8 or later. @@ -192,7 +190,6 @@ Focus on confirming that the file you downloaded shows "OK" in the output. You can also ignore the "improperly formatted" warning, which appears because `sha256sum` does not recognize the PGP signature lines in the file. - ## Ubuntu, Mint, and Debian ### Graphical package manager diff --git a/src/_docs/install-on-windows.md b/src/_docs/install-on-windows.md index a9ed396..66b6f9c 100644 --- a/src/_docs/install-on-windows.md +++ b/src/_docs/install-on-windows.md @@ -1,5 +1,4 @@ --- -layout: page title: "How to install BleachBit on Windows" subtitle: "Step-by-step guide" nav_title: "Windows Install" @@ -13,7 +12,7 @@ To install BleachBit, first [download BleachBit 5 for Windows](https://www.bleac Using Windows 7? [Download BleachBit 4.6.2 for Windows 7](https://www.bleachbit.org/bleachbit-windows-7). -### Standard installation +## Standard installation Most Windows users want the standard installation. @@ -23,7 +22,7 @@ Verify the installer comes from the verified publisher shown in the screenshot. ![BleachBit 4.6.2 Windows 10 User Access Control verified publisher](/images/windows-10-verified-publisher-certum.png) -### Portable use +## Portable use While installation is the typical way of using BleachBit, some users prefer an alternative. They may want to put the application on a removable drive or use it on a system without system permission to @@ -35,7 +34,7 @@ right-click on the `.zip` file and choose **Extract all files** which creates a Do not double-click on the `.zip` file. -### Silent installation +## Silent installation Silent installation is for advanced users or system administrators. This feature installs the application without any prompts from the user, and system administrators use it to automate the @@ -66,8 +65,7 @@ insufficient privileges. The `/S` and `/NoDesktopShortcut` switches _are_ case-sensitive. - -### After installation +## After installation After installation, review the [preference options]({% link _docs/preferences.md %}) or skip to [general usage]({% link _docs/general-usage.md %}). diff --git a/src/_docs/preferences.md b/src/_docs/preferences.md index 1a53b9d..00b3613 100644 --- a/src/_docs/preferences.md +++ b/src/_docs/preferences.md @@ -1,5 +1,4 @@ --- -layout: page title: "Preferences" subtitle: "Settings and configuration" nav_title: "Preferences" @@ -11,11 +10,11 @@ order: 3 BleachBit provides preferences (also called options or settings) which change how it works. To edit the preferences, click **Edit** - **Preferences**. -### Check periodically for updates via the Internet +## Check periodically for updates via the Internet When enabled, BleachBit checks for updates. If an update is found, a notification button appears. Click the button to read about the changes and download the new version. The new version is _not_ downloaded automatically. -### Hide irrelevant cleaners +## Hide irrelevant cleaners Enabling this option reduces clutter at the cost of a slightly longer startup. @@ -23,7 +22,7 @@ BleachBit determines whether a cleaner is relevant two ways: first, it checks wh If a cleaner has a deep scan option, it is not hidden. -### Overwrite contents of files to prevent recovery +## Overwrite contents of files to prevent recovery When files are deleted normally, the operating system only deletes the _reference_ to the file (not the _contents_), but later file can usually be undeleted. To securely delete files marked for cleaning (such as Firefox cache) to prevent this kind of recovery, enable overwriting files (also called file shredding). @@ -33,48 +32,48 @@ Since BleachBit 2.0 when running with administrator privileges, wiping compresse To complement the limitations of overwriting individual files, use the **Free disk space** option under **System** to overwrite free disk space and hide previously deleted files. -### Exit after cleaning +## Exit after cleaning When this option is enabled and when the cleaning is done, the application will close itself. -### Confirm before delete +## Confirm before delete When this option is enabled, the cleaning button requires a confirmation prompt before making changes. -### Use IEC sizes +## Use IEC sizes This option affects only how sizes are reported, and it does not affect how the application functions. When enabled, one KiB is 1024 bytes. When disabled, 1 kB is 1000 bytes. -### Dark mode +## Dark mode When enabled, the application uses a dark theme. When disabled, the application uses a light theme. For a demonstration, see the video: [BleachBit version 2.3 dark mode](https://www.youtube.com/watch?v=kWM4-7X5_1g). -### Show debug messages +## Show debug messages When enabled, both the GUI and the console will show technical messages that sometimes help trouleshooting. Most users do not need to enable this option. -### Expert mode +## Expert mode For advanced users who want direct control over cleaning operations and confirmation dialogs, see [Expert mode]({% link _docs/expert-mode.md %}). -### Custom +## Custom In the custom tab, choose a file or folder to delete. It will be deleted only when the Custom option is enabled under the System category. -### Drives +## Drives Before using the **Free disk space** option under **System**, select a writable directory for each drive (also called logical partition or mount point). The unallocated disk space in the chosen drives will be wiped. When starting for the first time, BleachBit tries to guess the correct value. In Linux, a good setting is typically `/home/(username)` and `/tmp`, but only one should be used if both are on the same partition. In Windows, typically `C:\` is a good choice. -### Languages +## Languages Select all languages you wish to keep. If your native language is Klingon, select Klingon. Locale files for unchecked languages will be deleted when cleaning **Localizations** under **System**. This option is not available in Windows. -### Whitelist +## Whitelist Files and folders added to the whitelist will be skipped during preview and during cleaning. diff --git a/src/_docs/running-from-source-code.md b/src/_docs/running-from-source-code.md index a8941ea..860895e 100644 --- a/src/_docs/running-from-source-code.md +++ b/src/_docs/running-from-source-code.md @@ -1,5 +1,4 @@ --- -layout: page title: "Running BleachBit from source code" subtitle: "Developer setup guide" nav_title: "Source Code" @@ -17,11 +16,11 @@ Linux systems often have the necessary dependencies installed for running Bleach On Debian and Ubuntu, install these packages: `gir1.2-gtk-3.0`, `libgtk-3-0`, and `python3-gi`. On Fedora, CentOS, and Red Hat, install `gtk3`, `python3-chardet`, and `python3-gobject`. -## Microsoft Windows +## Windows ### Official release environment -On Microsoft Windows to replicate the environment used for publishing official releases, +On Windows to replicate the environment used for publishing official releases, install the special 32-bit build of Python, PyGObject, and GTK. Like vanilla Python, the special build uses the MSVC compiler. It is built using the vcpkg package manager. @@ -37,16 +36,16 @@ but experimental and CLI-only: there is no GUI. Do this setup once: 1. Download the latest [Python Windows installer (64-bit)](https://www.python.org/downloads/windows/). -1. Run the installer. Under **Optional Features**, enable **for all users**. (If you like, disable **tcl/tk and IDLE**.) -1. Click **Next**. -1. Customize the install location to `c:\python313` (for version 3.13.x), and finish the Python installation. -1. Download BleachBit source from the main repository ([zip](https://github.com/bleachbit/bleachbit/archive/refs/heads/master.zip)). -1. Unpack the BleachBit source, like to `c:\projects\bleachbit`. -1. Change directory: `cd /d c:\projects\bleachbit` -1. Create venv: `c:\python313\python.exe -m venv c:\projects\bleachbit\venv` -1. Activate venv. If in cmd.exe, run: `call c:\projects\bleachbit\venv\scripts\activate.bat` -1. Set up the venv: `pip install -r windows\requirements.txt` -1. Run BleachBit CLI using `python.exe bleachbit.py` instead of `bleachbit.exe`. +2. Run the installer. Under **Optional Features**, enable **for all users**. (If you like, disable **tcl/tk and IDLE**.) +3. Click **Next**. +4. Customize the install location to `c:\python313` (for version 3.13.x), and finish the Python installation. +5. Download BleachBit source from the main repository ([zip](https://github.com/bleachbit/bleachbit/archive/refs/heads/master.zip)). +6. Unpack the BleachBit source, like to `c:\projects\bleachbit`. +7. Change directory: `cd /d c:\projects\bleachbit` +8. Create venv: `c:\python313\python.exe -m venv c:\projects\bleachbit\venv` +9. Activate venv. If in cmd.exe, run: `call c:\projects\bleachbit\venv\scripts\activate.bat` +10. Set up the venv: `pip install -r windows\requirements.txt` +11. Run BleachBit CLI using `python.exe bleachbit.py` instead of `bleachbit.exe`. The next time, just activate the venv and run the application (via `python.exe`). @@ -91,11 +90,11 @@ git clone https://github.com/bleachbit/bleachbit.git Here is a full list of BleachBit Git repositories: -* [BleachBit](https://github.com/bleachbit/bleachbit): main BleachBit application -* [pygtkwin](https://github.com/bleachbit/pygtkwin): special build of Python, PyGObject, and GTK -* [bleachbit-misc](https://github.com/bleachbit/bleachbit-misc): supports development -* [CleanerML](https://github.com/bleachbit/cleanerml): extra cleaners -* [winapp2.ini](https://github.com/bleachbit/winapp2.ini): winapp2.ini cleaners database for Windows +- [BleachBit](https://github.com/bleachbit/bleachbit): main BleachBit application +- [pygtkwin](https://github.com/bleachbit/pygtkwin): special build of Python, PyGObject, and GTK +- [bleachbit-misc](https://github.com/bleachbit/bleachbit-misc): supports development +- [CleanerML](https://github.com/bleachbit/cleanerml): extra cleaners +- [winapp2.ini](https://github.com/bleachbit/winapp2.ini): winapp2.ini cleaners database for Windows ### Building translations @@ -142,7 +141,5 @@ git checkout master ### Further reading -* [Testing]({% link _docs/testing.md %}) -* [Contributing patches and bug reports](https://www.bleachbit.org/contribute) - - +- [Testing]({% link _docs/testing.md %}) +- [Contributing patches and bug reports](https://www.bleachbit.org/contribute) diff --git a/src/_docs/shred-files-and-wipe-disks.md b/src/_docs/shred-files-and-wipe-disks.md index db6124a..bf0697c 100644 --- a/src/_docs/shred-files-and-wipe-disks.md +++ b/src/_docs/shred-files-and-wipe-disks.md @@ -1,5 +1,4 @@ --- -layout: page title: "How to shred files and wipe disks" nav_title: "Shred Files" category: doc @@ -48,9 +47,9 @@ Before diving in, there's one important thing to understand: BleachBit offers four secure wiping features: -1. **Overwrite files found by its cleaners** (e.g., Firefox cache, +1. **Overwrite files found by its cleaners** (for example, Firefox cache, browser history) -2. **Overwrite specific files** anywhere on your drive (e.g., a +2. **Overwrite specific files** anywhere on your drive (for example, a confidential spreadsheet) 3. **Wipe empty disk space**: overwrites areas where previously deleted files lived @@ -120,9 +119,10 @@ SSDs are more complicated: inaccessible to the OS and any software running on it. For SSDs, the most reliable sanitization methods are: + 1. **Full-drive encryption** before storing data, so leftover blocks are unreadable without the key. -2. **Manufacturer secure erase** commands (e.g., ATA Secure Erase or +2. **Manufacturer secure erase** commands (for example, ATA Secure Erase or NVMe Format), issued from a trusted environment. 3. **Physical destruction** for the highest-stakes situations. @@ -205,7 +205,7 @@ but also increases time, effort, or cost: minimal disruption but won't catch fragments elsewhere 2. **Wipe empty disk space**: catches fragments from previously deleted files; slower and limited effectiveness on SSDs -3. **Wipe the entire drive** (e.g., with ShredOS): removes everything, +3. **Wipe the entire drive** (for example, with ShredOS): removes everything, including the OS and swap files; requires reinstallation afterward 4. **Physically destroy the drive**: the only method approved for the highest security needs. @@ -240,4 +240,4 @@ but also increases time, effort, or cost: - [Gutmann Method: Criticism](https://en.wikipedia.org/wiki/Gutmann_method#Criticism) (Wikipedia) - [One Big File Is Not Enough](https://cs.harvard.edu/malan/assets/pdfjs-2.9.359-dist/web/viewer.html?file=/malan/publications/pet06.pdf) - (Garfinkel & Malan, 2006) \ No newline at end of file + (Garfinkel & Malan, 2006) diff --git a/src/_docs/testing.md b/src/_docs/testing.md index 6d8038b..ce49619 100644 --- a/src/_docs/testing.md +++ b/src/_docs/testing.md @@ -1,5 +1,4 @@ --- -layout: page title: "Testing guide" subtitle: "A guide for developers and QA testers" nav_title: "Testing" diff --git a/src/_docs/troubleshooting.md b/src/_docs/troubleshooting.md index f37c513..1defec8 100644 --- a/src/_docs/troubleshooting.md +++ b/src/_docs/troubleshooting.md @@ -1,5 +1,4 @@ --- -layout: page title: "Troubleshooting" subtitle: "Fix common errors and problems" nav_title: "Troubleshooting" diff --git a/src/_docs/variables.md b/src/_docs/variables.md index 1f00367..2d99cea 100644 --- a/src/_docs/variables.md +++ b/src/_docs/variables.md @@ -1,5 +1,4 @@ --- -layout: page title: "CleanerML variables reference" nav_title: "Variables" category: cml diff --git a/src/_docs/winapp2ini.md b/src/_docs/winapp2ini.md index eef6b2f..2649cb2 100644 --- a/src/_docs/winapp2ini.md +++ b/src/_docs/winapp2ini.md @@ -1,5 +1,4 @@ --- -layout: page title: "Winapp2.ini Guide" subtitle: "Extend BleachBit cleaning on Windows" nav_title: "Winapp2.ini" @@ -38,6 +37,6 @@ To manually import `winapp2.ini` cleaners: Piriform, maker of CCleaner. An alternative file [winapp2.ini plus](https://github.com/bleachbit/winapp2.ini) is modified for BleachBit. 2. Place the `winapp2.ini` file in the right directory, which is most of the same directories as - [CleanerML]({% link _docs/cleanerml.md %}). If you install BleachBit (i.e., non-portable mode), use + [CleanerML]({% link _docs/cleanerml.md %}). If you install BleachBit (that is, non-portable mode), use the directory `C:\Users\(username)\AppData\Roaming\BleachBit\Cleaners\` 3. Restart BleachBit. diff --git a/src/_includes/faqs.html b/src/_includes/faqs.html index 02f0559..83ce72d 100644 --- a/src/_includes/faqs.html +++ b/src/_includes/faqs.html @@ -1,7 +1,7 @@ {%- assign faqs = include.faqs | default: page.faqs -%} {%- if faqs.size > 0 %} {%- if include.heading %} -

{{ include.heading | markdownify }}

+

{{ include.heading }}

{%- endif %}
{%- for faq in faqs %} diff --git a/src/_includes/footer.html b/src/_includes/footer.html index 1611f2b..b7129c2 100644 --- a/src/_includes/footer.html +++ b/src/_includes/footer.html @@ -1,4 +1,4 @@

- © BleachBit — + © BleachBit | Edit this documentation on GitHub

diff --git a/src/_includes/header.html b/src/_includes/header.html index 89ab61f..462eb0d 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -1,11 +1,13 @@ -

{{ site.title }} -{%- if site.subtitle %} - {{ site.subtitle }} -{%- endif %} -

+
+

+ {{ site.title }} +

+ +
-

Main site - | Download - | Get Help - | Edit this documentation -

+

+ Main site + | Download + | Get Help + | Edit this documentation +

diff --git a/src/_includes/navigation.html b/src/_includes/navigation.html index 8c01798..1178933 100644 --- a/src/_includes/navigation.html +++ b/src/_includes/navigation.html @@ -1,18 +1,18 @@ -