From 06d7ce8701c675a41d2430348878580987af7f10 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Sun, 13 Sep 2026 21:48:12 +0300 Subject: [PATCH 1/2] Move site source to src/ and use a docs collection --- .dockerignore | 5 +- .gitignore | 1 - Dockerfile | 4 +- _config.yml | 17 ++++--- bin/jekyll-page | 45 ++++-------------- 404.md => src/404.md | 0 {_data => src/_data}/faqs.yml | 0 .../2018-05-12-audit.md => src/_docs/audit.md | 0 .../2019-08-14-chaff.md => src/_docs/chaff.md | 0 .../_docs/cleanerml.md | 8 ++-- .../_docs/command-line-interface.md | 2 +- .../_docs/contributing.md | 4 +- .../_docs/cookie-manager.md | 0 .../_docs/expert-mode.md | 2 +- .../_docs/finding-files-to-delete.md | 0 .../_docs/frequently-asked-questions.md | 0 .../_docs/general-usage.md | 0 .../_docs/install-on-linux.md | 0 .../_docs/install-on-windows.md | 4 +- .../_docs/preferences.md | 2 +- .../_docs/running-from-source-code.md | 2 +- .../_docs/shred-files-and-wipe-disks.md | 2 +- .../_docs/testing.md | 6 +-- .../_docs/troubleshooting.md | 0 .../_docs/variables.md | 0 .../_docs/winapp2ini.md | 4 +- {_includes => src/_includes}/ad.html | 0 {_includes => src/_includes}/disqus.html | 0 {_includes => src/_includes}/faqs.html | 0 {_includes => src/_includes}/footer.html | 0 .../_includes}/google_analytics.html | 0 {_includes => src/_includes}/header.html | 0 {_includes => src/_includes}/navigation.html | 4 +- {_layouts => src/_layouts}/default.html | 6 +-- {_layouts => src/_layouts}/page.html | 0 {_sass => src/_sass}/_base.scss | 0 {_sass => src/_sass}/_syntax.scss | 0 {css => src/css}/main.scss | 0 ...achbit_5_1_1_cookie_manager_windows_11.png | Bin ...bleachbit_5_1_1_main_window_windows_11.png | Bin ...bleachbit_5_1_1_preferences_windows_11.png | Bin ..._6_0_0_windows11_preferences_dark_mode.png | Bin {images => src/images}/debug-windows10.png | Bin {images => src/images}/logo-square.svg | 0 .../images}/run-dialog-windows10.png | Bin .../windows-10-verified-publisher-certum.png | Bin index.md => src/index.md | 16 +++---- {js => src/js}/main.js | 0 48 files changed, 51 insertions(+), 83 deletions(-) rename 404.md => src/404.md (100%) rename {_data => src/_data}/faqs.yml (100%) rename _posts/2018-05-12-audit.md => src/_docs/audit.md (100%) rename _posts/2019-08-14-chaff.md => src/_docs/chaff.md (100%) rename _posts/2015-09-25-cleanerml.md => src/_docs/cleanerml.md (95%) rename _posts/2015-09-25-command-line-interface.md => src/_docs/command-line-interface.md (95%) rename _posts/2019-04-19-contributing.md => src/_docs/contributing.md (93%) rename _posts/2026-03-18-cookie-manager.md => src/_docs/cookie-manager.md (100%) rename _posts/2026-04-29-expert-mode.md => src/_docs/expert-mode.md (98%) rename _posts/2026-02-10-finding-files-to-delete.md => src/_docs/finding-files-to-delete.md (100%) rename _posts/2015-09-25-frequently-asked-questions.md => src/_docs/frequently-asked-questions.md (100%) rename _posts/2015-09-25-general-usage.md => src/_docs/general-usage.md (100%) rename _posts/2015-09-30-install-on-linux.md => src/_docs/install-on-linux.md (100%) rename _posts/2015-09-30-install-on-windows.md => src/_docs/install-on-windows.md (93%) rename _posts/2015-09-25-preferences.md => src/_docs/preferences.md (97%) rename _posts/2015-09-25-running-from-source-code.md => src/_docs/running-from-source-code.md (98%) rename _posts/2015-09-25-shred-files-and-wipe-disks.md => src/_docs/shred-files-and-wipe-disks.md (99%) rename _posts/2021-04-17-testing.md => src/_docs/testing.md (96%) rename _posts/2018-03-14-troubleshooting.md => src/_docs/troubleshooting.md (100%) rename _posts/2019-04-19-variables.md => src/_docs/variables.md (100%) rename _posts/2015-09-25-winapp2ini.md => src/_docs/winapp2ini.md (88%) rename {_includes => src/_includes}/ad.html (100%) rename {_includes => src/_includes}/disqus.html (100%) rename {_includes => src/_includes}/faqs.html (100%) rename {_includes => src/_includes}/footer.html (100%) rename {_includes => src/_includes}/google_analytics.html (100%) rename {_includes => src/_includes}/header.html (100%) rename {_includes => src/_includes}/navigation.html (84%) rename {_layouts => src/_layouts}/default.html (94%) rename {_layouts => src/_layouts}/page.html (100%) rename {_sass => src/_sass}/_base.scss (100%) rename {_sass => src/_sass}/_syntax.scss (100%) rename {css => src/css}/main.scss (100%) rename {images => src/images}/bleachbit_5_1_1_cookie_manager_windows_11.png (100%) rename {images => src/images}/bleachbit_5_1_1_main_window_windows_11.png (100%) rename {images => src/images}/bleachbit_5_1_1_preferences_windows_11.png (100%) rename {images => src/images}/bleachbit_6_0_0_windows11_preferences_dark_mode.png (100%) rename {images => src/images}/debug-windows10.png (100%) rename {images => src/images}/logo-square.svg (100%) rename {images => src/images}/run-dialog-windows10.png (100%) rename {images => src/images}/windows-10-verified-publisher-certum.png (100%) rename index.md => src/index.md (65%) rename {js => src/js}/main.js (100%) diff --git a/.dockerignore b/.dockerignore index 59470ec..343b9ea 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,9 +1,8 @@ # .git is deliberately not ignored: jekyll-last-modified-at needs the history _site -_pages -.jekyll-cache -.jekyll-metadata +src/.jekyll-cache +src/.jekyll-metadata vendor .bundle .netlify diff --git a/.gitignore b/.gitignore index dc042ae..89bb4b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ *.sw? _site -_pages *~ # Ruby/Jekyll generated files diff --git a/Dockerfile b/Dockerfile index cfa6365..1680214 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,8 +52,8 @@ RUN git config --system --add safe.directory /app COPY --from=gems --chown=${UID}:${GID} ${BUNDLE_PATH} ${BUNDLE_PATH} -# WORKDIR would create these root-owned, and jekyll writes to all three -RUN install -d -o "${UID}" -g "${GID}" /app /app/_site /app/.jekyll-cache +# WORKDIR would create these root-owned, and jekyll writes to them +RUN install -d -o "${UID}" -g "${GID}" /app /app/_site /app/src /app/src/.jekyll-cache WORKDIR /app COPY --chown=${UID}:${GID} . . diff --git a/_config.yml b/_config.yml index 3b8e50b..611626c 100644 --- a/_config.yml +++ b/_config.yml @@ -12,7 +12,7 @@ google_analytics_id: '' # Enable/show navigation. There are there options: # 0 - always hide # 1 - always show -# 2 - show only if posts are present +# 2 - show only if docs are present navigation: 2 # URL to source code, used in _includes/footer.html @@ -35,6 +35,11 @@ baseurl: '' # Dates are not included in permalinks permalink: none +collections: + docs: + output: true + permalink: /:categories/:name:output_ext + # Syntax highlighting highlighter: rouge @@ -54,14 +59,8 @@ sass: # Since these are pages, it doesn't really matter future: true -# Exclude non-site files -exclude: - - bin - - compose.yaml - - COPYING - - Dockerfile - - Makefile - - README.md +# Site files live in src/, repo tooling stays in the root +source: src # Use the kramdown Markdown renderer markdown: kramdown diff --git a/bin/jekyll-page b/bin/jekyll-page index a8e2f2f..9fe0340 100755 --- a/bin/jekyll-page +++ b/bin/jekyll-page @@ -15,9 +15,6 @@ parser = OptionParser.new do |opt| opt.on('-e', '--edit', 'Edit the page') do |edit| options[:edit] = true end - opt.on('-l', '--link', 'Relink pages') do |link| - options[:link] = true - end opt.on('-p PATH', '--path PATH', String, 'Path to project root') do |path| options[:path] = path end @@ -32,38 +29,16 @@ filename = ARGV[2] # Resolve any relative links BASE_DIR = File.expand_path(options[:path]) -POSTS_DIR = "#{BASE_DIR}/_posts" -PAGES_DIR = "#{BASE_DIR}/_pages" +DOCS_DIR = "#{BASE_DIR}/src/_docs" -# Ensure the _posts directory exists (we are in the correct directory) -if not Dir.exists?(POSTS_DIR) - puts "#{POSTS_DIR} directory does not exists" +# 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 end -# Create _pages directory if it doesn't exist -if not Dir.exists?(PAGES_DIR) - Dir.mkdir(PAGES_DIR) -end - -if options[:link] - Dir.foreach(POSTS_DIR) do |name| - next if name[0] == '.' - nodate = name[/\d{4}-\d{2}-\d{2}-(?.*)/, 'rest'] - if File.symlink?("#{PAGES_DIR}/#{nodate}") - File.delete("#{PAGES_DIR}/#{nodate}") - end - abspath = File.absolute_path("#{POSTS_DIR}/#{name}") - File.symlink(abspath, "#{PAGES_DIR}/#{nodate}") - end -end - if not title or not category - # This flag can be used by itself, exit silently if no arguments - # are defined - if not options[:link] - puts parser - end + puts parser exit end @@ -71,13 +46,11 @@ if not filename filename = title.downcase.gsub(/[^a-z0-9\s]/, '').gsub(/\s+/, '-') end -today=Date.today().strftime('%F') now=DateTime.now().strftime('%F %T') -filepath = "#{POSTS_DIR}/#{today}-#{filename}.md" -symlink = "#{PAGES_DIR}/#{filename}.md" +filepath = "#{DOCS_DIR}/#{filename}.md" -if File.exists?(filepath) +if File.exist?(filepath) puts "File #{filepath} already exists" exit end @@ -97,13 +70,11 @@ File.open(filepath, 'w') do |file| file.puts content end -File.symlink("../_posts/#{today}-#{filename}.md", symlink) - if options[:edit] if not ENV['EDITOR'] puts 'No $EDITOR variable set' exit end puts ENV['EDITOR'] - exec("#{ENV['EDITOR']} #{filename}") + exec("#{ENV['EDITOR']} #{filepath}") end diff --git a/404.md b/src/404.md similarity index 100% rename from 404.md rename to src/404.md diff --git a/_data/faqs.yml b/src/_data/faqs.yml similarity index 100% rename from _data/faqs.yml rename to src/_data/faqs.yml diff --git a/_posts/2018-05-12-audit.md b/src/_docs/audit.md similarity index 100% rename from _posts/2018-05-12-audit.md rename to src/_docs/audit.md diff --git a/_posts/2019-08-14-chaff.md b/src/_docs/chaff.md similarity index 100% rename from _posts/2019-08-14-chaff.md rename to src/_docs/chaff.md diff --git a/_posts/2015-09-25-cleanerml.md b/src/_docs/cleanerml.md similarity index 95% rename from _posts/2015-09-25-cleanerml.md rename to src/_docs/cleanerml.md index bddea9a..969c188 100644 --- a/_posts/2015-09-25-cleanerml.md +++ b/src/_docs/cleanerml.md @@ -36,7 +36,7 @@ During application startup, BleachBit looks for CleanerML files in a few standar 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\` -Most of these locations are also scanned for [winapp2.ini]({% link _posts/2015-09-25-winapp2ini.md %}) files, but you may only use one winapp2.ini file. +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. @@ -52,7 +52,7 @@ To learn CleanerML so you can write your own cleaner, read these resources: ## Finding files to delete -See [Finding files to delete]({% link _posts/2026-02-10-finding-files-to-delete.md %}). +See [Finding files to delete]({% link _docs/finding-files-to-delete.md %}). ## Matching files @@ -139,11 +139,11 @@ Set the *running* element to abort cleaning when an application is running. It a ## Variables BleachBit supports expansion of a variety of variables: tilde (home), environment variables, and -multi-value variables. For more information, see [Variables]({% link _posts/2019-04-19-variables.md %}). +multi-value variables. For more information, see [Variables]({% link _docs/variables.md %}). ## Sharing your cleaner -Of course, you may use your cleaner privately. If you wish to share it with others, see [Contribute Cleaner]({% link _posts/2019-04-19-contributing.md %}). +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/_posts/2015-09-25-command-line-interface.md b/src/_docs/command-line-interface.md similarity index 95% rename from _posts/2015-09-25-command-line-interface.md rename to src/_docs/command-line-interface.md index 3da25e1..cf374e7 100644 --- a/_posts/2015-09-25-command-line-interface.md +++ b/src/_docs/command-line-interface.md @@ -154,7 +154,7 @@ bleachbit --shred "C:\Microsoft Exchange\Top Secret Emails\" ## Wiping empty space -When files are [deleted without shredding]({% link _posts/2015-09-25-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. +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. You might want to wipe empty space for each logical drive. For example, on Windows you might wipe `C:` and `D:`, if you write sensitive files to both. On Linux, you might want to wipe `/` and `/home` if they are separate partitions and if you write sensitive information to both. diff --git a/_posts/2019-04-19-contributing.md b/src/_docs/contributing.md similarity index 93% rename from _posts/2019-04-19-contributing.md rename to src/_docs/contributing.md index fe9de3d..82ddb44 100644 --- a/_posts/2019-04-19-contributing.md +++ b/src/_docs/contributing.md @@ -12,7 +12,7 @@ Write your own cleaners to use yourself and to share with others. These cleaners ### Writing the cleaner -First, follow the [CleanerML documentation]({% link _posts/2015-09-25-cleanerml.md %}) for technical instructions on writing the cleaner. +First, follow the [CleanerML documentation]({% link _docs/cleanerml.md %}) for technical instructions on writing the cleaner. ### Testing the cleaner @@ -22,7 +22,7 @@ Backup any files which may be deleted before testing. Then, use this checklist f * 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 _posts/2019-04-19-variables.md %}) rather than hard-coding paths. +* 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. diff --git a/_posts/2026-03-18-cookie-manager.md b/src/_docs/cookie-manager.md similarity index 100% rename from _posts/2026-03-18-cookie-manager.md rename to src/_docs/cookie-manager.md diff --git a/_posts/2026-04-29-expert-mode.md b/src/_docs/expert-mode.md similarity index 98% rename from _posts/2026-04-29-expert-mode.md rename to src/_docs/expert-mode.md index b314457..d8c220b 100644 --- a/_posts/2026-04-29-expert-mode.md +++ b/src/_docs/expert-mode.md @@ -114,7 +114,7 @@ deleted files. Keep in mind: - Effectiveness depends on storage type, encryption, and other factors. - It can increase wear on SSDs. -See [Shred files and wipe disks]({% link _posts/2015-09-25-shred-files-and-wipe-disks.md %}) for more +See [Shred files and wipe disks]({% link _docs/shred-files-and-wipe-disks.md %}) for more information. ### Windows File Explorer options diff --git a/_posts/2026-02-10-finding-files-to-delete.md b/src/_docs/finding-files-to-delete.md similarity index 100% rename from _posts/2026-02-10-finding-files-to-delete.md rename to src/_docs/finding-files-to-delete.md diff --git a/_posts/2015-09-25-frequently-asked-questions.md b/src/_docs/frequently-asked-questions.md similarity index 100% rename from _posts/2015-09-25-frequently-asked-questions.md rename to src/_docs/frequently-asked-questions.md diff --git a/_posts/2015-09-25-general-usage.md b/src/_docs/general-usage.md similarity index 100% rename from _posts/2015-09-25-general-usage.md rename to src/_docs/general-usage.md diff --git a/_posts/2015-09-30-install-on-linux.md b/src/_docs/install-on-linux.md similarity index 100% rename from _posts/2015-09-30-install-on-linux.md rename to src/_docs/install-on-linux.md diff --git a/_posts/2015-09-30-install-on-windows.md b/src/_docs/install-on-windows.md similarity index 93% rename from _posts/2015-09-30-install-on-windows.md rename to src/_docs/install-on-windows.md index 7a53897..3895659 100644 --- a/_posts/2015-09-30-install-on-windows.md +++ b/src/_docs/install-on-windows.md @@ -68,5 +68,5 @@ The `/S` and `/NoDesktopShortcut` switches _are_ case-sensitive. ### After installation -After installation, review the [preference options]({% link _posts/2015-09-25-preferences.md %}) or skip -to [general usage]({% link _posts/2015-09-25-general-usage.md %}). +After installation, review the [preference options]({% link _docs/preferences.md %}) or skip +to [general usage]({% link _docs/general-usage.md %}). diff --git a/_posts/2015-09-25-preferences.md b/src/_docs/preferences.md similarity index 97% rename from _posts/2015-09-25-preferences.md rename to src/_docs/preferences.md index 50a57b7..b5c5bb0 100644 --- a/_posts/2015-09-25-preferences.md +++ b/src/_docs/preferences.md @@ -56,7 +56,7 @@ When enabled, both the GUI and the console will show technical messages that som ### Expert mode For advanced users who want direct control over cleaning operations -and confirmation dialogs, see [Expert mode]({% link _posts/2026-04-29-expert-mode.md %}). +and confirmation dialogs, see [Expert mode]({% link _docs/expert-mode.md %}). ### Custom diff --git a/_posts/2015-09-25-running-from-source-code.md b/src/_docs/running-from-source-code.md similarity index 98% rename from _posts/2015-09-25-running-from-source-code.md rename to src/_docs/running-from-source-code.md index d982183..e53473c 100644 --- a/_posts/2015-09-25-running-from-source-code.md +++ b/src/_docs/running-from-source-code.md @@ -141,7 +141,7 @@ git checkout master ### Further reading -* [Testing]({% link _posts/2021-04-17-testing.md %}) +* [Testing]({% link _docs/testing.md %}) * [Contributing patches and bug reports](https://www.bleachbit.org/contribute) diff --git a/_posts/2015-09-25-shred-files-and-wipe-disks.md b/src/_docs/shred-files-and-wipe-disks.md similarity index 99% rename from _posts/2015-09-25-shred-files-and-wipe-disks.md rename to src/_docs/shred-files-and-wipe-disks.md index 208113f..551c7c6 100644 --- a/_posts/2015-09-25-shred-files-and-wipe-disks.md +++ b/src/_docs/shred-files-and-wipe-disks.md @@ -174,7 +174,7 @@ impossible to recover fully. Even when some data can't be fully wiped, you can make forensic recovery far slower and more expensive by burying it in noise. -BleachBit's [Chaff]({% link _posts/2019-08-14-chaff.md %}) feature generates large volumes +BleachBit's [Chaff]({% link _docs/chaff.md %}) feature generates large volumes of semi-realistic decoy data, turning a needle-in-a-haystack problem into an overwhelming one. This complements other methods; it doesn't replace them, but it raises the cost and time required for anyone diff --git a/_posts/2021-04-17-testing.md b/src/_docs/testing.md similarity index 96% rename from _posts/2021-04-17-testing.md rename to src/_docs/testing.md index 6607629..712e82e 100644 --- a/_posts/2021-04-17-testing.md +++ b/src/_docs/testing.md @@ -28,7 +28,7 @@ focus on different tests rather than repeating tests you already completed. ## Testing environment Ideally you would be testing the -[latest, bleeding-edge code from Git]({% link _posts/2015-09-25-running-from-source-code.md %}). +[latest, bleeding-edge code from Git]({% link _docs/running-from-source-code.md %}). Otherwise, test the latest [beta](https://www.bleachbit.org/category/blog-tags/beta) or [latest stable release](https://www.bleachbit.org/download). @@ -128,7 +128,7 @@ After cleaning an application, run the application to make sure: - No unannounced changes were made. - All the requested changes were made. For example, BleachBit 0.7.1 did not delete stored passwords for Firefox 3. See - [CleanerML documentation]({% link _posts/2015-09-25-cleanerml.md %}) for advanced instructions on + [CleanerML documentation]({% link _docs/cleanerml.md %}) for advanced instructions on finding more files to clean. ### Google Chrome @@ -167,7 +167,7 @@ or Windows Task Manager. ## Unit tests If you are comfortable using the command line and are -[prepared to run BleachBit from source code]({% link _posts/2015-09-25-running-from-source-code.md %}), +[prepared to run BleachBit from source code]({% link _docs/running-from-source-code.md %}), run the unit tests with this command: ```sh diff --git a/_posts/2018-03-14-troubleshooting.md b/src/_docs/troubleshooting.md similarity index 100% rename from _posts/2018-03-14-troubleshooting.md rename to src/_docs/troubleshooting.md diff --git a/_posts/2019-04-19-variables.md b/src/_docs/variables.md similarity index 100% rename from _posts/2019-04-19-variables.md rename to src/_docs/variables.md diff --git a/_posts/2015-09-25-winapp2ini.md b/src/_docs/winapp2ini.md similarity index 88% rename from _posts/2015-09-25-winapp2ini.md rename to src/_docs/winapp2ini.md index 32ce3f0..6c9e1e6 100644 --- a/_posts/2015-09-25-winapp2ini.md +++ b/src/_docs/winapp2ini.md @@ -14,7 +14,7 @@ BleachBit imports cleaning rules from `winapp2.ini` files, giving Windows users [Piriform does not endorse importing "CCleaner data" into BleachBit](https://www.bleachbit.org/news/ccleaner-asks-bleachbit-remove-winapp2ini-importer). If you are writing new cleaner definitions, write them in -[CleanerML]({% link _posts/2015-09-25-cleanerml.md %}) instead of `winapp2.ini` format because CleanerML +[CleanerML]({% link _docs/cleanerml.md %}) instead of `winapp2.ini` format because CleanerML is cross-platform, not legally encumbered, and contains many features not available in `winapp2.ini`. @@ -37,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 _posts/2015-09-25-cleanerml.md %}). If you install BleachBit (i.e., non-portable mode), use + [CleanerML]({% link _docs/cleanerml.md %}). If you install BleachBit (i.e., non-portable mode), use the directory `C:\Users\(username)\AppData\Roaming\BleachBit\Cleaners\` 3. Restart BleachBit. diff --git a/_includes/ad.html b/src/_includes/ad.html similarity index 100% rename from _includes/ad.html rename to src/_includes/ad.html diff --git a/_includes/disqus.html b/src/_includes/disqus.html similarity index 100% rename from _includes/disqus.html rename to src/_includes/disqus.html diff --git a/_includes/faqs.html b/src/_includes/faqs.html similarity index 100% rename from _includes/faqs.html rename to src/_includes/faqs.html diff --git a/_includes/footer.html b/src/_includes/footer.html similarity index 100% rename from _includes/footer.html rename to src/_includes/footer.html diff --git a/_includes/google_analytics.html b/src/_includes/google_analytics.html similarity index 100% rename from _includes/google_analytics.html rename to src/_includes/google_analytics.html diff --git a/_includes/header.html b/src/_includes/header.html similarity index 100% rename from _includes/header.html rename to src/_includes/header.html diff --git a/_includes/navigation.html b/src/_includes/navigation.html similarity index 84% rename from _includes/navigation.html rename to src/_includes/navigation.html index b138d25..8c01798 100644 --- a/_includes/navigation.html +++ b/src/_includes/navigation.html @@ -3,8 +3,8 @@ {%- for section in site.sections %} {%- assign attr = section[0] %} {%- assign label = section[1] %} - {%- if site.categories[attr] %} - {%- assign pages = site.categories[attr] | sort: 'order' %} + {%- assign pages = site.docs | where: 'category', attr | sort: 'order' %} + {%- if pages.size > 0 %} {%- for page in pages %}
  • {{ page.nav_title | default: page.title }}
  • diff --git a/_layouts/default.html b/src/_layouts/default.html similarity index 94% rename from _layouts/default.html rename to src/_layouts/default.html index 5a43ad3..93fb046 100644 --- a/_layouts/default.html +++ b/src/_layouts/default.html @@ -21,8 +21,8 @@
    - {%- assign post_count = site.posts|size %} - {%- if site.navigation != 0 and site.navigation == 1 or post_count > 0 %} + {%- assign doc_count = site.docs | size %} + {%- if site.navigation != 0 and site.navigation == 1 or doc_count > 0 %} @@ -39,7 +39,7 @@ {%- if page.disqus == 1 %}
    - {%- if site.navigation == 1 or post_count > 0 %} + {%- if site.navigation == 1 or doc_count > 0 %}
    {% include disqus.html %} diff --git a/_layouts/page.html b/src/_layouts/page.html similarity index 100% rename from _layouts/page.html rename to src/_layouts/page.html diff --git a/_sass/_base.scss b/src/_sass/_base.scss similarity index 100% rename from _sass/_base.scss rename to src/_sass/_base.scss diff --git a/_sass/_syntax.scss b/src/_sass/_syntax.scss similarity index 100% rename from _sass/_syntax.scss rename to src/_sass/_syntax.scss diff --git a/css/main.scss b/src/css/main.scss similarity index 100% rename from css/main.scss rename to src/css/main.scss diff --git a/images/bleachbit_5_1_1_cookie_manager_windows_11.png b/src/images/bleachbit_5_1_1_cookie_manager_windows_11.png similarity index 100% rename from images/bleachbit_5_1_1_cookie_manager_windows_11.png rename to src/images/bleachbit_5_1_1_cookie_manager_windows_11.png diff --git a/images/bleachbit_5_1_1_main_window_windows_11.png b/src/images/bleachbit_5_1_1_main_window_windows_11.png similarity index 100% rename from images/bleachbit_5_1_1_main_window_windows_11.png rename to src/images/bleachbit_5_1_1_main_window_windows_11.png diff --git a/images/bleachbit_5_1_1_preferences_windows_11.png b/src/images/bleachbit_5_1_1_preferences_windows_11.png similarity index 100% rename from images/bleachbit_5_1_1_preferences_windows_11.png rename to src/images/bleachbit_5_1_1_preferences_windows_11.png diff --git a/images/bleachbit_6_0_0_windows11_preferences_dark_mode.png b/src/images/bleachbit_6_0_0_windows11_preferences_dark_mode.png similarity index 100% rename from images/bleachbit_6_0_0_windows11_preferences_dark_mode.png rename to src/images/bleachbit_6_0_0_windows11_preferences_dark_mode.png diff --git a/images/debug-windows10.png b/src/images/debug-windows10.png similarity index 100% rename from images/debug-windows10.png rename to src/images/debug-windows10.png diff --git a/images/logo-square.svg b/src/images/logo-square.svg similarity index 100% rename from images/logo-square.svg rename to src/images/logo-square.svg diff --git a/images/run-dialog-windows10.png b/src/images/run-dialog-windows10.png similarity index 100% rename from images/run-dialog-windows10.png rename to src/images/run-dialog-windows10.png diff --git a/images/windows-10-verified-publisher-certum.png b/src/images/windows-10-verified-publisher-certum.png similarity index 100% rename from images/windows-10-verified-publisher-certum.png rename to src/images/windows-10-verified-publisher-certum.png diff --git a/index.md b/src/index.md similarity index 65% rename from index.md rename to src/index.md index 8ea2914..0afb164 100644 --- a/index.md +++ b/src/index.md @@ -23,19 +23,19 @@ Simply select the options you want to clean, preview what will be deleted, and c BleachBit supports advanced features including: -- [Command line interface]({% link _posts/2015-09-25-command-line-interface.md %}) -- [Cookie manager]({% link _posts/2026-03-18-cookie-manager.md %}) -- [Custom cleaners]({% link _posts/2015-09-25-cleanerml.md %}) -- [Wipe empty space]({% link _posts/2015-09-25-shred-files-and-wipe-disks.md %}) +- [Command line interface]({% link _docs/command-line-interface.md %}) +- [Cookie manager]({% link _docs/cookie-manager.md %}) +- [Custom cleaners]({% link _docs/cleanerml.md %}) +- [Wipe empty space]({% link _docs/shred-files-and-wipe-disks.md %}) ## Getting Started Use the navigation on the left to browse the documentation. If you're new to BleachBit, we recommend starting with: 1. [Download BleachBit](https://www.bleachbit.org/download) -1. [Install on Windows]({% link _posts/2015-09-30-install-on-windows.md %}) or [Linux]({% link _posts/2015-09-30-install-on-linux.md %}) -1. [Configure preferences]({% link _posts/2015-09-25-preferences.md %}) -1. [General usage]({% link _posts/2015-09-25-general-usage.md %}) -1. [Review the FAQ]({% link _posts/2015-09-25-frequently-asked-questions.md %}) for common questions +1. [Install on Windows]({% link _docs/install-on-windows.md %}) or [Linux]({% link _docs/install-on-linux.md %}) +1. [Configure preferences]({% link _docs/preferences.md %}) +1. [General usage]({% link _docs/general-usage.md %}) +1. [Review the FAQ]({% link _docs/frequently-asked-questions.md %}) for common questions ![BleachBit 5.1.1 on Windows 11](/images/bleachbit_5_1_1_main_window_windows_11.png "The main screen of BleachBit 5.1.1 on Windows 11") diff --git a/js/main.js b/src/js/main.js similarity index 100% rename from js/main.js rename to src/js/main.js From 6dc312bc2518e3781a5aaeaaa941dcf2ff08b518 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Tue, 15 Sep 2026 17:08:59 +0300 Subject: [PATCH 2/2] Use a YAML map for navigation sections --- _config.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/_config.yml b/_config.yml index 611626c..8c6ff86 100644 --- a/_config.yml +++ b/_config.yml @@ -18,15 +18,14 @@ navigation: 2 # URL to source code, used in _includes/footer.html #codeurl: 'https://github.com/bruth/jekyll-docs-template' -# Default categories (in order) to appear in the navigation -sections: [ - ['doc', 'Documentation'], - ['tut', 'Tutorial'], - ['ref', 'Reference'], - ['cml', 'CleanerML'], - ['dev', 'Developers'], - ['post', 'Posts'] -] +# Navigation sections, in order. Key is the page's `category`. +sections: + doc: Documentation + tut: Tutorial + ref: Reference + cml: CleanerML + 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