From 9bb7f2e50b02667c951e55f80c155a603115d34d Mon Sep 17 00:00:00 2001
From: Bionus
Date: Fri, 18 Aug 2023 00:16:44 +0200
Subject: [PATCH] docs: migrate docs to MkDocs Material
---
.github/workflows/docs.yml | 47 +
docs/.gitignore | 6 -
docs/Gemfile | 13 -
docs/_category/android.md | 3 -
docs/_category/linux.md | 3 -
docs/_category/release.md | 3 -
docs/_config.yml | 73 -
docs/_data/docs_navigation.yml | 48 -
docs/_docs/sources.md | 7 -
docs/_includes/blog.html | 43 -
docs/_includes/body.html | 30 -
docs/_includes/navbar_link.html | 27 -
docs/_includes/post_preview.html | 12 -
docs/_includes/source_list.html | 7 -
docs/_layouts/blog.html | 6 -
docs/_layouts/blog_category.html | 14 -
docs/_layouts/blog_post.html | 38 -
docs/_layouts/default.html | 34 -
docs/_layouts/docs.html | 33 -
docs/_layouts/index.html | 29 -
docs/_layouts/sources.html | 10 -
docs/_sass/fonts.scss | 55 -
docs/_sass/rouge.scss | 209 --
docs/assets/css/home.css | 229 ++
docs/assets/css/style.css | 59 +
docs/assets/css/style.scss | 397 ---
.../fonts/Noto-Sans-700/Noto-Sans-700.eot | Bin 16716 -> 0 bytes
.../fonts/Noto-Sans-700/Noto-Sans-700.svg | 336 --
.../fonts/Noto-Sans-700/Noto-Sans-700.ttf | Bin 29704 -> 0 bytes
.../fonts/Noto-Sans-700/Noto-Sans-700.woff | Bin 12632 -> 0 bytes
.../fonts/Noto-Sans-700/Noto-Sans-700.woff2 | Bin 9724 -> 0 bytes
.../Noto-Sans-700italic.eot | Bin 16849 -> 0 bytes
.../Noto-Sans-700italic.svg | 334 --
.../Noto-Sans-700italic.ttf | Bin 28932 -> 0 bytes
.../Noto-Sans-700italic.woff | Bin 12612 -> 0 bytes
.../Noto-Sans-700italic.woff2 | Bin 9612 -> 0 bytes
.../Noto-Sans-italic/Noto-Sans-italic.eot | Bin 15864 -> 0 bytes
.../Noto-Sans-italic/Noto-Sans-italic.svg | 337 --
.../Noto-Sans-italic/Noto-Sans-italic.ttf | Bin 26644 -> 0 bytes
.../Noto-Sans-italic/Noto-Sans-italic.woff | Bin 12536 -> 0 bytes
.../Noto-Sans-italic/Noto-Sans-italic.woff2 | Bin 9572 -> 0 bytes
.../Noto-Sans-regular/Noto-Sans-regular.eot | Bin 16639 -> 0 bytes
.../Noto-Sans-regular/Noto-Sans-regular.svg | 335 --
.../Noto-Sans-regular/Noto-Sans-regular.ttf | Bin 29288 -> 0 bytes
.../Noto-Sans-regular/Noto-Sans-regular.woff | Bin 12840 -> 0 bytes
.../Noto-Sans-regular/Noto-Sans-regular.woff2 | Bin 9932 -> 0 bytes
docs/assets/js/main.js | 15 -
docs/blog/.authors.yml | 4 +
docs/blog/index.html | 48 -
docs/blog/index.md | 1 +
.../2019-03-31-grabber-7-0-0-released.md | 6 +-
.../2019-04-01-grabber-7-0-1-released.md | 6 +-
.../2020-02-28-grabber-7-1-0-released.md | 6 +-
.../2020-02-28-grabber-7-1-1-released.md | 6 +-
.../2020-02-28-grabber-7-2-0-released.md | 6 +-
.../2020-02-28-grabber-7-2-1-released.md | 6 +-
.../2020-06-03-grabber-7-3-0-released.md | 6 +-
.../2020-07-24-grabber-7-3-1-released.md | 6 +-
.../2020-08-01-grabber-7-3-2-released.md | 6 +-
.../posts}/2020-10-29-android-version.md | 10 +-
.../2020-11-17-appimage-for-linux-releases.md | 8 +-
...20-11-19-moving-build-to-github-actions.md | 6 +-
.../posts}/2020-11-25-discord-server.md | 6 +-
.../posts}/2021-01-21-tag-databases.md | 6 +-
.../2021-03-07-grabber-7-4-0-released.md | 6 +-
.../2021-03-10-grabber-7-4-1-released.md | 6 +-
.../2021-03-13-grabber-7-4-2-released.md | 6 +-
.../2021-03-13-grabber-7-4-3-released.md | 6 +-
.../2021-03-25-grabber-7-5-0-released.md | 6 +-
.../2021-03-26-grabber-7-5-1-released.md | 6 +-
.../2021-07-05-grabber-7-6-0-released.md | 6 +-
.../2021-08-24-grabber-7-6-1-released.md | 6 +-
.../2021-09-02-grabber-7-6-2-released.md | 6 +-
.../2021-12-26-grabber-7-7-0-released.md | 6 +-
.../2022-01-08-grabber-7-7-1-released.md | 6 +-
.../2022-03-26-grabber-7-8-0-released.md | 6 +-
.../2022-04-20-grabber-7-8-1-released.md | 6 +-
.../2022-06-06-grabber-7-9-0-released.md | 6 +-
.../2022-07-16-grabber-7-9-1-released.md | 6 +-
.../2022-12-16-grabber-7-10-0-released.md | 6 +-
.../2023-01-07-grabber-7-10-1-released.md | 6 +-
.../2023-06-05-grabber-7-11-0-released.md | 6 +-
.../2023-06-25-grabber-7-11-1-released.md | 6 +-
.../2023-07-23-grabber-7-11-2-released.md | 6 +-
docs/{_docs => docs}/cli.md | 4 +-
.../commands/UploadToShimmie.php | 0
docs/{_docs => docs}/commands/danbooru.js | 0
docs/{_docs => docs}/commands/danbooru.md | 12 +-
docs/{_docs => docs}/commands/gelbooru.md | 9 +-
docs/{_docs => docs}/commands/index.md | 0
docs/{_docs => docs}/commands/my-imouto.md | 2 +-
docs/{_docs => docs}/commands/shimmie.md | 0
docs/{_docs => docs}/commands/szurubooru.js | 0
docs/{_docs => docs}/commands/szurubooru.md | 14 +-
docs/{_docs => docs}/compilation.md | 67 +-
docs/{_docs => docs}/configuration-files.md | 4 +-
docs/{_docs => docs}/faq.md | 9 +-
docs/{_docs => docs}/favorites.md | 4 +-
docs/{_docs => docs}/filename.md | 15 +-
docs/{_docs => docs}/img/batchdownload.png | Bin
docs/{_docs => docs}/img/downloadfinished.png | Bin
docs/{_docs => docs}/img/downloadpage.png | Bin
docs/{_docs => docs}/img/downloadselected.png | Bin
.../{_docs => docs}/img/favorite-monitors.png | Bin
docs/{_docs => docs}/img/firstlaunch.png | Bin
docs/{_docs => docs}/img/getselected.png | Bin
.../img/login-example-post-html.png | Bin
.../img/login-example-post-settings.png | Bin
.../{_docs => docs}/img/metadata-exiftool.png | Bin
docs/{_docs => docs}/img/metadata-propsys.png | Bin
docs/{_docs => docs}/img/mnemonics.png | Bin
docs/{_docs => docs}/img/search.png | Bin
docs/{_docs => docs}/img/settings.png | Bin
.../{_docs => docs}/img/sourcecredentials.png | Bin
.../img/sourcecredentialssuccess.png | Bin
docs/{_docs => docs}/img/sources.png | Bin
docs/{_docs => docs}/img/start.png | Bin
docs/{_docs => docs}/index.md | 20 +-
docs/{_docs => docs}/install/android.md | 0
docs/{_docs => docs}/install/linux.md | 18 +-
docs/{_docs => docs}/install/macos.md | 8 +-
docs/{_docs => docs}/install/windows.md | 4 +-
docs/{_docs => docs}/metadata.md | 2 +
docs/{_docs => docs}/plugins/theme.md | 0
docs/{_docs => docs}/plugins/translation.md | 8 +-
docs/{_docs => docs}/portable-version.md | 0
docs/{_docs => docs}/search.md | 9 +-
docs/{_docs => docs}/shortcuts.md | 4 +-
docs/{_docs => docs}/sites/index.md | 6 +-
.../sites/javascript-helper.md | 6 +-
docs/{_docs => docs}/sites/source-example.md | 12 +-
docs/{_docs => docs}/sites/source-registry.md | 0
docs/{_docs => docs}/sites/source.md | 32 +-
.../sources}/danbooru-2.0.md | 0
docs/{_sources => docs/sources}/deviantart.md | 2 +
docs/{_sources => docs/sources}/e-hentai.md | 0
.../sources}/gelbooru-0.2.md | 0
docs/{_sources => docs/sources}/mastodon.md | 7 +-
.../sources}/newgrounds-art.md | 0
docs/{_sources => docs/sources}/nijie.md | 0
docs/{_sources => docs/sources}/pixiv.md | 1 +
docs/{_sources => docs/sources}/reddit.md | 11 +-
docs/{_sources => docs/sources}/shimmie.md | 1 +
docs/{_sources => docs/sources}/twitter.md | 5 +-
docs/{_docs => docs}/telemetry.md | 4 +-
docs/{_docs => docs}/tools/blacklist-fixer.md | 0
docs/{_docs => docs}/tools/image-renamer.md | 0
docs/{_docs => docs}/tools/tag-loader.md | 2 +-
docs/{_docs => docs}/website-login.md | 0
docs/doxygen/Doxyfile | 2704 -----------------
docs/doxygen/dot | 39 -
.../vendor/doxygen-awesome-css/.gitignore | 3 -
.../vendor/doxygen-awesome-css/Doxyfile | 2673 ----------------
.../vendor/doxygen-awesome-css/LICENSE | 21 -
.../vendor/doxygen-awesome-css/README.md | 90 -
.../doxygen-awesome-darkmode-toggle.js | 157 -
.../doxygen-awesome-fragment-copy-button.js | 85 -
.../doxygen-awesome-paragraph-link.js | 51 -
...n-awesome-sidebar-only-darkmode-toggle.css | 40 -
.../doxygen-awesome-sidebar-only.css | 113 -
.../doxygen-awesome-css/doxygen-awesome.css | 2061 -------------
.../doxygen-custom/custom-alternative.css | 54 -
.../doxygen-custom/custom.css | 78 -
.../doxygen-custom/header.html | 86 -
.../toggle-alternative-theme.js | 12 -
.../doxygen-awesome-css/logo.drawio.svg | 1 -
docs/index.md | 254 +-
docs/theme/home.html | 73 +
docs/theme/hooks/github_metadata.py | 64 +
docs/theme/main.html | 9 +
docs/theme/partials/tabs-item.html | 57 +
mkdocs.yml | 140 +
172 files changed, 1132 insertions(+), 11090 deletions(-)
create mode 100644 .github/workflows/docs.yml
delete mode 100644 docs/.gitignore
delete mode 100644 docs/Gemfile
delete mode 100644 docs/_category/android.md
delete mode 100644 docs/_category/linux.md
delete mode 100644 docs/_category/release.md
delete mode 100644 docs/_config.yml
delete mode 100644 docs/_data/docs_navigation.yml
delete mode 100644 docs/_docs/sources.md
delete mode 100644 docs/_includes/blog.html
delete mode 100644 docs/_includes/body.html
delete mode 100644 docs/_includes/navbar_link.html
delete mode 100644 docs/_includes/post_preview.html
delete mode 100644 docs/_includes/source_list.html
delete mode 100644 docs/_layouts/blog.html
delete mode 100644 docs/_layouts/blog_category.html
delete mode 100644 docs/_layouts/blog_post.html
delete mode 100644 docs/_layouts/default.html
delete mode 100644 docs/_layouts/docs.html
delete mode 100644 docs/_layouts/index.html
delete mode 100644 docs/_layouts/sources.html
delete mode 100644 docs/_sass/fonts.scss
delete mode 100644 docs/_sass/rouge.scss
create mode 100644 docs/assets/css/home.css
create mode 100644 docs/assets/css/style.css
delete mode 100644 docs/assets/css/style.scss
delete mode 100644 docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot
delete mode 100644 docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.svg
delete mode 100644 docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf
delete mode 100644 docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff
delete mode 100644 docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff2
delete mode 100644 docs/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot
delete mode 100644 docs/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg
delete mode 100644 docs/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf
delete mode 100644 docs/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff
delete mode 100644 docs/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2
delete mode 100644 docs/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.eot
delete mode 100644 docs/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.svg
delete mode 100644 docs/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.ttf
delete mode 100644 docs/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff
delete mode 100644 docs/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff2
delete mode 100644 docs/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.eot
delete mode 100644 docs/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.svg
delete mode 100644 docs/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.ttf
delete mode 100644 docs/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff
delete mode 100644 docs/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff2
delete mode 100644 docs/assets/js/main.js
create mode 100644 docs/blog/.authors.yml
delete mode 100644 docs/blog/index.html
create mode 100644 docs/blog/index.md
rename docs/{_posts => blog/posts}/2019-03-31-grabber-7-0-0-released.md (75%)
rename docs/{_posts => blog/posts}/2019-04-01-grabber-7-0-1-released.md (75%)
rename docs/{_posts => blog/posts}/2020-02-28-grabber-7-1-0-released.md (75%)
rename docs/{_posts => blog/posts}/2020-02-28-grabber-7-1-1-released.md (75%)
rename docs/{_posts => blog/posts}/2020-02-28-grabber-7-2-0-released.md (75%)
rename docs/{_posts => blog/posts}/2020-02-28-grabber-7-2-1-released.md (75%)
rename docs/{_posts => blog/posts}/2020-06-03-grabber-7-3-0-released.md (75%)
rename docs/{_posts => blog/posts}/2020-07-24-grabber-7-3-1-released.md (75%)
rename docs/{_posts => blog/posts}/2020-08-01-grabber-7-3-2-released.md (75%)
rename docs/{_posts => blog/posts}/2020-10-29-android-version.md (84%)
rename docs/{_posts => blog/posts}/2020-11-17-appimage-for-linux-releases.md (89%)
rename docs/{_posts => blog/posts}/2020-11-19-moving-build-to-github-actions.md (94%)
rename docs/{_posts => blog/posts}/2020-11-25-discord-server.md (93%)
rename docs/{_posts => blog/posts}/2021-01-21-tag-databases.md (96%)
rename docs/{_posts => blog/posts}/2021-03-07-grabber-7-4-0-released.md (75%)
rename docs/{_posts => blog/posts}/2021-03-10-grabber-7-4-1-released.md (75%)
rename docs/{_posts => blog/posts}/2021-03-13-grabber-7-4-2-released.md (75%)
rename docs/{_posts => blog/posts}/2021-03-13-grabber-7-4-3-released.md (75%)
rename docs/{_posts => blog/posts}/2021-03-25-grabber-7-5-0-released.md (75%)
rename docs/{_posts => blog/posts}/2021-03-26-grabber-7-5-1-released.md (75%)
rename docs/{_posts => blog/posts}/2021-07-05-grabber-7-6-0-released.md (75%)
rename docs/{_posts => blog/posts}/2021-08-24-grabber-7-6-1-released.md (75%)
rename docs/{_posts => blog/posts}/2021-09-02-grabber-7-6-2-released.md (75%)
rename docs/{_posts => blog/posts}/2021-12-26-grabber-7-7-0-released.md (75%)
rename docs/{_posts => blog/posts}/2022-01-08-grabber-7-7-1-released.md (75%)
rename docs/{_posts => blog/posts}/2022-03-26-grabber-7-8-0-released.md (75%)
rename docs/{_posts => blog/posts}/2022-04-20-grabber-7-8-1-released.md (75%)
rename docs/{_posts => blog/posts}/2022-06-06-grabber-7-9-0-released.md (75%)
rename docs/{_posts => blog/posts}/2022-07-16-grabber-7-9-1-released.md (75%)
rename docs/{_posts => blog/posts}/2022-12-16-grabber-7-10-0-released.md (75%)
rename docs/{_posts => blog/posts}/2023-01-07-grabber-7-10-1-released.md (75%)
rename docs/{_posts => blog/posts}/2023-06-05-grabber-7-11-0-released.md (75%)
rename docs/{_posts => blog/posts}/2023-06-25-grabber-7-11-1-released.md (75%)
rename docs/{_posts => blog/posts}/2023-07-23-grabber-7-11-2-released.md (75%)
rename docs/{_docs => docs}/cli.md (99%)
rename docs/{_docs => docs}/commands/UploadToShimmie.php (100%)
rename docs/{_docs => docs}/commands/danbooru.js (100%)
rename docs/{_docs => docs}/commands/danbooru.md (93%)
rename docs/{_docs => docs}/commands/gelbooru.md (93%)
rename docs/{_docs => docs}/commands/index.md (100%)
rename docs/{_docs => docs}/commands/my-imouto.md (96%)
rename docs/{_docs => docs}/commands/shimmie.md (100%)
rename docs/{_docs => docs}/commands/szurubooru.js (100%)
rename docs/{_docs => docs}/commands/szurubooru.md (87%)
rename docs/{_docs => docs}/compilation.md (79%)
rename docs/{_docs => docs}/configuration-files.md (87%)
rename docs/{_docs => docs}/faq.md (84%)
rename docs/{_docs => docs}/favorites.md (95%)
rename docs/{_docs => docs}/filename.md (98%)
rename docs/{_docs => docs}/img/batchdownload.png (100%)
rename docs/{_docs => docs}/img/downloadfinished.png (100%)
rename docs/{_docs => docs}/img/downloadpage.png (100%)
rename docs/{_docs => docs}/img/downloadselected.png (100%)
rename docs/{_docs => docs}/img/favorite-monitors.png (100%)
rename docs/{_docs => docs}/img/firstlaunch.png (100%)
rename docs/{_docs => docs}/img/getselected.png (100%)
rename docs/{_docs => docs}/img/login-example-post-html.png (100%)
rename docs/{_docs => docs}/img/login-example-post-settings.png (100%)
rename docs/{_docs => docs}/img/metadata-exiftool.png (100%)
rename docs/{_docs => docs}/img/metadata-propsys.png (100%)
rename docs/{_docs => docs}/img/mnemonics.png (100%)
rename docs/{_docs => docs}/img/search.png (100%)
rename docs/{_docs => docs}/img/settings.png (100%)
rename docs/{_docs => docs}/img/sourcecredentials.png (100%)
rename docs/{_docs => docs}/img/sourcecredentialssuccess.png (100%)
rename docs/{_docs => docs}/img/sources.png (100%)
rename docs/{_docs => docs}/img/start.png (100%)
rename docs/{_docs => docs}/index.md (70%)
rename docs/{_docs => docs}/install/android.md (100%)
rename docs/{_docs => docs}/install/linux.md (76%)
rename docs/{_docs => docs}/install/macos.md (54%)
rename docs/{_docs => docs}/install/windows.md (85%)
rename docs/{_docs => docs}/metadata.md (99%)
rename docs/{_docs => docs}/plugins/theme.md (100%)
rename docs/{_docs => docs}/plugins/translation.md (93%)
rename docs/{_docs => docs}/portable-version.md (100%)
rename docs/{_docs => docs}/search.md (91%)
rename docs/{_docs => docs}/shortcuts.md (96%)
rename docs/{_docs => docs}/sites/index.md (75%)
rename docs/{_docs => docs}/sites/javascript-helper.md (99%)
rename docs/{_docs => docs}/sites/source-example.md (97%)
rename docs/{_docs => docs}/sites/source-registry.md (100%)
rename docs/{_docs => docs}/sites/source.md (91%)
rename docs/{_sources => docs/sources}/danbooru-2.0.md (100%)
rename docs/{_sources => docs/sources}/deviantart.md (99%)
rename docs/{_sources => docs/sources}/e-hentai.md (100%)
rename docs/{_sources => docs/sources}/gelbooru-0.2.md (100%)
rename docs/{_sources => docs/sources}/mastodon.md (69%)
rename docs/{_sources => docs/sources}/newgrounds-art.md (100%)
rename docs/{_sources => docs/sources}/nijie.md (100%)
rename docs/{_sources => docs/sources}/pixiv.md (99%)
rename docs/{_sources => docs/sources}/reddit.md (77%)
rename docs/{_sources => docs/sources}/shimmie.md (99%)
rename docs/{_sources => docs/sources}/twitter.md (54%)
rename docs/{_docs => docs}/telemetry.md (93%)
rename docs/{_docs => docs}/tools/blacklist-fixer.md (100%)
rename docs/{_docs => docs}/tools/image-renamer.md (100%)
rename docs/{_docs => docs}/tools/tag-loader.md (96%)
rename docs/{_docs => docs}/website-login.md (100%)
delete mode 100644 docs/doxygen/Doxyfile
delete mode 100755 docs/doxygen/dot
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/.gitignore
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/Doxyfile
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/LICENSE
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/README.md
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-awesome-paragraph-link.js
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-awesome-sidebar-only.css
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-awesome.css
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-custom/custom-alternative.css
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-custom/custom.css
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-custom/header.html
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/doxygen-custom/toggle-alternative-theme.js
delete mode 100644 docs/doxygen/vendor/doxygen-awesome-css/logo.drawio.svg
create mode 100644 docs/theme/home.html
create mode 100644 docs/theme/hooks/github_metadata.py
create mode 100644 docs/theme/main.html
create mode 100644 docs/theme/partials/tabs-item.html
create mode 100644 mkdocs.yml
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 000000000..4709af5aa
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,47 @@
+name: Docs
+
+on:
+ push:
+ branches:
+ - master
+ paths:
+ - mkdocs.yml
+ - docs/**
+ - .github/workflows/docs.yml
+
+permissions:
+ contents: write
+
+jobs:
+ deploy:
+ name: Deploy
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Install Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: '3.11'
+
+ - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
+
+ - uses: actions/cache@v3
+ with:
+ key: mkdocs-material-${{ env.cache_id }}
+ path: .cache
+ restore-keys: |
+ mkdocs-material-
+
+ - name: Install Python dependencies
+ run: pip install mkdocs-material==9.2.0b3 mkdocs-awesome-pages-plugin mkdocs-macros-plugin mkdocs-git-revision-date-localized-plugin mkdocs-glightbox
+
+ - name: Patch blog dates to support datetimes
+ run: sed -i 's|date.fromisoformat|datetime.fromisoformat|' $(pip show mkdocs-material | grep Location | cut -d ' ' -f 2)/material/plugins/blog/plugin.py
+
+ - name: Deploy to Github Pages
+ run: mkdocs gh-deploy --force
+ env:
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
diff --git a/docs/.gitignore b/docs/.gitignore
deleted file mode 100644
index d85f2f411..000000000
--- a/docs/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-_site
-.sass-cache
-.bundle
-/vendor/
-/doxygen/html/
-/doxygen/xml/
\ No newline at end of file
diff --git a/docs/Gemfile b/docs/Gemfile
deleted file mode 100644
index 05cf1d4d8..000000000
--- a/docs/Gemfile
+++ /dev/null
@@ -1,13 +0,0 @@
-source "https://rubygems.org"
-ruby RUBY_VERSION
-
-# Github pages
-gem "github-pages", group: :jekyll_plugins
-
-# Jekyll plugins
-group :jekyll_plugins do
- gem "jekyll-feed", "~> 0.6"
-end
-
-# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
-gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
diff --git a/docs/_category/android.md b/docs/_category/android.md
deleted file mode 100644
index 715f2b1df..000000000
--- a/docs/_category/android.md
+++ /dev/null
@@ -1,3 +0,0 @@
----
-tag: android
----
\ No newline at end of file
diff --git a/docs/_category/linux.md b/docs/_category/linux.md
deleted file mode 100644
index 59515bde0..000000000
--- a/docs/_category/linux.md
+++ /dev/null
@@ -1,3 +0,0 @@
----
-tag: linux
----
\ No newline at end of file
diff --git a/docs/_category/release.md b/docs/_category/release.md
deleted file mode 100644
index cd35c730e..000000000
--- a/docs/_category/release.md
+++ /dev/null
@@ -1,3 +0,0 @@
----
-tag: release
----
\ No newline at end of file
diff --git a/docs/_config.yml b/docs/_config.yml
deleted file mode 100644
index f56d9015c..000000000
--- a/docs/_config.yml
+++ /dev/null
@@ -1,73 +0,0 @@
-title: Imgbrd-Grabber
-subtitle: Booru browsing made easy
-description: Very customizable imageboard/booru browser and mass downloader, with powerful filenaming features.
-logo: assets/img/icon.png
-show_download: true
-google_analytics: G-MR404DPTE5
-discord_url: https://discord.gg/pWnY5eW3rz
-theme:
-lang: en_US
-relative_permalinks: false
-baseurl: /imgbrd-grabber
-excerpt_separator:
-paginate: 5
-paginate_path: "/blog/page:num/"
-
-exclude:
-- vendor/
-- release/
-- releases/
-- languages/
-- cli/
-- gui/
-- tests/
-
-collections:
- docs:
- permalink: "/:collection/:path.html"
- output: true
- sources:
- permalink: "/docs/:collection/:path.html"
- output: true
- posts:
- permalink: "/blog/:year/:month/:day/:title.html"
- output: true
- category:
- permalink: "/blog/:collection/:path.html"
- output: true
-
-gems:
- - jemoji
- - jekyll-feed
- - jekyll-paginate
- - jekyll-sitemap
- - jekyll-seo-tag
-
-webmaster_verifications:
- google: HUsU9v5lhoPPeKdafhViSRi1NofQwzQrRwLN1nEzsA8
-
-defaults:
- - scope:
- path: ""
- values:
- image: assets/img/icon.png
- - scope:
- path: _docs
- type: docs
- values:
- layout: docs
- - scope:
- path: _sources
- type: sources
- values:
- layout: sources
- - scope:
- path: _posts
- type: post
- values:
- layout: blog_post
- - scope:
- path: _category
- type: category
- values:
- layout: blog_category
diff --git a/docs/_data/docs_navigation.yml b/docs/_data/docs_navigation.yml
deleted file mode 100644
index 355878701..000000000
--- a/docs/_data/docs_navigation.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-- name: Installation
- children:
- - link: /docs/install/windows.html
- - link: /docs/install/linux.html
- - link: /docs/install/macos.html
- - link: /docs/install/android.html
-- name: Basics
- children:
- - link: /docs/
- - link: /docs/filename.html
- - link: /docs/search.html
- - link: /docs/sources.html
- - link: /docs/favorites.html
- - link: /docs/website-login.html
- - link: /docs/shortcuts.html
- - link: /docs/faq.html
-- name: Commands
- children:
- - link: /docs/commands/
- - link: /docs/commands/szurubooru.html
- - link: /docs/commands/danbooru.html
- - link: /docs/commands/my-imouto.html
- - link: /docs/commands/gelbooru.html
- - link: /docs/commands/shimmie.html
-- name: Sources
- children:
- - link: /docs/sites/
- - link: /docs/sites/source.html
- - link: /docs/sites/source-example.html
- - link: /docs/sites/javascript-helper.html
- - link: /docs/sites/source-registry.html
-- name: Plugins
- children:
- - link: /docs/plugins/translation.html
- - link: /docs/plugins/theme.html
-- name: Tools
- children:
- - link: /docs/tools/blacklist-fixer.html
- - link: /docs/tools/image-renamer.html
- - link: /docs/tools/tag-loader.html
-- name: Advanced
- children:
- - link: /docs/compilation.html
- - link: /docs/cli.html
- - link: /docs/metadata.html
- - link: /docs/portable-version.html
- - link: /docs/configuration-files.html
- - link: /docs/telemetry.html
\ No newline at end of file
diff --git a/docs/_docs/sources.md b/docs/_docs/sources.md
deleted file mode 100644
index db9bdca21..000000000
--- a/docs/_docs/sources.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Sources
----
-
-## Sources
-
-{% include source_list.html %}
\ No newline at end of file
diff --git a/docs/_includes/blog.html b/docs/_includes/blog.html
deleted file mode 100644
index bb7997961..000000000
--- a/docs/_includes/blog.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-{%capture header %}
-
-
Blog
-
-{% endcapture %}
-
-{% capture content %}
-
-
- {{ content }}
-
-
-
-
-
-{% endcapture %}
-
-{% include body.html %}
\ No newline at end of file
diff --git a/docs/_includes/body.html b/docs/_includes/body.html
deleted file mode 100644
index f021967c6..000000000
--- a/docs/_includes/body.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/_includes/navbar_link.html b/docs/_includes/navbar_link.html
deleted file mode 100644
index 808d9e4d8..000000000
--- a/docs/_includes/navbar_link.html
+++ /dev/null
@@ -1,27 +0,0 @@
-{% assign item = include.item %}
-{% assign p = site.documents | where: "url", item.link | first %}
-
-
- {% if item.link and p %}
-
- {% if p.menu_name %}
- {{ p.menu_name }}
- {% else %}
- {{ p.title }}
- {% endif %}
-
- {% else %}
-
- {{ item.name }}
-
- {% endif %}
-
- {% if item.children %}
-
- {% for child in item.children %}
- {% include navbar_link.html item=child %}
- {% endfor %}
-
- {% endif %}
-
diff --git a/docs/_includes/post_preview.html b/docs/_includes/post_preview.html
deleted file mode 100644
index 4421b21c3..000000000
--- a/docs/_includes/post_preview.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-{{ post.date | date: "%b %-d, %Y" }}
-
-{{ post.excerpt | replace: '
', ' ' | replace: '
', ' ' | strip }}
-
-
- Read more
-
\ No newline at end of file
diff --git a/docs/_includes/source_list.html b/docs/_includes/source_list.html
deleted file mode 100644
index 62632d09c..000000000
--- a/docs/_includes/source_list.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-Note: this list of source is not exhaustive and only contains the one that have been documented at the moment.
\ No newline at end of file
diff --git a/docs/_layouts/blog.html b/docs/_layouts/blog.html
deleted file mode 100644
index b9f2896ea..000000000
--- a/docs/_layouts/blog.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: default
-class: blog
----
-
-{% include blog.html %}
\ No newline at end of file
diff --git a/docs/_layouts/blog_category.html b/docs/_layouts/blog_category.html
deleted file mode 100644
index 03ed1953a..000000000
--- a/docs/_layouts/blog_category.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
-class: blog
----
-
-{% capture content %}
- Posts from the "{{ page.tag }}" category
-
- {% for post in site.categories[page.tag] %}
- {% include post_preview.html %}
- {% endfor %}
-{% endcapture %}
-
-{% include blog.html %}
\ No newline at end of file
diff --git a/docs/_layouts/blog_post.html b/docs/_layouts/blog_post.html
deleted file mode 100644
index e5b90e100..000000000
--- a/docs/_layouts/blog_post.html
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: default
-class: blog
----
-
-{% capture content %}
- {{ page.title }}
-
-
- {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
-
- {{ page.date | date: date_format }}
-
- {%- if page.modified_date -%}
- ~
- {%- assign mdate = page.modified_date | date_to_xmlschema -%}
-
- {{ mdate | date: date_format }}
-
- {%- endif -%}
- {%- if page.author -%}
- • {% for author in page.author %}
-
- {{ author }}
-
- {%- if forloop.last == false %}, {% endif -%}
- {% endfor %}
- {%- endif -%}
-
-
- {{ content }}
-
- {%- if site.disqus.shortname -%}
- {%- include disqus_comments.html -%}
- {%- endif -%}
-{% endcapture %}
-
-{% include blog.html %}
\ No newline at end of file
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
deleted file mode 100644
index 63a4af9f1..000000000
--- a/docs/_layouts/default.html
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
- {{ site.title | default: site.github.repository_name }}{% if site.subtitle %} - {{ site.subtitle }}{% endif %}
-
-
-
-
-
-
- {% seo title=false %}
-
- {% if site.google_analytics %}
-
-
- {% endif %}
-
-
- {{ content }}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/_layouts/docs.html b/docs/_layouts/docs.html
deleted file mode 100644
index c3ed76663..000000000
--- a/docs/_layouts/docs.html
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: default
-class: docs
----
-
-{%capture header %}
-
-
{{ layout.forced_title | default: page.title }}
-
-
-
-{% endcapture %}
-
-{% capture content %}
-
-
-
-
-
- {{ content }}
-
-
-{% endcapture %}
-
-{% include body.html %}
\ No newline at end of file
diff --git a/docs/_layouts/index.html b/docs/_layouts/index.html
deleted file mode 100644
index d5433e052..000000000
--- a/docs/_layouts/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: default
-class: index
----
-
-{% capture header %}
-
- {% if site.logo %}
-
- {% endif %}
-
-
-
-{% endcapture %}
-
-{% include body.html %}
\ No newline at end of file
diff --git a/docs/_layouts/sources.html b/docs/_layouts/sources.html
deleted file mode 100644
index 1fbe8273d..000000000
--- a/docs/_layouts/sources.html
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: docs
-forced_title: Sources
----
-
-Sources
-
-{% include source_list.html %}
-
-{{ content }}
\ No newline at end of file
diff --git a/docs/_sass/fonts.scss b/docs/_sass/fonts.scss
deleted file mode 100644
index 04c28e935..000000000
--- a/docs/_sass/fonts.scss
+++ /dev/null
@@ -1,55 +0,0 @@
-@font-face {
- font-family: 'Noto Sans';
- font-weight: 400;
- font-style: normal;
- src: url('../fonts/Noto-Sans-regular/Noto-Sans-regular.eot');
- src: url('../fonts/Noto-Sans-regular/Noto-Sans-regular.eot?#iefix') format('embedded-opentype'),
- local('Noto Sans'),
- local('Noto-Sans-regular'),
- url('../fonts/Noto-Sans-regular/Noto-Sans-regular.woff2') format('woff2'),
- url('../fonts/Noto-Sans-regular/Noto-Sans-regular.woff') format('woff'),
- url('../fonts/Noto-Sans-regular/Noto-Sans-regular.ttf') format('truetype'),
- url('../fonts/Noto-Sans-regular/Noto-Sans-regular.svg#NotoSans') format('svg');
-}
-
-@font-face {
- font-family: 'Noto Sans';
- font-weight: 700;
- font-style: normal;
- src: url('../fonts/Noto-Sans-700/Noto-Sans-700.eot');
- src: url('../fonts/Noto-Sans-700/Noto-Sans-700.eot?#iefix') format('embedded-opentype'),
- local('Noto Sans Bold'),
- local('Noto-Sans-700'),
- url('../fonts/Noto-Sans-700/Noto-Sans-700.woff2') format('woff2'),
- url('../fonts/Noto-Sans-700/Noto-Sans-700.woff') format('woff'),
- url('../fonts/Noto-Sans-700/Noto-Sans-700.ttf') format('truetype'),
- url('../fonts/Noto-Sans-700/Noto-Sans-700.svg#NotoSans') format('svg');
-}
-
-@font-face {
- font-family: 'Noto Sans';
- font-weight: 400;
- font-style: italic;
- src: url('../fonts/Noto-Sans-italic/Noto-Sans-italic.eot');
- src: url('../fonts/Noto-Sans-italic/Noto-Sans-italic.eot?#iefix') format('embedded-opentype'),
- local('Noto Sans Italic'),
- local('Noto-Sans-italic'),
- url('../fonts/Noto-Sans-italic/Noto-Sans-italic.woff2') format('woff2'),
- url('../fonts/Noto-Sans-italic/Noto-Sans-italic.woff') format('woff'),
- url('../fonts/Noto-Sans-italic/Noto-Sans-italic.ttf') format('truetype'),
- url('../fonts/Noto-Sans-italic/Noto-Sans-italic.svg#NotoSans') format('svg');
-}
-
-@font-face {
- font-family: 'Noto Sans';
- font-weight: 700;
- font-style: italic;
- src: url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot');
- src: url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot?#iefix') format('embedded-opentype'),
- local('Noto Sans Bold Italic'),
- local('Noto-Sans-700italic'),
- url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2') format('woff2'),
- url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff') format('woff'),
- url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf') format('truetype'),
- url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg#NotoSans') format('svg');
-}
diff --git a/docs/_sass/rouge.scss b/docs/_sass/rouge.scss
deleted file mode 100644
index daf76adee..000000000
--- a/docs/_sass/rouge.scss
+++ /dev/null
@@ -1,209 +0,0 @@
-.highlight table td { padding: 5px; }
-.highlight table pre { margin: 0; }
-.highlight .cm {
- color: #999988;
- font-style: italic;
-}
-.highlight .cp {
- color: #999999;
- font-weight: bold;
-}
-.highlight .c1 {
- color: #999988;
- font-style: italic;
-}
-.highlight .cs {
- color: #999999;
- font-weight: bold;
- font-style: italic;
-}
-.highlight .c, .highlight .cd {
- color: #999988;
- font-style: italic;
-}
-.highlight .err {
- color: #a61717;
- background-color: #e3d2d2;
-}
-.highlight .gd {
- color: #000000;
- background-color: #ffdddd;
-}
-.highlight .ge {
- color: #000000;
- font-style: italic;
-}
-.highlight .gr {
- color: #aa0000;
-}
-.highlight .gh {
- color: #999999;
-}
-.highlight .gi {
- color: #000000;
- background-color: #ddffdd;
-}
-.highlight .go {
- color: #888888;
-}
-.highlight .gp {
- color: #555555;
-}
-.highlight .gs {
- font-weight: bold;
-}
-.highlight .gu {
- color: #aaaaaa;
-}
-.highlight .gt {
- color: #aa0000;
-}
-.highlight .kc {
- color: #000000;
- font-weight: bold;
-}
-.highlight .kd {
- color: #000000;
- font-weight: bold;
-}
-.highlight .kn {
- color: #000000;
- font-weight: bold;
-}
-.highlight .kp {
- color: #000000;
- font-weight: bold;
-}
-.highlight .kr {
- color: #000000;
- font-weight: bold;
-}
-.highlight .kt {
- color: #445588;
- font-weight: bold;
-}
-.highlight .k, .highlight .kv {
- color: #000000;
- font-weight: bold;
-}
-.highlight .mf {
- color: #009999;
-}
-.highlight .mh {
- color: #009999;
-}
-.highlight .il {
- color: #009999;
-}
-.highlight .mi {
- color: #009999;
-}
-.highlight .mo {
- color: #009999;
-}
-.highlight .m, .highlight .mb, .highlight .mx {
- color: #009999;
-}
-.highlight .sb {
- color: #d14;
-}
-.highlight .sc {
- color: #d14;
-}
-.highlight .sd {
- color: #d14;
-}
-.highlight .s2 {
- color: #d14;
-}
-.highlight .se {
- color: #d14;
-}
-.highlight .sh {
- color: #d14;
-}
-.highlight .si {
- color: #d14;
-}
-.highlight .sx {
- color: #d14;
-}
-.highlight .sr {
- color: #009926;
-}
-.highlight .s1 {
- color: #d14;
-}
-.highlight .ss {
- color: #990073;
-}
-.highlight .s {
- color: #d14;
-}
-.highlight .na {
- color: #008080;
-}
-.highlight .bp {
- color: #999999;
-}
-.highlight .nb {
- color: #0086B3;
-}
-.highlight .nc {
- color: #445588;
- font-weight: bold;
-}
-.highlight .no {
- color: #008080;
-}
-.highlight .nd {
- color: #3c5d5d;
- font-weight: bold;
-}
-.highlight .ni {
- color: #800080;
-}
-.highlight .ne {
- color: #990000;
- font-weight: bold;
-}
-.highlight .nf {
- color: #990000;
- font-weight: bold;
-}
-.highlight .nl {
- color: #990000;
- font-weight: bold;
-}
-.highlight .nn {
- color: #555555;
-}
-.highlight .nt {
- color: #000080;
-}
-.highlight .vc {
- color: #008080;
-}
-.highlight .vg {
- color: #008080;
-}
-.highlight .vi {
- color: #008080;
-}
-.highlight .nv {
- color: #008080;
-}
-.highlight .ow {
- color: #000000;
- font-weight: bold;
-}
-.highlight .o {
- color: #000000;
- font-weight: bold;
-}
-.highlight .w {
- color: #bbbbbb;
-}
-.highlight {
- background-color: #f8f8f8;
-}
diff --git a/docs/assets/css/home.css b/docs/assets/css/home.css
new file mode 100644
index 000000000..7b35a1f1b
--- /dev/null
+++ b/docs/assets/css/home.css
@@ -0,0 +1,229 @@
+/* Header */
+
+/*.md-header:not(.md-header--shadow) {
+ background-color: initial !important;
+ transition: background-color 400ms, transform 0ms, box-shadow 0ms;
+}
+
+.md-tabs {
+ background-color: initial !important;
+}*/
+
+
+
+/* Hero */
+
+#home-hero {
+ margin-top: -4.8rem;
+ padding-top: 4.8rem;
+ color: white;
+ font-size: .8rem;
+ line-height: 1.6;
+ text-align: center;
+}
+
+#home-hero .hright {
+ background: var(--md-primary-fg-color--dark);
+ padding: 3rem .8rem 2rem .8rem;
+}
+
+#home-hero .image {
+ padding: 0 .8rem;
+ background: linear-gradient(var(--md-primary-fg-color--dark) 0%, var(--md-primary-fg-color) 50%, transparent 50%);
+}
+
+#home-hero .image img {
+ max-width: 100%;
+}
+
+#home-hero p.subtitle {
+ font-size: 2em;
+ margin-top: 0;
+ margin-bottom: .4em;
+}
+
+#home-hero p.download a {
+ display: inline-block;
+ padding: 8px 42px;
+ background-color: #4a4;
+ border-radius: 4px;
+ color: #fff;
+ font-size: 1rem;
+ text-align: center;
+
+ @media screen and (max-width: $screen-xs-max) {
+ width: 100%;
+ }
+}
+#home-hero p.download a:hover,
+#home-hero p.download a:active {
+ text-decoration: none;
+ background-color: #6b6;
+}
+
+#home-hero p.view {
+ font-size: .6rem;
+ margin-bottom: 0;
+ text-decoration: underline;
+}
+
+
+
+/* General */
+
+article h1:first-child
+article, h2:first-child {
+ margin-top: 0;
+}
+
+article h2 {
+ clear: both;
+}
+
+
+
+/* Downloads */
+
+article .downloads {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+article .downloads .download {
+ flex-basis: 25%;
+ text-align: center;
+ margin: 1em 0;
+}
+@media screen and (max-width:60em) {
+ article .downloads .download {
+ flex-basis: 50%;
+ }
+}
+
+article .downloads .download p {
+ margin: 0;
+}
+
+article .downloads .download img {
+ margin-bottom: 1em;
+}
+
+
+
+/* Sources */
+
+article .sources {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+article .sources .source {
+ flex-basis: 20%;
+ text-align: center;
+ margin: 1em 0;
+}
+@media screen and (max-width:40em) {
+ article .sources .source {
+ flex-basis: 33.333%;
+ }
+}
+
+article .sources .source p {
+ margin: 0;
+}
+
+article .sources .source img {
+ margin-bottom: 1em;
+}
+
+
+
+/* Features */
+
+article .features {
+ margin: -1em 0;
+}
+
+article .features .feature {
+ clear: both;
+ padding: 1em 0;
+ overflow: hidden;
+ border-bottom: 2px dotted var(--md-default-fg-color--lightest);
+}
+
+article .features .feature:last-child {
+ border-bottom: none;
+}
+
+article .features .feature > p:first-child {
+ margin: 0;
+}
+article .features .feature > p:first-child a {
+ display: none;
+}
+article .features .feature > p:first-child a:first-child {
+ display: inline;
+}
+
+article .features .feature img {
+ width: 30%;
+ float: left;
+ margin-right: 5%;
+}
+@media screen and (max-width:60em) {
+ article .features .feature img {
+ width: 40%;
+ }
+}
+@media screen and (max-width:40em) {
+ article .features .feature img {
+ width: 100%;
+ float: none;
+ margin-right: 0;
+ margin-bottom: 10px;
+ }
+}
+
+article .features .feature:nth-of-type(2n) img {
+ float: right;
+ margin-left: 5%;
+ margin-right: 0;
+}
+@media screen and (max-width:40em) {
+ article .features .feature:nth-of-type(2n) img {
+ float: none;
+ margin-left: 0;
+ }
+}
+
+article .features .feature h3 {
+ margin-top: 0;
+}
+
+
+
+/* Flags */
+
+article .flags {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+article .flags .flag {
+ flex-basis: 20%;
+ text-align: center;
+ margin: 1em 0;
+}
+@media screen and (max-width:40em) {
+ article .flags .flag {
+ flex-basis: 50%;
+ }
+}
+
+article .flags .flag p {
+ margin: 0;
+}
+
+article .flags .flag img {
+ margin-bottom: 1em;
+}
diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css
new file mode 100644
index 000000000..7864874f3
--- /dev/null
+++ b/docs/assets/css/style.css
@@ -0,0 +1,59 @@
+/* Global */
+
+:root {
+ --md-accent-fg-color: #FF8C00 !important;
+ --md-accent-fg-color--light: #FFAA1E !important;
+ --md-accent-fg-color--dark: #E16E00 !important;
+}
+
+
+
+/* Header */
+
+.md-tabs .md-icon.external svg {
+ display: inline-block;
+ height: 0.7rem;
+ width: 0.7rem;
+ padding-bottom: 5px;
+}
+
+@media screen and (min-width: 60em) {
+ .md-header__source {
+ width: 10rem;
+ }
+}
+
+.md-tabs__item:last-child {
+ margin-left: auto;
+}
+
+
+
+/* GLightbox */
+
+.gdesc-inner h4.gslide-title {
+ margin-bottom: 0;
+}
+
+
+
+/* Left navigation menu */
+
+@media screen and (min-width:60em) {
+ nav.md-nav[data-md-level="0"] > ul > li > label,
+ nav.md-nav[data-md-level="1"] > ul > li > label {
+ font-size: 1rem;
+ font-weight: 400 !important;
+ color: var(--md-typeset-color) !important;
+ border-bottom: 1px dotted var(--md-accent-fg-color);
+ padding: 0 0 .1rem 0 !important;
+ margin: 0 0 .6rem 0;
+ }
+
+ nav.md-nav[data-md-level="0"] > ul > li > label {
+ font-size: 1.3rem;
+ font-weight: 300;
+ padding: 0 0 .4rem 0 !important;
+ margin: 0 .6rem .6rem .6rem;
+ }
+}
diff --git a/docs/assets/css/style.scss b/docs/assets/css/style.scss
deleted file mode 100644
index f9f4667a6..000000000
--- a/docs/assets/css/style.scss
+++ /dev/null
@@ -1,397 +0,0 @@
----
----
-
-@import "fonts";
-@import "rouge";
-
-
-/* Responsive */
-
-$screen-xs-max: 767px;
-$screen-sm-min: 768px;
-$screen-sm-max: 991px;
-$screen-md-min: 992px;
-$screen-md-max: 1199px;
-$screen-lg-min: 1200px;
-
-
-/* Global */
-
-html {
- position: relative;
- min-height: 100%;
- font: 14px/1.5 "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-weight:400;
-}
-
-body {
- color: #333;
- margin-bottom: 80px;
-
- @media screen and (max-width: $screen-xs-max) {
- margin-bottom: 50px;
- }
-}
-
-img {
- max-width: 100%;
-}
-
-ul {
- padding-left: 20px;
-}
-
-
-/* Header */
-
-header {
- background-image: url('../img/lightnoise.png');
- background-color: #eef;
-}
-
-header .nav {
- background-color: #fff;
- border-radius: 0 0 10px 10px;
- overflow: hidden;
- margin-top: 0;
-
- @media screen and (max-width: $screen-xs-max) {
- border-radius: 0;
- }
-}
-header .nav.navbar-bottom {
- border-radius: 10px 10px 0 0;
-}
-header .nav > li > a:focus,
-header .nav > li > a:hover {
- background-color: #f5f5ff;
-}
-
-header .head {
- padding: 50px 0;
-
- @media screen and (max-width: $screen-xs-max) {
- padding: 15px 0;
- text-align: center;
- }
-}
-
-header .head img {
- float: left;
- margin: 40px 50px 0 0;
-
- @media screen and (max-width: $screen-xs-max) {
- float: none;
- margin: 0 0 20px 0;
- }
-}
-
-header h1 {
- margin-top: 0;
-}
-
-header .hright {
- overflow: hidden;
-}
-
-header p.subtitle {
- font-size: 20px;
-}
-
-header p.download {
- margin-top: 25px;
- margin-bottom: 5px;
-}
-header p.download a {
- display: block;
- width: 300px;
- height: 50px;
- padding: 8px 0;
- line-height: 36px;
- background-color: #4a4;
- border-radius: 4px;
- color: #fff;
- font-size: 20px;
- text-align: center;
-
- @media screen and (max-width: $screen-xs-max) {
- width: 100%;
- }
-}
-header p.download a:hover,
-header p.download a:active {
- text-decoration: none;
- background-color: #6b6;
-}
-
-header p.view {
- margin-bottom: 0;
-}
-
-header nav ul {
- list-style: none;
- padding-left: 0;
-}
-
-
-
-/* Body */
-
-section {
- padding: 30px 0;
-
- @media screen and (max-width: $screen-xs-max) {
- padding: 15px 0;
- }
-}
-
-.index {
- section h2 {
- clear: both;
- text-align: center;
- margin: 30px 0 30px 0;
- font-size: 30px;
- padding-bottom: 10px;
- border-bottom: 1px solid #ccc;
-
- @media screen and (max-width: $screen-xs-max) {
- font-size: 26px;
- }
- }
-}
-
-section .downloads .download {
- float: left;
- width: 25%;
- text-align: center;
- overflow: hidden;
- margin-bottom: 20px;
-}
-section .downloads .download:last-child {
- float: none;
-}
-
-section .downloads .download p {
- margin-bottom: 0;
-}
-section .downloads .download img {
- margin-bottom: 10px;
-}
-
-section .sources > p {
- margin-bottom: 25px;
- text-align: center;
- margin-top: -15px;
-}
-
-section .sources .source {
- float: left;
- width: 20%;
- text-align: center;
- overflow: hidden;
- margin-bottom: 20px;
-
- @media screen and (max-width: $screen-xs-max) {
- width: 33.333%;
- }
-}
-section .sources .source:last-child {
- float: none;
-}
-
-section .sources .source p {
- margin-bottom: 0;
-}
-section .sources .source img {
- margin-bottom: 10px;
-}
-
-section .feature {
- clear: both;
- padding: 20px 0;
- overflow: hidden;
- border-bottom: 2px dotted #eee;
-}
-section .feature:first-child {
- padding-top: 0;
-}
-section .feature:last-child {
- padding-bottom: 0;
- border-bottom: none;
-}
-
-section .feature > p:first-child a {
- display: none;
-}
-section .feature > p:first-child a:first-child {
- display: inline;
-}
-
-section .feature > ul {
- overflow: hidden;
-}
-
-section .feature > p:first-child,
-section .feature > p:last-child {
- margin-bottom: 0;
-}
-
-section .feature img {
- width: 30%;
- float: left;
- margin-right: 5%;
-
- @media screen and (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
- width: 40%;
- }
-
- @media screen and (max-width: $screen-xs-max) {
- width: 100%;
- float: none;
- margin-right: 0;
- margin-bottom: 10px;
- }
-}
-section .feature:nth-of-type(2n) img {
- float: right;
- margin-left: 5%;
- margin-right: 0;
-
- @media screen and (max-width: $screen-xs-max) {
- float: none;
- margin-left: 0;
- }
-}
-
-section .feature h3 {
- margin-top: 0;
- font-size: 26px;
- clear: none;
-}
-
-section .flags .flag {
- float: left;
- width: 20%;
- text-align: center;
- overflow: hidden;
-
- @media screen and (max-width: $screen-xs-max) {
- width: 50%;
- }
-}
-section .flags .flag:last-child {
- float: none;
-}
-
-section .flags .flag p {
- line-height: 16px;
-}
-
-section table {
- width: 100%;
- border: 1px dotted #999;
- border-radius: 4px;
- margin: 0 0 10px;
-}
-
-section table tr th {
- text-align: center;
- font-weight: bold;
- border-bottom: 1px solid darkorange;
- padding: 5px;
-}
-
-section table tr td {
- padding: 1px 5px;
-}
-section table tr:first-child td {
- padding-top: 5px;
-}
-section table tr:last-child td {
- padding-bottom: 5px;
-}
-
-section table kbd {
- background-color: #f8f8f8;
- border: 1px solid #ccc;
- color: #333;
-}
-
-
-/* Footer */
-
-footer {
- background-color: #eaeff2;
- padding: 30px 0;
- height: 80px;
- position: absolute;
- left: 0;
- bottom: 0;
- width: 100%;
- overflow: hidden;
- line-height: 20px;
-
- @media screen and (max-width: $screen-xs-max) {
- padding: 15px 0;
- height: 50px;
- }
-}
-
-footer p {
- margin: 0;
- text-align: center;
- font-size: 12px;
- color: #555;
-}
-
-
-/* Left navigation menu */
-
-aside.menu {
- ul {
- list-style: none;
- padding-left: 0;
-
- li {
- span,
- &.has-children > a {
- font-size: 1.4em;
- border-bottom: 1px dotted darkorange;
- display: block;
- padding-bottom: 4px;
- margin-bottom: 8px;
- }
-
- &.active a {
- color: #666;
- }
- }
- }
-
- > ul > li {
- margin-bottom: 20px;
- }
-}
-
-
-/* Documentation text */
-
-.docs .content,
-.blog .content {
- > *:first-child {
- margin-top: 0 !important;
- }
-}
-
-.blog .post-meta {
- margin-bottom: 10px;
- margin-top: -5px;
- font-style: italic;
- font-size: 13px;
-}
-.blog span.post-meta {
- display: block;
-}
-.blog p.post-meta {
- margin-bottom: 20px;
-}
diff --git a/docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot b/docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot
deleted file mode 100644
index 03bf93fec2a7341b1a6192ff0d596b05c1765c93..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 16716
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
aO1sP&w|8H~0KVcsPu#OW`
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf b/docs/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf
deleted file mode 100644
index 4599e3ca9af9bf758f3b5d0b79314701f853c371..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 29704
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