Explorar o código

Pagebuilder v0.12

Nattiden %!s(int64=2) %!d(string=hai) anos
pai
achega
1551214796

+ 1 - 0
Libraries/Homepage/Events/AprilFools/__LIBRARY__.yml

@@ -0,0 +1 @@
+name: april_fools_lib

+ 0 - 0
Libraries/Homepage/nono.md → Libraries/Homepage/Events/AprilFools/nono.md


+ 0 - 0
Libraries/Homepage/2023ChineseNewYear.xaml → Libraries/Homepage/Events/NewYear/2023ChineseNewYear.xaml


+ 0 - 0
Libraries/Homepage/2024ChineseNewYear.xaml → Libraries/Homepage/Events/NewYear/2024ChineseNewYear.xaml


+ 1 - 0
Libraries/Homepage/Events/NewYear/__LIBRARY__.yml

@@ -0,0 +1 @@
+name: new_year_lib

+ 6 - 0
Libraries/Homepage/Events/__LIBRARY__.yml

@@ -0,0 +1,6 @@
+name: events
+fill:
+  templates:
+    - Luca
+    - MarkdownCard
+    - Raw

+ 8 - 4
Libraries/Homepage/NewFooter.xaml

@@ -4,12 +4,16 @@
     <StackPanel>
     <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,0,4">
     <TextBlock FontSize="18" Foreground="{DynamicResource ColorBrush2}"><Bold>PCL2 新闻主页</Bold></TextBlock>
-    <local:MyIconTextButton ColorType="Highlight" Margin="4,0" Text="${@Global|git.commit.id}" ToolTip="当前 Commit 版本" EventType="打开网页"
-    EventData="https://github.com/Light-Beacon/PCL2-NewsHomepage/tree/${@Global|git.commit.hash}"
+    <local:MyIconTextButton ColorType="Highlight" Margin="4,0" Text="e155cb0" ToolTip="当前 Commit 版本" EventType="打开网页"
+    EventData="https://github.com/Light-Beacon/PCL2-NewsHomepage/tree/e155cb09a1d63fd063c59cf88bcb2067271b8044"
     LogoScale="1.1" Logo="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z" />
     </StackPanel>
-    <TextBlock> By:最亮的信标(Light Beacon)</TextBlock>
-    <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="-8,12,0,10">
+    <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="-4,0,0,10" Height="56">
+    <Image Margin="2" Source="https://image.stapxs.cn/i/2024/05/24/LB.png"/>
+    <Image Margin="2" Source="https://image.stapxs.cn/i/2024/05/24/PHB_2.png
+" />
+    </StackPanel>
+    <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="-8,0,0,10">
     <local:MyIconTextButton HorizontalAlignment="Left" Text="GitHub" ToolTip="前往新闻主页 GitHub 页面" EventType="打开网页"
     EventData="https://github.com/Light-Beacon/PCL2-NewsHomepage"
     LogoScale="1" Logo="M512 42.666667A464.64 464.64 0 0 0 42.666667 502.186667 460.373333 460.373333 0 0 0 363.52 938.666667c23.466667 4.266667 32-9.813333 32-22.186667v-78.08c-130.56 27.733333-158.293333-61.44-158.293333-61.44a122.026667 122.026667 0 0 0-52.053334-67.413333c-42.666667-28.16 3.413333-27.733333 3.413334-27.733334a98.56 98.56 0 0 1 71.68 47.36 101.12 101.12 0 0 0 136.533333 37.973334 99.413333 99.413333 0 0 1 29.866667-61.44c-104.106667-11.52-213.333333-50.773333-213.333334-226.986667a177.066667 177.066667 0 0 1 47.36-124.16 161.28 161.28 0 0 1 4.693334-121.173333s39.68-12.373333 128 46.933333a455.68 455.68 0 0 1 234.666666 0c89.6-59.306667 128-46.933333 128-46.933333a161.28 161.28 0 0 1 4.693334 121.173333A177.066667 177.066667 0 0 1 810.666667 477.866667c0 176.64-110.08 215.466667-213.333334 226.986666a106.666667 106.666667 0 0 1 32 85.333334v125.866666c0 14.933333 8.533333 26.88 32 22.186667A460.8 460.8 0 0 0 981.333333 502.186667 464.64 464.64 0 0 0 512 42.666667"/>

+ 2 - 2
Resources/Scripts/GetLink.py

@@ -1,4 +1,3 @@
-from Core.Debug import LogWarning, LogInfo
 import re
 
 SNAPSHOT_PATTERN = re.compile(r'^[0-9]{2}[w|W][0-9]{2}[A-Fa-f]$')
@@ -7,6 +6,7 @@ RELEASE_CANDIDATE_PATTERN = re.compile(r'^.*-rc[0-9]+$')
 RELEASE_PATTERN = re.compile(r'^1\.[0-9]+(\.[0-9]+)?$')
 
 def gen_official_link(vid:str):
+    '''生成官网链接'''
     if re.match(SNAPSHOT_PATTERN,vid):
         return f'https://minecraft.net/article/minecraft-snapshot-{vid.lower()}'
     if re.match(PRE_RELEASE_PATTERN,vid):
@@ -32,4 +32,4 @@ def script(link_type,link_key=None,**kwargs):
         raise KeyError()
     if link_type == 'Official' and name not in data:
         return gen_official_link(name)
-    return data[name]
+    return data[name]

+ 8 - 8
Resources/Scripts/MainPageVersions.py

@@ -1,20 +1,20 @@
-from Core.Debug import LogWarning, LogInfo
-from Core.ModuleManager import invokeModule, untilLoaded
+from Core.module_manager import invoke_module, until_loaded
 
-untilLoaded('MinecraftVersions') # 需求前置 MinecraftVersions
-get_latest = invokeModule('MinecraftVersions','get_latest')
-get_type = invokeModule('MinecraftVersions','get_version_type')
+until_loaded('MinecraftVersions') # 需求前置 MinecraftVersions
+get_latest = invoke_module('MinecraftVersions','get_latest')
+get_type = invoke_module('MinecraftVersions','get_version_type')
 
 latest_version = get_latest()
 latest_type = get_type(latest_version)
 
-def script(page_area,**kwagrs):
+def script(page_area,**_):
+    '''脚本体'''
     if page_area == 'new':
         result = f"{latest_version} | latest = true | s = false"
         if latest_type == 'snapshot':
             iversion = latest_version
             index = 1
-            while(True): # 循环添加该周发布的所有版本
+            while(): # 循环添加该周发布的所有版本
                 if (get_type(iversion) != 'snapshot') or (iversion[5] == 'a'):
                     break
                 index += 1
@@ -24,4 +24,4 @@ def script(page_area,**kwagrs):
     else:
         if latest_type == 'release':
             return ''
-        return f"{get_latest('release')} | latest = true"
+        return f"{get_latest('release')} | latest = true"

+ 7 - 7
Resources/Scripts/MinecraftVersions.py

@@ -1,4 +1,4 @@
-from Core.Debug import LogWarning, LogInfo
+from Core.debug import log_warning, log_info
 import requests
 import json
 import re
@@ -11,12 +11,12 @@ LATEST_VERSIONS = None
 
 def fetch_manifset():
     try:
-        response = requests.get(LAUNCHER_MANIFSET_URL)
+        response = requests.get(LAUNCHER_MANIFSET_URL,timeout=10000)
         return json.loads(response.content)
     except Exception as e:
-        LogWarning(f'获取版本列表失败:{e.with_traceback()}')
+        log_warning(f'获取版本列表失败:{e.with_traceback()}')
         return {}
-    
+
 def get_manifset():
     global MANIFSET
     if not MANIFSET:
@@ -32,7 +32,7 @@ def init_version_dict():
     FULL_VERSIONS = manifset.get('versions')
     for version in FULL_VERSIONS:
         VERSIONS_DICT[version['id']] = version
-    LogInfo(f'[VersionScript] 最新快照版:{LATEST_VERSIONS["snapshot"]}; 最新正式版:{LATEST_VERSIONS["release"]}')
+    log_info(f'[VersionScript] 最新快照版:{LATEST_VERSIONS["snapshot"]}; 最新正式版:{LATEST_VERSIONS["release"]}')
     
 def get_latest(version_type = 'snapshot',version_rank = 1):
     global LATEST_VERSIONS
@@ -53,7 +53,7 @@ def get_server_jar(version_id):
     global VERSIONS_DICT
     if not (ver_info := VERSIONS_DICT.get(version_id)):
         return None
-    response = requests.get(ver_info['url'])
+    response = requests.get(ver_info['url'],timeout=10000)
     return json.loads(response.content)['downloads']['server']['url']
     
 SNAPSHOT_PATTERN = re.compile(r'^[0-9]{2}[w|W][0-9]{2}[A-Fa-f]$')
@@ -71,4 +71,4 @@ def get_version_type(version_id):
         return 'release_candidate'
     if re.match(RELEASE_PATTERN,version_id):
         return 'release'
-    return 'other'
+    return 'other'

+ 2 - 2
Resources/Scripts/SeparatorContent.py

@@ -1,3 +1,3 @@
-def script(card,**kwargs):
+def script(card,**_):
     content = card['content']
-    return '  '.join(list(content))
+    return '  '.join(list(content))

+ 5 - 5
Resources/Scripts/ServerJar.py

@@ -1,7 +1,7 @@
-from Core.ModuleManager import invokeModule, untilLoaded
+from Core. module_manager import invoke_module, until_loaded
 
-untilLoaded('MinecraftVersions') # 需求前置 MinecraftVersions
-get_server_jar = invokeModule('MinecraftVersions','get_server_jar')
+until_loaded('MinecraftVersions') # 需求前置 MinecraftVersions
+get_server_jar = invoke_module('MinecraftVersions','get_server_jar')
 
-def script(card,**kwargs):
-    return get_server_jar(card['version-id'])
+def script(card,**_):
+    return get_server_jar(card['version-id'])

+ 7 - 10
Resources/Scripts/VersionCategory.py

@@ -1,17 +1,14 @@
-from Core.Project import Project
-from Core.Debug import LogWarning, LogInfo
-from Core.ModuleManager import invokeModule, untilLoaded
-import requests
-import json
+from Core.project import Project
+from Core.module_manager import invoke_module, until_loaded
 
-untilLoaded('MinecraftVersions') # 需求前置 MinecraftVersions
-MANIFSET = invokeModule('MinecraftVersions','get_manifset')()
+until_loaded('MinecraftVersions') # 需求前置 MinecraftVersions
+MANIFSET = invoke_module('MinecraftVersions','get_manifset')()
 FULL_VERSIONS = MANIFSET.get('versions')
 ID_LIST = [version.get('id') for version in FULL_VERSIONS]
 
-def script(cat_name,proj:Project,**kwargs):
+def script(cat_name,proj:Project,**_):
     cards = list(filter(lambda card:isinstance(card.get('cats'),list)
-           and cat_name in card.get('cats'), proj.getAllCard()))
+           and cat_name in card.get('cats'), proj.get_all_card()))
     cardrefs = [card['card_id'] for card in cards]
     cardrefs.sort(key=lambda ver:ID_LIST.index(ver.split(':')[1]))
-    return str.join(';',cardrefs)
+    return str.join(';',cardrefs)