From 364354c335387b3d2f23e2369f2d9a2bd349a09f Mon Sep 17 00:00:00 2001 From: Herwin Date: Fri, 15 Dec 2023 08:08:20 +0100 Subject: [PATCH] Fixed small bugs, Revamped string compiler, Removed dead gitea links, Added images Update .gitignore, .htaccess, and 12 more files... --- .gitignore | 5 ++ articles/.htaccess | 6 ++ commons/DOM/sidebar.php | 2 +- commons/strings/compile.py | 47 ---------- compile.bat | 8 +- compile_strings.py | 84 ++++++++++++++++++ content/index.php | 2 +- content/items/dotnet-arguments.json | 40 +++------ .../excel-worksheet-password-remover.json | 24 ++--- content/items/lscom-cli-dotnet.json | 22 +---- content/items/lscom-cli.json | 22 +---- content/items/mc-expanded-iron-bundles.json | 46 +--------- links/index.php | 7 -- .../images/content/dotnet-arguments/main.png | Bin 0 -> 33785 bytes 14 files changed, 127 insertions(+), 188 deletions(-) create mode 100644 articles/.htaccess delete mode 100644 commons/strings/compile.py create mode 100644 compile_strings.py create mode 100644 resources/NibblePoker/images/content/dotnet-arguments/main.png diff --git a/.gitignore b/.gitignore index 4d1551b..f4f2f24 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,10 @@ resources/NibblePoker/css/*.css tools/items/formula-wizard/*.js tools/items/formula-wizard/src/*.js +# ??? +# Source: https://github.com/sjmulder/nbt-js +tools/items/mc-art-viewer/nbt.js + # Others *.pdn *.min.json @@ -30,6 +34,7 @@ tools/items/formula-wizard/src/*.js *.exe *.url *.env +*.sqlite # Temporary articles/*.txt diff --git a/articles/.htaccess b/articles/.htaccess new file mode 100644 index 0000000..371a376 --- /dev/null +++ b/articles/.htaccess @@ -0,0 +1,6 @@ +# Serving minified pages and/or pre-rendered ones first if available. +DirectoryIndex index.min.html index.min.php index.php index.html + +# Redirecting any URL that starts with "/content" to the root of this folder. +RewriteEngine On +RewriteRule ^(.*) index.php [NC] diff --git a/commons/DOM/sidebar.php b/commons/DOM/sidebar.php index 76197af..b560299 100644 --- a/commons/DOM/sidebar.php +++ b/commons/DOM/sidebar.php @@ -55,7 +55,7 @@ function printSidebarEntry($url, $title, $icon, $activeId) {
diff --git a/commons/strings/compile.py b/commons/strings/compile.py deleted file mode 100644 index 2e0a880..0000000 --- a/commons/strings/compile.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/python - -from datetime import datetime -import json -import os - -print("Compiling lang files...") - -os.chdir(os.path.dirname(os.path.realpath(__file__))) - -lang_data = dict() -lang_data["_compile_date"] = datetime.utcnow().isoformat() + "Z" - - -for main_dir_entry in os.listdir("./"): - if main_dir_entry.startswith("_"): - continue - - print("> Processing ./{}".format(main_dir_entry)) - - if not os.path.isdir(os.path.join("./", main_dir_entry)): - continue - - lang_data[main_dir_entry] = dict() - - for sub_dir_entry in os.listdir(os.path.join("./", main_dir_entry)): - print("Checking ./{}/{}".format(main_dir_entry, sub_dir_entry)) - if not sub_dir_entry.endswith(".json"): - continue - - with open(os.path.join("./", main_dir_entry, sub_dir_entry), "rb") as f: - input_lang_data: dict = json.loads(f.read().decode("utf-8")) - - for lang_record_key in input_lang_data.keys(): - lang_record_key: str - if lang_record_key.startswith("_"): - continue - - lang_data[main_dir_entry][lang_record_key] = input_lang_data[lang_record_key] - -try: - os.remove("../strings.json") -except IOError: - pass - -with open("../strings.json", "wb") as f: - f.write(json.dumps(lang_data, separators=(',', ':')).encode("utf-8")) diff --git a/compile.bat b/compile.bat index c7b6bfe..40bfe49 100644 --- a/compile.bat +++ b/compile.bat @@ -17,7 +17,8 @@ echo ---------------------- :lang-compile echo Compiling lang files... -python commons/strings/compile.py +python compile_strings.py ./commons/strings/ ./commons/strings.json +python compile_strings.py ./wiki/strings/ ./wiki/strings.json :lang-end @@ -34,6 +35,11 @@ cd %~dp0\resources\NibblePoker\scss\ call "%~dp0node_modules\.bin\sass" nibblepoker.scss:../css/nibblepoker.css -q call "%~dp0node_modules\.bin\sass" nibblepoker.scss:../css/nibblepoker.min.css -q --style compressed popd +pushd %CD% +cd %~dp0\wiki\scss\ +call "%~dp0node_modules\.bin\sass" nibblepoker-wiki.scss:../css/nibblepoker-wiki.css -q +call "%~dp0node_modules\.bin\sass" nibblepoker-wiki.scss:../css/nibblepoker-wiki.min.css -q --style compressed +popd :sass-end diff --git a/compile_strings.py b/compile_strings.py new file mode 100644 index 0000000..91e1e56 --- /dev/null +++ b/compile_strings.py @@ -0,0 +1,84 @@ +#!/bin/python + +import argparse +from datetime import datetime +import json +import os +import sys + +# Including nicer-looking print function if possible. +try: + from rich import print +except ImportError: + pass + +# Preparing and parsing launch arguments +parser = argparse.ArgumentParser() +parser.add_argument("input", help="Input folder where the strings are located.") +parser.add_argument("output", help="Output file where the compiled strings will be saved.") + + +# Fixing some issues with "argparse" +def argparse_error(message): + raise argparse.ArgumentError(None, message) + + +# Parsing launch options +parser.error = argparse_error +try: + args = parser.parse_args() +except argparse.ArgumentError as err: + print(f"\033[31m\033[1mError:\033[0m\033[31m {err.message.capitalize()}\033[39m") + print("\033[36m\033[1mUsage:\033[0m\033[36m compile_strings.py \033[39m") + sys.exit(1) + +# Checking the given options are valid +if not (os.path.exists(args.input) and os.path.isdir(args.input)): + print(f"\033[31m\033[1mError:\033[0m\033[31m The given input directory '{args.input}' doesn't exist or is a file !\033[39m") + sys.exit(2) + +if os.path.isdir(args.output): + print(f"\033[31m\033[1mError:\033[0m\033[31m The given output '{args.output}' is a directory !\033[39m") + sys.exit(3) + +# Starting the process +print(f"Compiling '{args.input}' to '{args.output}'...") +input_folder = os.path.abspath(args.input) +output_file = os.path.abspath(args.output) + +lang_data = dict() +lang_data["_compile_date"] = datetime.utcnow().isoformat() + "Z" + +for main_dir_entry in os.listdir(input_folder): + if main_dir_entry.startswith("_"): + continue + + print("> Processing '{}'".format(main_dir_entry)) + + if not os.path.isdir(os.path.join(input_folder, main_dir_entry)): + continue + + lang_data[main_dir_entry] = dict() + + for sub_dir_entry in os.listdir(os.path.join(input_folder, main_dir_entry)): + print("-> Checking '{}/{}'".format(main_dir_entry, sub_dir_entry)) + if not sub_dir_entry.endswith(".json"): + continue + + with open(os.path.join(input_folder, main_dir_entry, sub_dir_entry), "rb") as f: + input_lang_data: dict = json.loads(f.read().decode("utf-8")) + + for lang_record_key in input_lang_data.keys(): + lang_record_key: str + if lang_record_key.startswith("_"): + continue + + lang_data[main_dir_entry][lang_record_key] = input_lang_data[lang_record_key] + +try: + os.remove(output_file) +except IOError: + pass + +with open(output_file, "wb") as f: + f.write(json.dumps(lang_data, separators=(',', ':')).encode("utf-8")) diff --git a/content/index.php b/content/index.php index 8a05cab..f1daf32 100644 --- a/content/index.php +++ b/content/index.php @@ -58,7 +58,7 @@ if($contentManager->hasError) { $content->get_head_title() . localize("content.item.head.title.suffix"); $content_head_description = $content->get_head_description(); - $content_head_title = + $content_head_og_title = localize("content.item.og.title.prefix") . $content->get_head_title() . localize("content.item.og.title.suffix"); diff --git a/content/items/dotnet-arguments.json b/content/items/dotnet-arguments.json index a12add7..2644b1a 100644 --- a/content/items/dotnet-arguments.json +++ b/content/items/dotnet-arguments.json @@ -123,45 +123,27 @@ "type": "paragraph", "indent": 2, "parts": [ - {"type": "raw", "content": "●  ", "localize": false}, - { - "type": "raw", "link": "https://www.nuget.org/packages/NibblePoker.Library.Arguments", - "parts": [ - {"type": "raw", "content": "content.commons.nuget"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://www.nuget.org/packages/NibblePoker.Library.Arguments)", - "localize": false - } - ] - }, - {"type": "raw", "content": "
", "localize": false}, {"type": "raw", "content": "●  ", "localize": false}, { "type": "raw", "link": "https://github.com/aziascreations/DotNet-Arguments", "parts": [ - {"type": "raw", "content": "content.commons.github"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://github.com/aziascreations/DotNet-Arguments)", - "localize": false - } + {"type": "raw", "content": "content.commons.github"} ] }, {"type": "raw", "content": "
", "localize": false}, {"type": "raw", "content": "●  ", "localize": false}, { - "type": "raw", "link": "https://git.nibblepoker.lu/aziascreations/DotNet-Arguments", + "type": "raw", "link": "https://aziascreations.github.io/DotNet-Arguments/", "parts": [ - {"type": "raw", "content": "content.commons.gitea"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://git.nibblepoker.lu/aziascreations/DotNet-Arguments)", - "localize": false - } + {"type": "raw", "content": "content.commons.doc.online"} + ] + }, + {"type": "raw", "content": "
", "localize": false}, + {"type": "raw", "content": "●  ", "localize": false}, + { + "type": "raw", "link": "https://www.nuget.org/packages/NibblePoker.Library.Arguments", + "parts": [ + {"type": "raw", "content": "content.commons.nuget"} ] } ] diff --git a/content/items/excel-worksheet-password-remover.json b/content/items/excel-worksheet-password-remover.json index de9a3d6..7ede15f 100644 --- a/content/items/excel-worksheet-password-remover.json +++ b/content/items/excel-worksheet-password-remover.json @@ -12,7 +12,8 @@ "usage.title": "Usage", "usage.p1": "To use this tool you can either visit \"aziascreations.github.io/Excel-Worksheet-Password-Remover\" or download the repository and host the web page yourself.", "demo.title": "Demonstration video", - "links.title": "Links" + "links.title": "Links", + "content.link.demo": "Demo hosted on GitHub" }, "fr": { "_meta.title": "", @@ -26,7 +27,8 @@ "usage.title": "Utilisation", "usage.p1": "Vous pouvez utiliser cet outil en allant sur \"aziascreations.github.io/Excel-Worksheet-Password-Remover\" ou en téléchargeant le dépôt et en hébergeant la page web vous-même.", "demo.title": "Vidéo de démonstration", - "links.title": "Liens" + "links.title": "Liens", + "content.link.demo": "Démo hébergée sur GitHub" } }, "metadata": { @@ -85,28 +87,16 @@ "type": "raw", "link": "https://github.com/aziascreations/Excel-Worksheet-Password-Remover", "sr_title": "Test 123", "parts": [ - {"type": "raw", "content": "content.commons.github"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://github.com/aziascreations/Excel-Worksheet-Password-Remover)", - "localize": false - } + {"type": "raw", "content": "content.commons.github"} ] }, {"type": "raw", "content": "
", "localize": false}, {"type": "raw", "content": "●  ", "localize": false}, { - "type": "raw", "link": "https://git.nibblepoker.lu/aziascreations/Excel-Worksheet-Password-Remover", + "type": "raw", "link": "https://aziascreations.github.io/Excel-Worksheet-Password-Remover", "sr_title": "Test 123", "parts": [ - {"type": "raw", "content": "content.commons.gitea"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://git.nibblepoker.lu/aziascreations/Excel-Worksheet-Password-Remover)", - "localize": false - } + {"type": "raw", "content": "content.link.demo"} ] } ] diff --git a/content/items/lscom-cli-dotnet.json b/content/items/lscom-cli-dotnet.json index a16b008..377c199 100644 --- a/content/items/lscom-cli-dotnet.json +++ b/content/items/lscom-cli-dotnet.json @@ -447,27 +447,7 @@ { "type": "raw", "link": "https://github.com/aziascreations/DotNet-ListComPort", "parts": [ - {"type": "raw", "content": "content.commons.github"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://github.com/aziascreations/DotNet-ListComPort)", - "localize": false - } - ] - }, - {"type": "raw", "content": "
", "localize": false}, - {"type": "raw", "content": "●  ", "localize": false}, - { - "type": "raw", "link": "https://git.nibblepoker.lu/aziascreations/DotNet-ListComPort", - "parts": [ - {"type": "raw", "content": "content.commons.gitea"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://git.nibblepoker.lu/aziascreations/DotNet-ListComPort)", - "localize": false - } + {"type": "raw", "content": "content.commons.github"} ] } ] diff --git a/content/items/lscom-cli.json b/content/items/lscom-cli.json index d6cb715..bfda60e 100644 --- a/content/items/lscom-cli.json +++ b/content/items/lscom-cli.json @@ -386,27 +386,7 @@ { "type": "raw", "link": "https://github.com/aziascreations/PB-ListComPort", "parts": [ - {"type": "raw", "content": "content.commons.github"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://github.com/aziascreations/PB-ListComPort)", - "localize": false - } - ] - }, - {"type": "raw", "content": "
", "localize": false}, - {"type": "raw", "content": "●  ", "localize": false}, - { - "type": "raw", "link": "https://git.nibblepoker.lu/aziascreations/PB-ListComPort", - "parts": [ - {"type": "raw", "content": "content.commons.gitea"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://git.nibblepoker.lu/aziascreations/PB-ListComPort)", - "localize": false - } + {"type": "raw", "content": "content.commons.github"} ] } ] diff --git a/content/items/mc-expanded-iron-bundles.json b/content/items/mc-expanded-iron-bundles.json index 1a230aa..09a5db3 100644 --- a/content/items/mc-expanded-iron-bundles.json +++ b/content/items/mc-expanded-iron-bundles.json @@ -149,63 +149,23 @@ "type": "raw", "link": "https://github.com/aziascreations/MC-Expanded-Iron-Bundles", "parts": [ - {"type": "raw", "content": "content.commons.github"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://github.com/aziascreations/MC-Expanded-Iron-Bundles)", - "localize": false - } + {"type": "raw", "content": "content.commons.github"} ] }, {"type": "raw", "content": "
", "localize": false}, - {"type": "raw", "content": "●  ", "localize": false}, - { - "type": "raw", - "link": "https://git.nibblepoker.lu/aziascreations/MC-Expanded-Iron-Bundles", - "parts": [ - {"type": "raw", "content": "content.commons.gitea"}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://git.nibblepoker.lu/aziascreations/MC-Expanded-Iron-Bundles)", - "localize": false - } - ] - } - ] - }, - { - "type": "paragraph", - "indent": 2, - "modifiers": ["no-top-padding"], - "parts": [ {"type": "raw", "content": "●  ", "localize": false}, { "type": "raw", "link": "https://modrinth.com/mod/expanded-iron-bundles", "parts": [ - {"type": "raw", "content": "Modrinth [Fabric & Forge]", "localize": false}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://modrinth.com/mod/expanded-iron-bundles)", - "localize": false - } + {"type": "raw", "content": "Modrinth [Fabric & Forge]", "localize": false} ] }, - {"type": "raw", "content": "
", "localize": false}, {"type": "raw", "content": "●  ", "localize": false}, { "type": "raw", "link": "https://www.curseforge.com/minecraft/mc-mods/expanded-iron-bundles-fabric", "parts": [ - {"type": "raw", "content": "CurseForge [Fabric]", "localize": false}, - {"type": "raw", "content": "  -  ", "localize": false}, - { - "type": "raw", - "content": "(https://www.curseforge.com/minecraft/mc-mods/expanded-iron-bundles-fabric)", - "localize": false - } + {"type": "raw", "content": "CurseForge [Fabric]", "localize": false} ] } ] diff --git a/links/index.php b/links/index.php index 3e88059..d12ae19 100644 --- a/links/index.php +++ b/links/index.php @@ -62,13 +62,6 @@ include 'commons/DOM/sidebar.php'; -

- -

-

- -

-

diff --git a/resources/NibblePoker/images/content/dotnet-arguments/main.png b/resources/NibblePoker/images/content/dotnet-arguments/main.png new file mode 100644 index 0000000000000000000000000000000000000000..859b1d829370a8dff9975af8c8896f1666ecef0d GIT binary patch literal 33785 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