解决冲突 - #4426
Closed
cloud-oc wants to merge 394 commits into
Closed
Conversation
Confines the yellow swoosh hover effect in BlogPostCard to the text area and adjusts the black bar to appear at the top of the text area. Updates EndspacePlayer button hover colors from accent yellow to neutral gray tones for improved visual consistency.
Changed accent and hover colors in EndspacePlayer to use black and white instead of yellow. Updated LoadingCover gradients to use a lighter yellow (#FBFB46) for improved visual consistency.
Changed the watermark text size from viewport-based units to fixed rem values for better consistency across devices. Added 'leading-none' to improve vertical alignment.
Refactored the autoplay effect to better handle cases where autoplay is blocked by the browser. Added a cleanup function for interaction listeners and ensured listeners are removed after successful playback. This improves reliability and prevents memory leaks.
Simplifies the autoplay effect by removing global event listeners for user interaction when autoplay is blocked, requiring manual play instead. Adds a strict cleanup effect to pause audio when the track changes or component unmounts, preventing zombie audio issues. Increases the autoplay delay to 800ms for better DOM readiness.
Replaces numbered page buttons with a streamlined pill-style navigation bar featuring only first, previous, next, and last page controls. Removes helper functions for generating page numbers, focusing the UI on a minimal, modern look.
Introduces a new FloatingRecentLogs component for a collapsible sidebar displaying recent logs, categories, and tags. Updates the main layout to use this floating sidebar on desktop instead of the static right sidebar, and adjusts the positioning of the floating TOC and scroll-to-top button for better stacking and usability.
Refactored the styles of FloatingRecentLogs, FloatingToc, and the scroll-to-top button for a more consistent and modern appearance. Updated button colors, borders, hover effects, and icon sizes to improve UI coherence and interactivity.
FloatingRecentLogs and FloatingToc are now visible on all screen sizes, not just large screens. Both components have updated widths, background colors, and button styling for consistency. FloatingToc now displays progress percentage in the collapsed state and uses a yellow highlight color instead of blue. Minor styling adjustments were made to the scroll-to-top button in index.js for visual consistency.
Improves positioning and stacking of floating components (TOC, Recent Logs, Scroll to Top) for better visual hierarchy. Updates button and panel styles for consistency across desktop and mobile, including rounded corners, color adjustments, and progress indicators. Simplifies TOC progress display and enhances active section highlighting.
Introduces a new FloatingControls component that consolidates recent logs, table of contents, and scroll-to-top functionality into a single floating widget. Removes the separate FloatingToc, FloatingRecentLogs, and scroll-to-top button from the layout, replacing them with the new unified control for improved UX and code maintainability.
Replaces the FloatingRecentLogs component with an empty div and adds the Footer component to the layout when not in fullWidth mode. Also adjusts the structure to ensure FloatingControls and Footer are rendered appropriately.
Added a missing closing div in the LayoutBase component for proper structure. Also updated a comment to clarify the purpose of a spacer div for layout consistency.
Introduced a 'toc' constant in the LayoutBase component to extract the table of contents from the post prop. This prepares the layout for future use of the post's table of contents.
Eliminated both MobileToc and FloatingToc components from the LayoutSlug component, removing the display of the table of contents for posts. This simplifies the layout and may be part of a redesign or cleanup.
Updated FloatingControls to render the Table of Contents and Jump to Comments buttons only when a TOC is present, indicating an article page. Also added a new Jump to Comments button using IconMessage, which scrolls to the comments section.
Deleted the corner decoration div from the BlogPostCard component to simplify the UI and reduce unnecessary elements.
Updated BlogListArchive, SearchInput, and SideNav to use more consistent and vibrant highlight colors, especially for hover and active states. Enhanced FloatingControls and SideBar to allow more flexible icon and title rendering, including new props for icon styling and conditional display of section titles. Adjusted Footer background color for better visual consistency. Improved accessibility and clarity of navigation and search elements.
Introduces a .striped-text CSS class for the watermark marquee text in TitleBar, applying a repeating linear gradient and background-clip for a striped visual effect.
Imported FolderFillIcon from remixicon-react in SideNav.js to support additional navigation icon usage.
Standardizes accent color usage across BlogListArchive, SearchInput, SideNav, and category index components. Replaces yellow accent with black in headings and navigation, and updates hover/focus states for a more consistent and accessible user interface. Also wraps the Comment component in a div with id 'comments' for better structure.
Adjusted text color for archive status, increased icon sizes in FloatingControls, refined padding and gap in PaginationNumber, and simplified SearchInput label and focus styles. Removed decorative corner accents from the search input for a cleaner look.
Replaces cyan gradient scan lines with solid yellow lines in ArticleAdjacent and removes yellow accent from icons in FloatingControls, setting them to black for improved visual consistency.
The conditional ring styling for the active state was removed from the ControlBtn component, resulting in a consistent button appearance regardless of the active prop.
Replaces the logs icon from IconHistory to IconClock and adjusts its size in FloatingControls. Improves footer link styles for RSS, Sitemap, and ICP registration by increasing font size and adding hover underline effects. Enhances the 404 page with a yellow triangle background behind the error code for better visual emphasis.
Updated MobileNav navigation items to use a flex column layout with improved spacing and styling. Enhanced active tab appearance, increased icon and text size, and removed the music section label and divider for a cleaner look.
Changed the mobile navigation bar background from a semi-transparent custom variable to solid white for improved visual consistency.
Introduces support for a configurable loading image in LoadingCover, with responsive positioning for desktop and mobile. Updates MobileNav to use solid Remixicon social icons instead of outline versions. Adds ENDSPACE_LOADING_IMAGE to config.js for easier customization.
|
@cloud-oc is attempting to deploy a commit to the tangly1024's projects Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Pull request overview
This PR appears to resolve merge conflicts while also updating theme/UI behavior and changing multiple default configuration values (theme selection, widgets, contact/comment/image settings), plus adding new SVG assets.
Changes:
- Fixes/adjusts UI behavior (e.g., safer logo icon handling; conditional global music player rendering by theme).
- Tweaks data payload/Notion metadata handling (e.g., removing
allPagesfrom search props; addingrawPageIconto page properties). - Updates many repo-default configs and assets (theme defaults, widgets/music playlist, favicon/cloud SVG, animation/right-click settings, and a new
.gitmodulesentry).
Reviewed changes
Copilot reviewed 17 out of 20 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| themes/nav/components/LogoBar.js | Adjusts logo image src handling for missing site icon. |
| themes/hexo/config.js | Changes several Hexo theme default toggles. |
| themes/endspace/style.js | Updates cursor SVG color in Endspace theme styles. |
| public/svg/cloud.svg | Adds a new SVG asset. |
| public/favicon.svg | Replaces favicon SVG content. |
| pages/search/[keyword]/index.js | Removes allPages from static props before returning to reduce payload. |
| lib/db/notion/getPageProperties.js | Adds rawPageIcon to computed page properties. |
| conf/widget.config.js | Changes widget defaults and significantly expands music player playlist. |
| conf/right-click-menu.js | Changes default right-click menu feature toggles. |
| conf/post.config.js | Tweaks share bar default and 404 waiting time default. |
| conf/image.config.js | Changes default random image API URL. |
| conf/contact.config.js | Replaces contact defaults and removes CONTACT_EMAIL export logic. |
| conf/comment.config.js | Sets a non-empty default Twikoo backend endpoint. |
| conf/code.config.js | Changes Prism theme switch default. |
| conf/animation.config.js | Changes animation defaults (e.g., enables NEST by default). |
| components/NotionPage.js | Adds a guard in mapPageUrl for non-string/empty IDs. |
| components/ExternalPlugins.js | Uses current theme to disable global MusicPlayer for endspace. |
| blog.config.js | Changes many repo-default site settings (theme, author, ICP, greetings, etc.). |
| .gitmodules | Adds a submodule definition for themes/endspace pointing to an external repo. |
Suppressed comments (5)
conf/widget.config.js:41
- This playlist item uses the property name "名称" instead of "name". APlayer (and EndspacePlayer) expect "name", so the track title will be undefined and UI may break.
名称 : 'Halo Universalization',
artist: '塞壬唱片-MSR / Erik Castro / Robert Wolf',
url: 'http://music.163.com/song/media/outer/url?id=2700384134.mp3',
cover: 'http://p1.music.126.net/ggCZGLbtzSBr2SL2QS1opw==/109951170928386693.jpg'
},
conf/widget.config.js:35
- Many new audio/cover URLs in the default MUSIC_PLAYER_AUDIO_LIST use http://. When the site is served over https://, these can be blocked as mixed content, preventing playback or images from loading. Use https:// URLs (or protocol-relative) for the defaults.
name: 'Touch of the Law',
artist: '塞壬唱片-MSR / Alec Justice / Echos',
url: 'http://music.163.com/song/media/outer/url?id=2700386309.mp3',
cover: 'http://p1.music.126.net/ggCZGLbtzSBr2SL2QS1opw==/109951170928386693.jpg'
},
blog.config.js:25
- BEI_AN/BEI_AN_LINK defaults are hard-coded to a specific registration and lookup URL. For a template repo, these should remain empty defaults so users don't publish someone else's备案信息 by accident.
PWA_ENABLE: process.env.NEXT_PUBLIC_PWA_ENABLE || false, // 是否启用 PWA 安装入口;也可在 Notion_Config 中配置 PWA_ENABLE=true
PWA_NAME: process.env.NEXT_PUBLIC_PWA_NAME || '', // PWA 安装名称;默认读取站点标题,通常无需单独配置
blog.config.js:21
- AUTHOR/BIO/LINK are set to site-specific values in the repo default config. This will change the default generated site for all users; these should stay as generic defaults and be overridden via env/Notion config per deployment.
AUTHOR: process.env.NEXT_PUBLIC_AUTHOR || 'Cloud09', // 您的昵称 例如 tangly1024
BIO: process.env.NEXT_PUBLIC_BIO || '∞', // 作者简介
LINK: process.env.NEXT_PUBLIC_LINK || 'https://cloud09.space', // 网站地址
blog.config.js:74
- GREETING_WORDS default is now empty, which disables the multi-phrase typing effect in themes that support it. If this change is not intentional for all users, keep the original default and let deployments override via NEXT_PUBLIC_GREETING_WORDS.
...require('./conf/techgrow.config'), // 公众号导流插件(TechGrow)
// 侧栏布局 是否反转(左变右,右变左) 已支持主题: hexo next medium fukasawa example
LAYOUT_SIDEBAR_REVERSE:
process.env.NEXT_PUBLIC_LAYOUT_SIDEBAR_REVERSE || false,
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| <SmartLink href='/' className='md:w-48 grid justify-items-center text-md md:text-xl dark:text-gray-200'> | ||
| {/* eslint-disable-next-line @next/next/no-img-element */} | ||
| <img src={siteInfo?.icon?.replaceAll('width=400', 'width=280')} | ||
| <img src={siteInfo?.icon ? siteInfo.icon.replaceAll('width=400', 'width=280') : ''} |
Comment on lines
5
to
+13
| // 社交链接,不需要可留空白,例如 CONTACT_WEIBO:'' | ||
| CONTACT_EMAIL: | ||
| (process.env.NEXT_PUBLIC_CONTACT_EMAIL && | ||
| btoa( | ||
| unescape(encodeURIComponent(process.env.NEXT_PUBLIC_CONTACT_EMAIL)) | ||
| )) || | ||
| '', // 邮箱地址 例如mail@tangly1024.com | ||
| CONTACT_WEIBO: process.env.NEXT_PUBLIC_CONTACT_WEIBO || '', // 你的微博个人主页 | ||
| CONTACT_TWITTER: process.env.NEXT_PUBLIC_CONTACT_TWITTER || '', // 你的twitter个人主页 | ||
| CONTACT_GITHUB: process.env.NEXT_PUBLIC_CONTACT_GITHUB || '', // 你的github个人主页 例如 https://github.com/tangly1024 | ||
| CONTACT_TELEGRAM: process.env.NEXT_PUBLIC_CONTACT_TELEGRAM || '', // 你的telegram 地址 例如 https://t.me/tangly_1024 | ||
| CONTACT_WEIBO: process.env.NEXT_PUBLIC_CONTACT_WEIBO || 'https://weibo.com/cloud09', // 你的微博个人主页 | ||
| CONTACT_TWITTER: process.env.NEXT_PUBLIC_CONTACT_TWITTER || 'https://x.com/Cloud09Official', // 你的twitter个人主页 | ||
| CONTACT_GITHUB: process.env.NEXT_PUBLIC_CONTACT_GITHUB || 'https://github.com/cloud-oc', // 你的github个人主页 例如 https://github.com/tangly1024 | ||
| CONTACT_TELEGRAM: process.env.NEXT_PUBLIC_CONTACT_TELEGRAM || 'https://t.me/cloud_oc', // 你的telegram 地址 例如 https://t.me/tangly_1024 | ||
| CONTACT_LINKEDIN: process.env.NEXT_PUBLIC_CONTACT_LINKEDIN || '', // 你的linkedIn 首页 | ||
| CONTACT_ORCID: process.env.NEXT_PUBLIC_CONTACT_ORCID || '', // ORCID 主页,例如 https://orcid.org/1234-1234-1234-1234 | ||
| CONTACT_INSTAGRAM: process.env.NEXT_PUBLIC_CONTACT_INSTAGRAM || '', // 您的instagram地址 | ||
| CONTACT_BILIBILI: process.env.NEXT_PUBLIC_CONTACT_BILIBILI || '', // B站主页 | ||
| CONTACT_BILIBILI: process.env.NEXT_PUBLIC_CONTACT_BILIBILI || 'https://space.bilibili.com/350267607', // B站主页 |
Comment on lines
22
to
24
| // twikoo | ||
| COMMENT_TWIKOO_ENV_ID: process.env.NEXT_PUBLIC_COMMENT_ENV_ID || '', // TWIKOO后端地址 腾讯云环境填envId;Vercel环境填域名,教程:https://tangly1024.com/article/notionnext-twikoo | ||
| COMMENT_TWIKOO_ENV_ID: process.env.NEXT_PUBLIC_COMMENT_ENV_ID || 'https://comment.cloud09.space', // TWIKOO后端地址 腾讯云环境填envId;Vercel环境填域名,教程:https://tangly1024.com/article/notionnext-twikoo | ||
| COMMENT_TWIKOO_COUNT_ENABLE: |
Comment on lines
11
to
13
| IMAGE_COMPRESS_QUALITY: process.env.NEXT_PUBLIC_IMAGE_COMPRESS_QUALITY || 80, // 图片压缩质量 0-100,数值越小文件越小但质量越低 | ||
| RANDOM_IMAGE_URL: process.env.NEXT_PUBLIC_RANDOM_IMAGE_URL || '', // 随机图片API,如果未配置下面的关键字,主页封面,头像,文章封面图都会被替换为随机图片 | ||
| RANDOM_IMAGE_URL: process.env.NEXT_PUBLIC_RANDOM_IMAGE_URL || 'https://moe.jitsu.top/img/?sort=pc', // 随机图片API,如果未配置下面的关键字,主页封面,头像,文章封面图都会被替换为随机图片 | ||
| RANDOM_IMAGE_REPLACE_TEXT: |
Comment on lines
23
to
26
| SAKURA: process.env.NEXT_PUBLIC_SAKURA || false, // 开关 | ||
| // 漂浮线段特效 | ||
| NEST: process.env.NEXT_PUBLIC_NEST || false, // 开关 | ||
| NEST: process.env.NEXT_PUBLIC_NEST || true, // 开关 | ||
| // 动态彩带特效 |
Comment on lines
+9
to
12
| THEME: process.env.NEXT_PUBLIC_THEME || 'endspace', // 当前主题,在themes文件夹下可找到所有支持的主题;主题名称就是文件夹名,例如 example,fukasawa,gitbook,heo,hexo,landing,matery,medium,next,nobelium,plog,simple | ||
| LANG: process.env.NEXT_PUBLIC_LANG || 'zh-CN', // e.g 'zh-CN','en-US' see /lib/lang.js for more. | ||
| SINCE: process.env.NEXT_PUBLIC_SINCE || 2021, // e.g if leave this empty, current year will be used. | ||
| SINCE: process.env.NEXT_PUBLIC_SINCE || 2024, // e.g if leave this empty, current year will be used. | ||
|
|
Comment on lines
+1
to
+4
| [submodule "themes/endspace"] | ||
| path = themes/endspace | ||
| url = https://github.com/cloud-oc/endspace.git | ||
| branch = theme No newline at end of file |
Comment on lines
18
to
22
| // 音乐播放插件 | ||
| MUSIC_PLAYER: process.env.NEXT_PUBLIC_MUSIC_PLAYER || false, // 是否使用音乐播放插件 | ||
| MUSIC_PLAYER_VISIBLE: process.env.NEXT_PUBLIC_MUSIC_PLAYER_VISIBLE || true, // 是否在左下角显示播放和切换,如果使用播放器,打开自动播放再隐藏,就会以类似背景音乐的方式播放,无法取消和暂停 | ||
| MUSIC_PLAYER: process.env.NEXT_PUBLIC_MUSIC_PLAYER || true, // 是否使用音乐播放插件 | ||
| MUSIC_PLAYER_VISIBLE: process.env.NEXT_PUBLIC_MUSIC_PLAYER_VISIBLE || false, // 是否在左下角显示播放和切换,如果使用播放器,打开自动播放再隐藏,就会以类似背景音乐的方式播放,无法取消和暂停 | ||
| MUSIC_PLAYER_AUTO_PLAY: | ||
| process.env.NEXT_PUBLIC_MUSIC_PLAYER_AUTO_PLAY || true, // 是否自动播放,不过自动播放时常不生效(移动设备不支持自动播放) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
已知问题
解决方案
.env.local迁移到package.jsonpackage.json读取版本号改动收益
package.json读取具体改动
blog.config.js测试确认
用户文档(
docs/user-guide//docs/developer/)如果本 PR 新增或修改了站长会使用的功能、主题配置、环境变量、Notion Config 键、插件开关、部署步骤、默认行为或可见 UI 交互,请同步更新
docs/user-guide/或docs/developer/中对应说明,并在下方勾选已完成项。只有纯内部重构、测试、CI、依赖维护、拼写修正等不改变站长使用方式的改动,才可以勾选「不适用」。
docs/user-guide/目录约定conf/*.config.js一致(若文档涉及配置).env、私有 ID文档说明(可选):对应官方 slug / URL、是否与功能 PR 配套