From 70c118d37cd784861bec712000d7014302591256 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Mon, 6 Nov 2023 02:05:14 +0800 Subject: fix(site): 修复了错误的主题索引 chore(site): 删除了无用主题文件 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pdm.lock | 43 ++++++++++- pyproject.toml | 1 + site/config.toml | 60 ++++----------- site/public/bg.mp4 | Bin 0 -> 1668195 bytes site/public/categories/index.xml | 10 +++ site/public/css/styles.css | 101 ++++++++++++++++++++++++++ site/public/favicon.ico | Bin 0 -> 15406 bytes site/public/index.html | 67 +++++++++++++++++ site/public/index.xml | 10 +++ site/public/js/script.js | 31 ++++++++ site/public/sitemap.xml | 11 +++ site/public/svg/icons/email.svg | 1 + site/public/svg/icons/facebook.svg | 1 + site/public/svg/icons/github.svg | 1 + site/public/svg/icons/instagram.svg | 1 + site/public/svg/icons/tiktok.svg | 1 + site/public/svg/icons/twitter.svg | 1 + site/public/tags/index.xml | 10 +++ site/themes/coming-soon/static/js/script.js | 4 +- site/themes/graysx-hugo | 1 - tests/HydroRoll/data/censor.json | 1 + tests/plugins/HydroRoll/__init__.py | 47 +++++++++++- tests/plugins/HydroRoll/config.py | 6 +- tests/plugins/HydroRoll/models/Transformer.py | 9 +++ tests/plugins/HydroRoll/utils.py | 13 +++- 25 files changed, 373 insertions(+), 58 deletions(-) create mode 100644 site/public/bg.mp4 create mode 100644 site/public/categories/index.xml create mode 100644 site/public/css/styles.css create mode 100644 site/public/favicon.ico create mode 100644 site/public/index.html create mode 100644 site/public/index.xml create mode 100644 site/public/js/script.js create mode 100644 site/public/sitemap.xml create mode 100644 site/public/svg/icons/email.svg create mode 100644 site/public/svg/icons/facebook.svg create mode 100644 site/public/svg/icons/github.svg create mode 100644 site/public/svg/icons/instagram.svg create mode 100644 site/public/svg/icons/tiktok.svg create mode 100644 site/public/svg/icons/twitter.svg create mode 100644 site/public/tags/index.xml delete mode 160000 site/themes/graysx-hugo create mode 100644 tests/HydroRoll/data/censor.json create mode 100644 tests/plugins/HydroRoll/models/Transformer.py diff --git a/pdm.lock b/pdm.lock index 3d93152..f87918a 100644 --- a/pdm.lock +++ b/pdm.lock @@ -3,10 +3,9 @@ [metadata] groups = ["default"] -cross_platform = true -static_urls = false -lock_version = "4.3" -content_hash = "sha256:8753400b358338c372c3e966112b07152f2b7cf55746e98ecaa86999a714f9aa" +strategy = ["cross_platform"] +lock_version = "4.4" +content_hash = "sha256:edbd8bc3476ca24ede5ba1f9e68c74854d97d70e60f579a77f6fb37ca1d9a99f" [[package]] name = "aiohttp" @@ -163,6 +162,16 @@ files = [ {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, ] +[[package]] +name = "certifi" +version = "2023.7.22" +requires_python = ">=3.6" +summary = "Python package for providing Mozilla's CA Bundle." +files = [ + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, +] + [[package]] name = "charset-normalizer" version = "3.3.0" @@ -665,6 +674,22 @@ files = [ {file = "randomgen-1.26.0.tar.gz", hash = "sha256:b929ec401e1c029142b6d174522b78d54fac525607540d11f674161af4a35101"}, ] +[[package]] +name = "requests" +version = "2.31.0" +requires_python = ">=3.7" +summary = "Python HTTP for Humans." +dependencies = [ + "certifi>=2017.4.17", + "charset-normalizer<4,>=2", + "idna<4,>=2.5", + "urllib3<3,>=1.21.1", +] +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + [[package]] name = "scikit-learn" version = "1.3.1" @@ -806,6 +831,16 @@ files = [ {file = "tzlocal-5.0.1.tar.gz", hash = "sha256:46eb99ad4bdb71f3f72b7d24f4267753e240944ecfc16f25d2719ba89827a803"}, ] +[[package]] +name = "urllib3" +version = "2.0.7" +requires_python = ">=3.7" +summary = "HTTP library with thread-safe connection pooling, file post, and more." +files = [ + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, +] + [[package]] name = "watchfiles" version = "0.20.0" diff --git a/pyproject.toml b/pyproject.toml index de8c164..b76ae5d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,6 +14,7 @@ dependencies = [ "randomgen>=1.26.0", "jieba>=0.42.1", "scikit-learn>=1.3.1", + "requests>=2.31.0", ] requires-python = ">=3.8" readme = "README.md" diff --git a/site/config.toml b/site/config.toml index 2d9eaf7..c828971 100644 --- a/site/config.toml +++ b/site/config.toml @@ -1,48 +1,18 @@ -baseURL = 'http://www.hydroroll.team/' -languageCode = 'en-us' +baseURL = 'http://hydroroll.team/' +languageCode = 'zh-cn' title = 'HydroRoll' -theme = 'graysx-hugo' +theme = 'coming-soon' -## Site Settings [params] -logo = "assets/img/logo.webp" -favicon = "assets/favicon.png" - -# Info -address = "123 Arch B1W, GNU/Linux" -email = "hello@graysx.com" -phone = "123456" - -# Socials - -twitter = "#" -facebook = "#" -github = "https://github.com/akatiggerx04/graysx-hugo" - -# Other - -# Startbootstrap Contact Form Token https://startbootstrap.com/solution/contact-forms -sbtoken = "TOKEN_HERE" - -## Menu Items -[menu] - [[menu.main]] - name = "About" - URL = "#about" - weight = 1 - - [[menu.main]] - name = "Projects" - URL = "#projects" - weight = 2 - - [[menu.main]] - name = "Contact" - URL = "#signup" - weight = 3 - - -# Credits - -# This theme is forked from: https://github.com/startbootstrap/startbootstrap-grayscale -# This theme is forked by: https://github.com/akatiggerx04 \ No newline at end of file + logo = "assets/img/logo.webp" + favicon = "assets/favicon.png" + title = "HydroRoll " + description = "倒数日" + message = "距离水系公测还有" # default is "COMING SOON" + release = "Jul 14, 2024" # release date format: Aug 30, 2023 15:00 + background = "" # default is bg.mp4 in static/ + +socialIcons = [ + {name = "email", url = "support@hydroroll.team"}, + {name = "github", url = "https://github.com/HydroRoll-Team"}, +] \ No newline at end of file diff --git a/site/public/bg.mp4 b/site/public/bg.mp4 new file mode 100644 index 0000000..89df32b Binary files /dev/null and b/site/public/bg.mp4 differ diff --git a/site/public/categories/index.xml b/site/public/categories/index.xml new file mode 100644 index 0000000..6b906fb --- /dev/null +++ b/site/public/categories/index.xml @@ -0,0 +1,10 @@ + + + + Categories on HydroRoll + http://hydroroll.team/categories/ + Recent content in Categories on HydroRoll + Hugo -- gohugo.io + zh-cn + + diff --git a/site/public/css/styles.css b/site/public/css/styles.css new file mode 100644 index 0000000..3c52555 --- /dev/null +++ b/site/public/css/styles.css @@ -0,0 +1,101 @@ +* { +margin: 0; +padding: 0; +} + +.bgimg { +/* Full-screen */ +height: 100vh; /* Use viewport height for full-screen height */ +/* Center the background image */ +background-position: center; +/* Scale and zoom in the image */ +background-size: cover; +/* Add position: relative to enable absolutely positioned elements inside the image (place text) */ +position: relative; +/* Add a white text color to all elements inside the .bgimg container */ +color: white; +/* Add a font */ +font-family: "Courier New", Courier, monospace; +/* Set the font-size to 25 pixels */ +font-size: 25px; +} + +.bgimg video { +width: 100%; +height: 100%; /* Make the video fill the entire .bgimg container */ +object-fit: cover; /* Make the video cover the container without stretching */ +display: block; /* Remove any extra spacing */ +position: absolute; /* Position the video absolutely within the .bgimg container */ +} + + +/* Position text in the top-left corner */ +.topleft { +position: absolute; +top: 16px; +left: 16px; +} + +/* Position text in the bottom-left corner */ +.bottomleft { +position: absolute; +bottom: 16px; +left: 16px; +} + +/* Position text in the middle */ +.middle { +position: absolute; +top: 50%; +left: 50%; +transform: translate(-50%, -50%); +text-align: center; +} +#demo{ + font-size:30px; + padding: 10px; +} +@media screen AND (max-width:600px) { + .middle h1{ + font-size: 20px; + } + #demo{ + font-size: 20px; + } +} + +/* Style the
element */ +hr { +margin: auto; +width: 40%; +} + +/* left side */ +.left{ + right: 0; + bottom: 10px; + position: absolute; +} +.social-icons { + text-align: center; + filter: brightness(0) invert(1); +} + +.social-icons .social-icons-list { + display: inline-block; + list-style-type: none; + padding: 0; + text-align: center; +} + +.social-icons-list .social-icon { + box-sizing: border-box; + display: inline-block; + height: 24px; + margin: 0 6px; + width: 24px; +} + +.social-icon a svg path { + transition: fill 0.15s ease; +} \ No newline at end of file diff --git a/site/public/favicon.ico b/site/public/favicon.ico new file mode 100644 index 0000000..253be4b Binary files /dev/null and b/site/public/favicon.ico differ diff --git a/site/public/index.html b/site/public/index.html new file mode 100644 index 0000000..4c8e428 --- /dev/null +++ b/site/public/index.html @@ -0,0 +1,67 @@ + + + + + + HydroRoll + + + + + + +
+ +
+ +

HydroRoll

+ +
+
+ +

距离水系公测还有

+ +
+
+
+

+

+
+
+
+

+ 倒数日

+
+
+
+ + + +
+ + + \ No newline at end of file diff --git a/site/public/index.xml b/site/public/index.xml new file mode 100644 index 0000000..a759010 --- /dev/null +++ b/site/public/index.xml @@ -0,0 +1,10 @@ + + + + HydroRoll + http://hydroroll.team/ + Recent content on HydroRoll + Hugo -- gohugo.io + zh-cn + + diff --git a/site/public/js/script.js b/site/public/js/script.js new file mode 100644 index 0000000..f41ff4b --- /dev/null +++ b/site/public/js/script.js @@ -0,0 +1,31 @@ +// Get the release date from the data attribute +var releaseDateStr = document.getElementById("countdown").getAttribute("data-release"); + +// Create a JavaScript Date object using the release date string +var countDownDate = new Date(releaseDateStr); + +// Update the count down every 1 second +var x = setInterval(function() { + + // Get todays date and time + var now = new Date().getTime(); + + // Find the distance between now an the count down date + var distance = countDownDate - now; + + // Time calculations for days, hours, minutes and seconds + var days = Math.floor(distance / (1000 * 60 * 60 * 24)); + var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); + var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); + var seconds = Math.floor((distance % (1000 * 60)) / 1000); + + // Display the result in an element with id="demo" + document.getElementById("demo").innerHTML = days + "天 " + hours + "小时 " + + minutes + "分 " + seconds + "秒 "; + + // If the count down is finished, write some text + if (distance < 0) { + clearInterval(x); + document.getElementById("demo").innerHTML = "EXPIRED"; + } +}, 1000); \ No newline at end of file diff --git a/site/public/sitemap.xml b/site/public/sitemap.xml new file mode 100644 index 0000000..3122e32 --- /dev/null +++ b/site/public/sitemap.xml @@ -0,0 +1,11 @@ + + + + http://hydroroll.team/categories/ + + http://hydroroll.team/ + + http://hydroroll.team/tags/ + + diff --git a/site/public/svg/icons/email.svg b/site/public/svg/icons/email.svg new file mode 100644 index 0000000..3811b59 --- /dev/null +++ b/site/public/svg/icons/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/public/svg/icons/facebook.svg b/site/public/svg/icons/facebook.svg new file mode 100644 index 0000000..4ef9d67 --- /dev/null +++ b/site/public/svg/icons/facebook.svg @@ -0,0 +1 @@ +Facebook \ No newline at end of file diff --git a/site/public/svg/icons/github.svg b/site/public/svg/icons/github.svg new file mode 100644 index 0000000..538ec5b --- /dev/null +++ b/site/public/svg/icons/github.svg @@ -0,0 +1 @@ +GitHub \ No newline at end of file diff --git a/site/public/svg/icons/instagram.svg b/site/public/svg/icons/instagram.svg new file mode 100644 index 0000000..5a68721 --- /dev/null +++ b/site/public/svg/icons/instagram.svg @@ -0,0 +1 @@ +Instagram \ No newline at end of file diff --git a/site/public/svg/icons/tiktok.svg b/site/public/svg/icons/tiktok.svg new file mode 100644 index 0000000..57ce3ae --- /dev/null +++ b/site/public/svg/icons/tiktok.svg @@ -0,0 +1 @@ +TikTok \ No newline at end of file diff --git a/site/public/svg/icons/twitter.svg b/site/public/svg/icons/twitter.svg new file mode 100644 index 0000000..45bd20c --- /dev/null +++ b/site/public/svg/icons/twitter.svg @@ -0,0 +1 @@ +Twitter \ No newline at end of file diff --git a/site/public/tags/index.xml b/site/public/tags/index.xml new file mode 100644 index 0000000..7664def --- /dev/null +++ b/site/public/tags/index.xml @@ -0,0 +1,10 @@ + + + + Tags on HydroRoll + http://hydroroll.team/tags/ + Recent content in Tags on HydroRoll + Hugo -- gohugo.io + zh-cn + + diff --git a/site/themes/coming-soon/static/js/script.js b/site/themes/coming-soon/static/js/script.js index 9d06633..f41ff4b 100644 --- a/site/themes/coming-soon/static/js/script.js +++ b/site/themes/coming-soon/static/js/script.js @@ -20,8 +20,8 @@ var x = setInterval(function() { var seconds = Math.floor((distance % (1000 * 60)) / 1000); // Display the result in an element with id="demo" - document.getElementById("demo").innerHTML = days + "d " + hours + "h " - + minutes + "m " + seconds + "s "; + document.getElementById("demo").innerHTML = days + "天 " + hours + "小时 " + + minutes + "分 " + seconds + "秒 "; // If the count down is finished, write some text if (distance < 0) { diff --git a/site/themes/graysx-hugo b/site/themes/graysx-hugo deleted file mode 160000 index fe35dd8..0000000 --- a/site/themes/graysx-hugo +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fe35dd8b38c7e84d59981cb5670ec0a118e1723d diff --git a/tests/HydroRoll/data/censor.json b/tests/HydroRoll/data/censor.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/tests/HydroRoll/data/censor.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/tests/plugins/HydroRoll/__init__.py b/tests/plugins/HydroRoll/__init__.py index 2f883a8..7c05d4e 100644 --- a/tests/plugins/HydroRoll/__init__.py +++ b/tests/plugins/HydroRoll/__init__.py @@ -1,4 +1,5 @@ """中间件""" +import json import joblib import os import shutil @@ -8,9 +9,11 @@ from iamai import ConfigModel, Plugin from iamai.log import logger from .config import Directory, GlobalConfig, Models from .utils import * +from .models.Transformer import query BASE_DIR = dirname(abspath("__file__")) HYDRO_DIR = dirname(abspath(__file__)) +APP_DIR = join(BASE_DIR, "HydroRoll") # logger.info(GlobalConfig._copyright) @@ -46,9 +49,49 @@ class HydroRoll(Plugin): if self.event.message.get_plain_text() == ".core": await self.event.reply("HydroRollCore is running.") + if self.event.message.startswith(".set"): + arg_list: list = self.event.message.get_plain_text().split() + sub_cmd: str = arg_list[1] + if sub_cmd == ("censor"): + operator: str = arg_list[2] + censor_list: list = arg_list[3:] + pattern = re.compile(r"[+-](\d?=?)(.*)") + + try: + with open( + join(APP_DIR, "data", "censor.json"), "r+", encoding="utf8" + ) as f: + censor_content = json.load(f) + except (FileNotFoundError, json.JSONDecodeError): + censor_content = {} + + censor_list = list(filter(lambda x: pattern.match(x), censor_list)) + + with open( + join(APP_DIR, "data", "censor.json"), "w+", encoding="utf8" + ) as f: + if operator in ["add", "+"]: + for item in censor_list: + match = pattern.match(item) + censor_content[match.group(2)] = int( + match.group(1).replace("=", "") + ) + elif operator in ["remove", "rmv", "-"]: + for item in censor_list: + match = pattern.match(item) + keyword = match.group(2) + if keyword in censor_content: + del censor_content[keyword] + elif operator in ["list", "map"]: + pass # do something else + + json.dump(censor_content, f, ensure_ascii=False, indent=4) + elif self.event.message.startswith(".get"): + ... + elif self.event.message.startswith(".test"): try: - result = literal_eval(self.event.message.get_plain_text()[5:]) + result = eval(self.event.message.get_plain_text()[5:]) #literal_eval(self.event.message.get_plain_text()[5:]) await self.event.reply(str(result)) except Exception as error: await self.event.reply(f"{error!r}") @@ -107,3 +150,5 @@ class HydroRoll(Plugin): def load_models(self): self.models = self._load_models(self.model_path_list, self.model_dict) + + diff --git a/tests/plugins/HydroRoll/config.py b/tests/plugins/HydroRoll/config.py index daab4d3..194a956 100644 --- a/tests/plugins/HydroRoll/config.py +++ b/tests/plugins/HydroRoll/config.py @@ -2,6 +2,7 @@ from randomgen import AESCounter from numpy.random import Generator import argparse import sys +from os.path import dirname, dirname, join, abspath import platform from importlib.metadata import version import os @@ -57,6 +58,8 @@ class GlobalConfig(CommandPluginConfig): _iamai_version = version("iamai") _python_ver = sys.version _python_ver_raw = ".".join(map(str, platform.python_version_tuple()[:3])) + _base_dir = dirname(abspath("__file__")) + _hydro_dir = dirname(abspath(__file__)) _copyright = f"""\033[36m _ __ _ _ /\ /\_ _ __| |_ __ ___ /__\ ___ | | | @@ -130,7 +133,8 @@ class FileManager(object): def get_file_list(self, _dir: str): return { - 'web;frontend': 'index.html' + 'web;frontend': 'index.html', + 'data': 'censor.json', } diff --git a/tests/plugins/HydroRoll/models/Transformer.py b/tests/plugins/HydroRoll/models/Transformer.py new file mode 100644 index 0000000..b52422e --- /dev/null +++ b/tests/plugins/HydroRoll/models/Transformer.py @@ -0,0 +1,9 @@ +import requests + +API_URL = "https://api-inference.huggingface.co/models/sentence-transformers/all-MiniLM-L6-v2" +headers = {"Authorization": "Bearer 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"} + +def query(payload): + response = requests.post(API_URL, headers=headers, json=payload) + return response.json() + diff --git a/tests/plugins/HydroRoll/utils.py b/tests/plugins/HydroRoll/utils.py index f871523..1f5e8bc 100644 --- a/tests/plugins/HydroRoll/utils.py +++ b/tests/plugins/HydroRoll/utils.py @@ -12,8 +12,7 @@ from .config import BasePluginConfig, RegexPluginConfig, CommandPluginConfig T_Config = TypeVar("T_Config", bound=BasePluginConfig) T_RegexPluginConfig = TypeVar("T_RegexPluginConfig", bound=RegexPluginConfig) -T_CommandPluginConfig = TypeVar( - "T_CommandPluginConfig", bound=CommandPluginConfig) +T_CommandPluginConfig = TypeVar("T_CommandPluginConfig", bound=CommandPluginConfig) class BasePlugin( @@ -170,10 +169,16 @@ def find_max_similarity(input_string, string_list): max_string = "" for string in string_list: - similarity = difflib.SequenceMatcher( - None, input_string, string).quick_ratio() + similarity = difflib.SequenceMatcher(None, input_string, string).quick_ratio() if similarity > max_similarity: max_similarity = similarity max_string = string return max_string, max_similarity + + +def check_file(filename: str) -> bool: + """根据给定参数校验文件夹内文件完整性""" + + + return False \ No newline at end of file -- cgit v1.2.3-70-g09d2